[ 计算机网络 | 第四章 ] 网络层 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协议的"尽力而为"看似简陋,反而因为简单而获得了最大的成功------它可以在任何链路层之上运行,可以连接任何异构网络,可以为任何上层协议服务。

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

相关推荐
eybk3 小时前
用kivy手搓一个网络音乐播放器
网络
多语种客服外包3 小时前
智能宠物饮水机跨境经营:售后建设对海外业务收益的现实影响
网络·宠物
CHENKONG_CK3 小时前
恶劣工况下 RFID 赋能喷涂产线自动化分拣与作业
运维·网络·人工智能·自动化·汽车·rfid·rfid
北京中科新远科技3 小时前
AI集群交换网络容量怎么算:端口、收敛比与Leaf-Spine验收
服务器·网络·人工智能
郝学胜-神的一滴3 小时前
游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱
开发语言·计算机网络·程序人生·游戏·游戏引擎
白帽攻防录3 小时前
SRC 挖洞:GitLab GraphQL 指令绕过深度复盘,CVE-2026-19478 未授权删项目怎么打穿代码托管平台
网络·网络安全·gitlab·graphql
neo_will_mvp3 小时前
上海莫双一流211大学:实操安装HP1188pnw网络打印机
网络
Johny_Zhao11 小时前
FreeRADIUS + 华为AC/AP + 802.1X/WPA2-Enterprise 无线认证对接部署完整指南
网络·网络安全·信息安全·ldap·radius·huawei·系统运维·centos8
天远API12 小时前
零信任架构实战:基于天远人企关联构建自动化图谱网关
网络·人工智能·架构·自动化
vipjx114 小时前
百度网盘限速怎么破?2026实测PanDownload多线程提速方案
网络·智能路由器