动态路由之RIP与OSPF

动态路由协议:

RIP—路由信息协议

  直接传递路由信息;

在rip里面,将两台直接相连的设备,具备通信条件的设备称为邻居关系

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

在RIP中,传递一条路由条目,主要携带的参数时目标网段信息及开销值(cost)

路由表---参数cost---开销值是动态路由选路的重要依据。---当动态路由协议计算出到达同一个目标网段存在多条路径时,将选择开销最小的路径加表;

不同动态路由协议的开销值的评判标准不同,不同动态路由间的开销值没有可比性,开销值仅用于同一种动态路由进行选路;

RIP在选用不同动态路由协议时可用参数Pre进行选择---默认优先级为100---相同路由协议比开销,不同路由协议通过优先级来进行路由加表。

RIP时以跳数作为开销值的评判标----跳数:跳数就是报文要通过的路由器输出端口的个数。

用跳数作为评判标准本身就存在不合理性;

RIP支持等开销负载均衡。

RIP的工作半径---15跳,如果收到的开销值为16,则设备将认为该目标网段不可达;

数据包中需要携带的开销值Cost=本地路由的开销值+1;

贝尔曼·福特算法---选择算法

如图---

1·R2发送2.0/24网段的路由信息发送给R1,而R1的路由表中没有到达2.0 网段的路由,R1将直接把2.0 网段的路由刷新到本地的路由表中;

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

2.2.2.0/24            RIP    100   1        D     12.0.0.2          G 0/0/0

目标网段和子网掩码为发送数据包过来网段和子网掩码,下一跳为发送过来的数据包的路由器接口IP,出接口为自己发送数据包的路由器的出接口;

2·R2发送2.0/24网段的路由信息发送给R1,而R1的路由表中从存在到达2.0 网段的路由,并且下一跳就是R2,R1将把最新发送过来的刷新到本地的路由表中;

3·R2发送2.0/24网段的路由信息发送给R1,而R1的路由表中从存在到达2.0 网段的路由,本地路由表中的下一跳并不是R2;则比较开销值,如果本地开销值大于R2发来的开销值,则将R2发来的路由刷新到本地的路由表中。

4·3·R2发送2.0/24网段的路由信息发送给R1,而R1的路由表中从存在到达2.0 网段的路由,本地路由表中的下一跳并不是R2;则比较开销值,如果本地开销值小于R2发来的开销值,则不刷新。

3·4·中,可能出现多条路径情况,R1将先刷新先到的路由信息,后来的若网段信息相同但是下一跳不同,则通过比较跳数来考虑是否刷新

RIP版本:

RIPV1,RIPV2---IPV4

RIPNG---IPV6

RIPV1和RIPV2 的区别:
1·V1是有类别的路由认证,V2是无类别的路由协议;---IP类别(A,B,C)

有类别---传递路由信息时,不携带子网掩码---会出现巨大的路由黑洞;

无类别---传递路由信息时,携带子网掩码;

2· V1不支持手工认证,V2支持手工认证---手工认证就是路由之间发送数据包需要给数据包写上一个认证密码,如果两个路由之间的认证密码相同,数据包就会成功的接收;否则,另一个路由器就拒绝接收该数据包 RIPV1以广播的形式发送数据,RIPV2以组播的形式发送数据

3· V1采用广播的形式发送信息,V2采用组播的形式发送信息(224.0.0.9)---节约设备资源,广播需要拆四层看到协议和端口号后才行,而组播只需要拆二层到mac地址就可以;

224.0.0.9---所有运行RIPV2的设备默认加入的组播组;

交换机泛洪---1·遇到广播帧;2·遇到组播帧;3·遇到未知单播帧;

RIP:四层;UDP协议,SPORT :520,DPORT:520

RIP的数据包

RIP-REQUEST---请求报文-­--设备只有在刚启动RIP时才会发送;

RIP-Response---应答报文---真正携带路由信息的数据包(更新包);

在RIP收敛完成后,RIP会依旧每隔30s发送一次Response报文—RIP的周期更新。

会占用大量的资源,但由于RIP本身没有确认机制且没有保活机制(保活机制是一种在不影响数据流内容的情况下探测对方的方式),所以为了弥补这两个机制的缺失,才如此设定;

RIP的周期更新是异步进行的

RIP的计时器---1.周期更新协议---30s

2·失效计时器---180s,路由条目在刷新后,将会启动一个180s的失效计时器,如果时间归0,则代表该路由信息失效;失效后从全局路由表中删除,但是依然会将这条路由信息保存在缓存中,之后,周期更新时依然会携带,只是将这跳路由信息的开销值改为16;---带毒传输---传递失效信息。

3·垃圾收集计时器---120s;在失效计时器归零后开始计时,120 s结束后,将彻底删除失效的路由条目。

异步更新:可能由于两台路由器刷新时间不同导致路由环路;

如图,若2.0网段突然消失,则R2会第一时间将cost改为16并等待刷新,如果R1刷新时间比它早,由贝尔曼·福特定理三知,它会被替换,如果有数据包从R1来找2.0网段,R1查表知要交予R2,R2查表知要交予 R1,形成环路。但R1和R2在互相传递数据包的过程中cost不断加一,最终在超出15跳的工作半径时环路破除。

破除方法2:触发更新---一旦拓扑结构发生变化,则第一时间将信息传递出去,而不去等待周期更新。

辅助的防环机制:3·水平分割---从哪个接口学到的路由信息将不再从这个接口发出去。

4·毒性逆转----从哪个接口学到的路由信息还可以从这个接口发出去,但开销值需要改为16.

因为水平分割和毒性逆转其做法相矛盾,所以,只能选择其中一个来执行,华为设备默认开启水平分割,如果水平分割和毒性逆转同时开启,华为设备将按照毒性逆转执行。

RIP的配置-----1·启动rip进程[R1]rip 1

[R1-rip-1]----(1-66535)---进程号,仅具有本地意义,如果需要启动多个RIP进程时,需要使用不同的进程号进行区分;

         2·选择RIP版本---[R1-rip-1]version 2

3·宣告:RIP宣告的要求---

  1·所有直连网段都必须宣告

  2·必须按照主类进行宣告

例如:R1 对1.0网段进行宣告,[R1-rip-1]network 1.0.0.0

-----宣告时,A类写第一组,B类写前两组,C类写前三组,其他组为0;

宣告的作用---1· 激活接口---只有宣告的网段包含的接口会被激活,只有激活的接口可以收发RIP数据;

             2·发布路由---只有激活的接口所对应的直连网段的路由才能发布。

RIP的拓展配置:

1· RIPV2的手工认证---[R1]display rip 1 route---查询RIP的路由表

[R1-GigabitEthernet0/0/1]rip authentication-mode md5 nonstandard/usual cipher 123456

国际/华为

2·RIPV2的手工汇总---[R3-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.254.0----进入接口进行汇总,子网掩码需要写全;汇总的子网掩码只是不同的归0,计算时其余位全1,归0那几位算0;

3·沉默接口---如果一个接口配置为沉默接口,则将只接受,不发送;

[R3-rip-1]silent-interface GigabitEthernet 0/0/1

4·加快收敛---减少计时器的时间

      [R3-rip-1]timers rip 30 180 120

分别代表收敛时间,失效时间和垃圾收集时间,可修改;

5·缺省路由---

      [R3-rip-1]default-route originate

指定该路由器为边界设备,即缺省路由的源头,其它所有设备将自动生成一条指向该设备的缺省路由,但是该设备自身的缺省必须自己手工配置;

OSPF---开放式最短路径优先协议

  链路状态型协议(LS)---OSPF---传递的是LSA信息(链路状态通告)---拓扑信息---SPF(最短路径优先算法)---图形结构->树形结构---树形结构不会出现环路

好的动态路由评判标准---选路佳,收敛快,资源占用少;

由此可见,RIP并不是一款太好的动态路由。所以它只适用于小型网络。

下面是OSPF的相关优势---

1·OSPF本身是链路状态型协议,所以计算出的路径不会存在环路;并且OSPF通过带宽作为选路依据,所以,在选路上由于RIP;

2·OSPF的计时器时间也短与RIP,所以,收敛速度快于RIP;

3·因为OSPF传递的是LSA信息,所以单个数据包的资源占用远大于RIP;但是,因为RIP存在30s一次的更新,而OSPF没有如此高频率的更新,并且,OSPF协议存在许多针对资源占用的优化措施,所以,从整体的角度看,OSPF资源占用上应该小优于RIP。

RIP和OSPF 的相同点和不同点---

 1·相同点:RIP存在三个版本---RIPV1,RIPV2,RIPNG;

OSPF也存在三个版本---OSPFV1(试验阶段就夭折了),OSPFV2---IPV4

                      OSPFV3---IPV6

RIPV2和OSPFV2---

相同点:1·OSPFV2和RIPV2一样,都是无类别的路由协议,都支持VLSM和CIDR;

疑问:我们知道无类别的路由协议是可携带子网掩码的,但OSPF传递的是LSA,即拓扑信息,那么拓扑信息需要携带子网掩码吗?

答:OSPF传递信息时,区域内部传递的是拓扑信息,而区域之间传递的是路由信息。

2·OSPFV2和RIPV2一样,都是使用组播地址发送数据;---RIPV2---224.0.0.9

                                            OSPFV2---224.0.0.5和224.0.0.6

3·OSPFV2和RIPV2都支持等开销负载均衡;

不同点:

   RIP协议只能适用于小型网络中,而OSPF协议可以应用在中大型网络中。---虽然二者占用网络资源都很大,但OSPF协议可以实现结构化部署---划分区域

 OSPF的结构化部署---区域划分:

    区域划分的主要目的---区域内部传递拓扑信息,区域外部传递路由信息。

   ---链路状态型协议的距离矢量特征

如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络;

如果一个OSPF网络存在多个区域,这样的网络称为多区域OSPF网络;  

区域边界路由器(ABR)---一种用于连接不同区域的路由器,位于一个或多个OSPF区域边界上、将这些区域连接到主干网络的路由器。ABR被认为同时是OSPF主干和相连区域的成员。因此,它们同时维护着描述主干拓扑和其他区域拓扑的路由选择表。

一个接口对应一个区域,必须由一个接口对应骨干区域,将区域内的拓扑信息收集计算成路由信息之后进行传递;

       区域之间可以存在多个ABR设备;一个ABR设备可以处于多个区域。

区域划分的要求:

 1·区域之间必须存在ABR设备;

2·区域划分必须按照星型拓扑结构进行划分。

星型拓扑的中间区域叫做骨干区域。为了方便区分和标识不同的区域,我们给每一个区域都定义一个区域ID---Area id---由32位二进制构成

 两种表示方法---1· 直接用十进制进行表示(如图);2· 使用点分十进制表示。---定义骨干区域的区域ID为area 0(如图)

   OSPF的工作:

 1·OSPF的数据包---

Hello包:周期性的发现,建立和保活邻居关系;hello包的发送时间(hello时间)---10s(以太网)/30s(其它某种网络)

死亡事件(dead time)---4倍的hello时间

RID--­-区分和标识不同的路由器—本质由32位二进制构成;---1· 格式统一;2·全网唯一;

RID的生成方式:

    1·手工配置;

    2·自动生成---首先,设备将优先选择环回接口的IP地址作为RID,如果存在多个环回接口,则将选择所有环回接口中IP地址最大的作为RID;如果没有配置环回接口,则将使用设备的物理接口的IP地址作为RID,如果物理接口存在多个,则将选择所有物理接口中IP地址最大的作为RID;

DBD包:数据库描述报文---LSDB---链路状态数据库---携带的数据为LSA的头部---“菜单”

LSR包:链路状态请求报文---基于DBD包请求本地未知的LSA信息---“点菜”

LSU包:链路状态更新报文---是真正携带LSA信息的数据包---“上菜”

LSACK包:链路状态确认报文---确认包

OSPF协议具有周期更新机制,每隔30分钟发送一次。

 2·OSPF的状态机---如图所示:

1.Down:没有启用OSPF的状态机;邻居失效后变为该状态。

2.Init:初始化状态,第一次收到对端发来的HELLO包(包含对RID)时,将对端的状态设置为init

3. Two-way:邻居状态,相互间周期发送hello的状态(双方建立会话)。

(条件匹配)条件匹配成功则可以进入下一个状态,如果条件匹配失效,则将停留在邻居关系,则仅周期性的发送hello包进行保活;

4. Exstart:交换信息的初始化状态,发送DBD(不携带数据)报文,选举主从路由器(利用HELLO报文中的RID和优先权来进行选举,不允许抢占,DR没了,BDR才能上)。之所以使用DBD包是为了跟以前的邻居关系做区分。

5. Exchange:交换信息的状态,该状态下,互相发送DBD(摘要信息),告知对端本地所有的LSA的目录;同时,可以发送LSR,LSU,LSACK来学习对端的LSA.

6.Loading:加载状态(没有学习完的状态),发送LSR,LSU,LSACK,专门学习对端的LSA的详细信息。

7.  Full邻接状态(学习完的状态)

主要目的是为了跟以前的邻居关系做区别;邻居关系只能发送hello包保活,而邻接状态可以交换LSA。

彼此的LSDB同步,即所有的LSA相同。

————————————————

 3·OSPF的工作过程---启动配置完成时,ospf协议向本地所有运行协议的接口以组播的形式(224.0.0.5)发送hello包,hello包中携带自己的本地RID,以及本地已知邻居的RID,之后,将收到的邻居关系记录在一张表中---邻居表

邻居表关系建立完成之后,进行条件匹配,若匹配失败,则停留在邻居关系,仅发送hello包进行保活;成功则变成邻接关系,首先,使用未携带数据的DBD包进行主从关系选举,之后,使用携带数据的DBD包共享目录,之后,基于DBD包,通过LSR/LSU/LSACK进行未知LSA信息获取,把所有的LSA信息保存到本地的LSDB数据库中---数据库表

       最后,基于LSDB,使用SPF算法进行计算,得到未知网段的路由信息,将其加载到路由表;收敛完成后,周期性的发送hello包进行保活,每30min进行一次周期更新。

       结构突变:1·突然新增一个网段:---触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK确认;

              2·突然断开一个网段:---同上

              3·无法联系----dead time---4倍的hello时间

 4·OSPF的基本配置:

1·启动OSPF进程

手动配置RID需要在进程启动时配置,它不是IP地址

2·创建区域

此时RID已经配置完毕;

3·宣告—激活接口

本图中的0.0.0.0---反掩码---由连续的0和连续的1组成,0对应位不变,1对应位可变;所以0.0.0.0表示精准宣告

--范围宣告

--查看邻居表

--查看邻居简表

---查看数据库表

华为设备,OSPF协议的默认优先级为---10

COST=参考带宽/真实带宽---华为设备默认的参考带跨为100Mbps,若计算出来是一个小于1的小数,则直接按照1来算,如果是一个大于1的小数,则只取整数部分

---修改带宽

       一个广播域内,至少需要四台设备,才能看到邻居关系;

条件匹配---DR设备(指定设备)---和广播域内其他设备建立连接

BDR---备份指定路由器---和广播域内其它设备建立邻接关系,称为DR设备的备份;

DR和BDR其实是接口的概念。

条件匹配:在一个广播域中,若所有设备均为邻接关系,则会出现大量的重复更新;

故需要进行DR和BDR的选举,所有的DRother之间,仅维持邻居关系即可。

DR/BDR的选举规则----1·先比较优先级,优先级最大的是DR,次大的是BDR;

                                           优先级默认为1;---主要目的是让人为修改;

【接口】ospf dr-priority<0-255>

注意:如果将一个接口的优先级设为0,则代表这个接口将放弃DR/BDR的选举。

2·如果优先级相同,则比较RID。RID大的路由器所对应的接口为DR,次大的为BDR

DR/BDR的选举是非抢占模式的---一旦角色选举出来,则将无法抢占。

DR/BDR 选举时间:四倍的hello时间40s(等同于死亡时间)

<r1>reset ospf 1 process---重启ospf的进程

OSPF的拓展配置---

1·OSPF的手工认证----【接口】ospf authentication-mode md5 <1-255> cipher 123456              《1-255》的值两边也必须一致

2·手工汇总---区域汇总:在ABR设备上进行汇总

         【ospf区域接口】--【r2-ospf-1-area-0.0.0.0】abr-summary 192.168.0.0 255.255.254.0

3·沉默接口

 配置了沉默接口的接口,将只接受不发送

【r2-ospf-1】slient-interface G 0/0/2

4·加快收敛---减少计时器时间

【接口】ospf timer hello 想修改的时间---修改hello时间的方法

【接口】ospf timer dead 《1-235926000》—修稿死亡时间的方法

              注意:邻居之间的hello时必须相同,否则将断开连接,死亡事件也是如此

5·缺省路由---【r3-ospf-1】default-route-advertise

注意:这个命令要求边界设备必须要有缺省路由才行

【r3-ospf-1】default-route-advertise always---在没有缺省的情况下强制下发缺省

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值