网络层是OSI模型的第三层,它负责在互连的网络之间进行逻辑寻址、路由选择以及端到端的数据包交付。
- 处理设备的逻辑(IP)地址
- 确定网络之间的最佳路由路径
- 实现跨多个网络的主机到主机通信
!29OSI模型中的网络层
> 注意: 与数据链路层不同,后者仅关注单一网络段内的节点到节点交付,而网络层确保数据从源主机传输到目的主机,即使它们位于不同的网络上。
网络层的主要职责
网络层的一些关键职责包括:
- 逻辑寻址: 为设备分配唯一的IP地址,确保跨网络的准确识别和通信。
- 分组封装: 将传输层的报文段封装成数据包,以便高效传输。
- 主机到主机交付: 确保数据包从发送者通过不同的网络可靠地传送到预期的接收者。
- 转发: 根据目的IP地址,将数据包从路由器的输入接口移动到适当的输出接口。
- 路由选择: 使用路由算法和协议,确定数据包跨多个网络传输的最佳路径。
- 分片与重组: 将大的数据包拆分成更小的片段以匹配网络的最大传输单元(MTU),并在目的地重新组装它们。
- 子网划分: 将较大的网络划分为更小的子网络,以实现高效的寻址和流量管理。
- 网络地址转换 (NAT): 将私有IP映射为公共IP以进行互联网通信,从而节省地址空间并增加安全性。
> 阅读更多关于网络层功能的内容。
网络层是如何工作的
!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20250730183527047478/howpacketstravelfromheretothere.webp">howpacketstravelfromheretothere网络层的工作原理
- 每个设备都被分配了一个唯一的逻辑地址(IP地址)。
- 来自传输层的数据被封装成数据包,并附上源IP和目的IP。
- 路由器分析目的地址并确定最佳可用路径。
- 数据包在网络中逐跳传输,穿过路由器直到到达目的地。
- 如果数据包大小超过MTU,它将被分片成更小的单元。
- 在目的地,这些片段被重新组装成原始数据。
- 如果发生错误(例如目的地不可达),ICMP等协议会向源发送错误消息。
运行在网络层的协议
- IP (Internet Protocol – IPv4/IPv6): 提供逻辑寻址并在网络间传送数据包;IPv6提供了更大的地址空间和更高的效率。
- ICMP (Internet Control Message Protocol): 发送错误报告和诊断消息(例如目的地不可达、ping)。
- ARP (Address Resolution Protocol): 在本地网络中将IP地址映射为MAC地址。
- RARP (Reverse Address Resolution Protocol): 使用设备的MAC地址获取其IP地址(目前已基本淘汰)。
- NAT (Network Address Translation): 将私有IP地址转换为公共IP,节省地址并提高安全性。
- IPSec (Internet Protocol Security): 通过加密和认证来保护IP通信。
- MPLS (Multiprotocol Label Switching): 使用标签高效转发数据包并管理流量。
路由协议
- RIP (Routing Information Protocol): 使用跳数作为度量标准来选择路径的距离向量协议。
- OSPF (Open Shortest Path First): 链路状态协议,通过计算网络拓扑来确定最短路径。
- BGP (Border Gateway Protocol): 路径向量协议,负责互联网上自治系统之间的数据路由。
网络层的优势
- 实现跨多个网络的端到端通信。
- 支持子网划分和分层寻址,具有良好的可扩展性。
- 使用最短路径和动态路由算法高效路由数据包。
- 通过连接异构网络提供互联网能力。
网络层的局限性
- 没有流量控制机制;如果传输中的数据报过多,可能会发生拥塞。
- 错误控制有限;主要依赖上层来保证可靠性。
- 路由器在负载过重时可能会丢弃数据包,导致潜在的数据丢失。
- 分片增加了处理开销,可能会影响性能。
路由与洪泛的区别
洪泛
—
不需要路由表。