路由选择协议回顾
RIP小,OSPF大网
RIP 路由信息协议
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。
RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。
距离:通常为“跳数” ,即从源端口到目的端口所经过的路由器个数,经过一个路由器跳数+1。
特别的,从一路由器到直接连接的网络距离为1, RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。
和哪些路由器交换信息?在什么时候交换信息?交换什么信息?
1.仅和相邻路由器交换信息。
2.路由器交换的信息是自己的路由表。
3·每30秒交换一次路由信息,然后路由器根据新信息更新路由表。
若超过180s没收到邻居路由器的通告,则判定邻居没了,并更新自己路由表。
路由器刚开始工作时,只知道直接连接的网络的距离(距离为1) ,接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。
路由表怎么更新的?
按下不表
距离向量算法
1.修改相邻路由器发来的RIP报文中所有表项对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”字段+1。
一开始这个X就是R1的相邻路由器
过30秒以后,就会发送给R1。R1吸收X的全部路由表信息,并做相应调整(距离+1)
2.对修改后的RIP报文中的每一个项目,进行以下步骤:
(1) R1路由表中若没有Net3,则把该项目填入R1路由表
(2)R1路由表中若有Net3,则查看下一跳路由器地址:
若下一跳是X,则用收到的项目替换源路由表中的项目;(因为X是最新的)
若下一跳不是X, 原来距离比从X走的距离远则更新,否则不作处理。
3.若180s还没收到相邻路由器×的更新路由表,则把x记为不可达的路由器,即把距离设置为16。
4.返回
练习
第一步:修改这个R4的更新信息:下一跳全改成R4,距离全+1
第二步:逐项观察,
对于第一条Net1,R6的表中没有Net1,那就增加。
对于第二条Net2,有。只要R6表中下一条是R4,不管距离多少,直接更新。因为它是最新的
对于第三条Net3,有。通过R4距离更短,所以更新。
练习2
先解读这个距离,再加上各自延迟,就得到了C经过B/D/E后达到ABCDEF的跳数!!!!
然后除了C自己以外,其他的全取最小值(C自己是0)
写下来得到:
RIP协议的报文格式
RIP是应用层协议,使用UDP传送数据。RIP是应用层协议,使用UDP传送数据。
一个RIP报文最多可包括25 个路由,如超过,必须再用一个RIP报文传送。
好消息传的快,坏消息传的慢!
正常情况
RIP的特点:当网络出现故障时,要经过比较长的时间(例如数分钟)才能将此信息传送到所有的路由器, “慢收敛”。
异常情况(R1到不了网络1)
OSPF开放最短路径优先协议
开放最短路径优先OSPF协议: “开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;
“最短路径优先”是因为使用了Dijkstra提出的最短路轻算法SPF.
OSPF最主要的特征就是使用分布式的链路状态协议。
特点
和谁交换?
1·使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。(类似广播)
最终整个区域内的路由器都得到了这个信息的副本
交换什么?
2.发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器和哪些路由器相邻,以及该链路的度量/代价——费用、距离、时延、带宽等)。
多久交换?
3,只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此信息。
最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图。
链路状态路由算法
1.每个路由器发现它的邻居结点【HELLO问候分组】,并了解邻居节点的网络地址。
2.设置到它的每个邻居的成本度量metric
3.构造【DD数据库描述分组】,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
4·如果DD分组中的摘要自己都有,则邻站不做处理;
如果有没有的或者是更新的,则发送【LSR链路状态请求分组】请求自己没有的和比自己更新的信息。
5.收到邻站的LSR分组后,发送【LSU链路状态更新分组】进行更新。
6.更新完毕后,邻站返回一个【LSAck链路状态确认分组】进行确认。
之后循环:
只要一个路由器的链路状态发生变化:
5.泛洪发送【LSU链路状态更新分组】进行更新。
6.更新完毕后,其他站返回一个【LSAck链路状态确认分组】进行确认。
7.使用Dijkstra根据自己的链路状态数据库构造到其他节点间的最短路径。
OSPF的区域
为了使OSPF能够用于规模很大的网络, OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。
每一个区域都有一个32位的区域标识符(用点分十进制表示)
区域也不能太大,在一个区域内的路由器最好不超过200个。
- 区域内部路由器
- 区域边界路由器(R3 R4 R7)
- 自制系统边界路由器(R6,连接到其他自治系统)
- 主干路由器:主干区域(粉色)中的路由器
OSPF分组
OSPF直接用IP数据报传送。
特点
1.每隔30min,要刷新一次数据库中的链路状态。
2.由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。
3.OSPF不存在坏消息传的慢的问题,它的收敛速度很快。
BGP边界网关协议
外部网关使用,
基本问题
和谁交换?
与其他AS的邻站BGP发言人交换信息。
交换什么?
交换的网络可达性的信息,即要到达某个网络所要经过的一系列AS。
多久交换?
发生变化时更新有变化的部分。
BGP协议交换信息的过程
BGP所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。
当BGP发言人互相交换了网络可达性的信息后,各 BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各 AS 的较好路由。(不一定最佳)
交换信息交换的是:路径向量
自治系统 AS2的 BGP 发言人通知主干网 AS2的 BGP 发言人: “要到达网络 N1、N2、N3 和 N4 可经过 AS2。 ”
主干网还可发出通知: “要到达网络N5、N6和N7可沿路径(AS1, AS3)。”
BGP报文格式
一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,即通过TCP传送,然后在此连接上交换BGP报文以建立BGP会话(session),利用BGP会话交换路由信息。
BGP是应用层协议,借助TCP传送。提供更加可靠的服务,更简化,
特点
BGP支持CIDR(无分组编址),因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。
在BGP刚刚运行时, BGP的邻站是交换整个的BGP路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。
BGP-4的四种报文
三种路由协议比较
RIP:UDP
OSPF:IP
BGP:TCP
标签:RIP,BGP,链路,OSPF,路由,路由器 From: https://www.cnblogs.com/nekodream/p/18076399