码迷,mamicode.com
首页 > 其他好文 > 详细

OSPF实验

时间:2020-05-04 13:03:19      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:network   cal   添加   src   mask   stat   目的   nbma   生效   

OSPF实验

说明:学习ing...若有不对之处,欢迎指出

1 报文交互以及状态

1.1组网图

 技术图片

1.2配置接口的IP地址(略)和配置OSPF基本功能

在配置R1R2之前,可以在R10/0/0接口抓包,便于后面通过报文分析整个交互流程

先配置R1

[Huawei]router id 1.1.1.1

[Huawei]ospf

[Huawei-ospf-1]area 0

[Huawei-ospf-1-area-0.0.0.0]network 10.10.10.1 0.0.0.255

再配置R2

[Huawei]router id 2.2.2.2

[Huawei]ospf

[Huawei-ospf-1]area 0

[Huawei-ospf-1-area-0.0.0.0]network 10.10.10.2 0.0.0.255

1.3抓包分析

R1开启OSPFR2未开启OSPF时,R1以组播形式向224.0.0.5OSPF路由器)发送hello报文。源接口未激活 OSPFIP,目的地址为组播IP224.0.0.5source router1.1.1.1Area0MASK24位,hello间隔为10s,此时未建立邻居,所以邻居字段为空。

Hello报文格式如下:

 技术图片

R2部署部署OSPF后,R2周期放hello报文

 技术图片

R1收到R2hello报文。R1在自己发送的hello报文的邻居字段写入r2router ID2.2.2.2

R1发给R2

 技术图片

R2收到R1hello报文,并在报文的邻居字段发现自己的router-id,于是R2知道R1发现了自己,收到过自己的报文,此时R2R1添加到邻居表,将R1的状态置位2-way2-way建立后,进入ExStart状态R1R2进行DD报文交互,在DD报文交互时,R1R2互相发送不携带任何LSA信息的报文,并将各自的比特位设置为1MS设置为1进行Master/Slave协商,即自认为自己是masterDD报文中I位为1时,为选举M/S0时为M/S选举完成。M位(more)为1即还有更多 DD报文,MS位为1即为Master,0salveR2R1发送报文,认为自己是Master,序列号为306

R2发给R1

 技术图片

R1收到R2的报文。R1认为自己是Master,序列号为306.发送给R2

R1发给R2

 技术图片

R2收到R1的报文,由于R2router-id大,此时胜出为MasterDD报文交互由R2主导使用R2规定的序列号306。当Master/Slave选举完成后,R1进入Exchange状态,发送 DD报文给R2,由于R2Master,R1R2发送报文时候用R2规定的序列号306

协商完成 R1发给R2

 技术图片

R2收到报文后,R2进入Exchange状态。R2发送报文给R1sequence1,双方有多个LSA时候,需要交互多个DD报文,Master路由器将DD序列号逐次加1Slave使用Master的序列号发送自己的DD报文

R2发给R1

 技术图片

R1收到R2的报文,R1R2各有1LSA,也就是R1R2发送LSA,序号为306R2R 发送报文序号为307,此后再无多余的LSA,即M位为0R2R1发送LSA后,此LSA为最后一个,即M设置为0.R1收到R2LSA后,确认此为R2最后一个报文。R1R2收到对方最后一个DD报文后,就彻底知道对方的LSDBLSA(头部)

 技术图片

当通过DD报文知道对端的LSA后,状态变为Loading,路由器向邻居发送LSR请求LSA完整数据,对方通过LSU进行回应,LSU包括 LSA的完整信息,在收到LSU报文后,路由器发送LSackLSR进行确认,DD报文是头部,LSU报文是完成LUA信息。

 技术图片

 技术图片

 技术图片

R1R2LS Update1LSA。同理R2R1的也是1LSA

 技术图片

 技术图片

当网络类型为广播形式时候,需要选举DRBDR,所有的OSPF路由器将LSA信息发送给224.0.0.5OSPF路由器,如果需要向DRBDR发送OSPF报文,使用组播224.0.0.6为目的地址。

对于R1R2本身只有1LSARouter lsa。对于DR会产生2LSAnetwork lsa2LSA描述DR接入网络中与之形成邻接关系的路由器,只在接口所属区域内泛洪。R1224.0.0.5泛洪。

 技术图片

R2收到R1发送2LSA后,进行组播LS ack确认,1LSA通过单播进行请求确认,2LSA通过组播进行请求确认

 技术图片

R1R2没有其他LSA需要从邻居获取后,便将邻居状态切换为FULL

 技术图片

2 DR/BDR选举实验

2.1组网图

 技术图片

2.2配置接口的IP地址(略)和配置OSPF基本功能

先配置R3

[Huawei]router id 3.3.3.3

[Huawei]ospf

[Huawei-ospf-1]area 0

[Huawei-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

再配置R1

[Huawei]router id 1.1.1.1

[Huawei]ospf

[Huawei-ospf-1]area 0

[Huawei-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

再配置R2

[Huawei]router id 2.2.2.2

[Huawei]ospf

[Huawei-ospf-1]area 0

[Huawei-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

再配置R4

[Huawei]router id 4.4.4.4

[Huawei]ospf

[Huawei-ospf-1]area 0

[Huawei-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

2.3实验分析

1、路由器刚启用OSPF后,用dispaly ospf peer 命令查看各路由器邻居关系和DR/BDR情况,如下图

 技术图片

由图可以看到,DR192.168.1.3BDR192.168.1.1。因为最先启用OSPF协议的是R3R3hello包给其他路由器,认定自己是DR,由于DR/BDR的非抢占性,即使后面其他路由依次启用OSPF协议,也认定R3DR,依次R1启用OSPF协议,R1BDR。这里体现了OSPF的非抢占性

2、此时因为4个路由器的优先级都是1,将R4的优先级设置为100,进入接口后设置,命令为ospf dr-priority 100。再输入dis ospf peer,查看DR/BDR变化情况

 技术图片

如上图可以看出,DR/BDR是没有变化的,也就是网络中DR/BDR已经存在的情况下,接口上的路由器优先级的配置并不会立即生效

3、R3的接口shutdown后,观察DR/BDR的变化情况,如下图

 技术图片

此时之前的BDR192.168.1.1变为DR。由于192.168.1.4的优先级比192.168.1.2的优先级高,于是成为BDR,接下来马上可以看见其他的变化

 技术图片

此时DR192.168.1.4,因为在R1,R2,R4中,R4的优先级是最高的,所以R4选举成为DR。剩下R1R2,优先级是一样的,此时比较router idR2Routerid2.2.2.2R1Router id 1.1.1.1大,所以R2选举成为BDR。这两次变化可以发现其实当DR挂了后最开始选举的BDR替代了BDR,最后再重新选举了一次DR/BDR

4、总结:

优先级为0的路由器不参与DR/BDR的选举

通过这个条件可以控制DR/BDR的选举,如果想让一个LAN上某台路由器永远是DR,则可以将其他路由器的DR 优先级设置为0

l DR/BDR是终身制,不是被抢占的

只要某台路由器在一个LAN上,已经被选取为DR,则它会一直是DR!只有等它重启或者关机了,才会重新选取,也就是说DR/BDR是终身制的,这样做主要是为了网络的稳定,在真实网络中,稳定是压倒一切的!即使某种技术最新,某个设备性能最强,但是如果影响到稳定,就不会被优先选择。

先选取BDR,后选取DR

     在一个LAN上,先根据优先级和Router ID 选取一个BDR;如果 LAN上此时没有DR,则BDR会转化为DR,在LAN上重新选取BDR

其他路由器(DR other)需要和BDR建立邻接关系

     BDR首先和DR形成邻接关系;其他路由器(DR other)也要和BDR形成邻接关系

  这样做是有原因的,当DR出现故障后,BDR会成为新的DR。如果DRother不和

    BDR形成邻接关系,网络的流量就会中断时间很长,因为建立邻居关系需要花很长的时间。在这段时间内,网内流量是不通的。

    DR otherBDR形成邻接关系,当BDR切换为DR时,只需要发送 LSA,向DR other 通知新的DR即可,LSDB的内容基本不变,使得BDR起到真正的备份作用。

网络中DR/BDR已经存在的情况下,接口上的路由器优先级的配置并不会立即生效

当路由器的邻居关系稳定后如果邻居的状态是FULL,这说明他和邻居之间形成了邻接关系

如果邻居的关系是2-way,则说明他们都不是DRBDR,两者之间不需要交换LSA

如果在一个MA网络上只有唯一的一台具有DR选举资格的路由器,那么热这台路由器将成为DR,而且在这个网络上没有BDR,其他所有的路由器都将只和这台DR路由器建立邻接关系

如果没有具有DR选举资格的路由器和一个MA网络相连(例如所有路由器的接口DR优先级都是0)那么这个网络上将没有DR或者BDR路由器,而且也不建立任何邻接关系

l DRBDRDRDrother,BDR Drother之间都是FULL状态,Drother之间都是2-way状态,所有的Drother都只和DR以及BDR建立邻接关系

l DROther感知到网络拓扑的变化时,向组播地址224.0.0.6发送LSU报文,DRBDR会监听这个组播地址

l DR使用组播地址224.0.0.5发送LSU报文,而其他的OSPF路由器则监听这个组播地址;

3  OSPF多区域、虚连接、LSA

3.1组网图

 技术图片

3.2配置接口IP和配置OSPF

[AR1]router id 1.1.1.1 //手动指定全局Router ID

[AR1]ospf

[AR1-ospf-1]are 1

[AR1-ospf-1-area-0.0.0.1]net 1.1.1.0 0.0.0.255

[AR2]router id 1.1.1.2

[AR2]ospf

[AR2-ospf-1]are 1

[AR2-ospf-1-area-0.0.0.1]net 1.1.1.0 0.0.0.255

[AR2-ospf-1-area-0.0.0.1]qu

[AR2-ospf-1]area 0

[AR2-ospf-1-area-0.0.0.0]net 2.2.2.0 0.0.0.255

 

[AR3]router id 2.2.2.2

[AR3]ospf

[AR3-ospf-1]area 0

[AR3-ospf-1-area-0.0.0.0]net 2.2.2.0 0.0.0.255

[AR3-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255

 

[AR4]router id 3.3.3.2

[AR4]ospf

[AR4-ospf-1]are 0

[AR4-ospf-1-area-0.0.0.0]net 3.3.3.0 0.0.0.255

[AR4-ospf-1-area-0.0.0.0]qu

[AR4-ospf-1]area 2

[AR4-ospf-1-area-0.0.0.2]net 4.4.4.0 0.0.0.255

 

[AR5]router id 4.4.4.2

[AR5]ospf

[AR5-ospf-1]area 2

[AR5-ospf-1-area-0.0.0.2]net 4.4.4.0 0.0.0.255

[AR5-ospf-1-area-0.0.0.2]qu

[AR5-ospf-1]area 3

[AR5-ospf-1-area-0.0.0.3]net 5.5.5.0 0.0.0.255

 

[AR6]router id 5.5.5.2

[AR6]ospf

[AR6-ospf-1]are 3

[AR6-ospf-1-area-0.0.0.3]net 5.5.5.0 0.0.0.255

虚连接:

[AR4]ospf

[AR4-ospf-1]area 2

[AR4-ospf-1-area-0.0.0.2]vlink-peer 4.4.4.2

[AR5]ospf

[AR5-ospf-1]area 2

[AR5-ospf-1-area-0.0.0.2]vlink-peer 3.3.3.2

AR3上引入环回口地址,通过引入直连可实现

ospf 1

 import-route direct route-policy test

#

route-policy test permit node 0

 if-match ip-prefix test

#

ip ip-prefix test index 9 permit 172.16.1.0 24

ip ip-prefix test index 10 permit 172.16.2.0 24

配置到此可查看各路由器信息并分析

AREA1配置Stub

未配置之前查看routing

配置Stub需要在区域内所有路由器进行配置

[AR1]ospf

[AR1-ospf-1]area 1

[AR1-ospf-1-area-0.0.0.1]stub

[AR2]ospf

[AR2-ospf-1]area 1

[AR2-ospf-1-area-0.0.0.1]stub

Area1配置完全Stub

[AR2-ospf-1-area-0.0.0.1]stub no-summary

Area1配置NSSA

[AR1]ospf

[AR1-ospf-1]area 1

[AR1-ospf-1-area-0.0.0.1]nssa

[AR2]ospf

[AR2-ospf-1]area 1

[AR2-ospf-1-area-0.0.0.1]nssa

3.3实验分析

R1:

分析R1OSPF lsdb

 技术图片

如上图,1LSA (Router)有两条,就是本区域的路由器产生的,2LSANetwork)有1条,是由 DR产生的,注意他的Metric0,三类LSAsum-Net)有四条是由ABR产生的,,例如LINKStrateID5.5.5.0  AdvRouter 1.1.1.2 可以这样理解,

 技术图片

可以看见此区域产生了两条1LSA, 每条1LSA都有一个 LINKID,也就是每台路由器各有一个接口直连到此区域,下面是1LSA的详细信息

 技术图片

1LSA就是每台路由器描述自己家门口的状态,并且只会告诉给全村的人,只在本区域内泛洪,RID1.1.1.2的路由器如上图有写是ABR,这个接口属于AREA11LSA的信息都是本路由器的信息

 技术图片

 技术图片

LSA2描述TransNet(包括BroadcastNBMA)网络信息,由DR产生,描述在该MA网络上连接的所有路由器的RouterID(包括DR)以及该MA网络的掩码。LSA2只在本区域内泛红,不允许跨域ABR,如上图LSA2没有COST字段,因此需要借助1LSA来进行SPF算法

 技术图片

 技术图片

LSA3是网络汇总LSA,由ABR产生,R2既属于R1又属于R0,她是一台ABR

它将AREA1LSA做个归纳为AREA0生成3LSA,就是将Area1这个区域的路由信息泛红到Area0中,然后泛红到其他区域,这样其他路由器能根据这个计算到AREA1的路由,反之,区域1的路由器也可以通过ABR泛红过来的其他LSA3了解其他区域的路由,例如,LINKID 5.5.5.0 AdvRouter1.1.1.2可以理解为本区域的路由器要想去5.5.5.0网段,首先得去找1.1.1.2,把本区域的路由信息汇总给1.1.1.2,这个路由器再把那些信息通告出去交给5.5.5.0网段,至于后面怎么交给5.5.5.0网段就不用管了,反正汇总给AdvRouter 1.1.1.2就行了。

分析4LSA之前先看看5LSA

 技术图片

 技术图片

 

LSA5 为外部路由,被重发布进入OSPF以后,将产生5LSA,在OSPF中进行传递

LSA5ASBR产生。这里R3就是ASBRR3172.16.2.0/24172.16.1.0/24网段重发布进入了OSPF,可以这样理解,本区域的路由器想要去外部路由或者想要知道外部路由信息得先知道去哪里找,这里通告者为2.2.2.2,那就知道了把信息交给2.2.2.2,他知道怎么去往外部路由。但是从本路由器到2.2.2.2还是一个问题,这里就引入了LSA4,下面看LSA4

LSA4 是一个指向ASBRLSA,由该LSAB所在的区域中的ABR产生,ASBR作为域边界路由器,将外部的路由通过重发布的方式注入了OSPF区域,这些外部路由在OSPF中进行传递,而我们内部的路由器想要去外部,则需要知道1、知道外部路由已经被注入2、知道ASBR的位置,将信息交给 ASBR,而有些路由信息和ASBR不在一个区域,那么就需要ABR来传递,因此LSA4ABR产生,用来告诉与ASBR不在同一个区域内的其他OSPF Router关于外部路由的信息。

 技术图片

 技术图片

这个也可以理解为 内部路由器要去外部路由,将信息交给ASBR,但是不能直接去ASBR2.2.2.2,如上图路由要到2.2.2.2 看他的通告者1.1.1.2 将内部路由交给ABR1.1.1.2就行了

下面看看R2的路由信息:

 技术图片

R2ABR,其接口分别处在area1area0,area0区域中有4.4.4.2这条LSA信息,因为在R4R5路由器配置了虚连接,如果没有配置虚连接,这里是不会有4.4.4.2这条LSA信息的,有了虚连接后,相当于R5R3之间可以直接联系,不经过R4的同意。其他的LSAR1分析一样。

R3

 技术图片

R3的路由信息和R2差不多

R4

 技术图片

R5

 技术图片

R5的路由信息以上区域LSA多了一个区域0LSA信息,还是因为R5R4之间配置了虚连接,192.168.1.1192.168.2.1LSA信息是R1中通告进去的。

R6OSPF LSA如下图和R3R4 一个道理

 技术图片

4 OSPF特殊区域

4.1组网图

 技术图片

4.2配置接口IP和配置OSPF

[RouterA] router id 10.2.1.1

[RouterA] ospf

[RouterA-ospf-1] area 0

[RouterA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[RouterA-ospf-1-area-0.0.0.0] quit

[RouterA-ospf-1] area 1

[RouterA-ospf-1-area-0.0.0.1] network 10.2.1.0 0.0.0.255

[RouterA-ospf-1-area-0.0.0.1] quit

[RouterA-ospf-1] quit

      

[RouterB] router id 10.3.1.1

[RouterB] ospf

[RouterB-ospf-1] area 0

[RouterB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255

[RouterB-ospf-1-area-0.0.0.0] quit

[RouterB-ospf-1] area 2

[RouterB-ospf-1-area-0.0.0.2] network 10.3.1.0 0.0.0.255

[RouterB-ospf-1-area-0.0.0.2] quit

[RouterB-ospf-1] quit

 

[RouterC] router id 10.4.1.1

[RouterC] ospf

[RouterC-ospf-1] area 1

[RouterC-ospf-1-area-0.0.0.1] network 10.2.1.0 0.0.0.255

[RouterC-ospf-1-area-0.0.0.1] network 10.4.1.0 0.0.0.255

[RouterC-ospf-1-area-0.0.0.1] quit

[RouterC-ospf-1] quit

 

[RouterD] router id 10.5.1.1

[RouterD] ospf

[RouterD-ospf-1] area 2

[RouterD-ospf-1-area-0.0.0.2] network 10.3.1.0 0.0.0.255

[RouterD-ospf-1-area-0.0.0.2] network 10.5.1.0 0.0.0.255

[RouterD-ospf-1-area-0.0.0.2] quit

[RouterD-ospf-1] quit

 

[RouterD] ip route-static 3.1.2.1 24 10.5.1.2

[RouterD] ospf

[RouterD-ospf-1] import-route static

[RouterD-ospf-1] quit

配置stub区域

[RouterA] ospf

[RouterA-ospf-1] area 1

[RouterA-ospf-1-area-0.0.0.1] stub

[RouterA-ospf-1-area-0.0.0.1] quit

[RouterA-ospf-1] quit

[RouterC] ospf

[RouterC-ospf-1] area 1

[RouterC-ospf-1-area-0.0.0.1] stub

[RouterC-ospf-1-area-0.0.0.1] quit

[RouterC-ospf-1] quit

配置AREA1Toally stub区域

[RouterA] ospf

[RouterA-ospf-1] area 1

[RouterA-ospf-1-area-0.0.0.1] stub no-summary

[RouterA-ospf-1-area-0.0.0.1] quit

配置AREA1NSSA区域

[RouterA-ospf-1] area 1

[RouterA-ospf-1-area-0.0.0.1] nssa

[RouterA-ospf-1-area-0.0.0.1] quit

[RouterA-ospf-1] quit

[RouterC] ospf

[RouterC-ospf-1] area 1

[RouterC-ospf-1-area-0.0.0.1] nssa

[RouterC-ospf-1-area-0.0.0.1] quit

[RouterC-ospf-1] quit

配置RC引入静态路由

[RouterC] ip route-static 3.1.2.1 24 10.4.1.2

[RouterC] ospf

[RouterC-ospf-1] import-route static

[RouterC-ospf-1] quit

4.3实验分析

查看RCospf lsdb

 技术图片

引入静态路由后查看RCABR/ASBR的信息

 技术图片

RARC设置为stub区域后查看RC路由表,已经看不到AS外部的路由,取而代之的是一条缺省路由

 技术图片

查看RCospf lsdb信息,是123LSA ,LSA30.0.0.0/0(ABR向区域内发起的一条3类缺省路由LSA)

 技术图片

配置AREA1Toally stub区域后,可以查看RCOSPF的路由表,看到路由表项进一步减少,只保留了一条通往外部区域的缺省路由

 技术图片

查看RCospf lsdb 信息,是123LSALSA30.0.0.0/0(ABR向区域内发起的一条3类缺省路由LSA)其余的LSA都减少了

 

 技术图片

配置AREA1NSSA区域后查看 RCospf lsdb

RCOSPF lsdb 只看见1237类路由了

 技术图片

RC配置一条静态路由后,可以看到 RD路由表从 NSSA区域引入了一条外部路由

配置静态路由前

 技术图片

配置静态路由后

 技术图片

 

OSPF实验

标签:network   cal   添加   src   mask   stat   目的   nbma   生效   

原文地址:https://www.cnblogs.com/linxl/p/12826173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!