基本的路由选择协议
目录:
1. 分组转发和路由选择区别?
2. AS(Autonomous System)自治系统
3. 常用路由选择协议
1)RIP协议
2)OSPF(Open Shortest Path First)协议
3)BGP协议
1. 分组转发和路由选择区别?
分组转发是路由器根据路由表,选择适当出口将分组送出去,而路由选择是根据路由选择算法来更新路由表信息。可以简单理解为路由选择算法--更新-->路由表--供-->路由器分组转发时使用。
2. AS(Autonomous System)自治系统
自治系统是在单一技术管理体系下的多个路由器的集合,在自治系统内部使用内部网关协议(IGP)和通用参数来决定如何路由数据包,在自治系统间则使用AS间路由协议来路由数据包。
1)AS内部使用IGP(Interior Gateway Protocol)协议进行自我相互之间更新路由表信息。
2)不同AS之间使用EGP(External Gateway Protocol)协议进行AS之间的路由信息更新。
3. 常用路由选择协议
IGP:RIP和OSPF
1)RIP协议
IGP协议的一种,只和相邻路由器,在固定时间间隔中,交换各自整个路由表。基于UDP协议进行数据报发送。
RIP协议的距离:实际就是值经过多少个路由器可到达网络,即跳数。一条路径最大只能是15,16表示不可达。
优点:收敛速度快,刚刚开始路由器只知道于自己直连的路由信息,但是通过定时与相邻路由器交换路由表,可以快速在AS中达到收敛。
缺点:好消息传播快,坏消息传播慢。因为坏消息有可能需要经过多次更新后直到距离达到16才会被AS中其它路由都发现。
RIP1和RIP2区别:
RIP1不发送子网掩码,RIP2发送掩码,支持VLSN(可变长子网掩码)
RIP1不支持认证,RIP2支持认证。
RIP协议更新路由表算法:
路由条目格式:<net-id,distance,next-hop,...>
令当前路由器路由表为CurT
a. 收到相邻路由器R的路由表T信息后,将下一跳全部改为R,每项距离都加1。
b. for each x in T loop
if CurT don't contain x.net-id then
CurT.addItem(x);
else
y = CurT.getItemByNetID(x.net-id)
if x.next-hop == y.next-hop then
update y.distance = x.distance;//更新路由项距离
else
y = x.distance < y.distance ? x : y;//选择距离小的对y进行更新
endif
endif
endloop
c. 如果在规定的时间中没有收到相邻路由器R的路由信息,则标记该路由器不可达即设置距离为16。
2)OSPF(Open Shortest Path First)协议
使用洪泛法(即向所有其它路由器)发送更新信息,基于IP数据报进行信息发送。
3)BGP协议
是AS系统之间进行路由信息交换的协议,BGP协议的一种。
原理:每个AS系统指派一个或者多个系统内的代表作为该AS的发言人,不同AS之间通过发言人之间进行信息交流,然后在由各自的更新算法,根据收到的其它AS的路由信息,来更新自身的路由信息。
BGP协议是唯一个使用TCP协议进行路由更新的协议。
4. 总结
RIP是应用层IGP路由选择协议,使用UDP进行路由信息更新。
OSPF是网络层IGP路由选择协议,直接使用IP协议发送更新数据。
BGP是应用层EGP路由选择协议,使用TCP协议更新路由信息。