网络层————IP协议
IP协议的工作本质:提供一种能力,将数据跨网络从A主机到B主机。
用户需要的是提供一种能力,将数据可靠地跨网络从A主机送到B主机。
IP协议经过一定的路径选择把数据送到目标主机。
1.前置认识
- 要对所有的主机进行标识,源IP和目标IP来标识源主机和目的主机。
- IP地址分类:公有IP、私有IP
- IP的构成:目标网络、目标主机
- 示例:当主机A要向主机B发送数据时,首先需要确定B所在的目标网络,并将数据包传输到该网络的入口;到达目标网络后,再通过主机标识找到并交付给具体的目标主机B。(凭借路由器转发完成)
2.IP协议的报头
TCP 与 IP 协议虽分属不同层面,但存在显著共性:二者报头总大小相近,且均包含选项字段,这也是 “TCP/IP” 成为协议族统称的重要关联点。
基于上述共性,后续将围绕两个核心问题展开 IP 协议报头的详细讲解:
- 如何实现报头与有效载荷的分离?
- 如何将分离后的有效载荷准确交付给上层协议?
2.1 4位首部长度
含义:以“4字节”为单位,标识IP首部的总长度(包括选项),取值范围是[0,15]。
例如:值为5时,首部长度是 5 \times 4 = 20 字节(无选项的IPv4首部默认长度)。
2.2 4位版本
含义:标识IP协议的版本(如:IPv4就是4、IPv6)。
- IPV6主要是解决IP地址不足的问题,用128个bit位表示IP地址,它主要在内网中使用。
- IPV4主要在公网中使用。
2.3 8位服务类型(TOS)
含义:由8个比特位组成,分别是3位优先权字段(已弃用),4位TOS字段和1位保留字段。4位TOS位分别表示最小延时、最大吞吐量、最高可靠性、最小成本,这四者相互冲突,只能选择一个。
2.4 16位总长度(字节数)
含义:标识整个IP数据包的总长度(包括首部和数据),最大值为 2¹⁶ - 1 = 65535 字节。
- 补充:报头和有效载荷通过4位首部长度和16位总长度分离,也就是固定长度(首部)+自描述字段(总长度)
- 例如:某 IPv4 数据包第一字节低 4 位(IHL)= 6,表示报头长度为 6×4 = 24 字节(其中包含 4 字节选项字段),16 位总长度字段值为 0x02A0(即 672 字节),则有效载荷长度 = 672 − 24 = 648 字节,从第 25 字节起为传输层或应用层数据。
2.5 8位生存时间
背景
- 数据在网络中的传输特性:数据本质是0和1的序列,通过电信号或光信号在网络中传输。信号在长距离传输中会衰减,距离越远、时间越长,衰减越明显。为解决衰减问题,物理层设备(如集线器)会放大信号,使数据能长距离传输。
- 潜在问题: 当IP报文无法到达目标(如主机不可达、网络故障)时,可能在网络中被路由器反复转发,形成"游离报文"。虽然信号会衰减,但网络设备的放大功能使数据包可能长时间存在。
TTL的作用与原理
- 定义:IP报文中的8位字段,限制数据包在网络中传播的最大跳数
- 初始值:通常为64(不同系统可能有差异)
- 工作机制:每经过一个路由器,TTL值减1
- 终止条件:当TTL减至0时,路由器丢弃该数据包
TTL的主要目的
- 防止因路由循环或网络故障导致数据包无限转发
- 减少网络资源浪费
- 提高网络稳定性和效率
2.6 8位协议
含义:表示要把IP的有效载荷交付给上层协议的哪一个类型。
2.7 32位源IP地址和32位目的IP地址
2.7.1 核心定义与作用
- 源 IP 地址(32 位):唯一标识数据包的发送方主机。
- 目的 IP 地址(32 位):唯一标识数据包的接收方主机。
- 核心价值:二者共同构成IP 路由的核心依据。
2.7.2 IP地址在网络分层中的位置
协议层 | 核心地址标识 | 关联说明 |
---|---|---|
网络层(IP 层) | IP 地址 | 定位目标主机 |
传输层(TCP/UDP) | 端口号 | 定位主机上的具体应用进程 |
- 上层应用关联:Socket 编程需同时提供IP 地址(填充 IP 头) 和端口号(填充 TCP/UDP 头),二者结合实现 “主机 + 应用” 的精准定位。
2.7.3 IP 地址的格式转换
- 应用层表示:采用点分十进制(如 192.168.1.1),便于人类阅读记忆。
- IP 头存储格式:需转换为 4 字节二进制,因 IP 报头中地址字段固定为 32 位(1 字节 = 8 位),适配网络设备高效处理。
2.7.4 报文构建与传输流程(以 TCP 请求为例)
- 传输层:封装 TCP 头,填充源端口和目的端口。
- 网络层:封装 IP 头,填充源 IP 地址和目的 IP 地址。
- 数据链路层:添加 MAC 地址等链路层信息。
- 物理层:将数据包转换为电信号 / 光信号进行传输。
2.7.5 路由过程中的关键作用
- 路由器根据目的IP地址决定数据包的转发路径
- 整个路由过程依赖于这32位的地址信息
- 源IP地址的核心作用是为网络数据的返回路径提供明确的定位依据
注意:在网络通信中,中间的路由器并没有TCP层,只有双方主机具有TCP层,因为所有的路由器只工作在网络层。
2.8 分片与组装机制
2.8.1 分片背景
主机中 IP 报文需先交付至数据链路层发送,但数据链路层存在单次发送报文大小限制(可通过ifconfig命令查询最大可交付报文)。当 IP 报文大小超过网络最大传输单元(MTU) 时,发送方 IP 层必须将其分割为符合 MTU 的小分片,各分片独立转发(可能经不同路径),最终由接收方 IP 层重组为完整报文,确保超大报文跨网络传输。
2.8.2 核心分片与组装字段
字段 | 位数 | 核心含义与规则 |
---|---|---|
16 位标识 | 16 | - 每个原始 IP 报文拥有唯一编号,不同报文编号不同; - 同一原始报文的所有分片,标识编号完全相同(用于接收方识别同源分片)。 |
3 位标志 | 3 | - 第 1 位:保留位(暂未使用,预留未来扩展); - 第 2 位:禁止分片位(置 1 时,若报文超 MTU,IP 模块直接丢弃报文); - 第 3 位:更多分片位(分片后,最后一个分片置 0,其余置 1,作为结束标记)。 |
13 位片偏移 | 13 | - 表示当前分片相对于原始 IP 报文起始处的偏移位置; - 实际偏移字节数 = 片偏移值 × 8; - 除最后一个分片外,其余分片长度必须为 8 的整数倍(确保报文重组连续)。 |
2.8.3 分片组装流程
前置问题:判断报文是否分片
满足以下任一条件,即判定为分片报文:
- 片偏移值 ≠ 0;
- 3 位标志中的 “更多分片位” = 1。
具体组装步骤
步骤 1:聚集同源分片
- 接收方通过 “16 位标识” 筛选出编号相同的所有分片,聚集为一组;
- 潜在问题:实际操作过程中并不建议分片,因为会增加丢包概率,在IP中,如果其中任何一个分片丢失了,IP组装失败的报文会直接整体丢失,这样会要求对方重发整体报文。
步骤 2:按片偏移排序重组
- 对聚集后的分片,依据 “13 位片偏移” 从小到大排序;
- 移除各分片独立的 IP 报头,将分片数据按顺序拼接,恢复为原始完整 IP 报文,再交付上层协议处理。
分片与组装实例
1. 实例条件
- 原始报文总长度:3000 字节(含 20 字节 IP 报头,实际数据 2980 字节);
- 每个分片需携带 20 字节 IP 报头;
- MTU 限制:单个分片(含报头)最大 1500 字节。
2. 分片拆分细节
分片序号 | 16 位标识 | 3 位标志 | 13 位片偏移 | 分片组成(含报头) | 对应数据量 |
---|---|---|---|---|---|
第 1 片 | 1234 | 001 | 0 | 20 字节报头 + 1480 字节数据 | 占原始数据 1-1480 字节 |
第 2 片 | 1234 | 001 | 185(1480/8) | 20 字节报头 + 1480 字节数据 | 占原始数据 1481-2960 字节 |
第 3 片 | 1234 | 000 | 370(2960/8) | 20 字节报头 + 20 字节数据 | 占原始数据 2961-2980 字节 |
3. 组装过程
- 筛选出标识为 1234 的 3 个分片;
- 按片偏移 0→185→370 排序;
- 移除 3 个分片的独立报头,将 1480 字节 + 1480 字节 + 20 字节数据拼接,恢复为 2980 字节原始数据,结合首片报头信息还原完整报文。
3.网段划分
3.1 背景
IP地址分为两个部分,网络号和主机号
- 网络号:保证相互连接的两个网段具有不同的标识。
- 主机号:同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号。
- 路由器本质也是特定一个子网的主机,所以也要配置IP地址。
- 路由器一定至少要连接2个子网,所以路由器也就相当于同时在2个子网,所以路由器一定要配置多个IP(理解成路由器有多张网卡即可)
- 路由器一般是一个子网中的第一台设备,一般它的IP地址都是 网络号.1
- 路由器功能不仅仅是对IP报文进行转发,它还可以构建子网(局域网)。
不同的子网其实就是把网络号相同的主机放到一起。
如果在子网中新增一台主机,则这台主机的网络号和这个子网的网络号一致,但是主机号必须不能和子网中的其他主机重复。
通过合理设置主机号和网络号,就可以保证在相互连接的网络中,每台主机的IP地址都不相同。
那么问题来了,手动管理子网内的IP是一个相当麻烦的事情。
- 有一种技术叫做DHCP,能够自动的给子网内新增主机节点分配IP地址,避免了手动管理IP的不便。
- 一般的路由器都带有DHCP功能,因此路由器也可以看做一个DHCP服务器。
3.2 划分网络号和主机号的方案
3.2.1 IP 地址资源背景
- 全球 IPv4 地址总数为2³² 个(约 42.9 亿个),属于有限资源,需通过合理划分实现高效利用。
- IP 地址的网络号与主机号划分由国际组织(如 ICANN)与各国运营商协同协调,我国主要由中国移动、中国联通、中国电信、中国广电等负责实施。
- 地址分配是全球协作过程:各国运营商代表参与国际网络公共组织会议商讨分配方案,按自身需求申请资源,通过共享与合理分配实现共赢,无直接竞争关系。
3.2.2 传统分类划分法
1.核心逻辑
将所有 IPv4 地址按首段比特位规则划分为 A、B、C、D、E 五类,通过固定位数区分网络号与主机号,无需额外标识即可确定地址所属网络。
2.各类地址规则(IPv4为例)
地址类别 | 首段比特位特征 | 网络号位数 | 主机号位数 | 地址范围 | 网络数量 | 单网络最大主机数(理论) |
---|---|---|---|---|---|---|
A 类 | 第一个比特位为 0 | 7 位 | 24 位 | 0.0.0.0 ~ 127.255.255.255 | 2⁷个 | 2²⁴个 |
B 类 | 前两个比特位为 10 | 16 位 | 16 位 | 128.0.0.0 ~ 191.255.255.255 | 2¹⁴个 | 2¹⁶个 |
C 类 | 前三个比特位为 110 | 24 位 | 8 位 | 192.0.0.0 ~ 223.255.255.255 | 2²¹ 个 | 2⁸个 |
D 类 | 前四个比特位为 1110 | 无明确网络号 / 主机号划分 | - | 224.0.0.0 ~ 239.255.255.255 | 用于组播 | - |
E 类 | 前四个比特位为 1111 | 无明确网络号 / 主机号划分 | - | 240.0.0.0 ~ 255.255.255.255 | 保留用于科研 | - |
3.局限性
- 地址浪费严重:多数组织倾向申请 B 类地址(理论支持 6 万 + 主机),但实际网络中极少存在单子网超万级主机的场景,导致大量主机号闲置;A 类地址因单网络主机数过多(约 1677 万),更是浪费大量资源。
- 灵活性差:网络号与主机号位数固定,无法根据实际组网规模(如小型企业仅需几十台主机)灵活调整划分比例,适配性不足。
3.2.3 CIDR(无类域间路由)技术
1. 背景与定义
为解决分类划分法的弊端提出的新型地址划分方案,核心是脱离地址类别限制,通过引入 “子网掩码” 实现对 32 位 IP 地址的任意比例划分,精准匹配不同网络的主机数量需求。
2. 关键技术:子网掩码
- 本质:32 位正整数,通常以 “连续的 1 + 连续的 0” 结尾,其中 “1” 对应 IP 地址中的网络号部分,“0” 对应主机号部分。
- 作用:作为区分网络号与主机号的 “标尺”,配置在全球路由器中(分类划分法的地址规则本质也可视为默认子网掩码)。
- 计算逻辑:将 IP 地址与子网掩码进行按位与运算,结果即为该 IP 所属的网络号。
3. 地址表示方式
为简化表述,CIDR 采用 “IP 地址 /n” 格式(n 为子网掩码中 “1” 的位数),例如 140.252.20.68/24,代表子网掩码中前 24 位为 1,对应十进制 255.255.255.0。
4. CIDR 划分实例解析
实例 1:IP 地址 140.252.20.68,子网掩码 255.255.255.0(即 140.252.20.68/24)
- 网络号计算:IP 地址(140.252.20.68)与子网掩码(255.255.255.0)按位与运算,结果为140.252.20.0(即该 IP 所属网络号)。
- 地址范围:子网内所有地址为 140.252.20.0 ~ 140.252.20.255,共 2⁸=256 个地址。
- 可用主机数:网络号(140.252.20.0,用于标识子网)和广播地址(140.252.20.255,用于子网内全体主机通信)不可分配给单个主机,因此实际可用主机数为 256-2=254 个。
- 路由转发逻辑:路由器接收数据包后,提取目标 IP 并与自身存储的子网掩码计算网络号,根据网络号将数据包转发至对应子网。
实例 2:IP 地址 192.168.1.100,子网掩码 255.255.255.192(即 192.168.1.100/26)
- 网络号计算:子网掩码前 26 位为 1(十进制 255.255.255.192),IP 与掩码按位与后得到网络号192.168.1.64。
- 地址范围:192.168.1.64 ~ 192.168.1.127,共 2⁶=64 个地址。
- 可用主机数:排除网络号和广播地址,实际可用 64-2=62 个,适配中小型办公网络需求,避免地址浪费。
4.特殊的IP地址
- 将IP地址中的主机地址全部设为0就成了网络号,代表这个局域网。
- 将IP地址中的主机地址全部设为1就成了广播地址,用于给同一个链路中相互连接的所有主机发送数据包。
- 以127开头的IP地址用于本地环回(look back)测试,通常是127.0.0.1
5.IP地址数据有效
5.1 问题
我们知道,IP地址(IPv4)是⼀个4字节32位的正整数,那么⼀共只有 2³² 个IP地址,⼤概是43亿左右。⽽TCP/IP协议规定, 每个主机都需要有⼀个IP地址,看似这意味着⼀共只有43亿台主机能接⼊⽹络。
实际上,由于⼀些特殊的IP地址的存在,数量远不⾜43亿。另外IP地址并⾮是按照主机台数来配置的,⽽是每⼀个⽹卡都需要配置⼀个或多个IP地址。
CIDR在⼀定程度上缓解了IP地址不够⽤的问题(提⾼了利⽤率,减少了浪费,但是IP地址的绝对上限并没有增加)。
5.2 IPv4 地址扩容三大核心方案
1. 动态分配 IP 地址
- 原理:仅为当前接入网络的设备分配 IP 地址,设备断开连接后回收地址,供其他设备复用。
- 特点:同一设备(同一 MAC 地址)每次接入互联网,获取的 IP 地址可能不同,通过 “复用” 提升地址使用效率。
2. NAT 技术(网络地址转换)
- 定位:后续重点学习的核心扩容技术(需单独深入掌握其原理与应用场景)。
- 核心逻辑:通过私有网络与公网的地址转换,实现多台设备共享一个公网 IP 接入互联网,大幅减少公网 IPv4 地址消耗。
3. 升级至 IPv6
- 与 IPv4 的关系:二者是互不兼容的独立协议,并非简单升级关系。
- 地址优势:IPv6 采用 16 字节(128 位)表示地址,理论总数达 2¹²⁸个,彻底解决地址数量不足问题。
- 现状:目前尚未全面普及,仍处于逐步推广阶段。
6.私有 IP 与公网 IP
6.1 核心概念与分类
1. 公网 IP(全局 IP)
- 定义:互联网中全局唯一的 IP 地址,用于在公网上定位和访问设备(如云服务器),可直接在互联网中路由。
- 应用场景:云服务器对外提供服务、公网设备间直接通信,用户访问云服务器时实际连接的是其公网 IP。
2. 私有 IP
- 定义:RFC 1918 标准规定的仅用于局域网内部通信的 IP 地址,无法在公网中直接路由,不同局域网可重复使用。
- 地址范围(三大段):
- 10.0.0.0 ~ 10.255.255.255:前 8 位为网络号,共 1048576 个地址。
- 172.16.0.0 ~ 172.31.255.255:前 12 位为网络号,共 1048576 个地址。
- 192.168.0.0 ~ 192.168.255.255:前 16 位为网络号,共 65536 个地址。
- 应用场景:局域网内设备通信(如家庭网络中的手机、电脑,服务器内部组件互联)。
6.2 公网与私网的通信逻辑
6.2.1 跨网通信前提
- 私有 IP 无法直接在公网路由(因不同私网可能重复使用同一段私有 IP,会导致响应无法定位源设备),需通过路由器转发和NAT 技术实现与公网设备的通信。
- 路由器关键配置:每台路由器均有两个核心 IP——子网 IP(内网接口)(连接内网设备)和WAN 口 IP(外网接口)(连接上层网络,运营商路由器的 WAN 口 IP 为有效公网 IP)。
6.2.2 完整通信流程
以 “内网主机 192.168.1.201 访问公网服务器 122.77.241.3” 为例.
(1)数据包发送阶段(内网→公网)
- 子网判断:内网主机通过子网掩码识别目标 IP(122.77.241.3)不在同一子网,将数据包发送至家用路由器。
- 多级路由转发:家用路由器检测目标 IP 不在直连子网,转发至运营商路由器;数据包在公网中经多级路由器逐跳转发,最终抵达目标服务器所在网络。
- NAT 地址转换:每经过一层路由器,数据包的源 IP(私有 IP)会被替换为该路由器的 WAN 口 IP,确保数据包在公网传输时使用有效公网 IP。
(2)响应数据包返回阶段(公网→内网)
当目标服务器收到数据包并确认目标IP就是自己时,便会处理请求并生成响应,然后按照相反的路径将响应数据包返回给源主机。
- 目标定位:公网服务器处理请求后,生成响应数据包,目标 IP 设为最后一次 NAT 转换后的公网 IP(即运营商路由器或家用路由器的 WAN 口 IP)。
- 反向 NAT 转换:响应数据包沿原路径返回,每经过一层路由器,会执行反向 NAT 转换,将目标 IP 还原为上一级的私有 IP。
- 内网交付:最终响应数据包经家用路由器反向转换后,目标 IP 还原为内网主机原始私有 IP(192.168.1.201),成功交付至源主机。
私有IP不断被替换的过程就是NAT技术。
我们用的是子网,运营商也有可能用子网,它用子网是为了帮助我们通信,只不过运营商一定要有一个公网的路由器来帮助我们旗下的所有子网能够上网,然后直接接入到公网。
7.理解运营商和全球网络
7.1 理解我们是如何上网的
无论是在城镇、农村还是城市,若想在家中上网,首先需要联系电信、移动等运营商,由工作人员将网线(城市一般为光纤)拉进家中。光纤内部有一根蓝色玻璃丝,用于传输光信号(一种模拟信号)。光纤入户后会先连接到调制解调器(俗称“猫”),其核心作用是将光信号转换成计算机可识别的数字信号。数字信号随后传输给路由器,由路由器负责将网络信号分发到家中的各个设备。
家用路由器中通常存在两套密码机制,分别服务于不同的网络功能:
- 第一套是运营商账号密码,由网络服务商提供并配置在路由器中。当路由器需要访问互联网时,会将这套账号密码发送到运营商的认证系统进行验证,确认账号有效且未欠费后,才能建立外网连接。
- 第二套是局域网(Wi-Fi)密码,由用户自行设置,用于保护家庭内部网络安全。这套密码主要用于验证接入设备的身份,防止未经授权的用户蹭网,确保家庭网络资源不被滥用。
这两套密码各司其职:前者保障合法访问互联网的权限,后者保障家庭网络的安全与隐私。
7.2 运营商
7.2.1 网络基础设施建设
- 定义:保障顺畅上网的硬件基础,涵盖全球范围内机房建设、基站搭建、光纤铺设等。
- 核心承担者:电信、移动等运营商。
- 关键作用:是偏远山区使用 4G 网络、刷抖音等上网行为的前提。
7.2.2 国家推动互联网发展的双重目的
- 经济与就业层面:吸引互联网公司入驻,增加税收、创造就业岗位。
- 全民普及层面:让包括农村居民在内的更多人接入互联网。
7.2.3 基础设施建设的特殊属性与国家举措
- 属性特点:投入大、回报周期长,私人企业不愿单独承担。
- 国家行动:近十年加大投入力度,推动运营商持续开展建设工作。
7.2.4 运营商的用户拓展策略与生态影响
1. 运营商的具体行动
- 提供上门安装网络服务,降低用户上网门槛。
- 持续降低流量费,吸引用户数量大幅增长。
2. 带来的连锁效应
- 吸引淘宝、京东、美团、支付宝等互联网企业加入,形成完整互联网生态。
- 运营商通过流量费、网费获得收益,同时助推数字经济发展。
7.3 全球网络
7.3.1 全球网络发展差异与中国参与
1. 区域网络发展差距
- 非洲网络滞后核心原因:缺乏网络基础设施(如基站、光纤)和入网设备。
- 部分国家发展阶段:仍以修路、房地产等基础建设为主,未大规模推进网络基建。
2. 中国的全球化参与逻辑
- 核心举措:通过 “一带一路” 推动他国发展,参与全球基础设施建设。
- 参与价值:共享技术红利,实现 “共同发展、互利共赢”。
7.3.2 全球互联网核心:IP 地址体系
1. IP 地址核心属性
- 资源特性:有限且宝贵,尤其是IPv4 地址(32 位二进制序列)。
- 分配原则:按国家、地区、人口等因素分层分配,保障唯一性与转发效率。
2. IPv4 地址分层划分规则
采用 “国际 - 国家 - 省 - 市 - 主机” 层级细分,通过 “网络前缀 + 子网掩码” 定位:
- 国际到国家:前 8 位区分国家,例:中国前缀0000 0010(对应2.XXX.XXX.XXX/8,/8为子网掩码)。
- 国家到省:新增若干位扩展前缀,例:江苏在国家 8 位基础上加 6 位(前缀0000 1100),形成2.12.XXX.XXX/14(前 14 位为网络前缀)。
- 省到市:继续新增位数,例:苏州在江苏 14 位基础上加 3 位(前缀0001),形成2.12.128.XXX/17(前 17 位为网络前缀)。
- 市到主机:剩余位数作为主机号,例:苏州某主机2.12.128.5中,“5” 为唯一主机号。
7.3.3 全球数据传输流程(以美国访问苏州主机为例)
- 美国用户数据先经美国国际路由器,识别目标 IP 非本国,送入国际路由网络。
- 中国国际路由器接收后,用/8掩码匹配中国地址段,转发至国内省级路由器。
- 省级路由器用/14掩码定位江苏省,转发至市级路由器。
- 市级路由器用/17掩码匹配苏州市,最终将数据送达目标主机(2.12.128.5)。
在全球互联网架构中,IP 地址采用分层分配机制,从顶级的国际互联网注册机构到各国的区域网络,再到各级本地运营商,逐层细分。这样的分层结构既保证了全球 IP 地址的唯一性,又实现了数据在不同网络层级间的高效转发。
7.3.4 IPv4 地址困境与网络构成
1. 地址资源困境
- 问题:互联网用户激增导致 IPv4 地址紧张,地级市层级无法为用户分配独立公网 IP。
- 解决方案:运营商为用户分配内网 IP,仅在本地网络内使用,通过私网与公网通信。
2. 互联网本质构成
互联网 = 公网 + 私网,公网实现全球互联,私网缓解公网地址不足问题。
7.4 NAT技术
1. 核心作用
- 解决 IPv4 地址短缺:运营商为用户分配仅本地网络可用的内网 IP,通过 NAT 实现私网与公网地址转换,允许多用户共享有限公网 IP 上网。
- 提升安全性:隐藏内网设备真实 IP,降低直接暴露风险。
2. 技术原理
在网络设备上建立地址映射关系,实现内网 IP 与公网 IP 的转换,完成私网用户的互联网访问。
7.5 路由技术
7.5.1 路由核心概念
1. 路由定义
在复杂网络结构中,为数据包寻找一条从源主机到目标主机的最优传输路线。
2. 路由本质
通过 “一跳一跳(Hop by Hop)” 的 “问路” 过程转发数据包,“一跳” 指数据链路层中从源 MAC 到目的 MAC 的帧传输区间。
7.5.2 route 命令与路由表
1. 命令功能
本地主机可工作在网络层,通过 route 命令查看当前主机的路由表,掌握网络转发规则。
2. 路由表核心字段
字段 | 含义说明 |
---|---|
Destination | 目标网络地址,即数据包要到达的网络。 |
Gateway | 下一跳路由器地址,数据包需转发至该路由器继续传输。 |
Genmask | 子网掩码,用于与目标 IP 运算,确定目标所属网络。 |
Flags | - U:表示该路由条目当前正在使用;- G:表示该条目对应下一跳为路由器。 |
Iface | 本地网络接口,数据包通过该接口发出。 |
3. 路由表查询规则与路由过程
(1)路由表查询逻辑
- 取目标主机 IP 地址与路由表中某一行的Genmask(子网掩码) 做 “与运算”。
- 将运算结果与该行的Destination(目标网络) 对比,匹配则从对应Iface(接口) 转发。
- 若不匹配,继续与下一行路由条目重复上述操作。
(2)IP 数据包路由过程
- 数据包到达路由器后,路由器优先查看目的 IP 地址。
- 判断数据包能否直接发送至目标主机,或需转发至下一个路由器。
- 重复上述步骤,逐跳转发直至到达目标 IP。
4. 路由转发实例
假设主机有两个网络接口:连接192.168.10.0/24(eth0)和192.168.56.0/24(eth1)。
实例 1:目标地址 192.168.56.3
- 目标 IP 与路由表前序条目子网掩码运算,结果与对应目标网络不匹配。
- 与192.168.56.0/24条目掩码运算,结果匹配目标网络。
- 从eth1 接口直接发送至目标主机(该网络与 eth1 直连,无需路由器转发)。
实例 2:目标地址 202.10.1.2
- 目标 IP 与路由表前序条目逐一匹配,均不命中。
- 匹配缺省路由条目,从eth0 接口发往192.168.10.1路由器。
- 由192.168.10.1路由器根据自身路由表决定下一跳。