精华内容
下载资源
问答
  • OSPF

    千次阅读 多人点赞 2017-08-01 21:23:55
    OSPF

    1、概念
    Open Shortest Path First,开放式最短路径优先协议,是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。

    链路是路由器接口的另一种说法,因此OSPF也称为链路状态协议、接口状态协议。

    2、原理:
    OSPF通过路由器之间通告链路状态信息,包括接口的IP地址、子网掩码、网络类型、链路开销等,形成链路状态数据库;每台路由器收到收到网络内的所有链路信息之后,就能拥有整个网络的拓扑情况,然后运行迪克斯加算法(Dijkstra)被用来计算最短路径树,每个路由器通过这个最短路径来构造路由表。

    3、骨干区域、非骨干区域
    区域0位骨干区域,负责在非骨干区域之间发布区域间的路由信息。

    展开全文
  • ospf

    2009-12-18 18:35:00
    OSPF协议OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而...

    OSPF协议

    OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而RIP是距离矢量路由协议。
       一。OSPF起源
      I E T F为了满足建造越来越大基于I P网络的需要,形成了一个工作组,专门用于开发开放式的、链路状态路由协议,以便用在大型、异构的I P网络中。新的路由协议以已经取得一些成功的一系列私人的、和生产商相关的、最短路径优先( S P F )路由协议为基础, S P F在市场上广泛使用。包括O S P F在内,所有的S P F路由协议基于一个数学算法—D i j k s t r a算法。这个算法能使路由选择基于链路-状态,而不是距离向量。O S P F由I E T F在2 0世纪8 0年代末期开发,O S P F是S P F类路由协议中的开放式版本。最初的O S P F规范体现在RFC 11 3 1中。这个第1版( O S P F版本1 )很快被进行了重大改进的版本所代替,这个新版本体现在RFC 1247文档中。RFC 1247 OSPF称为O S P F版本2是为了明确指出其在稳定性和功能性方面的实质性改进。这个O S P F版本有许多更新文档,每一个更新都是对开放标准的精心改进。接下来的一些规范出现在RFC 1583、2 1 7 8和2 3 2 8中。O S P F版本2的最新版体现在RFC 2328中。最新版只会和由RFC 2138、1 5 8 3和1 2 4 7所规范的版本进行互操作。 
       链路是路由器接口的另一种说法,因此OSPF也称为 接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。
      OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统( Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 
      作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。
      二. OSPF的hello协议
      1. Hello协议的目的:
      
    1.用于发现邻居
      2.在成为邻居之前,必须对Hello包里的一些参数协商成功 
      3.Hello包在邻居之间扮演着keepalive的角色 
      4.允许邻居之间的双向通信 
      5.它在NBMA(Nonbroadcast Multi-access)网络上选举DR和BDR
      2. Hello Packet包含以下信息: 
      1.源路由器的RID
      2.源路由器的Area ID 
      3.源路由器接口的掩码 
      4.源路由器接口的认证类型和认证信息 
      5.源路由器接口的Hello包发送的时间间隔
      6.源路由器接口的无效时间间隔 
      7.优先级 
      8.DR/BDR 
      9.五个标记位(flag bit) 
      10.源路由器的所有邻居的RID
      三. OSPF的网络类型
      OSPF定义的5种网络类型: 
      1.点到点网络 
      2.广播型网络 
      3.非广播型(NBMA)网络 
      4.点到多点网络 
      5.虚链接(virtual link)
      1.1. 点到点网络, 比如T1线路,是连接单独的一对路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF包的目标地址使用的是 224.0.0.5,这个组播地址称为 AllSPFRouters.
      2.1. 广播型网络,比如以太网, Token RingFDDI,这样的网络上会选举一个DR和BDR,DR/BDR的发送的OSPF包的目标地址为224.0.0.5,运载这些OSPF包的帧的目标MAC地址为0100.5E00.0005;而除了DR/BDR以外的OSPF包的目标地址为 224.0.0.6,这个地址叫 AllDRouters.
      3.1. NBMA网络, 比如 X.25,Frame Relay,和 ATM,不具备广播的能力,因此邻居要人工来指定,在这样的网络上要选举DR和BDR,OSPF包采用unicast的方式
      4.1.点到多点网络 是NBMA网络的一个特殊配置,可以看成是点到点链路的集合. 在这样的网络上不选举DR和BDR.
      5.1.虚链接: OSPF包是以unicast的方式发送
       所有的网络也可以归纳成2种网络类型: 
      1.传输网络(Transit Network) 
      2.末梢网络(Stub Network )
       四.OSPF的DR及BDR
      在DR和BDR出现之前,每一台路由器和他的邻居之间成为完全网状的OSPF邻接关系,这样5台路由器之间将需要形成10个邻接关系,同时将产生25条LSA.而且在多址网络中,还存在自己发出的LSA 从邻居的邻居发回来,导致网络上产生很多LSA的拷贝,所以基于这种考虑,产生了DR和BDR.
      DR将完成如下工作
      1. 描述这个多址网络和该网络上剩下的其他相关路由器.
      2. 管理这个多址网络上的flooding过程.
      3. 同时为了冗余性,还会选取一个BDR,作为双备份之用.
       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).
       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,再重新选举一个BDR。
      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监听这个地址.
       简洁的说:DR的筛选过程
      1.优先级为0的不参与选举
      2.优先级高的路由器为DR
      3.优先级相同时,以router ID 大为DR。
      router ID 以回环接口中最大ip为准。
      若无回环接口,以真实接口最大ip为准。
      4.缺省条件下,优先级为1
       五.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发现.
       OSPF路由器在完全邻接之前,所经过的几个状态
      1. Down:此状态还没有与其他路由器交换信息。首先从其ospf接口向外发送hello分组,还并不知道DR(若为广播网络)和任何其他路由器。发送hello分组是,使用组播地址224.0.0.5。
      2. Attempt: 只适于NBMA网络,在NBMA网络中邻居是手动指定的,在该状态下,路由器将使用HelloInterval取代PollInterval来发 送Hello包.
      3. Init: 表明在DeadInterval里收到了Hello包,但是2-Way通信仍然没有建立起来. 
      4. two-way: 双向会话建立,而 RID 彼此出现在对方的邻居列表中。(若为广播网络:例如:以太网。在这个时候应该选举DR,BDR。)
      5. ExStart: 信息交换初始状态,在这个状态下,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number,路由器ID大的的成为Master.
      6. Exchange: 信息交换状态:本地路由器和邻居交换一个或多个DBD分组(也叫DDP) 。DBD包含有关LSDB中LSA条目的摘要信息)。
      7. Loading: 信息加载状态:收到DBD后,使用LSACK分组确认已收到DBD.将收到的信息同LSDB中的信息进行比较。如果DBD中有更新的链路状态条目,则想对方发送一个LSR,用于请求新的LSA 。
      8. Full: 完全邻接状态,这种邻接出现在Router LSA和Network LSA中.
       六.OSPF泛洪
      Flooding采用2种报文 
       LSU Type 4---链路状态更新报文 
       LSA Type 5---链路状态确认报文
       (补充下 )
       {
       Hello Type 1 ---Hello协议报文
       DD(Data Description) Type 2----链路数据描述报文
       LSR Type 3----链路状态请求报文
       }
      在 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以单播方式发送这些更新.
      LSA通过序列号,校验和,和老化时间保证LSDB中的LSA是最新的, 
       Seq: 序列号(Seq)的范围是0x80000001到0x7fffffff. 
       Checksum: 校验和(Checksum)计算除了Age字段以外的所有字段,每5分钟校验1次. 
       Age: 范围是0到3600秒,16位长.当路由器发出1个LSA后,就把Age设置为0,当这个LSA经过1台路由器以后,Age就会增加1个LSA保存在LSDB中的时候,老化时间也会增加.
      当收到相同的LSA的多个实例的时候,将通过下面的方法来确定哪个LSA是最新的:
      1. 比较LSA实例的序列号,越大的越新. 
      2. 如果序列号相同,就比较校验和,越大越新. 
      3. 如果校验和也相同,就比较老化时间,如果只有1个LSA拥有MaxAge(3600秒)的老化时间,它就是最新的. 
      4. 如果LSA老化时间相差15分钟以上,(叫做MaxAgeDiff),老化时间越小的越新. 
      5. 如果上述都无法区分,则认为这2个LSA是相同的.
       六.OSPF区域
      区域长度32位,可以用10进制,也可以类似于IP地址的点分十进制分3种通信量
       1. Intra-Area Traffic:域内间通信量
      2. Inter-Area Traffic:域间通信量
      3. External Traffic:外部通信量

      路由器类型 
       1. Internal Router:内部路由器 
       2. ABR(Area Border Router):区域边界路由器 
       3. Backbone Router(BR):骨干路由器 
       4. ASBR(Autonomous System Boundary Router):自治系统边界路由器. 
      虚链路(Virtual Link)
      以下2中情况需要使用到虚链路:
      1. 通过一个非骨干区域连接到一个骨干区域.
      2. 通过一个非骨干区域连接一个分段的骨干区域两边的部分区域.
      虚链接是一个逻辑的隧道(Tunnel),配置虚链接的一些规则: 
      1. 虚链接必须配置在2个ABR之间. 
      2. 虚链接所经过的区域叫 Transit Area,它必须拥有完整的路由信息.
      3. Transit Area不能是Stub Area. 
      4. 尽可能的避免使用虚链接,它增加了网络的复杂程度和加大了排错的难度.
      OSPF区域—OSPF的精华
      Link-state 路由在设计时要求需要一个层次性的网络结构.
      OSPF网络分为以下2个级别的层次:
      骨干区域 (backbone or area 0)
      非骨干区域 (nonbackbone areas)
      在一个OSPF区域中只能有一个骨干区域,可以有多个非骨干区域,骨干区域的区域号为0。
      各非骨干区域间是不可以交换信息的,他们只有与骨干区域相连,通过骨干区域相互交换信息。
      非骨干区域和骨干区域之间相连的路由叫边界路由(ABRs-Area Border Routers),只有ABRs记载了各区域的所有路由表。各非骨干区域内的非ABRs只记载了本区域内的路由表,若要与外部区域中的路由相连,只能通过本区域的ABRs,由ABRs连到骨干区域的BR,再由骨干区域的BR连到要到达的区域。
      骨干区域和非骨干区域的划分,大大降低了区域内工作路由的负担。
       七.LSA类型 
       1.类型1:Router LSA:每个路由器都将产生Router LSA,这种LSA只在本区域内传播,描述了路由器所有的链路和接口,状态和开销. 
       2.类型2:Network LSA:在每个多路访问网络中,DR都会产生这种Network LSA,它只在产生这条Network LSA的区域泛洪描述了所有和它相连的路由器(包括DR本身).
       3.类型3:Network Summary LSA :由ABR路由器始发,用于通告该区域外部的目的地址.当其他的路由器收到来自ABR的Network Summary LSA以后,它不会运行SPF算法,它只简单的加上到达那个ABR的开销和Network Summary LSA中包含的开销,通过ABR,到达目标地址的路由和开销一起被加进路由表里,这种依赖中间路由器来确定到达目标地址的完全路由(full route)实际上是距离矢量路由协议的行为
       4.类型4:ASBR Summary LSA:由ABR发出,ASBR汇总LSA除了所通告的目的地是一个ASBR而不是一个网络外,其他同NetworkSummary LSA. 
       5.类型5:AS External LSA:发自ASBR路由器,用来通告到达OSPF自主系统外部的目的地,或者OSPF自主系统那个外部的缺省路由的LSA.这种LSA将在全AS内泛洪 
       6.类型6:Group Membership LSA 
       7.类型7:NSSA External LSA:来自非完全Stub区域(not-so-stubby area)内ASBR路由器始发的LSA通告它只在NSSA区域内泛洪,这是与LSA-Type5的区别.
       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)
       八.OSPF末梢区域
      由于并不是每个路由器都需要外部网络的信息,为了减少LSA泛洪量和路由表条目,就创建了末节区域,位于Stub边界的ABR将宣告一条默认路由到所有的Stub区域内的内部路由器.
       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的最佳选择.
      e)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的NSSAExternal LSA,它将不会转换成类型5的LSA,并且这个类型7的LSA里的目标地址也不会被宣告到NSSA的外部NSSA在IOS11.2后支持.
      f)totally stub area完全的stub区域,连类型3的LSA也不接收。
      OSPF的包类型:
      类型号 包 作用 可靠性
      1 HELLO 1、用于发现邻居2、建立邻接关系3、维持邻接关系4、确保双向通信 5、选举DR和BDR 
      2 Database Description 数据库的描述 DBD 可靠
      3 Link-state Request 链路状态请求包 LSR 可靠
      4 Link-state Update 链路状态更新包 LSU 可靠
      5 Link-state Acknowledment 链路状态确认包 LSACK 
      AS 自治系统(autonomous system):一组相互管理下的网络,它们共享同一个路由选择方法,自治系统由地区再划分并必须由IANA分配一个单独的16位数字。地区通常连接到其他地区,使用路由器创建一个自治系统。
       OSPF单区域及多区域的基本配置命令
      配置LOOPBACK接口地址
      ROUTER(config)#interface loopback 0
      ROUTER(config)#ip address IP地址 掩码
      1.ospf区域的配置
      router ospf 100
      network 192.168.1.0 0.0.0.255 area 0
      router-id 192.168.2.1 手动设置router-id
      area 1 default-cost 50 手动设置开销
      #clean ip ospf process 
      2.配置ospf明文认证
      interface s0
      ip ospf authentication
      ip ospf authentication-key <密码>
      3.配置ospf密文认证
      interface s0
      ip ospf authentication
      ip ospf message-digest-key 1 md5 7 <密码>
      4.debug ip ospf adj 开启ospf调试
      show ip protocols
      show ip ospf interface s0
      5.手动配置接口花销,带宽,优先级
      inter s0
      ip ospf cost 200
      bandwith 100
      ip ospf priority 0
      6.虚链路的配置
      router ospf 100
      area <area-id> virtual-link <router-id> 
      show ip ospf virtual-links 
      Show ip ospf border-routers
      Show ip ospf process-id 
      Show ip ospf database 
      show ip ospf database nssa-external 
      7.OSPF路由归纳
      Router ospf 1//对ASBR外部的路由进行路由归纳
      Summary-address 200.9.0.0 255.255.0.0
      Router ospf 1//执行AREA1到AREA0的路由归纳
      Area 1 range 192.168.16.0 255.255.252.0
      8.配置末节区域
      IR area <area-id> stub
      ABR area <area-id> stub
      9.配置完全末节区域
      IR area <area-id> stub
      ABR area <area-id> stub no-summary
      10.配置NSSA
      ASBR router ospf 100
      area 1 nssa 
      ABR router ospf 100
      area 1 nssa default-information-orrginate

    扩展阅读:
    1. www.net130.com
    2.RFC 2178: OSPF Version 2
    3.Routing TCP/IP Volume 1 Second Edtion
    开放分类:
    网络协议

    展开全文
  • OSPF协议介绍

    万次阅读 多人点赞 2019-06-17 14:07:24
    路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,它的使用不受任何厂商限制,所有人都可以使用,所以称为开放的,而最短路径优先(SPF)只是OSPF的核心思想,其...

    概述

    路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,它的使用不受任何厂商限制,所有人都可以使用,所以称为开放的,而最短路径优先(SPF)只是OSPF的核心思想,其使用的算法是Dijkstra算法,最短路径优先并没有太多特殊的含义,并没有任何一个路由协议是最长路径优先的,所有协议,都会选最短的。

    • OSPF的流量使用IP协议号89。
    • OSPF工作在单个AS,是个绝对的内部网关路由协议(Interior Gateway Protocol,即IGP)。
    • OSPF对网络没有跳数限制,支持 Classless Interdomain Routing (CIDR)和Variable-Length Subnet Masks (VLSMs),没有自动汇总功能,但可以手工在任意比特位汇总,并且手工汇总没有任何条件限制,可以汇总到任意掩码长度。
    • OSPF支持认证,并且支持明文和MD5认证;OSPF不可以通过Offset list来改变路由的metric。
    • OSPF并不会周期性更新路由表,而采用增量更新,即只在路由有变化时,才会发送更新,并且只发送有变化的路由信息;事实上,OSPF是间接设置了周期性更新路由的规则,因为所有路由都是有刷新时间的,当达到刷新时间阀值时,该路由就会产生一次更新,默认时间为1800秒,即30分钟,所以OSPF路由的定期更新周期默认为30分钟。
    • OSPF所有路由的管理距离(Ddministrative Distance)为110,OSPF只支持等价负载均衡。
    • 距离矢量路由协议的根本特征就是自己的 路由表是完全从其它路由器学来的,并且将收到的路由条目一丝不变地放进自己的路由表,运行距离矢量路由协议的路由器之间交换的是路由表,距离矢量路由协议 是没有大脑的,路由表从来不会自己计算,总是把别人的路由表拿来就用;而OSPF完全抛弃了这种不可靠的算法,OSPF是典型的链路状态路由协议,路由器之间交换的并不是路由表,而是链路状态,OSPF通过获得网络中所有的链路状态信息,从而计算出到达每个目标精确的网络路径。

    术语

    Router-id

    必须给每一个OSPF路由器定义一个身份,就相当于人的名字,这就是Router-ID,并且Router-ID在网络中绝对不可以有重名,否则路由器收到的链路状态,就无法确定发起者的身份,也就无法通过链路状态信息确定网络位置,OSPF路由器发出的链路状态都会写上自己的Router-ID,可以理解为该链路状态的签名,不同路由器产生的链路状态,签名绝不会相同。
    每一台OSPF路由器只有一个Router-ID,Router-ID使用IP地址的形式来表示,确定Router-ID的方法为:
    1 .手工指定Router-ID。
    2 .路由器上活动Loopback接口中IP地址最大的,也就是数字最大的,如C类地址优先于B类地址,一个非活动的接口的IP地址是不能被选为Router-ID的。
    3 .如果没有活动的Loopback接口,则选择活动物理接口IP地址最大的。

    如果一台路由器收到一条链路状态,无法到达该Router-ID的位置,就无法到达链路状态中的目标网络。
    Router-ID只在OSPF启动时计算,或者重置OSPF进程后计算。

    Cost

    OSPF使用接口的带宽来计算Metric,例如一个10 Mbit/s的接口,计算Coast的方法为:
    将10 Mbit换算成bit,为10 000 000 bit,然后用10000 0000除以该带宽,结果为 10000 0000/10 000 000 bit = 10,所以一个10 Mbit/s的接口,OSPF认为该接口的Metric值为10,需要注意的是,计算中,带宽的单位取bit/s,而不是Kbit/s,例如一个100 Mbit/s的接口,Cost 值为 10000 0000 /100 000 000=1,因为Cost值必须为整数,所以即使是一个1000 Mbit/s(1GBbit/s)的接口,Cost值和100Mbit/s一样,为1。如果路由器要经过两个接口才能到达目标网络,那么很显然,两个接口的Cost值要累加起来,才算是到达目标网络的Metric值,所以OSPF路由器计算到达目标网络的Metric值,必须将沿途中所有接口的Cost值累加起来,在累加时,同EIGRP一样,只计算出接口,不计算进接口。

    • OSPF会自动计算接口上的Cost值,但也可以通过手工指定该接口的Cost值,手工指定的优先于自动计算的值。
    • OSPF计算的Cost,同样是和接口带宽成反比,带宽越高,Cost值越小。到达目标相同Cost值的路径,可以执行负载均衡,最多6条链路同时执行负载均衡。

    链路(Link)

    就是路由器上的接口,在这里,应该指运行在OSPF进程下的接口。

    链路状态(Link-State)

    链路状态(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子网掩码,网络类型,Cost值等等,OSPF路由器之间交换的并不是路由表,而是链路状态(LSA),OSPF通过获得网络中所有的链路状态信息,从而计算出到达每个目标精确的网络路径。OSPF路由器会将自己所有的链路状态毫不保留地全部发给邻居,邻居将收到的链路状态全部放入链路状态数据库(Link-State Database),邻居再发给自己的所有邻居,并且在传递过程种,绝对不会有任何更改。通过这样的过程,最终,网络中所有的OSPF路 由器都拥有网络中所有的链路状态,并且所有路由器的链路状态应该能描绘出相同的网络拓朴。

    OSPF区域

    因为OSPF路由器之间会将所有的链路状态(LSA)相互交换,毫不保留,当网络规模达到一定程度时,LSA将形成一个庞大的数据库,势必会给OSPF计算带来巨大的压力;为了能够降低OSPF计算的复杂程度,缓存计算压力,OSPF采用分区域计算,将网络中所有OSPF路由器划分成不同的区域,每个区域负责各自区域精确的LSA传递与路由计算,然后再将一个区域的LSA简化和汇总之后转发到另外一个区域,这样一来,在区域内部,拥有网络精确的LSA,而在不同区域,则传递简化的LSA。区域的划分为了能够尽量设计成无环网络,所以采用了Hub-Spoke的拓朴架构,也就是采用核心与分支的拓朴
    ospf_area
    ospf_area
    区域的命名可以采用整数数字,如1、2、3、4,也可以采用IP地址的形式,0.0.0.1、0.0.0.2,因为采用了Hub-Spoke的架构,所以必须定义出一个核心,然后其它部分都与核心相连,OSPF的区域0就是所有区域的核心,称为BackBone 区域(骨干区域),而其它区域称为Normal 区域(常规区域),在理论上,所有的常规区域应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与常规区域之间即使直连也无法互换LSA,如上图中Area 1、Area 2、Area 3、Area 4只能和Area 0互换LSA,然后再由Area 0转发,Area 0就像是一个中转站,两个常规区域需要交换LSA,只能先交给Area 0,再由Area 0转发,而常规区域之间无法互相转发。
    OSPF区域是基于路由器的接口划分的,而不是基于整台路由器划分的,一台路由器可以属于单个区域,也可以属于多个区域.
    ospf_area
    ospf_area
    如果一台OSPF路由器属于单个区域,即该路由器所有接口都属于同一个区域,那么这台路由器称为Internal Router(IR),如上图中的R2,R3和R4;如果一台OSPF路由器属于多个区域,即该路由器的接口不都属于一个区域,那么这台路由器称为Area Border Router (ABR),如上图中的R1,ABR可以将一个区域的LSA汇总后转发至另一个区域;如果一台OSPF路由器将外部路由协议重分布进OSPF,那么这台路由器称为Autonomous System Boundary Router (ASBR),如上图中,R5将EIGRP重分进OSPF,那么R5就是ASBR,但是如果只是将OSPF重分布进其它路由协议,则不能称为ASBR。

    可以配置任何OSPF路由器成为ABR或ASBR。

    由于OSPF有着多种区域,所以OSPF的路由在路由表中也以多种形式存在,共分以下几种:

    • 如果是同区域的路由,叫做Intra-Area Route,在路由表中使用O来表示;
    • 如果是不同区域的路由,叫做Inter-Area Route或Summary Route,在路由表中使用O IA来表示;
    • 如果并非OSPF的路由,或者是不同OSPF进程的路由,只是被重分布到OSPF的,叫做External Route,在路由表中使用O E2或OE 1来表示。

    当存在多种路由可以到达同一目的地时,OSPF将根据先后顺序来选择要使用的路由,所有路由的先后顺序为:
    Intra-Area — Inter-Area — External E1 — External E2,即 O — O IA — O E1 — O E2。

    一台路由器可以运行多个OSPF进程,不同进程的OSPF,可视为没有任何关系,如需要获得相互的路由信息,需要重分布。
    每个OSPF进程可以有多个区域,而路由器的链路状态数据库是分进程和分区域存放的。

    邻居(Neighbor)

    OSPF只有邻居之间才会交换LSA,路由器会将链路状态数据库中所有的内容毫不保留地发给所有邻居,要想在OSPF路由器之间交换LSA,必须先形成OSPF邻居,OSPF邻居靠发送Hello包来建立和维护,Hello包会在启动了OSPF的接口上周期性发送,在不同的网络中,发送Hello包的间隔也会不同,当超过4倍的Hello时间,也就是Dead时间过后还没有收到邻居的Hello包,邻居关系将被断开。
    两台OSPF路由器必须满足4个条件,才能形成OSPF邻居,4个必备条件如下:
    1.Area-id(区域号码)
    即路由器之间必须配置在相同的OSPF区域,否则无法形成邻居。
    2.Hello and Dead Interval(Hello时间与Dead时间)
    即路由器之间的Hello时间和Dead时间必须一致,否则无法形成邻居。
    3.Authentication(认证)
    路由器之间必须配置相同的认证密码,如果密码不同,则无法形成邻居。
    4.Stub Area Flag(末节标签)
    路由器之间的末节标签必须一致,即处在相同的末节区域内,否则无法形成邻居。

    OSPF只能使用接口的Primary地址建立邻居,不能使用Secondary建立邻居。
    路由器双方接口要么都为手工配置地址(Numbered),要么都为借用地址(Unnumbered),否则无法建立邻居。

    邻接(Adjacency)

    两台OSPF路由器能够形成邻居,但并不一定能相互交换LSA,只要能交换LSA,关系则称为邻接(Adjacency)。邻居之间只交换Hello包,而邻接(Adjacency)之间不仅交换Hello包,还要交换LSA。

    DR/BDR

    当多台OSPF路由器连到同一个多路访问网段时,如果每两台路由器之间都相互交换LSA,那么该网段将充满着众多LSA条目,为了能够尽量减少LSA的传播数量,通过在多路访问网段中选择出一个核心路由器,称为DR(Designated Router),网段中所有的OSPF路由器都和DR互换LSA,这样一来,DR就会拥有所有的LSA,并且将所有的LSA转发给每一台路由器;DR就像是该网段的LSA中转站,所有的路由器都与该中转站互换LSA,如果DR失效后,那么就会造成LSA的丢失与不完整,所以在多路访问网络中除了选举出DR之外,还会选举出一台路由器作为DR的备份,称为BDR(Backup Designated Router),BDR在DR不可用时,代替DR的工作,而既不是DR,也不是BDR的路由器称为Drother,事实上,Dother除了和DR互换LSA之外,同时还会和BDR互换LSA
    ospf_dr_drother
    ospf_dr_drother.png
    上图中R1被选为DR,R2被选为BDR,而R3和R4为Drother,R3同时和R1与R2互换LSA,R4也同时和R1与R2互换LSA,但R3与R4却不能互换LSA。
    其实不难看出,DR与BDR并没有任何本质与功能的区别,只有在多路访问的网络环境,才需要DR和BDR,DR与BDR的选举是在一个二层网段内选举的,即在多个路由器互连的接口范围内,与OSPF区域没有任何关系,一个区域可能有多个多路访问网段,那么就会存在多个DR和BDR,但一个多路访问网段,只能有一个DR和BDR;选举DR和BDR的规则为:
    比较接口优先级
    选举优先级最高的成为DR,优先级数字越大,表示优先级越高,被选为DR的几率就越大,次优先级的为BDR,优先级范围是0-255,默认为1,优先级为0表示没有资格选举DR和BDR。
    Route-Id大小
    如果在优先级都相同的情况下,Route-Id 最大的成为DR,其次是BDR,数字越大,被选为DR的几率就越大。

    因为所有路由器都能与DR和BDR互换LSA,所以所有路由器都与DR和BDR是邻接(Adjacency)关系,而Drother与Drother之间无法互换LSA,所以Drother与Drother之间只是邻居关系。

    在一个多路访问网络中,选举DR和BDR是有时间限制的,该时间为Wait时间,默认为4倍的Hello时间,即与Dead时间相同,如果OSPF路由器在超过Wait时间后也没有其它路由器与自己竞争DR与BDR的选举,那么就选自己为DR;当一个多路访问网络中选举出DR与BDR之后,在DR与BDR没有失效的情况下,不会进行重新选举,也就是在选举出DR与BDR之后,即使有更高优先级的路由器加入网络,也不会影响DR与BDR的角色,在越出选举时间(Wait时间)后,只有DR与BDR失效后,才会重新选举。DR失效后,会同时重新选举DR与BDR,而在BDR失效后,只会重新选举BDR。
    DR和BDR与Drother的数据包处理会有所不同
    所有OSPF路由器,包括DR与BDR,都能够接收和传递目标地址为224.0.0.5的数据包。
    只有DR和BDR才能接收和传递目标地址为224.0.0.6的数据包。
    由此可见,Drother路由器将数据包发向目标地址224.0.0.6,只能被DR和BDR接收,其它Drother不能接收;而DR和BDR将数据包发向目标地址224.0.0.5,可以被所有路由器接收。

    OSPF数据包交换过程

    从OSPF建立邻居,到LSA的互换,到路由表的计算,需要经过一系列的数据包交换过程,过程如下:
    **
    Hello

    Database Description Packets (DBD)

    Link-state Request (LSR)

    Link-state update(LSU)

    LSDB
    **
    具体情况如下:

    Hello

    Hello包是用来建立和维护OSPF邻居的,要交换LSA,必须先通过Hello包建立OSPF邻居。

    Database Description Packets (DBD)

    邻居建立之后,并不会立刻就将自己链路状态数据库中所有的LSA全部发给邻居,而是将LSA的基本描述信息发给邻居,这就是Database Description Packets (DBD),是LSA的目录信息,相当于书的目录,邻居在看完DBD之后,就能知道哪些LSA是需要邻居发送给自己的。

    Link-state Request (LSR)

    邻居在看完发来的LSA描述信息(DBD)之后,就知道哪些LSA是需要邻居发送给自己的,自己就会向邻居发送LSA请求(LSR),告诉邻居自己需要哪些LSA。

    Link-state update(LSU)

    当邻居收到其它路由器发来的LSA请求(LSR)之后,就知道对方需要哪些LSA,然后根据LSR,将完整的LSA内容全部发给邻居,以供计算路由表。

    LSDB

    就是已经收到了所有需要邻居发给自己的LSA,这时的链路状态数据库已经达到收敛状态。

    OSPF启动过程

    路由器从启动OSPF进程,到根据链路状态数据库计算出路由表,同样需要经历一系列的启动过程,总共有8种可能的启动过程,但并不是一定会经历这8个过程,具体过程如下:
    Down → Attempt → Init → Two-way → Exstart → Exchange → Loading → Full

    每个过程详细情况如下:

    Down

    路由器刚刚启动OSPF进程,还没有从任何路由器收到任何数据包,Hello包也没有收到,在此进程,可以向外发送Hello包,以试图发现邻居。

    Attempt

    因为OSPF使用组播发送数据包,如使用组播发送Hello包,如果Hello包不能发出去被其它路由器收到,就不能和其它路由器建立OSPF邻居;在一些组播不能发送的网络中,例如帧中继这样的非广播网络环境,组播不能够传递,在这种情况下,就需要指定OSPF使用单播向邻居发送Hello包,以此试图和指定的邻居建立OSPF邻居关系,在此状态下,OSPF称为Attempt状态。

    Init

    只是OSPF路由器一方收到了另一方的Hello,但并没有双方都交换Hello,也就是对方的Hello中还没有将自己列为邻居。

    Two-way

    双方都已经交换了Hello信息,并且从Hello中看到对方已经将自己列为邻居,此状态,就表示OSPF邻居关系已经建立,并且如果是需要选举DR和BDR的话,也已经选举出来,但OSPF邻居之间并不一定就会交换LSA,如果不需要交换LSA,则永远停留在此状态,如果需要形成邻接并互相交换LSA,则状态继续往下进行。(比如Drother与Drother之间将永远停留在Two-way状态,因为Drother与Drother之间不需要交换LSA。)

    Exstart

    因为在OSPF邻居之间交换完整的LSA之前,会先发送Database Description Packets (DBD),Link-state Request (LSR)等数据包,邻居之间是谁先发,谁后发,需要确定顺序,在Exstart状态,就是确定邻居之间的主从关系(Master—Slave关系),Router-ID数字大的为主路由器,另一端为从路由器,由主路由器先向从路由器发送信息。在选举DR与BDR的网络环境中,并不一定DR就是主路由器,BDR就是从路由器,因为DR和BDR可以通过调整接口优先级来控制,所以DR也许是因为优先级比BDR高,而Router-ID并不比BDR高。

    在任何网络环境下,OSPF在交换LSA之前,都需要确定主从关系。

    Exchange

    就是交换Database Description Packets (DBD)的过程,DBD只是LSA的简单描述,只包含LSA的一些头部信息,收到DBD的路由器会和自己的链路状态数据库作对比,确定需要哪些LSA的完整信息,就会发送LSR请求给邻居。

    Loading

    邻居根据收到的LSR(Link-State Request),向对方回复Link-state update(LSU)。

    Full

    等到OSPF都收到了邻居回复的所有Link-state update(LSU),那么此时的数据库状态就变成了收敛状态,此状态就是Full状态,但此时只是数据库已经同步,但路由表却还在计算当中。

    除了Two-way和Full这两个状态,邻居停留在任何状态,都是不正常。

    OSPF网络类型(Network Type)

    OSPF是一个在各方面都考虑比较周全的路由协议,也会因此将该协议变得更为复杂化,OSPF并不像RIP与EIGRP那样,RIP与EIGRP在运行时,并不考虑OSI模型在二层所定义的内容,即并不关心二层的链路介质类型,而OSPF在运行时,必须考虑链路层的类型,称为OSPF网络类型(Network Type),对于不同二层介质类型,OSPF将有不同的操作和运行过程,网络类型,可分为如下几种:

    • 点到点(Point-To-Point)
    • 点到多点(Point-To-Multipoint )
    • 广播(Broadcast )
    • 非广播(Non-Broadcast )
    • 点到多点非广播(Point-To-Multipoint Non-Broadcast)

    对于不同的网络类型,将会影响到OSPF的Hello时间与Dead时间,关系到DR与BDR的选举与否,影响到OSPF邻居是自动建立还是手工建立,总结如下:

    网络类型Hello时间选举DR/BDR邻居建立方式
    点到点(p2p)10s自动
    点到多点(p2mp)30s自动
    广播(Boradcast)10s自动
    非广播(Non-B)30s手工
    点到多点非广播(p2mp-Non-B)30s手工

    OSPF网络类型(Network Type)是根据二层链路层的介质决定的,但也可以手工定义网络类型,因此可以在各类型之间手工切换。
    OSPF邻居的成功建立,并不要求双方网络类型一致,但双方网络类型不一致,将可能导致链路状态数据库中的条目无法进入路由表。

    OSPF链路类型(Link Type)

    OSPF确实因为考虑问题的全面,而导致路由协议的复杂,OSPF不仅因为不同的二层链路层介质定义了不同的OSPF网络类型(Network Type),还因为链路上的邻居,而定义了OSPF链路类型(Link Type) 。

    OSPF网络类型(Network Type)是完全根据二层链路层的介质决定的,而OSPF链路类型(Link Type)不仅受二层链路层介质的影响,还受到链路中OSPF邻居的影响,同时还影响到LSA,因此变得复杂。

    OSPF链路类型(Link Type)不会影响人们操作OSPF,所以可以选择不深入理解OSPF链路类型(Link Type),但OSPF网络类型(Network Type)却影响到OSPF的操作,OSPF网络类型(Network Type)必须理解和牢记。
    OSPF链路类型(Link Type)与OSPF网络类型(Network Type)没有对应关系,没有因果关系.

    OSPF链路类型(Link Type)分为以下几种:

    Stub Network Link

    在一个网段中只有一台OSPF路由器的情况下,该网段被OSPF链路类型定义为Stub Network Link;因为一个网段中只有一台OSPF路由器,所以在这个网段就不可能有OSPF邻居,一个接口被通告进OSPF,无论其二层链路是什么介质,只要在该接口上没有OSPF邻居,那么就是Stub Network Link;Loopback接口永远被定义为Stub Network Link,默认使用32位掩码表示,无论将Loopback接口改为哪种OSPF网络类型(Network Type),始终改变不了它的OSPF链路类型(Link Type)属性,但可以改变它在LSA中的掩码长度。

    Point-To-Point Link

    OSPF网络类型(Network Type)为Point-To-Point的接口,OSPF链路类型(Link Type)为Point-To-Point Link,但Loopback接口除外;而网络类型为点到多点(Point-To-Multipoint)的接口,同样链路类型也为Point-To-Point Link。

    Point-To-Point Link可以是手工配置的地址(Numbered),也可以是借用的地址(Unnumbered),也可以是物理接口或逻辑子接口。

    Transit Link

    拥有两台或两台以上OSPF路由器的链路,简单理解为有邻居的OSPF接口就是Transit Link,但网络类型为Point-To-Point和点到多点(Point-To-Multipoint)的接口除外,因为它们被定义为Point-To-Point Link。

    Virtual link

    就是OSPF虚链路(Virtual Link),但希奇的是,虚链路(Virtual Link)被定义为手工配置的地址(Numbered)的Point-To-Point Link。

    OSPF外部路由

    OSPF同其它路由协议一样,可以将其它外部协议的路由信息或其它OSPF进程的路由信息重分布进自己的域内,这样的路由在OSPF域内就是OSPF外部路由(External Route),在路由表中的表示方法和OSPF自己的路由会有所不同,因为OSPF外部路由可以分为两类,分为Type 2和Type 1,所以在路由表中分别表示为OE2和OE1。

    OE2与OE1在路由条目上没有任何区别,只是对于路由的Metric值计算有区别;类型为OE2的外部路由,在该路由进入OSPF之前的Metric值为多少,进入OSPF域后,所有OSPF路由器看到关于该路由的Metric值全部相同,不会再为该路由增加任何Metric值,OE2默认Metric值为20。而OE1的路由在OSPF路由器上的Metric值包含该路由进入OSPF域之前的Metric值,再加上在OSPF域内传递的Metric值,也就是到达外部路由的Metric值为到达ASBR的Metric值再加上进入OSPF域之前的Metric值之和,不同OSPF路由器看到OE1的路由的Metric值可能会有不同。如下图:
    ospf_oe1_oe2
    ospf_oe1_oe2.png
    在上图中,R5将EIGRP重分布进OSPF,如果使用OE2类型重分布进OSPF,并且取默认Metric值20,那么OSPF域内的路由器R1,R2,R3,R4,R5看到外部路由的Metric值全部都为20,不会有任何变化。如果使用OE1类型重分布进OSPF,并且取默认Metric值20,那么OSPF域内的路由器在计算Metric值时,还会在原有Metric值的基础上,再加上到达ASBR(R5)所需的Metric值,假设R1选择从R3到R5再到外部路由,那么R1到外部路由的Metric值为20+1+10=31,所以使用OE2时,R1到外部路由的Metric值为20,而在使用OE1时,R1到外部路由的Metric值为31。

    所以必须给每一个OSPF路由器定义一个身份,就相当于人的名字,这就是Router-ID,并且Router-ID在网络中绝对不可以有重名,否则路由器收到的链路状态,就无法确定发起者的身份,也就无法通过链路状态信息确定网络位置,OSPF路由器发出的链路状态都会写上自己的Router-ID,可以理解为该链路状态的签名,不同路由器产生的链路状态,签名绝不会相同。

    之前说过,每一台OSPF路由器都有一个Router-ID,在自己产生LSA时,都会在LSA中写上自己的Router-ID,表示LSA的身份,类似于签名,如果一台路由器收到一条链路状态,无法到达该Router-ID的位置,就无法到达链路状态中的目标网络。其实,在同区域内,每台OSPF路由器的Router-ID对于每一台路由器都是可达的,因为同区域内会有精确的LSA信息,包含Router-ID,但需要说明,同区域路由器的Router-ID并不是单独通过LSA来通告的,而是通过精确的LSA计算出来的,也就是说Router-ID的位置是推算出来的,但您放心,这不会有错;因为同区域路由器的Router-ID都有精确的路径信息,所以网络是通畅的,然而,不同区域的OSPF路由器,Router-ID是不知道的,也可以理解为Router-ID不会跨区域传递,那么是否就意味着不同区域的路由是不可达的呢?答案当然是可达的,只要同区域所有路由器可达,那么不同区域自然就是可达的,理由是,不同区域是通过ABR相连的,因为ABR连接着不同区域,所以只要各个区域路由器和ABR是通的,那么不同区域当然可以实现网络连通,所以,ABR在将一个区域的LSA转发至另一个区域时,产生该LSA的Router-ID就不再是原来的Router-ID,会被修改为ABR的Router-ID,这样一来,和ABR相通的路由器只要到达ABR,就能到达其它区域;如下图所示:
    ospf_abr
    ospf_abr.png
    上图中,R2和R3是ABR,Area 0一定拥有全网的LSA,R2可以在Area 0与Area 2之间转发LSA,而R3可以在Area 0与Area 1之间转发LSA,但是对于其它区域的路由,R1无法到达,因为R1只有Area 2每台路由器的Router-ID,R4的情况同样如此;最终结果是,R2在将Area 0的LSA转发给Area 2时,已经将所有LSA的Router-ID改成了自己的,所以所有的路由对于R1来说,只要交给ABR(R2)即可,因为R2能够全网可达,在Area 1也是一样,R3在将Area 0的LSA转发给Area 1时,已经将所有LSA的Router-ID改成了自己的,所以所有的路由对于R4来说,只要交给ABR(R3)即可,由此可见,OSPF中,不同区域之间的路由互通,是由于ABR在转发区域是的LSA时,将LSA的Router-ID改成了自己的Router-ID,才使得该区域可以与其它区域通信,如果没有ABR这种自动修改Router-ID的行为,那么OSPF不同区域间将会无法通信。

    对于外部路由,执行重分布的路由器同样需要在LSA中写上自己的Router-ID,其实就是ASBR的Router-ID,因为外部路由会在多个OSPF区域之间传递,所以会被多个ABR转发,而ABR在转发外部路由的LSA时,是没有权限修改LSA的Router-ID,这样一来,外部路由的Router-ID在所有OSPF路由器上都不会改变,永远是ASBR的Router-ID,最终造成的结果是只有与ASBR同在一个区域的路由器才能到达外部路由,因为只有与ASBR同在一个区域的路由器才知道如何到达ASBR的Router-ID,而其它区域的路由器对此却无能为力;为了能够让OSPF所有区域都能与外部路由连通,在ABR将外部路由从ASBR所在的区域转发至其它区域时,需要发送单独的LSA来告知如何到达ASBR的Router-ID,因为ABR将外部路由的LSA告诉了其它区域,是有义务让它们与外部路由可达的,所以额外发送了单独的LSA来告知如何到达ASBR的Router-ID;从这里也可以看出,任何一个ASBR所在区域外的其它区域,都必须靠ABR通告一条通往ASBR 的Router-ID的LSA,此LSA就是后面将会详细解释的LSA 类型的第4类。如下图:
    ospf_asbr
    ospf_asbr.png
    在上图中,因为ASBR(R4)将外部路由(EIGRP)重分布进OSPF后,自己的Router-ID对于Area 1的所有路由器是可达的,但对于Area 2和Area 0中的路由器是不可达的,所以在ABR将外部路由的LSA发向Area 0和Area 2时,会额外通过单独的LSA 4将ASBR(R4)的Router-ID发向这些区域。

    OSPF外部路由有许多是需要理解的地方,外部LSA的Forward Address是一个其它LSA没有的特征,每一条外部LSA都带有一个Forward Address,该地址是用来告诉收到此LSA的路由器如何到达外部路由,那么一条外部路由的LSA,Forward Address究竟该是什么地址呢?在ASBR的路由表中,外部路由的下一跳地址是什么,那么在外部路由的LSA中Forward Address就是什么,但是OSPF内部路由器是通过Forward Address来到达外部路由的,如果它们连这个Forward Address都到达不了,比如Forward Address本身就是外部路由而不包含在OSPF进程中,那么可想而知,Forward Address的意义等于0,所以,如果ASBR的路由表中,外部路由的下一跳地址是OSPF进程自己的路由,那么外部路由LSA的Forward Address就是该地址,所有OSPF内部路由器则通过该地址去往外部路由,但如果ASBR的路由表中,外部路由的下一跳地址不在OSPF进程中,那么该地址对于其它所有OSPF路由器都不可达,这时,ASBR就将外部路由LSA的Forward Address设置为0.0.0.0,当Forward Address为0.0.0.0时,所有OSPF路由器通过外部LSA的Router-ID去往外部路由;如下图所示:
    ospf_forward_address
    ospf_forward_address.png
    在上图中,当R5(ASBR)将外部路由EIGRP重分布进OSPF时,因为R5到达外部路由的下一跳地址是56.1.1.6,如果该地址的网段被通告进OSPF进程,那么此时外部路由的Forward Address就是56.1.1.6,所有OSPF路由器通过去往地址56.1.1.6来去往外部路由;但如果该地址并不在OSPF进程中,那么外部路由的Forward Address就是0.0.0.0,则所有OSPF路由器通过去往ASBR(R5)的Router-ID去往外部路由。

    重分布外部路由时,默认类型为O E2,如果通过两个ASBR能到达相同的外部路由,选择O E1的优先,其次是O E2,但如果都为O E1或O E2,则选择到达Forward Address最小Metric的路径优先,如果Forward Address都为0.0.0.0,最后选择到达ASBR最小Metric的路径优先,但如果Forward Address地址一个为0.0.0.0,一个为真实地址,统一比较到ASBR的Metric。

    OSPF末节区域

    如果路由增加,就意味着LSA的增加,有时,在一个末梢网络中,许多路由信息是多余的,并不需要通告进来,因为一个OSPF区域内的所有路由器都能够通过该区域的ABR去往其它OSPF区域或者OSPF以外的外部网络,既然一个区域的路由器只要知道去往ABR,就能去往区域外的网络,所以可以过滤掉区域外的路由进入某个区域,这样的区域称为OSPF末节区域(Stub Area);一个末节区域的所有路由器虽然可以从ABR去往区域外的网络,但路由器上还是得有指向ABR的路由,所以末节区域的路由器只需要有默认路由,而不需要明细路由,即可与区域外的网络通信,根据末节区域过滤掉区域外的不同路由,可将末节区域分为如下四类:

    • Stub Area(末节区域)
    • Totally Stub Area(完全末节区域)
    • Not-so-Stubby Area(NSSA)
    • Totally Not-so-Stubby Area(Totally NSSA)

    各类型的特征如下:

    Stub Area(末节区域)

    在Stub Area(末节区域)下,ABR将过滤掉所有外部路由进入末节区域,同时,末节区域内的路由器也不可以将外部路由重分布进OSPF进程,即末节区域内的路由器不可以成为ASBR,但其它OSPF区域的路由(Inter-Area Route)可以进入末节区域,由于没有去往外部网络的路由,所以ABR会自动向末节区域内发送一条指向自己的默认路由,如下图:
    ospf_stub_area
    ospf_stub_area.png

    Totally Stub Area(完全末节区域)

    在Totally Stub Area(完全末节区域)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入完全末节区域,同时,末节区域内的路由器也不可以将外部路由重分布进OSPF进程,即完全末节区域内的路由器不可以成为ASBR,由于没有去往外部网络的路由,所以ABR会自动向完全末节区域内发送一条指向自己的默认路由,如下图:
    ospf_totally_stub_area
    ospf_totally_stub_area.png

    可以发现,末节区域与完全末节区域的不同之处在于,末节区域可以允许其它OSPF区域的路由(Inter-Area Route)进入,而完全末节区域却不可以。

    Not-so-Stubby Area(NSSA)

    在Not-so-Stubby Area(NSSA)下,ABR将过滤掉所有外部路由进入末节区域,同时也允许其它OSPF区域的路由(Inter-Area Route)进入NSSA区域,并且路由器还可以将外部路由重分布进OSPF进程,即NSSA区域内的路由器可以成为ASBR,由于自身可以将外部网络的路由重分布进OSPF进程,所以ABR不会自动向NSSA区域内发送一条指向自己的默认路由,但可以手工向NSSA域内发送默认路由,并且只可在ABR上发送默认路由;如下图:
    ospf_NSSA
    ospf_NSSA.png

    NSSA与末节区域的最大区别在于,NSSA区域可以允许自身将外部路由重分布进OSPF,而末节区域则不可以。

    Totally Not-so-Stubby Area(Totally NSSA)

    在Totally Not-so-Stubby Area(Totally NSSA)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入Totally NSSA区域,但路由器可以将外部路由重分布进OSPF进程,即Totally NSSA区域内的路由器可以成为ASBR,由于没有去往其它OSPF区域的路由,所以ABR会自动向Totally NSSA内发送一条指向自己的默认路由,如下图:
    ospf_totally_NSSA
    ospf_totally_NSSA.png

    Totally NSSA与NSSA的区别在于,NSSA区域可以允许其它OSPF区域的路由(Inter-Area Route)进入,而Totally NSSA区域却不可以,但Totally NSSA区域的ABR会自动向Totally NSSA区域内发送一条指向自己的默认路由。

    总结各区域的特征如下:

    区域类型接收区域间路由ABR是否发送默认路由是否可以重分布外部路由
    Stub Area
    Totally Stub Area
    NSSA
    Totally NSSA
    • 在末节区域下,ABR自动发出的默认路由,Metric值默认为1,可通过命令area area-id default-cost cost修改,默认路由除了默认的Cost值以外,还会累加真实接口的Cost值。
    • 骨干区域不能配置为任何末节区域。
    • 当将某个区域配置为末节区域后,则区域中所有路由器都必须配置为末节区域,因为配置为末节区域的路由器上所有接口发出的Hello包中都会有末节标签,所有如果对方没有末节标签,则不能成为邻居。

    OSPF LSA类型

    OSPF由于有着多种区域类型,多种网络类型,多种链路类型,多种路由器身份,所以LSA(Link-State Advertisements)也是多样的。
    在详细讲解LSA之前,需要重点说明,只有同一个区域内的LSA,才是精确的,区域外的LSA,并不一定包含所有必备的信息,因此,所有LSA知识信息,并不一定可以套用到每一类LSA。

    OSPF中共有11类LSA,而在CCIE的要求中,只需要理解1、2、3、4、5、7共6类即可,这些LSA会因为区域类型,网络类型,链路类型,路由器身份的不同而不同,以下是详细介绍:

    类型 1 (Router Link)

    类型1的LSA是任何一台OSPF路由器都会产生的,每一台OSPF路由器的每一个OSPF接口都会有自己的链路状态,但是每台OSPF路由器只能产生一条类型1的LSA,即使有多个OSPF接口,也只有一条类型1的LSA,因为所有OSPF接口的链路状态是被打包成一条类型1的LSA发送的。
    一个区域正是由于LSA 1的存在,才有精确的路由表,一个区域如果只有LSA 1,同样可以正常通信。LSA 1 只能在单个区域内传递,ABR不能将LSA 1转到发另外一个区域,并且没有任何权利修改LSA 1。

    类型 2 (Network Link)

    类型2的LSA只有在需要选举DR/BDR的网络类型中才会产生,并且只是DR产生,BDR没有权利产生,LSA 2与LSA 1没有任何关联,没有任何依存关系,是相互独立的。

    类型 3 (Summary Link)

    类型3的LSA就是将一个区域的LSA发向另一个区域时的汇总和简化,ABR其实就是将LSA 1汇总和简化,变成LSA 3后再发到另一个区域的,如果是详细完整的LSA 1,是绝不允许的,LSA 3是LSA 1的缩略版。

    类型 4 (ASBR Summary Link)

    对于外部路由,执行重分布的路由器ASBR在LSA中写上自己的Router-ID,然后传递到多个OSPF区域,所以会被多个ABR转发,而ABR在转发外部路由的LSA时,是没有权限修改LSA的Router-ID,这样一来,外部路由的Router-ID在所有OSPF路由器上都不会改变,永远是ASBR的Router-ID,最终造成的结果是只有与ASBR同在一个区域的路由器才能到达外部路由,因为只有与ASBR同在一个区域的路由器才知道如何到达ASBR的Router-ID,而其它区域的路由器对此却无能为力;为了能够让OSPF所有区域都能与外部路由连通,在ABR将外部路由从ASBR所在的区域转发至其它区域时,需要发送单独的LSA来告知如何到达ASBR的Router-ID,因为ABR将外部路由的LSA告诉了其它区域,是有义务让它们与外部路由可达的,所以额外发送了单独的LSA来告知如何到达ASBR的Router-ID;这个单独的LSA就是类型4的LSA,LSA 4是包含的ASBR 的Router-ID,只要不是ASBR所在的区域,都需要ABR发送LSA 4来告知如何去往ASBR。

    类型 5 (External Link)

    类型5的LSA就是外部路由重分布进OSPF时产生的,并且是由ASBR产生的,LSA中包含ASBR的Router-ID,任何路由器都不允许更改该Router-ID,LSA 5中还包含Forward Address,对于LSA 5 的Metric值计算与选路规则也有所不同,详细信息请见OSPF外部路由部分。

    类型 7 (NSSA Link)

    因为NSSA区域可以将外部路由重分布进OSPF进程,而NSSA不是一般的常规区域,所以在NSSA将外部路由重分布进OSPF时,路由信息使用类型7来表示,LSA 7由NSSA区域的ASBR产生,LSA 7也只能在NSSA区域内传递,如果要传递到NSSA之外的其它区域,需要同时连接NSSA与其它区域的ABR将LSA 7 转变成LSA 5后再转发。

    LSA各参数

    在LSA的内容中,将有多个参数来表示,这些参数会因为LSA类型,区域类型,网络类型,链路类型,路由器身份的不同而不同,是真正的变化多端,非常的复杂,这些参数在我们操作OSPF时,可以帮助我们更好的分析LSA,但并不会起决定性的作用,所以对LSA参数的理解与否,不会影响到OSPF的配置与排错,若无特殊要求,LSA参数需要大家了解即可,不需要掌握,不需要牢记。

    LSA中包含的参数有LS Type,Link State ID,Link ID,Link Data,具体如下:

    LS Type

    LS Type就是前面讲到的LSA类型,如LSA 1,LSA 2,LSA 3,LSA 4,LSA 5,LSA 7。

    Link State ID

    因为OSPF接口的链路状态,是使用LSA发送的,接口的相关信息,如网络号,掩码等等,它们算是LSA真正的内容,而LSA也是有简明信息的,或者说是LSA的标题,或者说是LSA的名称,这就是Link State ID,如果将LSA比作一个包裹,那么Link State ID就是包裹外面写的信息,比如包裹里是一件衣服,那么Link State ID可能就是写的衣服是什么牌子,什么尺寸,什么颜色,等等;但不同类型的LSA,其Link State ID的表示也会不同,如下表:

    LSA类型Link State ID内容
    LSA 1是产生LSA 1的路由器的Router-ID
    LSA 2因为LSA 2是由DR产生的,所以LSA 2的Link State ID是DR的接口地址
    LSA 3是目标网络的网络地址,其实这个等同于路由条目
    LSA 4是ASBR的Router-ID
    LSA 5是目标网络的网络地址,其实这个等同于路由条目

    Link ID

    Link ID是用来表示链路自己的,也就是表示OSPF接口自己,再换句话说,就是OSPF接口的链路状态,可以理解为LSA的内容部分。
    Link ID会因为链路类型(Link Type)的不同而不同,对于链路类型(Link Type)的详细解释,请参见前面部分。
    需要注意,Link ID的内容有时与Link State ID的内容相同,但Link ID并非完全等于Link State ID,因为Link State ID是由LSA类型的不同而不同,而Link ID是由Link Type的不同而不同。

    Link ID的具体内容如下表:

    链路类型(Link Type)Link ID内容
    Stub Network Link使用接口的网络号和子网掩码来表示
    Point-To-Point Link邻居的Router-ID
    Transit Link是DR的接口地址
    Virtual link同Point-To-Point Link,是邻居的Router-ID

    Link Data

    是接口上的IP地址,如果链路类型(Link Type)为Stub Network Link,则Link Data是子网掩码。

    OSPF虚链路(Virtual Link)

    因为OSPF采用了区域化的设计,并且区域也采用了Hub-Spoke的架构,所有区域中定义出一个核心,然后其它部分都与核心相连,OSPF的区域0就是所有区域的核心,称为BackBone 区域(骨干区域),而其它Normal 区域(常规区域)应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与常规区域之间即使直连也无法互换LSA,但在某些情况下,某些常规区域无法与骨干区域直连,这时便无法得到其它区域的路由,因此,设计了将骨干区域的范围通过虚拟的方法进行扩展到相邻常规区域的位置,因而让不能直接与骨干区域相连的区域,最终可以与骨干区域直连,这种对骨干虚拟的扩展和拉伸就是OSPF虚链路(Virtual Link)能实现的;因为某些常规区域不能与骨干区域直连而只能与其它常规区域直连,所以OSPF虚链路(Virtual Link)通过将相邻的常规区域虚拟为骨干区域,从而让那些不能与骨干区域直连的常规区域也能获得其它OSPF区域的路由。与骨干区域相邻的常规区域被扩展后,该区域被称为Transit Area,理论上Transit Area不应该为末节区域;在扩展后,原本为常规区域的Transit Area,将变成骨干区域,所以路由将从Inter-Area Route转变为Intra-Area Route,路由表示形式也将从O IA改变为O的形式;在进行OSPF虚链路扩展时,是将Transit Area中与骨干区域直连的ABR和连接另一个常规区域的ABR相连,连接这两个ABR时,使用双方的Router-ID来连接。如下图:
    ospf_virtual_link_1.png
    ospf_virtual_link_1.png
    在上图中,区域2只能与区域1直连,而无法与骨干区域直连,在这种情况下,由于常规区域与常规区域之间即使直连也无法互换LSA,所以R3虽然是ABR,但因为没有连接骨干区域,最后不可能将任何区域的LSA发进区域2,最终导致区域2无法外其它区域通信,在这种情况下,需要通过OSPF虚链路将骨干区域的范围扩展到相邻的区域1,如下图:
    ospf_virtual_link_2.png
    ospf_virtual_link_2.png
    在进行OSPF虚链路扩展后,区域1被虚拟成了骨干区域,而这时的R3等同于连接骨干区域和区域2的ABR,所以可以将自己所有的LSA发进区域2。在扩展OSPF虚链路时,是通过连接R2(ABR)与R3(ABR)的Router-ID 来建立的。
    因为OSPF虚链路(Virtual Link)能将骨干区域扩展到相邻的常规区域,从而将常规区域虚拟为骨干区域,所以在某些情况下,如公司合并,或者为了备份骨干区域,可能出现骨干区域被常规区域所隔离,如下图:
    ospf_virtual_link_3.png
    ospf_virtual_link_3.png
    图中骨干区域被区域1分割为两部分,将使得骨干区域自己的路由无法相互传递,在使用OSPF虚链路后,可以将区域1也扩展为骨干区域,如下图:
    ospf_virtual_link_4.png
    ospf_virtual_link_4.png
    在经过OSPF虚链路将区域1也扩展为骨干区域后,可见所有的区域都变成了骨干区域,从而使网络中骨干区域能够收到另外一边被分割的骨干区域的路由,并且最后骨干区域自己的路由都为Intra-Area Route,但Area 1与骨干区域的路由将仍然为O IA。

    OSPF虚链路必须是在两个拥有共同区域的ABR之间建立的,其中必须至少有一个ABR是连接骨干的。
    OSPF虚链路被认为是骨干区域的一个接口,一条链路,也需要建立OSPF邻居,但在邻居建立之后,链路上是没有Hello包传递的。

    OSPF认证

    同RIP和EIGRP一样,出于安全考虑,OSPF也使用了认证,OSPF同时支持明文和MD5认证,在启用OSPF认证后,Hello包中将携带密码,双方Hello包中的密码必须相同,才能建立OSPF邻居关系,需要注意,空密码也是密码的一种。

    当OSPF邻居的一方在接口上启用认证后,从该接口发出的Hello包中就会带有密码,双方的Hello包中拥有相同的密码时,邻居方可建立;一台OSPF路由器可能有多个OSPF接口,也可能多个接口在多个OSPF区域,只要在接口上输入OSPF认证的命令后,便表示开启了OSPF认证,可以在每个接口上一个一个启用,也可以一次性开启多个接口的认证,如果需要开启多个接口的认证功能,那么认证的命令就并非直接在接口上输入,而是到OSPF进程模式下输入,并且是对某个区域全局开启的,当在进程下对某个区域开启OSPF认证后,就表示在属于该区域的所有接口上开启了认证。所以,在进程下对区域配置认证,是快速配置多个接口认证的方法,与在多个接口上一个一个开启,没有本质区别。因为OSPF虚链路被认为是骨干区域的一个接口,一条链路,所以在OSPF进程下对骨干区域开启认证后,不仅表示开启了区域0下所有接口的认证,同时也开启了OSPF虚链路的认证,但OSPF虚链路在建立后,并没有Hello包的传递,所以认证在没有重置OSPF进程的情况下,是不会生效的。

    OSPF汇总路由

    在OSPF同区域内,LSA是绝对不允许以任何形式或任何手段更改的,但在一个区域与另一个区域之间,LSA可以被ABR修改后传递,从而得知,在同一个区域内,OSPF路由是不能被汇总的,而是当路由从一个区域被ABR转发到另外一个区域时,就可以执行路由汇总,并且汇总必须是在ABR上执行的,但该汇总不对OSPF外部路由生效;在将外部路由重分布进OSPF时,也可以执行路由汇总,此时的汇总必须在ASBR上配置。
    为了防止路由黑洞,需要在执行路由汇总的路由器上将汇总由指向空接口(null0),在IOS 12.1(6)以后的版本,配置汇总后会自动产生指向空接口的路由,但在IOS 12.1(6)及以前的版本需要手工创建。

    OSPF RFC (1583)并没有规定一个区域适合多少台路由器,一个网段多少个邻居,或如何布署网络。

    配置OSPF实验

    ospf_experiment1.png
    ospf_experiment1.png

    • OSPF邻居
    • OSPF LSA
    • OSPF虚链路
    • OSPF认证

    ospf_experiment2.png
    ospf_experiment2.png

    • OSPF外部路由
    • OSPF路由汇总
    • OSPF末节区域
    展开全文
  • RIP和OSPF的区别

    万次阅读 多人点赞 2019-01-02 08:08:20
    RIP和OSPF的区别 (1)【名字不同】RIP(路由信息协议)——分布式的基于距离向量的路由选择协议;OSPF(开放最短路径优先协议)—— 使用分布式的基于链路状态的路由选择协议 (2)【工作核心不同】RIP:数跳数;...

    RIP和OSPF的区别

    (1)【名字不同】RIP(路由信息协议)——分布式的基于距离向量的路由选择协议;OSPF(开放最短路径优先协议)—— 使用分布式的基于链路状态的路由选择协议

    (2)【工作核心不同】RIP:数跳数;OSPF:计算链路的度量值

    (3)【向谁发】RIP:仅和相邻路由器交换信息;

                     OSPF:向本自治系统所有路由器发送消息,由于路由器发送的链路状态信息只能单向传送,OSPF不存在“坏消息传播得慢”的问题,更新过程的收敛性得到保证。

    【发什么】RIP:路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表

                      OSPF:发送的信息是与本路由器相邻的所有路由器的链路状态 ,只涉及与相邻路由器的连通状态,与整个互联网的规模无关。

    【什么时候发】RIP:按固定的时间间隔交换路由信息(当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息)

    OSPF:在网络刚刚启动计算第一次路由表时,一定发路由信息。只有当链路状态发生变化时,路由器才能向所有路由器用洪泛法发送此消息

    (链路状态:说明本路由器都和哪些路由器相邻以及该链路的度量)

    (4)RIP协议使用运输层的用户数据包UDP来进行传送

             OSPF的位置在网络层,直接用IP数据报传送(其IP数据报首部的协议字段值为89)。由于OSPF构成的数据报很短,不仅减少了路由信息的通信量,而且在传送中不必分片,不会出现一片丢失而重传整个数据报的现象。

    (5) 对一个给定的目的网络,可以根据IP数据报的服务类型TOS计算出不同的路由

    (6)RIP:不能在两个网络之间同时使用多条路由,选择一条具有最少路由器的路由即最短路由

             OSPF:如果到同一个目的网络有多条相同代价的路径时,可以将通信量分配给这几条路径,做到路径间的负载平衡

    (7)RIP:限制了网络规模,能使用的最大距离为15,16表示不可达

             OSPF:链路的度量可以是1~65 535中的任何一个无量纲的数,可供管理人员来决定。因此十分灵活。

    (8)RIP:1号版本不支持子网划分,2号版本支持子网划分

             OSPF在路由分组中包含子网掩码,支持可变长度的子网划分和无分类的编址CIDR

    (9)所有在OSPF路由器之间交换的分组(如链路状态更新分组)都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息。

    (10)由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库,及即全网拓扑结构图。OSPF的链路数据库能较快地进行更新,使每个路由器能及时更新其路由表,OSPF的更新过程收敛得快是其重要优点。

    RIP协议的每个路由器虽然知道到所有的网络距离以及下一跳路由器,但是不知道全网的拓扑结构,只有到了下一跳路由器,才能知道再下一跳应当怎样走

    (11)为了使 OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫作区域。利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,减少了整个网络上的通信量,减轻路由器的负担。

    展开全文
  • OSPF详解OSPF详解OSPF详解OSPF详解OSPF详解
  • ospf基本概念

    2017-04-10 10:35:13
    ospf
  • ospf 协议

    2020-12-11 11:46:32
    ospf C和c++版本
  • ospf ospf ospf.doc

    2010-12-18 11:50:30
    ospf.docospf.docospf.docospf.docospf.docospf.doc
  • 网络工程ospf自学PPT6
  • 戏说OSPF

    2021-06-08 15:19:24
    OSPF图解戏说方法,让读者在图说中,把OSPF与现实生活连接起来
  • ospf引入ospf

    2017-04-26 20:29:19
    ospf120交换机操作在ospf120进程下发布接口互联地址19.236.222.42/30ospf110交换机操作Route-map ospf110 deny 10Match tag 110Route-map ospf110 permit 20Route-map ospf120 deny 10Match tag 120Route-map ospf...
  • ospf_opnet_ospf_zip_源码

    2021-09-29 14:51:37
    ospf model in riverbed opnet
  • OSPF命令行配置

    万次阅读 多人点赞 2018-05-21 13:08:42
    配置OSPF的基本功能 创建OSPF进程: 一台路由器如果要运行OSPF协议,必须存在Router ID。路由器的Router ID是一个32比特无符号整数,是一台路由器在自治系统中的唯一标识。为保证OSPF运行的稳定性,在进行网络...
  • OSPF网络优化

    千次阅读 多人点赞 2020-06-05 13:03:06
    行百里者半九十! 文章目录 一、拓扑 二、基础配置 三、ASBR完成5类LSA的策略 四、ABR完成3类LSA策略 五、总结 5.1 OSPF网络优化 5.2 OSPF的等价路由 5.3 OSPF的默认路由 对OSPF网络优化的课后总结
  • OSPF原理及配置

    万次阅读 多人点赞 2018-03-26 21:46:39
    OSPF原理及配置 OSPF的特点 OSPF运行原理 OSPF区域及路由器身份 OSPF区域 OSPF身份 OSPF邻居建立 OSPF更新 OSPF数据包类型 DR、BDR的选举 OSPF状态 基本配置演示 OSPF原理及配置 OSPF(Open Shortest ...
  • 路由技术——OSPF

    万次阅读 多人点赞 2021-01-31 20:11:32
    1.OSPF 报文类型以及每一种报文的作用?(提示:hello 作用有4个) 答:OSPF报文一共有5种 1>Hello:作用:1)发现邻居 2)维护邻居关系 3)选举DR/BDR 4)保证邻居的双向通信 2>DBD(Database description...
  • ospf协议详解

    2018-03-21 08:30:01
    ospf技术介绍。OSPF工作原理 OSPF的报文类型 OSPF的邻居状态与数据库同步 OSPF的区域概念 OSPF网络类型 OSPF基本配置 OSPF路由器类型 LSA类型 OSPF路由汇总与配置
  • OSPF调用BFD

    万次阅读 多人点赞 2020-05-02 21:57:32
    [R1]ospf //进入OSPF [R1-ospf-1]area 0 //区域 0 [R1-ospf-1-area-0.0.0.0]network 21.1.1.0 0.0.0.255 //宣告网段 [R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 //宣告网段 [R1-ospf-1-area-0.0.0....
  • OSPF协议

    千次阅读 2019-10-09 15:40:59
    内容简介:ospf配置,解析报文,邻居关系无法建立原因,ospf特殊区域,5种LSA,ospf认证,ospf优化
  • OSPF路由协议基础(OSPF基本配置)

    万次阅读 多人点赞 2020-12-04 11:50:25
    OSPF路由协议基础(OSPF基本配置) 文章目录OSPF路由协议基础(OSPF基本配置)一、拓扑图二、OSPF基本配置三、总结 一、拓扑图 二、OSPF基本配置 [R4]router id 4.4.4.4 [R4]ospf [R4-ospf-1] [R4-ospf-1]area 0...
  • ospf思维导图

    2018-05-29 15:38:54
    ospf详细介绍,适合NP,需要用xmind软件打开喔 主要介绍了ospf是什么,特点,RID,cost,ospf区域,ospf数据包,DR/BDR,邻接关系建立过程,ospf网络类型,LSA类型,ospf特殊区域,ospf信息交互过程等基础知识。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,412
精华内容 22,964
关键字:

OSPF