计算机网络自顶向下方法32——网络层 网络层概述 转发和路由选择,数据平面和控制平面(传统方法,SDN方法) 网络服务模型
网络层深度解析(一):概述、平面分离与服务模型
网络层是互联网协议栈中最具核心地位的层次之一,它实现了主机到主机的通信服务,是连接全球所有端系统的基石。
一、网络层概述与核心价值
1. 核心职责
网络层负责将报文段从发送主机一路传输到接收主机。为此,它必须完成两大核心任务:
转发:当数据包到达路由器的一条输入链路时,路由器必须将其移动到适当的输出链路。这是一个局部的、高速的操作。
路由选择:确定数据包从源到目的地所采用的端到端路径。这是一个全局的、相对低速的计算过程。
2. 与运输层的关系
这是一个至关重要的区分:
运输层:为运行在不同主机上的进程提供逻辑通信。
网络层:为不同主机提供逻辑通信。
3. 网络层主要实现方式
数据报网络:互联网所采用的方式。无连接服务,每个数据包独立路由。
虚电路网络:源于电信网络。面向连接服务,在数据流动前先建立虚电路。
二、转发与路由选择:数据平面与控制平面
为了应对日益复杂的网络规模和管理需求,现代网络架构将路由器的功能明确划分为两个层面:数据平面和控制平面。
1. 基本概念
数据平面:决定到达路由器的数据包如何转发到输出链路。它处理的是微观、局部、快速的操作,通常由硬件实现。
控制平面:决定数据包从源到目的地的端到端路径。它处理的是宏观、全局、相对慢速的计算,通常由软件实现。
2. 传统方法:每路由器控制
在互联网早期,控制平面功能以分布式的方式实现:
工作机制:每个路由器内部都运行着路由选择算法(如OSPF, BGP),路由器之间通过交换路由选择报文来通信。
决策依据:每个路由器根据获取的网络信息,独立计算其转发表。
类比:就像一群司机,每个人都拿着自己的地图(路由算法),通过互相问路(交换路由信息),各自决定自己的行车路线(计算转发表)。

3. SDN方法:逻辑集中式控制
软件定义网络是一种革命性的控制平面实现方式:
核心思想:将网络的控制平面与数据平面分离。控制平面功能从各个路由器中抽离出来,由一个集中式的控制器(通常是一个服务器集群)来执行。
工作机制:
控制器通过一个南向API与网络中的所有路由器交互。
控制器收集整个网络的全局拓扑信息。
控制器为每个流计算路径,并将计算出的流表项直接下发到各个路由器的流表中。
关键协议:OpenFlow是SDN中最重要的南向接口协议。
类比:像一个空中交通管制系统。控制器是塔台,拥有整个机场的全局视野,它直接向每个飞行员(路由器)下达精确的指令(流表项)。

4. 两种方法对比
| 特性 | 传统每路由器控制 | SDN逻辑集中控制 |
|---|---|---|
| 控制位置 | 分布式,在每个路由器中 | 集中式,在外部控制器中 |
| 网络视图 | 局部、不完整 | 全局、统一 |
| 管理复杂度 | 高(需配置每个设备) | 低(控制器统一配置) |
| 创新速度 | 慢(依赖设备厂商) | 快(软件可编程) |
| 典型代表 | 传统互联网 | 大型数据中心、园区网 |
三、网络服务模型
网络服务模型定义了的是在发送主机与接收主机之间,网络层为运输层提供的端到端服务的特性。
1. 互联网的“尽力而为”服务模型
这是互联网最核心、也最成功的服务模型。
核心承诺:网络会尽自己最大的努力来交付数据报,但不作任何保证。
具体表现:
不保证数据报的按时交付。
不保证数据报的按序交付。
不保证数据报的最终交付。
不保证网络不会丢包。
设计哲学:保持网络核心的极简主义,将复杂的可靠性、流量控制等问题交由端系统(通过TCP)来解决。这种“智能边缘,简单核心”的设计是互联网得以大规模扩展的关键。
2. 其他可能服务模型(对比)
恒定比特率:提供类似专线的稳定带宽和延迟保证(如ATM CBR)。
可用比特率:提供最小带宽保证,网络空闲时可使用更多带宽(如ATM ABR)。
总结
网络层通过数据平面实现高速的转发,通过控制平面(无论是分布式还是集中式)实现智能的路由选择。互联网采用 “尽力而为” 的服务模型,将复杂性推向边缘,从而获得了无与伦比的扩展性和鲁棒性。而SDN的兴起,则代表了控制平面从分布式走向逻辑集中式的重大演进,为网络带来了前所未有的可编程性和灵活管控能力。
