[ 计算机网络 | 第四章 ] 网络层 01 概述

前言

这一层网络层是整个计算机网络的核心,十分重要,我们在这篇文章中将粗略地了解网络层的重要性和网络层是什么,所以这篇文章很简单。

网络层概述:从隔壁房间,到世界的另一端

数据链路层 已经解决了"相邻节点之间怎么可靠传帧"的问题。PPP让两台直连的设备能通信,CSMA/CD让共享一根线的多台设备不会乱套,交换机让冲突域缩小到每个端口,VLAN在逻辑上隔开了广播域。

但是都有同一个问题:它们都只能在一个网络内部工作。

同一个以太网 里的设备,通过MAC地址互相找到对方,没有问题。

但如果你想访问一台地球另一端的服务器,你的电脑怎么知道数据该往哪走?中间要经过多少个路由器?每个路由器凭什么知道下一跳该转发给谁?

数据链路层的世界是一个"直连"的世界。而互联网是一个"跨越无数中间网络"的世界。这就是网络层要解决的根本问题。


链路层的局限:只能在一个网络内部通信

数据链路层解决的是"相邻节点"之间的通信。两台设备直接连在同一根线上,或者通过交换机连在同一个局域网里,它们通过MAC地址互相寻址。

MAC地址就像房间里的别人的名字。在同一房间里,喊名字就能找到人。但如果你想找的人不在这个房间里(另一栋楼、另一个城市、另一个国家)------那么 MAC地址就完全不够用了。

原因很简单 :MAC地址是平面地址 。它不包含任何位置信息。00:1A:2B:3C:4D:5E这个地址,你完全看不出这台设备在地球上的哪个角落。

如果一个路由器想根据MAC地址来转发数据,它就需要维护一张全球所有设备的MAC地址表------这张表会有几十亿条记录,而且每台设备移动一次位置就得更新。

这可能吗?当然不行。所以数据链路层只能在一个有限的广播域内工作。这个局限不是设计失误,而是设计分工------链路层只管"相邻节点",跨网络的事交给上一层。


核心矛盾:局域网直连 vs 互联网跨网

于是,网络层的核心矛盾就浮现了:

数据链路层只能在一个网络内部通信 vs 需要让全球任意两台设备跨网络通信

这个大矛盾可以分解为两个小问题:

第一,寻址问题。

我们需要一套全球通用的地址体系。这个地址必须能支持大规模路由,必须具备层级结构------就像邮政地址用"国家/省/市/街道"来组织,路由器不需要知道每个具体门牌号,只需要根据地址前缀来判断"去这个方向走哪个接口"。

第二,路径问题。

从源地址到目的地址,可能存在多条可能的路径。哪条路径是当前最优的?它可能取决于跳数、带宽、延迟,甚至网络运营商的商业协议。你需要一套机制来计算和选择路径。

这两个问题,对应了网络层的两大核心任务。


网络层的两大核心任务:分组转发与路由选择

网络层的工作可以概括为两件事:转发路由。它们不是同一个概念。

维度 分组转发 路由选择
是什么 路由器收到一个IP数据报,查表,从某个接口转发出去 确定数据报从源到目的经过的路径
作用范围 局部------单个路由器的一次操作 全局------全网路由器协同计算
时间尺度 纳秒到微秒级 秒到分钟级
实现方式 硬件(转发表查找) 软件(路由协议计算)
类比 在高速路口,收费员告诉你下一个出口往哪走 出发前,你用导航软件规划了整条路线

分组转发发生在每一个中间路由器的每一次数据报到达时。路由器检查IP数据报的目的地址,查找自己的转发表,决定从哪个接口发出去。这个过程必须极快,通常由专用硬件完成。

路由选择则是一个更"宏观"的过程。它不处理单个数据报,而是决定"到达某个网络,应该走哪条路"。路由协议(比如RIP、OSPF、BGP)负责在路由器之间交换信息,计算出最优路径,然后把这些路径信息填入转发表。

两者的关系是:路由选择负责"铺路"和"更新地图",分组转发负责"按图索骥"。 没有路由选择,转发表就是空的,分组转发无从进行。没有分组转发,路由选择算出来的路径永远不会被用到。


网络层向上层提供两种服务

网络层向上面的传输层提供服务。历史上,网络层可以向上提供两种截然不同的服务,由此延伸出了无连接服务和面向连接服务之争。

服务一:无连接服务(数据报服务)

这种服务不事先建立连接

每个数据报独立处理,携带完整的目的地址,在网络中独立路由。不同数据报可能走不同的路径,到达顺序可能与发送顺序不同。网络层只负责"尽力而为"地交付,不保证可靠------(不保证一定送到 ,不保证按序到达 ,不保证不重复)。

服务二:面向连接服务(虚电路服务)

这种服务要求在通信之前先建立一条"虚电路"。

虚电路不是物理专线,而是一条逻辑上 的路径,沿途路由器为它预留表项。建立之后,所有数据报都沿着同一条虚电路传输,按序到达。网络层保证可靠交付。

两者的核心区别:

对比 数据报服务 虚电路服务
连接建立 不需要 必须先建立
地址 每个数据报携带完整目的地址 数据报只携带虚电路号
路径 每个数据报独立选路 同一虚电路的所有数据报走同一路径
顺序 不保证按序到达 保证按序到达
可靠性 不保证,交给传输层 网络层自己保证
路由器状态 不保存连接状态 需要为每条虚电路保存状态
容错性 高------路由器故障,数据报绕路 低------沿途一个节点故障,整条虚电路中断

谁赢了?数据报服务。

因特网选择了无连接的数据报服务。这个选择不是偶然的。虚电路要求沿途所有路由器都支持虚电路机制,这在全球范围内根本做不到。更重要的是,数据报服务把可靠性交给端系统(传输层的TCP),让网络层保持简单------这就是"端到端原则":网络核心尽量简单,智能放在边缘。

ATM(异步传输模式)曾经试图用虚电路统一网络层,但它失败了。复杂的网络层协议难以在全球范围内部署和维护。IP协议的"尽力而为"看似简陋,反而因为简单而获得了最大的成功------它可以在任何链路层之上运行,可以连接任何异构网络,可以为任何上层协议服务。

📌 小结:网络层要解决的根本矛盾,是数据链路层的"局域网局限"和互联网的"全球互通需求"之间的矛盾。为此,网络层有两项核心任务:分组转发(局部操作,查表转发)和路由选择(全局计算,规划路径)。网络层向上提供两种服务模式------无连接的数据报服务和面向连接的虚电路服务------因特网选择了前者,把复杂性交给端系统,让网络核心保持简单。正是这个选择,奠定了今天互联网可扩展、可互联的基础。

相关推荐
网络研究院2 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest2 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_961845152 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
程序员mine2 天前
HTTPS-TLS加密与证书完全指南(中)
网络协议·https·ssl
程序猿阿伟2 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
之歆2 天前
现代 HTTP 客户端深度解析:Fetch 与 Axios
chrome·网络协议·http
InHand云飞小白2 天前
无人值守站点网络困境?工业级路由器IR315破解连接难题
网络·物联网·4g·工业路由器·4g路由器·iiot·蜂窝路由器
森G2 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt