路由协议RIP与OSPF

RIP

特点:

  • 基于距离向量

格式是(N,d,x) 到目的网络N,距离为d,下一跳为X

  • 交换相邻信息

交换的是本路由器得知的所有信息,在交换过程中会收敛且趋于稳定

  • 适用于内部且小型网络

大型网络更新表会很高时间复杂度

内部网络环境意味着不需考虑过多环境因素,也就是偏理论的算法比较凑效

  • 使用UDP报文

    RIP周期更新所有网络信息,仍需要较大的数据报文

路由器到直接主机距离为1 非直连则为所经过路由器数+1

对地址为X的相邻路由器RIP报文把下一跳改为X(看解释1懂了,就是为了d[x]=d[y]+1],到后面一条就知道你是来自X,表示经过X到某个网络N的距离为d[x])

具体:

if 项目没有目的网络N,则添加到路由表 如(N2,3,Y)没有N2===>(N2,4,X)

else 看下一跳

---- if 原来的下一跳是X 就要无条件更新,保证网络拓扑状态时刻最新

---- else 下一跳不是X,需要看d更优才更新

3min内没收到更新则设为不可达d=16

至于下一跳的用法,我认为是在ARP报文响应是才有用处,当发出请求查询路径时,可通过下一跳来辨识到该往哪走且距离为多少(路由器Ri中的项目在符合头两个判断条件下一跳恒定是最后一个发来的Rj)<====因为ARP更新报文到手时是先立刻修改该报文的所有下一条为发送方自己且d+1

如果R4发来更新(N,5,R1)到R6原有(N,1,R7)==>更新报文先更新为(N,6,R4),对比(N,1,R7),走第三个条件,不更新

如果R4发来更新(N,5,R1)到R6原有(N,9,R7)==>更新报文先更新为(N,6,R4),对比(N,1,R7),走第三个条件,更新(N,6,R4),可以直到当前距离N为6,下一步往R4走即可!

其余同理,更多例子看计网例子【4-5】

OSPF

开放路径有限

与RIP相比更适用于内部较大型的路由环境

1.使用洪泛法,对比RIP只是向相邻的几个路由器发送信息,而洪范法是相邻全部(但不会发到原输入端口)

2.仅当链路变化时才更新,而RIP是定期更新

3.仅发送与本路由器相邻的所有路由器的链路状况(只告知下一个路由器自己相邻的那些节点的度量),对比RIP是全部网络

一些优化:

1.添加区域的概念,划分更多的自治系统,减少洪泛的通信量

2.直接使用IP数据包发送(本身提供一定的可靠传输,因此在这基础上使报文尽可能小)

3.(计网P161,过程有点含糊。。)

分组类型

1.hello分组,询问联通性

2.数据库状态,给相邻的节点自己的摘要信息

3.链路状态请求,向对方请求链路状态

4.更新分组,(书里过程略掉了)

5.链路状态确认

过程

1.通过hello获得联通性状况

2.通过数据库描述使得数据库达到同步

3.链路变化情况下:请求->更新->确认

书里没有太多具体的描述,应该是机制比较复杂,当作了解吧 (`・ω・)

发表评论

电子邮件地址不会被公开。 必填项已用*标注