一.概况
1.网络层(IP层)功能
功能:使异构网络实现互联。(通过中间设备联接多个计算机网络)
中间设备又称为中继系统,网络层的中继系统是路由器。
路由器是一台专用计算机,用于在互联网中进行路由选择。
参与互联的计算机网络都使用相同的网际协议IP( internet Protocol ).
2.路由与转发
路由器主要功能有两个:1.路由选择(确定路径)2.分组转发(当一个分组到达时所采取的动作,将IP数据报从合适的端口转发出去)。
3.拥塞控制
通信子网中,由于出现过量的分组而引起网络性能下降的现象称为拥塞。
或者:网络中存在太多的数据包导致数据包被延迟或丢失,从而降低了传输性能,这种情况叫做拥塞。
目的:确保子网能承载所达到的流量。
我们要对子网进行拥塞控制。关键再与如何获取网络中发生拥塞的信息,从而利用这些信息进行控制。
拥塞控制的途径:增加资源或者减少负载。
拥塞控制的方法:
1) 开环控制:在设计网络时,事先将有关发生拥塞的因素考虑进去,力求网络在工作时不产生拥塞。是一种静态的预防方法。一旦整个系统启动并行,中途不再修改。所有的控制手段的共性是:做决定时不考虑当前网络的状态,都是提前定好的。
2) 闭环控制:事先不考虑有关发生拥塞的各种因素,采用监测网络系统去监视,即使检测到哪里发生拥塞,然后将拥塞信息传到合适的地方,以便调整网络系统的运行并解决出现的问题。闭环控制是基于反馈环路的概念,是一种动态的方法。
4.流量控制和拥塞控制的区别:
(产生原因不同,目的不同,全局性不同,发生的层不同?)
流量控制往往是指在发送端和接收端之间的点对点通信量的控制。目的是抑制发送端发送数据的速率,以便接收端来得及接收。
拥塞控制是确保子网能够承载所达到的流量,是一个全局性的问题。
二. 路由算法
1. 通过算法得到路由表,根据路由表转发分组。
算法分为两类:静态路由算法和动态路由算法(通过相互联接的路由器之间彼此交换信息,然后按照一定的算法优化出来)。
2.动态路由算法
1)距离-矢量路由算法,Distance-vector routing algorithm
在此算法中,所有的结点都定期地将他们的整个路由选择表传送给所有与之直接相邻的结点。这种路由选择表包含:每条路径的目的地和路径的距离。
结点在下列情况下更新自己的路由表:
1.被告知一条新的路由,该路由在本节点的路由表中不存在,此时本地系统加入这条新路由。
2.发送来的路由信息中有一条到达某个目的地的路由,该路由比当前来使用的路由有较短的距离(用hop,跳数来作为距离的度量)。此时,就用经过发送路由信息的节点的新路由来替换路由表中达到哪个目的地的现有路由。
distance-vector 算法实质是迭代计算一条路由中的站段数或延迟时间,从而得到到达一个目标的最短路径。它要求每个节点在每次更新中都将它的全部路由表发送给其所有相邻节点。显然,更新报文的大小与通信子网的节点个数成正比,打的通信子网将导致很大的更新报文。由于更新报文发给直接临接的节点,所以所有的节点都将参加路由选择信息交换。基于这些原因,在通信子网上传送的路由选择信息的数量很容易变得非常大。
2)链路状态路由算法,Link state routing
链路状态路由算法要求每个参与该算法的节点都有完全的网络拓扑信息,他们执行下述任务:
1)发现它的邻居节点,并了解其网络地址。
2)设置到每个邻居节点的距离或者成本度量值
3)构造一个包含所有刚刚获知的链路信息包。
4)将这个包发送给所有其他的路由器,并接收来自其他路由器的信息包。
5)计算出到每个其他路由器的最短路径。
实际上,算法将完整的拓扑结构分发给了每个路由器,然后每个路由器运行Dijdstra算法就可以找到从本地到每一个其他路由器的最短路径。