超详细破析OSPF路由协议(1)

8.1 OSPF的hello协议

                 Hello协议的目的:

1.用于发现邻居

2.在成为邻居之前,必须对Hello包里的一些参数协商成功

3.Hello包在邻居之间扮演着keepalive的角色

4.允许邻居之间的双向通信

 5.它在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR

Cisco路由器上Hello包默认的发送间隔(HelloInterval)是10秒;NBMA网络是30秒,

通过ip ospf hello-interval 来修改;

如果在4倍于这个时间间隔里(40秒和120秒)内仍然没有收到来自邻居的新的Hello包,这个邻居将被宣告为无效(dead)

              通过命令ips ospf dead-interval 来修改

Hello Packet包含以下信息:

               1.源路由器的RID

               2.源路由器的Area ID

               3.源路由器接口的掩码

               4.源路由器接口的认证类型和认证信息

                5.源路由器接口的Hello包发送的时间间隔

                6.源路由器接口的无效时间间隔

                  7.优先级

                     8.DR/BDR

                      9.五个标记位(flag bit)

                   10.源路由器的所有邻居的RID

8.2 OSPF的网络类型:

                    OSPF定义的5种网络类型:

                1.点到点网络 2.广播型网络 3.NBMA网络 4.点到多点网络 5.虚链接(virtual link)

8.2.1 点到点网络,

                        比如T1线路,是连接单独的一对路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF包的目标地址使用的是224.0.0.5,这个组播地址称为AllSPFRouters

8.2.2 广播型网络,

                 比如以太网,Token Ring和FDDI,这样的网络上会选举一个DR和BDR,DR/BDR的发送的OSPF包的目标地址为224.0.0.5,运载这些OSPF包的帧的目标MAC地址为0100.5E00.0005;而除了DR/BDR以外的OSPF包的目标地址为224.0.0.6,这个地址叫AllDRouters

8.2.3 NBMA网络,

                  比如X.25,Frame Relay,和ATM,不具备广播的能力,因此邻居要人工来指定,在这样的网络上要选举DR和BDR,OSPF包采用unicast的方式]

8.2.4 点到多点网络

                  是NBMA网络的一个特殊配置,可以看成是点到点链路的集合. 在这样的网络上不选举DR和BDR

8.2.5 虚链接:

                 OSPF包是以unicast的方式发送

                  所有的网络也可以归纳成2种网络类型:

                                     1.传输网络(Transit Network)

                                       2.末梢网络(Stub Network )

8.3 OSPF的DR及BDR

                        超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

            而且在多址网络中,还存在自己发出的LSA 从邻居的邻居发回来,导致网络上产生很多LSA的拷贝,所以基于这种考虑,产生了DR和BDR。

DR将完成如下工作

                     1. 描述这个多址网络和该网络上剩下的其他相关路由器

                      2. 管理这个多址网络上的flooding过程

    同时为了冗余性,还会选取一个BDR,作为双备份之用

8.3.1 DR BDR选取规则:

            DR BDR选取实在接口状态机的方式触发的。

                        1. 路由器的每个多路访问(multi-access)接口都有个路由器优先级(Router Priority),8位长的一个整数,范围是0到255,Cisco路由器默认的优先级是1优先级为0的话将不能选举为DR/BDR.优先级可以通过命令ip ospf priority进行修改

                         2. Hello包里包含了优先级的字段,还包括了可能成为DR/BDR的相关接口的IP地址

                         3. 当接口在多路访问网络上初次启动的时候,它把DR/BDR地址设置为0.0.0.0,同时设置等待计时器(wait timer)的值等于路由器无效间隔(Router Dead Interval)

8.3.2 DR BDR选取过程:

                         1. 在和邻居建立双向(2-Way)通信之后,检查邻居的Hello包中Priority,DR和BDR字段,列出所有可以参与DR/BDR选举的邻居.所有的路由器声明它们自己就是DR/BDR(Hello包中DR字段的值就是它们自己的接口地址;BDR字段的值就是它们自己的接口地址)

                        2. 从这个有参与选举DR/BDR权的列表中,创建一组没有声明自己就是DR的路由器的子集(声明自己是DR的路由器将不会被选举为BDR)

                        3. 如果在这个子集里,不管有没有宣称自己就是BDR,只要在Hello包中BDR字段就等于自己接口的地址,优先级最高的就被选举为BDR;如果优先级都一样,RID最高的选举为BDR

                         4. 如果在Hello包中DR字段就等于自己接口的地址,优先级最高的就被选举为DR;如果优先级都一样,RID最高的选举为DR;如果没有路由器宣称自己就是DR,那么新选举的BDR就成为DR

                         5. 要注意的是,当网络中已经选举了DR/BDR后,又出现了1台新的优先级更高的路由器,DR/BDR是不会重新选举的

                         6. DR/BDR选举完成后,DRother只和DR/BDR形成邻接关系.所有的路由器将组播Hello包到AllSPFRouters地址224.0.0.5以便它们能跟踪其他邻居的信息,即DR将洪泛update packet到224.0.0.5;DRother只组播update packet到AllDRouter地址224.0.0.6,只有DR/BDR监听这个地址

8.4 OSPF的接口:

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

使用show ip ospf interface

命令查看接口

                      Process ID: 进程号,cisco特有

                     特有 RID:路由器的router-id

                      Network Type : P2P,P2MP,...

                      InfTransdelay:LSA通告从路由器接口发送后经历的时间,以Transmit Delay显示,缺省值为

                     1sec

                     ip ospf transmit-delay 可以修改

                     Router Priority:缺省值为 1

                    可以通过 ip ospf priority修改,0为不参与选举

                    Cost:1到65535之间的一个整数,Cisco默认cost的算法是100000000/BW,BW为接口带宽.如果带宽大于100M的话,将产生1个小于1的小数,这是不允许的.因此从IOS版本11.2之后,可以使用命令ospf auto-cost reference-bandwidth 来修正这个问题,允许管理者更改缺省的参考带宽

                    Wait Timer:选举DR/BDR之前,等待邻居路由器宣告DR/BDR的Hello包的时间长度,这个时间长度等于无效时间(RouterDeadInterval)

                    RxmtInterval:没有得到确认的情况下,重传OSPF packet所等待的时间长度,默认为5秒,可以使用命令ip ospf retransmit-interval 修改

                    Hello Timer:由HelloInterval设置的,当它超时后,将从接口发送一个Hello包,上图显示Hello Timer将在3秒后超时

                   AuType:认证类型,OSPF的认证类型可以是null(无认证),简单口令或者MD加密.如果使用null认证方式,show ip ospf interface将不会显示认证类型和钥匙(key)信息

8.5 OSPF的状态机:

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

IE1:低层协议指明接口可操作

 IE2:低层协议指明接口不可操作

 IE3:网络管理系统或低层协议指明接口loop up

 IE4:网络管理系统或低层协议指明接口loop down

IE5:收到Hello包

IE6:Wait Timer超时

 IE7:选举为DR

IE8:被选举为BDR

 IE9:没有被选举为DR/BDR,成为DRothers

 IE10:邻居路由器发生了变化

8.6 OSPF邻居关系

邻接关系建立的4个阶段:

1.邻居发现阶段

 2.双向通信阶段:Hello报文都列出了对方的RID,则BC完成

 3.数据库同步阶段:

4.完全邻接阶段: full adjacency

邻居关系的建立和维持都是靠Hello包完成的,在一般的网络类型中,Hello包是每经过1个HelloInterval发送一次,有1个例外:在NBMA网络中,路由器每经过一个PollInterval周期发送Hello包给状态为down的邻居(其他类型的网络是不会把Hello包发送给状态为down的路由器的).Cisco路由器上PollInterval默认60s

Hello Packet以组播的方式发送给224.0.0.5,在NBMA类型,点到多点和虚链路类型网络,以单播发送给邻居路由 器。邻居可以通过手工配置或者Inverse-ARP发现

使用show ip ospf neighbor命令查看邻居的信息,如下:

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

Poll interval:

这个参数只用于NBMA网络,因为在NBMA网络中邻居无法自动发现.如果邻居状态是down,那么路由器将经PollInterval长的时间发送Hello包给这个状态为down的邻居 Dead timer due in 00:01:40:Dead Timer将在100秒后超时,超时之前没收到新的Hello包的话将被宣告无效还有些未显示的信息:DR/BDR

Master/Slave:

在ExStart状态,邻居之间协商的主/从(Master/Slave)关系将控制数据库的同步 DD(Database Description) Sequence Number: 正向邻居发送的数据库描述序列号 Last Received Database Description Packet: 这个packet记录了Initialize,More和Master位和可选项,以及最后收到的数据库描述包的序列号.这个信息可以确定下一个数据库描述包是否重复

Link State Retransmission List: 没有得到确认的LSA列表 Database Summary List: 数据库同步期间,数据库描述包中向邻居发送的LSA列表,当路由器进入exchange状态后,这些LSA将组成LSDB Link State Require List:这个列表记录了来自邻居的数据库描述包的LSA,这些LSA比LSDB中的LSA更新.链路状态请求(Link State Require,LSR)发送给邻居来请求LSA的拷贝,当这些请求的LSA通过链路状态更新(Link State Update,LSU)收到后,请求列表将会减少直至清空

OSPF路由器在完全邻接之前,所经过的几个状态:

1.Down: 初始化状态

2.Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包

3.Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来

4.two-way: 双向会话建立

 5.ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,接口等级高的的成为Master

6.Exchange: 信息交换状态,本地路由器向邻居发送数据库描述包,并且会发送LSR用于 请求新的LSA

7.Loading: 信息加载状态,本地路由器向邻居发送LSR用于请求新的LSA

8.Full: 完全邻接状态,这种邻接出现在Router LSA和Network LSA中

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

在一个邻接关系的创建过程中,OSPF协议使用如下3种报文

Database Description packets—DD (type 2)                   Link State Request packets—LSR (type 3)            Link State Update packets—LSU (type 4)

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

1. RT1首先变为有效状态,发送Hello包给RT2,由于刚开始没有学习到任何邻居,虽然Hello包里Neighbor字段的值是空的,DR/BDR字段设置为0.0.0.0

2. RT2收到来自RT1的Hello包以后,将RT1状态设置为Init,并发送Hello包给RT1,Neighbor字段设置为RT1的RID,并把DR字段设置成自己接口地址

3. RT1收到RT2的Hello包并看到里面的RID以后,RT1为了能够进行Master/Slave协商,将把RT2设置成ExStart状态.接着,RT1将产生一个空的数据库描述包(DDP),并设置序列号为x,同时设置Init位为1,表示该DDP是用于本次信息交换的最初的DDP,并设置More位为0表示这个DDP不是最后一个DDP;设置Masrer/Slave位为1声明自己为Master

4. RT2收到RT1发来的这个DDP以后,设置RT1状态为ExStart,并响应一个DDP.序列号设置为y,假设RT2的RID高于RT1的RID,因此它设置MS位为1

5. Master/Slave协商完成,RT2为Master,RT1把RT2的状态设置为Exchange状态,并发送DDP给RT2,序列号使用y,MS位设置为0声明自己是Slave,I位设置为0,M位设置为1

6. RT2收到RT1的这个DDP以后,把RT1的状态设置为Exchange,并发送DDP给RT1,把序列号增加1,这个DDP包含了RT2的Link State Summary List中的LSA头部信息

7. RT1收到这个DDP以后,将响应一个序列号相同的DDP,这个过程将一直持续,然后RT2将发送一个单独的DDP直到RT1以相同的序列号响应,直到RT2发出包含最后1个LSA Summary的DDP,并设置M位为0

8. Exchange状态完成,但是RT1的LSR列表中仍然还有未请求的LSA条目,因此RT1进入Loading状态

9. 当RT2收到最后1个DDP以后,RT2设置RT1的状态为Full,因为RT1的LSR列表中没有要请求的LSA条目了

10. RT1发送LSR给RT2,RT2以LSU来响应这个请求,这个过程持续到RT1的LSR列表成为空列表,此时RT1也把RT2的状态设置为Full

可以使用命令debug ip ospf adj查看邻接关系的建立情况

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

8.7 OSPF泛洪

    Flooding采用2种报文 LSU Type 4---链路状态更新报文 LSA Type 5---链路状态确认报文

 

如下图所示:

                个链路状态更新报文和确认报文都可以携带多个LSA。LSA本身可以floodin到整个互联网络,但更新报文和确认报文只能在具有邻接关系的两个节点之间传送。

   超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客

在P-P网络,路由器是以组播方式将更新报文发送到组播地址224.0.0.5 在P-MP和虚链路网络,路由器以单播方式将更新报文发送至邻接邻居的接口地址 在广播型网络,DRother路由器只能和DR&BDR形成邻接关系,所以更新报文将发送到224.0.0.6,相应的DR以224.0.0.5泛洪LSA并且BDR只接收LSA,不会确认和泛洪这些更新,除非DR失效 在NBMA型网络,LSA以单播方式发送到DR BDR,并且DR以单播方式发送这些更新

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

LSA的洪泛是可靠的,所以必须对每1个发送的LSA进行确认,确认分隐式确认(Implicit Acknowledge)和显式确认(Explicit Acknowledge)

当路由器要发送LSA的时候,会把LSA的拷贝放在链路状态重传列表中,这个LSA每隔RxmtInterval重传1次,直到该LSA得到确认,或邻接关系中断.无论哪种网络类型,重传的LSA总是以unicast的方式发送的

确认可以是delayed或direct,前者可以使用1个LSAck确认多个LSA,当然这个延迟的时间必须小于RxmtInterval;后者的确认是立即发送,采用单播的方式.当出现下面2种情况的时候将采用直接确认:

 1.从邻居那里收到了重复的LSA

2.LSA的老化时间(Age)达到最大生存时间(MaxAge)

 查看LSDB信息,使用show ip ospf database命令,如下:

 LSA通过序列号,校验和,和老化时间保证LSDB中的LSA是最新的

Seq: 序列号(Seq)的范围是0x80000001到0x7fffffff

Checksum: 校验和(Checksum)计算除了Age字段以外的所有字段,每5分钟校验1次

Age: 范围是0到3600秒,16位长.当路由器发出1个LSA后,就把Age设置为0,当这个LSA经过1台路由器以后,Age就会增加1个由InfTransDelay设定的时间(默认为1秒,这个时间可以通过命令ip ospf transmit-delay 修改).LSA保存在LSDB中的时候,老化时间也会增加

当收到相同的LSA的多个实例的时候,将通过下面的方法来确定哪个LSA是最新的:

1. 比较LSA实例的序列号,越大的越新

2. 如果序列号相同,就比较校验和,越大越新

 3. 如果校验和也相同,就比较老化时间,如果只有1个LSA拥有MaxAge(3600秒)的老化时间,它就是最新的

 4. 如果LSA老化时间相差15分钟以上,(叫做MaxAgeDiff),老化时间越小的越新

5. 如果上述都无法区分,则认为这2个LSA是相同的

8.8 OSPF区域

区域长度32位,可以用10进制,也可以类似于IP地址的点分十进制分3种通信量

1. Intra-Area Traffic:域内间通信量

2. Inter-Area Traffic:域间通信量

3. External Traffic:外部通信量

8.8 OSPF

1. Internal Router:内部路由器 2. ABR(Area Border Router):区域边界路由器 3. Backbone Router(BR):骨干路由器 4. ASBR(Autonomous System Boundary Router):自治系统边界路由器

虚链路(Virtual Link)

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

1. 通过一个非骨干区域连接到一个骨干区域

2. 通过一个非骨干区域连接一个分段的骨干区域两边的部分区域

虚链接是一个逻辑的隧道(Tunnel),配置虚链接的一些规则: 1. 虚链接必须配置在2个ABR之间 2. 虚链接所经过的区域叫Transit Area,它必须拥有完整的路由信息 3. Transit Area不能是Stub Area 4. 尽口的避免使用虚链接,它增加了网络的复杂程度和加大了排错的难度

8.9 LSD链路状态数据库

使用 show ip ospf database 可以查看LSDB的信息。LSA驻留在LSDB中,age会加大,当超过MaxAge后,这些LSA将被清除掉,因此出现链路刷新(LSR)机制来防止这个问题,每30min(LSRefreshTime),发出这条LSA的源路由器将再次发送这个LSA的拷贝,并把序列号加1,把Age设置为0,来替换邻居LSDB中的较老的LSA

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

8.9.1 LSA类型

1.类型1:Router LSA 2.类型2:Network LSA 3.类型3:Network Summary LSA 4.类型4:ASBR Summary LSA 5.类型5:AS External LSA 6.类型6:Group Membership LSA 7.类型7:NSSA External LSA 8.类型8:External Attributes LSA 9.类型9:Opaque LSA(link-local scope,) 10.类型10:Opaque LSA(area-local scope) 11.类型11:Opaque LSA(AS scope) 使用 show ip ospf database database-summary可以看到LSDB中的LSA类型

8.9.2 Router LSA

                 每个路由器都将产生Router LSA,这种LSA只在本区域内传播,描述了路由器所有的链路和接口,状态和开销

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

此种LSA可以通过 show ip ospf database router查看

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

8.9.3 Network LSA

            在每个多路访问网络中,DR都会产生这种Network LSA,它只在产生这条Network LSA的区域泛洪描述了所有和它相连的路由器(包括DR本身)

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

Show ip ospf database network可以看到Network LSA

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

8.9.4 Network Summary LSA

                               ABR路由器始发,用于通告该区域外部的目的地址,

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

可以使用show ip ospf database summary查看LSA

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

如果ABR知道有多条路径可以到达目标地址,但是它仍然只发送单个的Network

                                   mmary LSA,并且是开销最低的那条;同样,如果ABR从其他的ABR那里收到多条Network

                                    mmary LSA的话,它会只选择开销最低的,并把这条Network Summary LSA宣告给其他区域

              当其他的路由器收到来自ABR的Network Summary LSA以后,它不会运行SPF算法,它只简单的加上到达那个ABR的开销和Network Summary LSA中包含的开销,通过ABR,到达目标地址的路由和开销一起被加进路由表里,这种依赖中间路由器来确定到达目标地址的完全路由(full route)实际上是距离矢量路由协议的行为

8.9.5 ASBR Summary LSA

               由ABR发出,ASBR汇总LSA除了所通告的目的地是一个ASBR而不是一个网络外,其他同NetworkSummary LSA

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

使用 show ip ospf database asbr-summary可以看到

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

8.9.6 Autonmous System External LSA

        发自 ASBR路由器,用来通告到达OSPF自主系统外部的目的地,或者OSPF自主系统那个外部的缺省路由的LSA。这种LSA将在全AS内泛洪

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

可以使用 show ip ospf database external

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

8.9.7 NSSA External LSA

                  来自非完全Stub区域(not-so-stubby area)内ASBR路由器始发的LSA通告它只在NSSA区域内泛洪,这是与LSA-Type5的区别

              Show ip ospf database nssa-external

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

8.9.8 External Attributes LSA

被提议为作为iBGP的另一种选择,用来传输BGP协议信息穿越一个OSPF域。

8.9.9 Opaque LSA

特殊应用,透明LSA,基于MPLS。暂时没有实现

8.10 OSPF末梢区域

由于并不是每个路由器都需要外部网络的信息,为了减少LSA泛洪量和路由表条目,下图中的Area 2可以配置成为Stub区域

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

位于Stub边界的ABR将宣告一条默认路由到所有的Stub区域内的内部路由器,

8.10.1 Stub区域限制:

a) 所有位于stub area的路由器必须保持LSDB信息同步, 并且它们会在它的Hello包中设置一个值为0的E位(E-bit),因此这些路由器是不会接收E位为1的Hello包,也就是说在stub area里没有配置成stub router的路由器将不能和其他配置成stub router的路由器建立邻接关系

b) 不能在stub area中配置虚链接(virtual link),并且虚链接不能穿越stub area

c) stub area里的路由器不可以是ASBR

d) stub area可以有多个ABR,但是由于默认路由的缘故,内部路由器无法判定哪个ABR才是到达ASBR的最佳选择

Cisco提出了Totally Stubby Area,和stub area相比,它连LSA类型3(Network Summary LSA)也阻塞掉了

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

            NSSA允许外部路由被宣告OSPF域中来,同时保留Stub Area的特征,因此NSSA里可以有ASBR,ASBR将使用type7-LSA来宣告外部路由,但经过ABR,Type7被转换为Type5。 7类LSA通过OSPF报头的一个P-bit作Tag,如果NSSA里的ABR收到P位设置为1的NSSA External LSA,它将把LSA类型7转换为LSA类型5.并把它洪泛到其他区域中;如果收到的是P位设置为0的NSSA External LSA,它将不会转换成类型5的LSA,并且这个类型7的LSA里的目标地址也不会被宣告到NSSA的外部NSSA在IOS11.2后支持。

8.10.2 几种特殊的区域

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

Stub 过滤Type5LSA 并自动产生默认路由O*IA但不过滤掉域间路由

Stub-No Summary 只放入Type 2&6类的路由,即域间路由被过滤掉,同时产生O *IA的默认路由 NSSA ASBR使用Type 7LSA 通告外部路由,路由条目由O E2改为O N2,

NSSA不会自动产生默认路由,除非加入area 2 nssa default-information-originate.且默认路由仅用在ASBR,ABR上,产生一条O *N2的路由。同时过滤掉骨干区域来的Type5路由.

NSSA-No redistribution 如下图所示,B上使用 area 1 nssa no-redistribution, B上将不会把EIGRP做为Type7LSA通告,所以C上原本会收到的2条O N2路由将会消失

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

NSSA-No summary 即在路由器B上 area 1 nssa no-summary 过滤域间路由,并在自动产生一条O *IA的默认路由

8.11 OSPF路由表

              路由选择表是根据LSDB中LSA条目,使用SPF算法生成的。OSPF是基于接口带宽进行度量的一种路由协议使用10^8/BW计算。

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

                                命令 ip ospf cost 1~65535 可以修改端口的成本 不推荐ip ospf cost的方式修改 使用auto-cost reference-bandwidth bandwidth(1~4296967Mb)修改默认的参考值,以便识别1000M和10G的interface两个不同的区域可以使用不同的参考带宽

8.11.1 Destination Type

                每一个路由条目都可以被归类到目的类型中去网络条目(Network Entry)是数据包药转发的目的网络:

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

                 路由器条目(Routers Entry)记录的是如何到达ABR/ASBR,这些路由器条目被单独存放在一个内部的路由表里,使用命令show ip ospf border-routers来查看这个信息,如下:i代表区域内路由, I代表区域间路由

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 8.11.2 Path Type

              到达目标网络的路径可以分为4类: Intra-area path(区域内路由) inter-area path(区域间路由), Type 1 external path(类型1的外部路径,E1) Type 2 external path(类型2的外部路径,E2)

         路由标记如下:

1. O 区域内路由

2. O IA 区域间路由

3. O N1 O N2 Nssa区域通告的Type7LSA生成的路由

4. O E1 O E2 外部路由 区别在于后者计算时会不必加上到达ASBR的Metric

路由选择表的查找顺序

1. 路由器读取目的地址,并查找路由表,选择和目的地址最长匹配的路由进行转发

2. 如果存在2条相同的路由,查看管理距离

3. 根据 O > O IA > O E1 > O E2 的优先级顺序转发

4. 如果此时还存在等Cost路径,则作负载均衡转发

OSPF默认 4条路径负载均衡, 可以通过 maximum-paths 6修改,最多6条路径负载均衡

8.12 OSPF按需电路

OSPF over Demand Circuits:在X.25 SVC,ISDN,PSTN等即用即连的电路上,OSPF在按需电路设计上具有抑制Hello Packet和LSA-reflush的功能,最初会执行LSDB的同步,随后指挥激活此条链路去flooding 某些变化的LSA,具体配置方法:将ISDN做为备份链路,并在接口上启用ip ospf demand-circuit

8.13 OSPF报文格式

OSPF报文有多重封装构成,如下图,分为IP 头, OSPF 报头,LSA 头等

超详细破析OSPF路由协议(1) - carlarshao - carlarshao的博客 

你可能感兴趣的:(职场,协议,路由,休闲,ospf)