引子
网络层能够被分解为两个相互作用的部分:
数据平面和控制平面。
网络层概述
路由器具有截断的协议栈,即没有网络层以上的部分。
如下图所示,是一个简单网络:
转发和路由选择:数据平面和控制平面
网络层的作用从表面看就是:
将分组从一台发送主机移动到接收主机。
为此,需要两种重要的网络层功能:
转发
当一个分组到达某路由器后,路由器必须将该分组移动到适当的输出链路。
这也是数据平面中实现的唯一功能
路由选择
当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径。
计算这些路径的算法被称为路由选择算法。
路由选择将在网络层的控制平面中实现。
区分转发和路由选择
转发是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。
转发发生的时间尺度很短(几纳秒),通常由硬件来实现。
路由选择是指分组从源到目的地所采取的端到端路径的网络范围处理过程,时间比转发长的多,通
常由软件来实现。
转发表
每台网络路由器有一个转发表,路由器检查到达分组首部的一个或多个字段值,进而使用这些首部值在其转发表中索引。
下图就是一个索引表:
控制平面:传统的方法
路由选择算法运行在每一台路由器中,并且在每台路由器中都包含转发和路由选择两种功能。
并且路由器之间的路由选择算法相互通信。
控制平面:SDN方法
SDN方法是路由选择厂商在其产品中采用的传统方法。
每台路由器都有一个与其他路由器的路由选择组件通信的路由选择组件。
即路由器只负责转发,而转发表的计算交由远程控制器计算并且传输给本地路由器。
上图所示的控制平面方法是软件定义网络的本质。
因为计算转发表并与路由器交互的控制器是用软件实现的,故网络是“软件定义的”。
网络服务模型
网络服务模型定义了分组在发送与接收端系统之间的端到端运输特性。
网络层能提供如下服务:
1.确保交付
2.具有时延上界的确保交付。
3.有序分组交付。
4.确保最小宽带。
5.安全性。
因特网的网络层只提供一种单一的服务:
尽力而为服务。
也就是说:
传送的分组既不能保证以它们发送的顺序被接收,也不能保证它们最终交付。