第4章 网络层
网络层的功能
异构网络的互联
网络层的作用是把异构的网络实现互联。所谓异构,指的是不同的寻址方案、不同的网络接入机制、不同的差错处理方法、不同的路由选择机制等。所谓互联,指的是使用中间设备将异构的网络连接成一个更大的网络。根据所在的层次,中间设备可以分为以下4类。
- 物理层。中继器、集线器。
- 数据链路层。网桥、交换机。
- 网络层。路由器。
- 网络层以上。网关。
使用物理层和数据链路层的中间设备进行连接时,只是把一个网络扩大了。从网络层的角度来看,这个更大的网络本质上不是网络互联。因此,网络层所描述的网络互联是指使用路由器来进行网络互联和路由选择。
TCP/IP在网络互联上采取的做法是在网络层采取标准化的IP协议,从而使得互联后的计算机网络可以视为一个虚拟互联网络。当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互联的具体的网络异构细节。
路由与转发
路由器主要完成两个功能,路由选择和分组转发。
- 路由选择。按照复杂的分布式算法,根据从各个相邻的路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由。
- 分组转发,指路由器根据转发表将用户的IP数据报从合适的端口转发出去。
拥塞控制
在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞。拥塞控制的作用是确保子网能够承载所达到的流量,这是一个全局性的过程,涉及各个方面的行为,如主机、路由器和路由器内部的转发处理过程等,单一地增加资源并不能解决拥塞。
值得注意的是,流量控制并不是拥塞控制。流量控制是对发送端发送速率的控制,以便接收端能来得及接收,是一个局部的过程。拥塞控制必须确保通信子网的网络负载能够维持在正常水平,是一个全局的过程。
拥塞控制的方法有两种,开环控制和闭环控制。
-
开环控制。在设计网络时事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。一旦整个系统启动并运行,中途就不再需要修改。
-
闭环控制。事先不考虑有关发生拥塞的有关因素,采用监测网络系统去监视,实时调整网络的运行。
路由算法
路由器转发分组时通过路由表转发的,而路由表是通过各种路由算法得到的。路由算法可以分为以下两大类,静态路由算法和动态路由算法。
- 静态路由算法。指的是通过网络管理员手工地去配置路由信息,当网络地拓扑结构或链路状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。因此,静态路由算法虽然简便,可靠,但是不适用于大型的、复杂的网络环境,而在负荷稳定、拓扑变化不大的网络中运行得很好。
- 动态路由算法。路由表是通过相互连接得路由器之间彼此交换信息,然后按照一定得算法优化出来的,这些路由信息会在一定时间间隔里不断更新,以适应不断变化的网络。
路由算法主要有两种类型,距离向量算法和链路状态路由算法。
- 距离向量算法。距离向量算法中的每个结点只与其邻居交谈,并从其邻居提供的信息得到路由表,典型代表是RIP协议。
- 链路状态算法。链路状态算法中,每个结点通过广播方式与所有其他结点交谈,但每个结点仅高速其他结点其直接连接的链路信息,每个结点通过各个结点提供的信息建立起整个网络拓扑状态,从而计算出路由表。链路状态算法的典型代表是OSPF协议。
当网络规模扩大时,路由器的路由表成比例地扩大,并且消耗更多地路由器缓冲区空间,需要占用更多的CPU资源。为此,路由选择必须按照层次方式进行。
为了实现层次方式的划分,因特网将整个网络划分成许多较小的自治系统,每个自治系统有权决定自身使用何种协议,即使用内部网关协议IGP,如RIP,OSPF等。自治系统之间的通信则必须规定一种通用的协议来屏蔽各个系统之间的差异,即使用外部网关协议EGP,如EGP等。