考研复习Day 5 | 计网:网络层(上)

张开发
2026/6/9 19:06:07 15 分钟阅读
考研复习Day 5 | 计网:网络层(上)
一、网络层的核心任务简单理解运输层关心“进程与进程”网络层关心“主机与主机”。网络层提供的是主机之间的逻辑通信核心功能有两个功能含义类比转发路由器将数据包从输入端口转到输出端口每个路口决定下一站路由选择决定数据包从源到目的经过的完整路径提前规划好全程路线思考转发是“局部动作”路由选择是“全局规划”。就像写代码时函数内部的局部变量转发和整个系统的架构设计路由选择。二、网络层提供的两种服务服务类型代表网络特点是否建立连接是否可靠面向连接传统电话网、ATM先建虚电路预留资源是是无连接互联网IP尽最大努力交付不保证可靠否否互联网的选择简单、灵活、造价低。可靠性交给上层TCP去保证。这正是“贪婪与妥协”的体现——IP层贪婪地追求简单高效妥协地把复杂问题交给上层。三、网际协议IPIPv43.1 与IP协议配套的三个协议协议全称作用ARP地址解析协议IP → MACICMP网际控制报文协议差错报告、网络诊断pingIGMP网际组管理协议多播管理3.2 虚拟互连网络问题不同网络的差异很大硬件、寻址、最大分组长度等。解决方案用路由器在网络层将异构网络连接起来。中间设备所在层次作用转发器物理层放大信号扩展距离网桥/桥接器数据链路层连接相同类型的局域网路由器网络层连接异构网络是网络互连的核心网关网络层以上连接不同协议的系统虚拟互连网络IP网使用IP协议将异构网络互连后从网络层看就像一个统一的网络。这是互联网能够全球互通的基础。四、IP地址4.1 基本概念定义给每个主机/路由器的每个接口分配一个全世界唯一的32位标识符。表示点分十进制如192.168.1.1结构IP地址 {网络号, 主机号}思考网络号就像“邮政编码”主机号就像“详细地址”。路由器只看邮政编码网络号来决定把包裹送到哪个城市。4.2 IP地址的编址历史三个阶段阶段特点现状分类IP地址固定A/B/C类已成为历史子网划分从主机号借位仍在使用构成超网CIDR无分类编址当前主流4.3 分类IP地址了解即可重点掌握CIDR类别开头网络号长度主机号长度范围用途A类08位24位1.0.0.0 ~ 126.255.255.255大型网络B类1016位16位128.0.0.0 ~ 191.255.255.255中型网络C类11024位8位192.0.0.0 ~ 223.255.255.255小型网络D类1110——224.0.0.0 ~ 239.255.255.255多播E类1111——240.0.0.0 ~ 255.255.255.255保留4.4 特殊IP地址必须记住地址含义说明0.0.0.0本网络上的本主机DHCP请求时使用127.0.0.1本地环回地址通常由域名localhost指向它一般会通过ping 127.0.0.1来测试本机TCP/IP协议栈网络设备是否正常255.255.255.255有限广播地址只在本地网络广播主机号全0网络地址代表整个网络主机号全1直接广播地址向某个网络广播子网掩码用来区分IP地址中的网络号和主机号1代表网络号0代表主机号CIDR表示法192.168.1.0/24表示前24位是网络号后8位是主机号计算示例IP192.168.1.100子网掩码255.255.255.0即/24网络地址192.168.1.0主机号全0广播地址192.168.1.255主机号全1可容纳主机数2⁸ - 2 254减去网络地址和广播地址思考子网掩码就像位运算中的掩码IP 子网掩码 网络地址。五、IP地址 vs 硬件地址MAC地址对比项IP地址MAC地址所在层次网络层及以上数据链路层及物理层类型逻辑地址物理地址可变性可变换网络就变理论上唯一固化在网卡作用范围全局整个互联网局部同一个网络在IP数据报中在首部—在MAC帧中—在首部理解重要在IP层抽象中源IP和目的IP始终不变从H1到H2一直是IP1→IP2。在链路层MAC地址逐段变化H1→R1用MAC1→MAC_R1R1→R2用MAC_R1→MAC_R2。IP层屏蔽了下层的复杂细节让上层“看不到”底层网络的变化。思考这就是分层抽象。就像调用一个API不需要关心它底层是HTTP还是gRPC只要接口不变就行。六、ARP协议地址解析协议—— 重点6.1 为什么需要ARP问题IP层使用IP地址但实际链路层传送帧时使用MAC地址。如何从IP地址找到对应的MAC地址答案ARP协议Address Resolution Protocol。6.2 ARP工作原理前提每台主机/路由器都有一个ARP高速缓存IP → MAC的映射表表项有生存时间通常20分钟。工作过程同一网络内主机A想给主机B发数据A知道B的IP不知道B的MAC1. A广播ARP请求“谁是192.168.1.2请告诉192.168.1.1”2. 同一网络内的所有主机都收到这个请求3. B发现问的是自己单播回复“我是192.168.1.2我的MAC是XX:XX:XX:XX:XX”4. A收到回复把B的IP和MAC存入ARP缓存类比你在大厅里喊“张三在吗”张三说“在”然后你们私下聊。广播是“喊”单播是“私下说”。6.3 ARP的四种典型使用场景场景发送方接收方ARP目标1主机H1同网络主机H2找H2的MAC2主机H1不同网络主机H3找网关R1的MAC3路由器R1同网络主机H2找H2的MAC4路由器R1不同网络主机H3找下一跳路由器R2的MAC核心规律ARP只在同一个网络内生效。跨网络通信时ARP解析的是下一跳路由器网关的MAC地址而不是最终目的主机的MAC。6.4 ARP的潜在风险信息安全相关ARP欺骗攻击者伪造ARP回复让主机A以为网关的MAC是攻击者的MAC从而截获所有流量。防护方法静态ARP绑定、ARP检测工具。七、IP数据报格式7.1 首部结构图7.2 核心字段详解字段长度含义说明版本4位IP协议版本IPv4或IPv6首部长度4位首部长度单位4字节最大60字节通常20字节总长度16位首部数据总长字节最大65535字节标识16位数据报唯一标识同一数据报的分片标识相同标志3位分片控制最低位0表示最后分片中间位1表示不能分片片偏移13位分片在原数据报中的位置单位8字节生存时间TTL8位最大跳数每经过一个路由器减1为0时丢弃协议8位上层协议类型6TCP17UDP1ICMP首部检验和16位只检验首部每经过一个路由器重新计算源/目的IP各32位发送方和接收方IP始终不变思考TTL就像代码中的“最大重试次数”防止数据包在网络中无限循环。这就是环路保护机制。八、IP层转发分组的流程核心原则路由表不存储主机地址只存储网络地址和下一跳。转发是逐跳的不是端到端路径。分组转发算法1. 提取目的IP地址D得到目的网络地址N2. if N是直接相连的网络:直接交付把数据报发给目的主机else:查找路由表3. if 有目的地址为D的特定主机路由:交给指定的下一跳路由器4. else if 有到达网络N的路由:交给对应的下一跳路由器5. else if 有默认路由:交给默认路由器6. else:报告转发错误思考这就像多层if-else判断优先级从高到低特定主机路由 网络路由 默认路由。九、思考1. ARP缓存 ≈ LRU缓存都是“查表→命中→直接用未命中→学习→下次就快了”。计算机系统里到处是这种“缓存”思想。2. 分层抽象 ≈ API设计IP层屏蔽了底层网络的差异就像良好的API设计隐藏了实现细节。调用send()函数时不需要关心底层是WiFi还是光纤。3. TTL ≈ 限时重传机制防止数据包在网络中无限循环就像代码中设置超时时间防止死循环或无限等待。十、今日小结网络层是计网的核心IP协议是网络层的核心。今天学的ARP是连接网络层和数据链路层的“桥梁”理解了ARP就理解了两层之间的关系。另外IP数据报首部字段较多不需要死记每个字段的位数但要理解每个字段的作用。TTL为什么要有分片是怎么实现的检验和为什么要重新计算理解这些“为什么”比背数字重要得多。注以上内容参考计算机网络第8版谢希仁 编著。其中有一些个人理解仅供参考。如有错误希望各位大佬指正感谢十一、明日计划数学一元函数微分学的计算计网网络层中

更多文章