8.13.1 IP Packet Head

                 IP报头可以看出协议号为89,TTL=1即OSPF packet转发不会超过1跳,一些路由器可以设置Precedence bit来运行一些具有优先次序的报文处理,包括WFQ—加权公平队列 或者 WRED--加权随机预先检测序列

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

8.13.2 OSPF Packet

         OSPF packet的头部长度为24字节

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

Version: 当前最新为版本2

 Type: 类型1为Hello包; 类型2为数据库描述包(DDP); 类型3为链路状态请求包(LSR); 类型4为链路状态更新包(LSU); 类型5为链路状态确认包(LSAck)

Area ID: 区域ID,如果是虚链接,区域ID为0.0.0.0(即Backbone Area的区域ID),因为虚链接被认识是骨干区域的1部分

AuType: 认证类型 0为null,即没有认证; 1为简单口令验证(即明文); 2为MD5加密验证

8.13.3 Hello Packet

Network Mask: 发送这个Hello包的接口的掩码,如果收到这个Hello包的接口的掩码和它不能精确匹配,这个Hello包将被丢弃

Router Dead Interval: 始发路由器在宣告邻居路由器无效前,将要等待的从邻居路由器发出的Hello包的时长

超详细破析OSPF路由协议(2)_休闲_03 

Router Priority:优先级,参与DR/BDR选举之用,默认为1, 如果为0的话将不能被选举为DR/BDR

DR/BDR: DR/BDR的接口的IP地址(而非DR/BDR的RID).在选举DR/BDR的过程中,这个DR/BDR字段的值并不一定就是最终选举出来的DR/BDR的值.如果没有DR/BDR(未选举或者是不需要DR/BDR的网络类型),该字段的值就为0.0.0.0

Neighbor: 是一个循环重复字段,列出了始发路由器在过去的一个RDI时间内受到的有 效Hello包的网络上的所有neighbor

8.13.4 DDP(Database Description Packets)

Interface MTU: 在报文不分段的情况喜爱,始发路由器接口可以发送的最大IP报文大小。 在虚链接上这个字段的值设置为0x0000

I: Initial bit,初始化位.最初的DDP把该位设置为1,后续的设置为0

M: More bit,后续位,当DDP不是这一系列的DDP中最后一个DDP的时候,该位设置为1

MS: Master/Slave bit.主/从位.Master为1,Slave设置为0

超详细破析OSPF路由协议(2)_休闲_04 

8.13.5 Link State Request Packet

超详细破析OSPF路由协议(2)_协议_05 

Link State Type:

用来表明LSA的类型

Link State ID:

是LSA头部中和类型无关的字段

Advertising Router:

宣告这条LSA的路由器的RID

8.13.6 Link State Update Packet

超详细破析OSPF路由协议(2)_协议_06 

8.13.7 Link State Ack Packet

超详细破析OSPF路由协议(2)_协议_07 

8.14 OSPF LSA格式

                 8.14.1 LSA packet head:

超详细破析OSPF路由协议(2)_路由_08 

8.14.2 Router LSA

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

超详细破析OSPF路由协议(2)_协议_10 

8.14.3 Network LSA

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

Show ip ospf database network

8.14.4 Network Summary and ASBR Summary LSA

超详细破析OSPF路由协议(2)_休闲_12 

8.14.5 AS External LSA

超详细破析OSPF路由协议(2)_路由_13 

8.14.6 NSSA External LSA

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

8.14.7 The Options Field

超详细破析OSPF路由协议(2)_路由_15 

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

8.15 OSPF配置及命令汇总

8.15.1 OSPF Process Configuration Commands Router ospf process-id : *process-id 1~65535 *no router ospf process-id 删除进程

启动OSPF进程,并分配RID。RID除非进程重新启动或者RID使用的接口状态是不活动的,否则不会改变RID,配置OSPF前,检查loopback口是否配置ip addr。Loopback不是强制的,但可以稳定OSPF进程 Route ospf process-id vrf name: *process-id 1~65535 *name: 一个×××路由选择转发表<VRF>实例的名称。通过OSPF进程学到路由将替代全球的ip路由选择表被注入vrf的路由选择表

超详细破析OSPF路由协议(2)_路由_17 

在MPLS-×××环境下,此命令用于在ISP和×××用户间传送×××用户的路由

P :ISP提供商 CE:用户边缘路由器 PE:提供商边缘路由

8.15.2 OSPF Area Commands

超详细破析OSPF路由协议(2)_路由_18 

超详细破析OSPF路由协议(2)_休闲_19 

超详细破析OSPF路由协议(2)_休闲_20 

超详细破析OSPF路由协议(2)_职场_21 

Area area-id nssa 在一个stub区域或者完全stub区域,stub区域的ABR会阻止OSPF外部路由(LSA5)在stub区域内广播。故ASBR将不会成为stub区域的一部分。NSSA区域中,允许路由器作为ASBR redistribution,被配置为NSSA区域的ASBR将产生7类路由

超详细破析OSPF路由协议(2)_休闲_22 

 

Area area-id nssa default-information-originate

                 OSPF ABR或者ASBR中产生一个能够进入NSSA区域的OSPF NSSA 外部类型2的缺省路由,在ABR上无须定义。在ASBR上配置该命令,则需要配置缺省路由。在B上配置后,C会产生一条O*N2的路由指向B

超详细破析OSPF路由协议(2)_休闲_23 

注意:此条命令仅用在NSSA ABR 或者ASBR上

Area area-id nssa no-redistribution

 在下图中,EIGRP的信息将从ABR上redistribution进入到NSSA区域,故可以采用此条命令,防止NSSA产生由EIGRP产生的外部路由

 

超详细破析OSPF路由协议(2)_协议_24 

注意:此条命令仅用在ASBR上,其它NSSA每台路由器只需 area x nssa

Area area-id nssa no-summary

                该命令用于在OSPF ABR,阻止OSPF区域间路由进入NSSA区域,该命令同时产生一条道路一个OSPF区域间的缺省路由

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

注意:no-summary仅用在NSSA ABR上

Area area-id range ip-addr mask [advertise | not-advertise]

OSPF可以会聚从骨干网或者区域0到非0 OSPF区域的OSPF路由,或者从非0区

域到骨干网的OSPF路由。 OSPF路由汇聚只能在ABR上发生,ABR应是一个在区域0,并且在非0区域有接口的路由器。默认情况下 advertise是打开的, not-advertise用于抑制ABR广播默认路由

 超详细破析OSPF路由协议(2)_路由_26

注意: 1。 如果其中156.26.32.0/28 down了以后,

                     IOS将自动为这条中断链路创建一条默认路由 ip route 156.26.32.0 255.255.255.192 Null0

             2。Area x range 仅用在OSPF ABR上

Area area-id stub

域配置成为stub区域后,ABR将产生一条默认路由,通告到整个stub区域,域间路由能通过但 5类的外部路由不能进入

                       超详细破析OSPF路由协议(2)_协议_27

注意: Stub区域不能作为virtual-link的穿透区域, Stub区域内的每台路由器都应配置stub area

Area area-id stub no-summary

            将区域配置为完全stub区域后, 将会阻止区域间路由和外部路由通过

超详细破析OSPF路由协议(2)_休闲_28 

No-summary仅用在ABR上,ASBR不能成为完全末节的一部分。不能作为virtual-link的穿透区域

Area transit-area-id virtual-link router-id

              所有非0 OSPF区域必须具有到骨干或者区域0的连接,虚拟链路用于修复被分割的区域,但传送区域不能为stub区域。

超详细破析OSPF路由协议(2)_协议_29 

超详细破析OSPF路由协议(2)_OSPF_30 超详细破析OSPF路由协议(2)_休闲_31

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

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

Area transit-area-id virtual-link router-id authentication-key password

如上例,在Vlink上不使用认证是不安全的,故可以在v-link链路上使用认证。

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

Area transit-area-id virtual-link router-id [dead-interval | hello-interval | retransmit-interval | transmit-delay]

超详细破析OSPF路由协议(2)_路由_35 

Area transit-area-id virtual-link router-id message-digiest-key key-id md5 password

超详细破析OSPF路由协议(2)_职场_36 

8.15.3 OSPF reference-bandwidth

               Auto-cost reference-bandwidth bandwidth

超详细破析OSPF路由协议(2)_休闲_37 

8.15.4 Default Route Generation

        Default-information originate [always | metric | Metric-type]

        在区域内产生默认路由,并广播到区域内,此命令用于ASBR。

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

超详细破析OSPF路由协议(2)_协议_39 

Default-information originate route-map route-map-name

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

Router B:

default-information originate route-map exist

access-list 1 permit 3.3.3.0 0.0.0.3

route-map exist permit 10

match ip address 1