当前位置: 首页 > news >正文

【Linux网络编程】8. 网络层协议 IP

文章目录

  • 一、IP 协议
    • 1、基本概念
    • 2、IP 协议头
    • 3、网段划分
    • 4、特殊 IP 地址
    • 5、IPv4 地址数量限制
    • 6、私有 IP 与公网 IP、NAT 技术
    • 7、路由与路由表

一、IP 协议

网络层核心作用:用 IP 地址寻址,为数据包规划路由,实现跨网段的端到端转发。

1、基本概念

  • 主机:配有 IP 地址,但不做路由转发的设备(比如电脑、手机)。
  • 路由器:既配有 IP 地址,又能根据路由表转发数据包的设备,是网络层的核心转发节点。
  • 节点:主机和路由器的统称,只要参与 IP 通信、有 IP 地址的设备都算节点。

2、IP 协议头

IP 头最小 20 字节,最大 60 字节,默认用 20 字节。

  • 4 位版本号:标识 IP 协议版本,IPv4 固定为4
  • 4 位头部长度:单位为 32bit(4 字节),表示 IP 头长度,最大 15×4=60 字节
  • 8 位服务类型 (TOS):用来指定传输偏好,比如最小延时、最大吞吐量等(四选一)
  • 16 位总长度:整个 IP 数据报的字节数(含头部 + 数据)
  • 16 位标识 (id):同一 IP 报文的所有分片,ID 都相同,用来重组
  • 3 位标志:第 2 位 = 1 表示禁止分片;第 3 位 = 1 表示后面还有更多分片
  • 13 位分片偏移:表示当前分片在原报文中的位置,单位为 8 字节
  • 8 位 TTL:生存时间,每经过一个路由器减 1,减到 0 就丢弃,防止路由循环
  • 8 位协议:标识上层协议类型(如 TCP=6、UDP=17)
  • 16 位头部校验和:校验 IP 头部是否损坏,防止传输错误
  • 32 位源 / 目的 IP:发送方和接收方的 IP 地址
  • 选项字段:可选扩展字段,最多 40 字节,一般用不到

IPv4 头就是用版本、长度、TTL、IP 地址等基础信息标识报文,用 ID、标志、分片偏移处理分片重组,用校验和防损坏。

3、网段划分

IP 地址的本质
IP 地址 =网络号 + 主机号

  • 网络号:标识网段,不同网段的网络号不同。
  • 主机号:标识同一网段内的主机,同一网段内主机号不能重复。
  • 子网的作用:把网络号相同的主机划到一起,通过路由器实现跨网段通信。

早期的分类方案(A/B/C/D/E 类)

类别地址范围特点
A 类0.0.0.0 ~ 127.255.255.255网络号 7 位,主机号 24 位,地址浪费严重
B 类128.0.0.0 ~ 191.255.255.255网络号 14 位,主机号 16 位,很快被分配完
C 类192.0.0.0 ~ 223.255.255.255网络号 21 位,主机号 8 位,适合小型网络
D 类224.0.0.0 ~ 239.255.255.255多播专用
E 类240.0.0.0 ~ 247.255.255.255保留,用于实验

这种按类划分的方式,因为主机号固定导致大量 IP 地址浪费,所以被 CIDR 取代。

CIDR(无类域间路由)

  1. 引入子网掩码:用 32 位的掩码区分网络号和主机号,高 N 位为 1、低 (32-N) 位为 0。
  2. 计算网络号:IP地址 & 子网掩码得到网络号,和 IP 的 A/B/C 类无关。
  3. 简洁表示法:IP地址/N,N 表示子网掩码的前 N 位为 1,比如140.252.20.68/24表示掩码为255.255.255.0
  4. 子网地址范围:主机号从全 0 到全 1,比如140.252.20.68/24的范围是140.252.20.0 ~ 140.252.20.255

补充:IP 地址自动分配
DHCP 协议可以自动给子网内的主机分配 IP,避免手动管理的麻烦,路由器通常自带 DHCP 服务器功能。

4、特殊 IP 地址

  • 网络号(主机位全 0)
    表示整个网段,不分配给具体主机,比如192.168.1.0/24代表192.168.1.x这个局域网。

  • 广播地址(主机位全 1)
    用于向同一网段内的所有主机发送数据包,比如192.168.1.255/24,同一网段内所有主机都会收到这个包。

  • 环回地址(127.*)
    127开头的地址(最常用127.0.0.1),用于本机进程间通信 / 网络测试,数据包不会经过物理网卡,直接在本机内闭环传输。

5、IPv4 地址数量限制

IPv4 地址的困境

  • IPv4 是32位地址,理论上只有约 43 亿个地址。
  • 实际可用地址更少:特殊地址(网络号、广播地址、保留地址)占用了大量资源。
  • 地址是按网卡而非主机分配,进一步加剧了短缺。
  • CIDR 仅提高了利用率,并未增加地址总数。

三种主流解决方案

  1. 动态 IP 分配(DHCP)
    设备仅在接入网络时才分配 IP,断开后回收复用,缓解地址紧张。
  2. NAT 技术(网络地址转换)
    内网设备共享一个公网 IP 访问外网,用端口区分不同连接,大幅减少公网 IP 的消耗。
  3. IPv6
    采用 128 位地址,地址数量理论上几乎无限,但与 IPv4 不兼容,目前尚未完全普及。

6、私有 IP 与公网 IP、NAT 技术

私有 IP vs 公网 IP

类型范围 / 特点用途
私有 IPRFC1918 规定的三个网段:10.0.0.0/8172.16.0.0/12192.168.0.0/16仅用于局域网内部通信,不能直接在公网路由
公网 IP除上述网段外的 IPv4 地址全球唯一,可直接在互联网上路由

同一局域网内的私有 IP 不能重复,但不同局域网的私有 IP 可以重复(比如多个家庭的路由器都用192.168.1.1)。

NAT(网络地址转换)
NAT 技术解决了内网设备访问公网的问题,核心逻辑是:

  1. 路由器双 IP 设计:路由器有两个 IP——LAN口私有IP(如192.168.1.1,给内网主机用)和WAN口IP(可能是公网 IP,也可能是运营商内网 IP)。
  2. 地址替换:内网主机访问外网时,路由器会把数据包里的源私有 IP + 端口,替换成自己的公网 IP + 端口;外网响应回来时,再根据端口映射换回内网 IP,发给对应主机。
  3. 层级 NAT:家用路由器的 WAN 口可能只是运营商内网 IP,最终要经过运营商路由器的 NAT,才会映射到真正的公网 IP。

关键结论

  • 内网主机靠 NAT 共享一个公网 IP 就能访问外网,大幅节省了公网 IP 资源。
  • 但 NAT 导致内网主机无法被公网直接访问,所以要让服务器程序被外网访问,必须部署在拥有公网 IP 的服务器上(如阿里云、腾讯云主机)。

总结:私有 IP 用于内网,公网 IP 用于外网;NAT 通过地址替换,让多个内网设备共享一个公网 IP 上网。

7、路由与路由表

路由的本质
IP 数据报的传输是“一跳一跳” 问路的过程:

  • 每到一个路由器,就查目的 IP,决定是直接发给目标主机,还是转发给下一个路由器。
  • 数据链路层只负责 “一跳” 内的通信(源 MAC 到目的 MAC),IP 层则负责跨网段的端到端传输。

路由表核心作用
每个主机 / 路由器都维护一张路由表,数据包转发时,就按路由表决定下一跳:

字段含义
Destination目的网络地址
Genmask子网掩码,和目的 IP 做 “与运算” 得到网络号
Gateway下一跳地址(路由器 IP),直接相连的网络则为*
Iface从哪个接口发送数据包
FlagsU表示条目有效;G表示需要转发给网关

转发规则(匹配顺序)

  1. 最长匹配优先:按子网掩码长度从长到短,依次和目的 IP 做 “与运算”,找到匹配的条目。
  2. 直接发送:如果匹配到直连网络(无 G 标志),直接发给目标主机。
  3. 默认路由兜底:如果前面都不匹配,走default(0.0.0.0)条目,转发给默认网关。

例子解析

  • 目的 IP192.168.56.3:匹配到192.168.56.0/24,从eth1接口直接发送。
  • 目的 IP202.10.1.2:前几项都不匹配,走默认路由,从eth0发给网关192.168.10.1

总结:路由表是 IP 层的 “导航地图”,按最长匹配原则找路,找不到就走默认网关,靠 “一跳一跳” 转发到终点。

http://www.jsqmd.com/news/814452/

相关文章:

  • TVA在灵巧机器人运动控制中的不可替代性(15)
  • Trilinos框架:跨异构架构的高性能计算解决方案
  • 2026 青岛半永久雾眉深度测评:技术与服务双优,纹绣世家 7 家直营领跑 - 小艾信息发布
  • 长沙网络营销服务商评测:落地履约能力为核心排行 - 亿仁imc
  • 告别窗口切换烦恼:用PinWin让你的工作窗口“钉“在最上层
  • 品牌会议活动策划公司哪家口碑好 - mypinpai
  • 2026年阿里云OpenClaw / Hermes Agent 配置 Token Plan部署操作指南,看这里就够了
  • PADS Logic入门实战——从零搭建个人元件库
  • 2026年西安画册印刷厂与活页环装定制一站式服务深度指南 - 年度推荐企业名录
  • CSS 滚动驱动动画完全指南
  • 2026年西安画册印刷厂深度横评:从源头工厂直达高品质交付的完全选购指南 - 年度推荐企业名录
  • 安全工程师必备:用AWVS生成合规报告(PCI DSS/ISO27001)的完整流程与避坑点
  • 微星GT60笔记本升级1060显卡:从硬件兼容到驱动破解的完整实战
  • 软件试用机制深度解析:从本地验证到云端授权与安全实践
  • JVM缓存对象对GC的影响与优化方案
  • 2026年西安画册印刷厂深度横评:从源头工厂直达高品质交付的完整指南 - 年度推荐企业名录
  • 图片视频高清放大!自定义倍率放大、超分辨率画质增强、智能降噪、插帧补帧!无需网络本地离线运行!内置多种引擎模型,支持多种风格设定、多线程、多显卡、自动化批量处理
  • 考点聚焦+方法提炼,崇文高中助力学生高效备考
  • 泛微・齐业成数电票费控管理全场景应用详解 - 速递信息
  • 别再死记硬背!用FactoryIO+博图SCL,手把手带你玩转PLC跑马灯(附完整项目文件)
  • 比别家高30元/克?丽水黄金回收实测,福正美碾压全场 - 福正美黄金回收
  • 一键将本地终端转为公共Web页面的极速解决方案:shell-now
  • 3分钟掌握Keyviz:专业键盘输入可视化与操作追踪完全指南
  • 熬夜急救面膜推荐:昼夜节律紊乱后的肌肤修护指南 - 速递信息
  • 2026驾驶式工业扫地车盘点:按用户需求怎么选 - 速递信息
  • LLM Agent成败关键:告别模型调优内卷,掌握“记忆架构”才是王道!
  • 【IEEE出版 | 南京师范大学主办】第七届电气技术与自动控制国际学术会议(ICETAC 2026) - 艾思科蓝AiScholar
  • 给用户打电话,怎么在对方手机显示为“XX旅游”?号码认证办理教程
  • 2026年西安画册印刷厂与活页环装定制完全指南:源头工厂vs快印店的真实对比 - 年度推荐企业名录
  • 2026年深圳留学机构头部诚信表现全面评估与解析 - 速递信息