Alex_McAvoy

想要成为渔夫的猎手

网络层功能

【概述】

网络层,是在数据链路层所提供的服务基础上向传输层提供服务,负责将各种计算机网络相互联接起来,以构成更大的网络系统

其主要具有异构网络互联路由选择与分组转发拥塞控制等功能

【异构网络互联】

中继设备与异构网络互联

网络的互联,是指将两个以上的异构网络通过一定的方法,用一种或多种通信设备相互连接起来,以构成更大的网络系统

其中,用于连接的通信设备被称为中间设备,又被称为中继系统,根据中继系统所在层次,有以下四种:

  • 物理层中继系统:中继器、集线器
  • 链路层中继系统:网桥、交换机
  • 网络层中继系统:路由器
  • 网络层以上中继系统:网关

所谓异构网络,是指在物理层、链路层定义的传输介质、编码方式、链路控制协议等不同的网络,故而在使用物理层、链路层的中继系统时,仅仅是将一个网络扩大了,从网络层的角度来看,其仍然是一个网络

因此,狭义上的网络互联其实是利用路由器进行的网络互联与路由选择

TCP/IP 体系在网络层采用标准化的协议来进行网络互联,但互联的网络是异构的

IP 网络

如下图所示,多个计算机网络通过路由器进行互联,由于参与互联的网络都使用同样的网际协议 IP,因此可以将互联后的计算机网络看作一个虚拟互联网络

虚拟互联网络,其实就是逻辑互联网络,也被称为 IP 网络,也就是说互联起来的各种物理网络的异构性是客观存在的,但在网络层使用 IP 协议可以使得这些性能各异的网络在网络层上看起来像是一个统一的网络

IP 网络最大的好处是,网络上的主机进行通信时,就好像在一个网络上通信一样,其屏蔽了互联的具体的网络异构细节

【路由选择与分组转发】

基本概念

在网络互联时,网络层的中继系统是路由器,其主要完成两个功能:

  • 路由选择:确定数据分组传送的路径,可根据特定的路由选择协议来构造路由表,同时定期与相邻路由交换路由信息来更新、维护路由表
  • 分组转发:在数据分组到达某结点时采取的动作,即处理通过路由器的数据量,完成转发表查询、队列管理、任务调度等功能

具体来说,路由选择是按照复杂的分布式算法,根据相邻路由器得到整个网络的拓扑变化情况,根据路由表来动态地改变所选择的路由;分组转发是路由器根据转发表,将用户的 IP 数据报从合适的端口转发出去

其中,路由表是根据路由选择算法得出的,需要对网络拓扑变化的计算最优化;转发表是从路由表上得出的,需要使得查找过程最优化

但在讨论路由选择的原理时,通常不去区分两者的区别,而是笼统的使用路由表这一名词

路由算法与路由选择协议

路由器转发分组是通过路由表转发的,而路由表是通过各类算法得到的,根据能否随网络通信量或拓扑自适应进行调整,路由算法可分为静态路由算法动态路由算法两类

静态路由算法,又称非自适应路由算法,是指由网络管理员手工配置路由信息,一旦当网络拓扑结构或链路状态发生变化,网络管理员需要手工去修改路由表中相关的静态路由信息,适用于小型网络

动态路由算法,又称自适应路由算法,是指路由表上的路由表项通过相互连接的路由器不断交换信息,然后通过一定算法优化出来的,常见的动态路由算法分为距离向量路由算法链路状态路由算法两类

当网络规模扩大时,路由器的路由表成比例增大,不仅消耗大量的路由器缓冲区,还耗费大量的 CPU 时间进行扫描,为此路由选择按照层次方式进行,此时网络被划分为一个个的自治系统

根据在自治系统内部还是外部进行路由选择,路由选择协议可分为以下两类:

  • 内部网关协议:RIP 协议、OSPF 协议等
  • 外部网关协议:BGP 协议等

    分组转发

分组转发,是通过硬件从路由器上的路由表生成转发表,在分组到达时根据转发表将分组进行转发

【拥塞控制】

拥塞状态

在通信子网中,由于出现过量分组而引起导致网络性能下降的现象被称为拥塞

如图所示,假设当分组进入路由器的速率为 $r_{in}$,当速率接近 $R$ 时,由于路由器端口的缓冲区是有限的,这导致大量分组被丢弃,整个网络的吞吐量骤减,源结点与目的结点间的平均时延近乎无穷大

而判断网络是否出现拥塞状态的方法是观察网络吞吐量与网络负载的关系,一旦网络中出现网络负载增加吞吐量反而降低的情况,即可认定出现拥塞,根据拥塞的轻重,可分为以下三类情况:

  • 轻度拥塞:随网络负载的增加,网络吞吐量明显小于正常吞吐量
  • 拥塞状态:随网络负载的增加,网络吞吐量急剧下降
  • 死锁状态:随网络负载的增加,网络吞吐量下降到 $0$

拥塞控制

为避免拥塞状态的出现,要采用能防止拥塞的一系列方法对子网进行拥塞控制,主要解决的问题是如何获取网络中发生拥塞的信息,然后利用这些信息进行控制,从而避免由于拥塞出现带来的分组丢失与严重拥塞导致的网络死锁情况

拥塞控制是确保通信子网能够承载其所达到的流量,是一个全局性的过程,单一的增加资源无法解决拥塞,其涉及到网络中的各方面,包括主机、路由器、路由器内部转发处理过程等

拥塞控制的方法有以下两种:

  • 开环控制:静态预防,设计网络时预先考虑好拥塞情况,一旦系统运行,将无法修改
  • 闭环控制:动态预防,采用网络系统进行实时监控,一旦发生拥塞立即调整系统运行
感谢您对我的支持,让我继续努力分享有用的技术与知识点!