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

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首部的改进

对比项IPv4IPv6
地址长度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的区别,后来通过画拓扑图、对比协议特点,才慢慢理清逻辑。

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

http://www.dtcms.com/a/562010.html

相关文章:

  • 网站建设公司 预算培训机构前端开发
  • 文献管理 Mendeley合并两个论文数据库
  • 泰兴网站推广东阳厂家高端网站设计
  • 如何利用 DeepSeek 提升工作效率-test
  • 青岛开发区做网站设计的wordpress猜你喜欢插件
  • Windows 10安装Linux虚拟机完整指南:三种方法详解
  • mysql数据库的sql优化以及explain周期字段详解案例【爽文】
  • wordpress 站点语言优秀网站h5案例分享
  • 建网站要多长时间功能最多的wordpress主题
  • 计算机图形学·5 OpenGL编程2 完整程序
  • 透明化战场:俄罗斯如何适应数字战争时代
  • 网站程序语言那个好网站建设合同封面
  • a站是指哪个网站深圳网站建设公司推荐乐云seo
  • C语言内功强化之const修饰指针
  • spiderdemo第八题
  • 青州网站搭建重庆安全建设工程信息网
  • 会议网站建设方案模板布吉网站的建设
  • MIT-大整数相乘和大矩阵相乘
  • 网站建设分析书引言恩施哪里有做网站的
  • php手机网站开发长春电商网站建设公司排名
  • 微信网站怎么做的淮北哪有做网站的
  • 基于 Qemu 的内核模块开发初体验
  • 网站建设是前端么一级a做爰片免费网站孕交视频
  • 如何下载纯净版操作系统
  • 计网5.3.2 TCP报文段
  • pyqt5 部件QTableWidget对某些指定单元格输入数字限制
  • 网站开发主管岗位职责说明书襄阳专业做网站
  • php做的网站收录网站建设服务网站
  • dc系列靶机——dc1
  • Java SE 学习哈希表后对String的讨论