Day02计算机网络网络层学习总结:从协议到路由全解析

计算机网络网络层学习总结:从协议到路由全解析

最近花了不少时间啃计算机网络的网络层,这一层作为"网络交通指挥官",涉及的协议和概念还挺多的。今天就以学习笔记的形式,把ICMP、DHCP、ARP、NAT、IPv6以及路由相关的知识点串一遍,希望能给同样在学网工的小伙伴一些参考~

一、ICMP协议:网络故障排查的"听诊器"

ICMP(Internet控制报文协议)是IP层的辅助协议,主要用于传递差错报告和控制信息,最经典的应用就是pingtraceroute工具。

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过程):

  1. 发现(Discover):客户端启动时广播发送DHCP Discover报文,寻找局域网内的DHCP服务器;

  2. 提供(Offer):DHCP服务器收到报文后,广播发送DHCP Offer报文,提供一个可用的IP地址、子网掩码、网关等配置信息;

  3. 请求(Request):客户端选择一个Offer,广播发送DHCP Request报文确认使用该配置;

  4. 确认(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的区别,后来通过画拓扑图、对比协议特点,才慢慢理清逻辑。

欢迎大家在评论区交流学习心得~ 如果这篇笔记对你有帮助,别忘了点赞收藏哦!

相关推荐
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意3 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码3 天前
嵌入式学习路线
学习
毛小茛3 天前
计算机系统概论——校验码
学习
babe小鑫3 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms3 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下3 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。3 天前
2026.2.25监控学习
学习
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J3 天前
从“Hello World“ 开始 C++
c语言·c++·学习