Day02计算机网络网络层学习总结:从协议到路由全解析
计算机网络网络层学习总结:从协议到路由全解析
最近花了不少时间啃计算机网络的网络层,这一层作为“网络交通指挥官”,涉及的协议和概念还挺多的。今天就以学习笔记的形式,把ICMP、DHCP、ARP、NAT、IPv6以及路由相关的知识点串一遍,希望能给同样在学网工的小伙伴一些参考~
一、ICMP协议:网络故障排查的“听诊器”
ICMP(Internet控制报文协议)是IP层的辅助协议,主要用于传递差错报告和控制信息,最经典的应用就是ping和traceroute工具。
1.1 ping:检测主机连通性
ping的工作原理很简单:向目标主机发送ICMP回显请求报文(Type=8),目标主机收到后返回ICMP回显应答报文(Type=0)。通过是否收到应答、往返时间(RTT)和丢包率,就能判断两台主机之间的连通性和网络质量。
比如在命令行输入ping www.baidu.com,就能测试自己的电脑到百度服务器的连通性。如果出现“请求超时”,可能是目标主机不可达、网络链路故障或防火墙拦截了ICMP报文。
1.2 traceroute:追踪数据包传输路径
traceroute用于查看数据包从源主机到目标主机经过的每一个路由器。它的核心技巧是利用IP首部的TTL(生存时间)字段:
-
发送第一个数据包时,TTL设为1,经过第一个路由器后TTL减为0,路由器会返回ICMP超时报文(Type=11),从而获取第一个路由器的IP;
-
接着发送TTL=2的数据包,获取第二个路由器IP,以此类推,直到数据包到达目标主机,目标主机会返回ICMP端口不可达报文(Type=3),停止追踪。
二、IP地址与MAC地址:网络层的“身份标识”
网络通信中,源主机要确定“发给谁”(目标IP)和“怎么发”(目标MAC),这就需要DHCP和ARP两个协议的配合。
2.1 源IP地址设置:DHCP动态主机配置协议
我们电脑的IP地址不是固定不变的,大多是通过DHCP动态获取的。DHCP采用客户端/服务器模式,工作流程分为4步(DORA过程):
-
发现(Discover):客户端启动时广播发送DHCP Discover报文,寻找局域网内的DHCP服务器;
-
提供(Offer):DHCP服务器收到报文后,广播发送DHCP Offer报文,提供一个可用的IP地址、子网掩码、网关等配置信息;
-
请求(Request):客户端选择一个Offer,广播发送DHCP Request报文确认使用该配置;
-
确认(Acknowledge):DHCP服务器广播发送DHCP ACK报文,确认客户端的请求,客户端此时正式获得IP地址。
2.2 目标MAC地址获取:ARP地址解析协议
IP地址是“逻辑地址”,用于跨网络定位主机;MAC地址是“物理地址”,用于局域网内设备通信。当数据包在局域网内传输时,需要通过ARP将目标IP转换为目标MAC。
ARP的工作过程:
-
源主机广播发送ARP请求报文,包含目标IP地址,询问“谁是这个IP?请告诉我你的MAC地址”;
-
局域网内所有主机收到报文后,对比自身IP,只有目标主机回复ARP响应报文,包含自己的MAC地址;
-
源主机收到响应后,将IP与MAC的映射关系存入ARP缓存表,后续通信直接使用该映射。
注意:ARP缓存有过期时间(通常几分钟),过期后会重新发送ARP请求,避免设备MAC地址变化导致通信失败。
三、NAT:解决IPv4地址枯竭的“救星”
IPv4地址只有32位,总数约43亿,早已不够用。NAT(网络地址转换)技术通过将局域网内的私有IP地址转换为公网IP地址,实现多个设备共享一个公网IP上网。
NAT的核心原理:路由器(NAT网关)维护一个NAT转换表,记录私有IP:端口与公网IP:端口的映射关系。当内网主机访问外网时,路由器将数据包的源IP(私有IP)替换为公网IP,并记录映射;当外网返回数据时,路由器根据映射表将目标IP(公网IP)替换为对应的私有IP,转发给内网主机。
常见的NAT类型有静态NAT(私有IP与公网IP一对一映射)和动态NAT(多个私有IP共享一个公网IP池),我们家庭网络用的大多是NAPT(网络地址端口转换),通过端口号区分不同内网主机。
四、IPv6:下一代互联网协议的“升级”
为彻底解决IPv4地址枯竭问题,IPv6应运而生。它的地址长度为128位,理论上可以提供无限多的IP地址,同时在首部结构上也做了很多改进。
4.1 IPv6首部结构
IPv6首部固定为40字节,包含8个字段:版本、流量类别、流标签、有效载荷长度、下一个首部、跳数限制、源IPv6地址、目标IPv6地址。
4.2 相对于IPv4首部的改进
| 对比项 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32位 | 128位 |
| 首部长度 | 可变(20-60字节) | 固定40字节 |
| 选项字段 | 包含在首部中,增加处理复杂度 | 移至“下一个首部”后的扩展首部,灵活且不影响基本首部处理 |
| 校验和 | 有(增加CPU开销) | 无(由传输层TCP/UDP校验,提高转发效率) |
| 地址解析 | 依赖ARP | 使用NDP(邻居发现协议),支持无状态地址自动配置 |
五、路由:数据包的“导航系统”
路由是网络层的核心功能,负责确定数据包从源主机到目标主机的最佳路径。它主要分为“路由”和“转发”两个过程,以及“域内路由”和“域间路由”两种场景。
5.1 路由与转发的区别
-
转发(Forwarding):路由器收到数据包后,根据路由表查找目标网络对应的出接口,将数据包转发出去,是“本地决策、即时处理”的过程;
-
路由(Routing):路由器之间通过路由协议交换网络拓扑信息,动态更新路由表,是“全局规划、动态维护”的过程。
5.2 域内路由与域间路由
互联网由多个自治系统(AS,指一个独立管理的网络区域)组成:
-
域内路由(Intra-AS Routing):自治系统内部的路由,关注AS内的路径优化,要求协议开销小、收敛快;
-
域间路由(Inter-AS Routing):自治系统之间的路由,关注不同AS之间的可达性和策略(如商业合作关系),要求协议能处理大规模网络。
5.3 常见路由协议
(1)RIP:路由信息协议
RIP是一种基于距离向量算法的域内路由协议,主要特点:
-
以“跳数”(经过的路由器数量)作为度量值,最大跳数为15,超过15的网络视为不可达;
-
每隔30秒广播发送路由更新报文,收敛速度慢;
-
适用于小型局域网,不适合大规模网络。
(2)OSPF:开放式最短路径优先协议
OSPF是一种基于链路状态算法的域内路由协议,是目前应用最广泛的域内路由协议之一:
-
以“带宽、延迟”等链路状态信息计算最短路径(使用Dijkstra算法);
-
通过Hello报文维护邻居关系,仅在链路状态变化时发送更新(触发更新),收敛速度快;
-
支持将AS划分为多个区域(Area),减少路由信息交换量,适合中大型网络。
(3)BGP:边界网关协议
BGP是一种基于路径向量算法的域间路由协议,用于不同AS之间交换路由信息:
-
不追求“最短路径”,而是根据“路由属性”(如AS路径长度、本地优先级)选择最优路径;
-
通过TCP连接(端口179)交换路由信息,可靠性高;
-
支持路由策略控制,比如拒绝接收某些AS的路由,适合互联网级别的大规模网络。
5.4 域内与域间协议对比分析
| 协议类型 | 代表协议 | 算法基础 | 适用场景 | 核心目标 |
|---|---|---|---|---|
| 域内路由协议 | RIP、OSPF | 距离向量、链路状态 | 自治系统内部 | 快速收敛、路径最优(基于度量值) |
| 域间路由协议 | BGP | 路径向量 | 自治系统之间 | 策略控制、网络可达性、可靠性 |
六、学习总结
网络层是计算机网络的“交通枢纽”,从IP地址的分配(DHCP)、MAC地址的解析(ARP),到数据包的故障排查(ICMP)、地址转换(NAT),再到路径规划(路由协议),每个知识点都环环相扣。刚开始学的时候容易混淆RIP、OSPF、BGP的区别,后来通过画拓扑图、对比协议特点,才慢慢理清逻辑。
欢迎大家在评论区交流学习心得~ 如果这篇笔记对你有帮助,别忘了点赞收藏哦!
