目录
1.0 网络层的功能
网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机,可以将该任务划分为分组转发和路由选择两种重要的功能。
网络层使用的是向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。所传送的分组可能出错、失序、丢失、重复或超时,如果主机间进程的通信是可靠的,那么可以由更高层的传输层来负责。
采用这种设计思路的好处:网络的造价大大降低,运行方式灵活,能够适应多种应用。
网络层的主要目的是在任意结点间进行数据报传输。
1.1 异构网络互连
在路由器互连的多个局域网的结构中,要求每个局域网的物理层、数据链路层和网络层的协议可以不同,但网络层以上的高层协议必须相同。
中继系统(设备)分为以下四种:
- 物理层:中继器(转发器)、集线器(Hub)。
- 数据链路层:网桥、交换机(switch)。
- 网络层:路由器。
- 网络层以上的中继系统:网关。
但由于历史原因,许多有关TCP/IP的文献也把网络层的路由器称为网关,IP网关=IP路由器。
不使用路由器就还是一个网络(如局域网或广域网),一般不称为网络互连。
这种使用IP协议的虚拟互连网络可简称为IP网。当IP网上的主机进行通信时,就好像在一个单个网络上通信一样,而看不见互连的各网络的具体异构细节(如具体的编址方案、路由选择协议等)
路由器可使用IPv4/IPv6双协议栈,能正常和只使用IPv4的路由器通信。路由器有能力互连低三层协议不同的两个网络。
1.2 路由选择与分组转发
路由器主要有两个功能:一个是路由选择,另一个是分组转发。
- 路由选择是指按照复杂的分布式算法,进行基于路由协议的交互,根据从各相邻路由器所得到的关于整个网络或网络某一部分的拓扑变化情况,动态地改变所选择的路由。
- 分组转发就是路由器根据转发表将用户的IP数据报从合适的端口转发出去。
- 存储转发:路由器先接收整个分组,然后对分组进行错误检查,如果出错丢弃该分组;否则存储该正确的分组。最后根据路由选择协议,将正确的分组转发到合适的端口。(二层交换机和路由器都具有存储转发功能,注意中继器和Hub没有)
路由表是根据路由选择算法得出的,而转发表是从路由表得出的。路由表需要对网络拓扑变化的计算最优化,而转发表的结构应当使查找过程最优化。在讨论路由选择的原理时,往往不去区分路由表和转发表,而是笼统地使用路由表一词。
1.3 软件定义网络(SDN)
软件定义网络(Software Defined Network,SDN)于2009年提出。
把网络的控制层面和数据层面(也称转发层面)分离,而让控制层面利用软件来控制数据层面中的许多设备。
并未规定必须使用OpenFlow协议。
在OpenFlow交换机中,既可以处理数据链路层的帧,也可以处理网际层的IP数据报,还可以处理运输层的TCP或UDP报文。
1.4 拥塞控制
在通信子网内,由于出现过量的数据包而引起网络性能下降的现象称为拥塞。
在网络层实现拥塞控制的方法为显式反馈。目前网际控制报文协议(ICMP)最新规定已经不再使用源点抑制报文,即显式反馈。
TCP/IP体系中,拥塞控制主要是利用隐式反馈在传输层实现的。故拥塞控制具体实现方法在后续传输层介绍。
- 流量控制是抑制发送端发送数据的速率,以便接收端来得及接收。
- 拥塞控制是一个全局性的问题,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素。单一地增加资源并不能解决拥塞问题。
网络利用率高并不一定是好事,若路由器数量不足会丢弃分组,造成随着通信子网负载的增加,吞吐量反而降低,表明发生了拥塞。
拥塞控制的方法:
- 闭环控制指作为被控的输出量以一定方式返回到作为控制的输入端,并对输入端施加控制影响的一种控制关系。 是带有反馈信息的系统控制方式。分为隐式反馈和显示反馈。
- 开环控制是指无反馈信息的系统控制方式。