ospf                rip                eigrp

分类        IGP 无类 链路状态  IGP 无类 距离矢量  IGP 无类 混合

封装        IP 89                udp520            IP 88

更新地址    224.0.0.5-6         224.0.0.9         224.0.0.10 也可以neighbor指单播

更新方式    定时(30分)完整  完整(30秒定时触发  增量 触发 

            老化(60分)触发 

AD          110                120                 汇总5 外部170 内部90

度量        带宽                跳数               5个K值(默认带宽 延时)


##########################################################################################


◆LSA  分为7类

    链路状态协议传递的不是路由,而是LSA(链路状态描述信息)包括路径和拓扑。

   - 一个区域内的LSA是同步,一致的。

   - LSA放到LSDB,同步后运行SPF算法形成SPF树,根据SPF树生成路由表


◆链路状态协议的结构

    - 邻居表 通过hello包形成和维护

        邻居数据库

        包含自己承认的邻居名单

    - 拓扑表 

        LSDB

        包含所有路由器及其所连接的网络;对比eigrp只有邻居通告的路由信息

        同一区域内LSDB内容同步

    - 路由表

        转发数据库

        达到目的的最佳路径列表


◆链路状态协议的结构:去适应大型网络,隔离大量的LSA泛洪

    网络分层

    - 链路状态协议需要对网络分层

    - 层次包括 2层:骨干 区域 0。。 传递路由

                    非骨干区域 。。 接入终端 路由汇总给骨干。


◆区域特点:

    - 减少路由条目 手动汇总

    - 拓扑变化只影响自己的区域

    - LSA在自己区域泛洪

    - 层次化设计


◆区域术语:

        非骨干区域必须和骨干区域相连,防环;区域之间类似于距离矢量的方法来选路,通过骨干区                                             域知道非骨干区域

        ABR 区域边界路由器,即连接区域0和非骨干区域的路由(连接非骨干区域的路由器不能称为               ABR)一个路由器同时属于两个区域,属于不同区域的是接口。对比BGP一个路由器只能属             于一个区域

        ASBR 把外部路由重分布到ospf内的路由器 除了特殊区域 ofpf stub

        OSPF 邻居 :

                hello更新时间10秒,死亡时间40秒 前提- 点到点网络和广播

                hello更新时间40秒,死亡时间120秒 前提- NBMA ;点到多点;点到多点非广播

                路由器交换hello信息建立邻居

                hello包内容:hello & dead 时间必须一致

                             area ID 必须一致

                             认证密码 必须一致

                             stub 区的flag 字段 普通区域和stub不能称为邻居

                             接口MTU 必须一致 ,除非配置接口忽略MTU.ip ospf mtu ignor

                             MA网络中,接口掩码必须一致。

                             帧中继网络,隔离组播也会无法形成邻居关系

                             ACL过滤数据包 导致无法建立邻居

                   除此之外还包含 router ID唯一标识路由器;neighbor;

         邻接:邻接关系同步LSA .。邻居关系,不同步LSA 

             是否形成邻接 由OSPF网络类型决定的

               - 点到点广域网   

                    邻居之间形成完全邻接状态

               - 局域网链路

                    与DR BDR 形成完全邻接状态 MA网络

                      点到多点 点到多点非广播 相邻设备形成邻接关系

                    与其他路由器只形成邻居关系,双向状态Drothers

               - 路由更新和拓扑信息只在形成邻接关系的路由器之间传递

               - 一旦形成邻接,将同步LSA

               - LSA将在一个区域内泛洪


◆OSPF算法  SPF算法

    10~8 / 接口带宽(路由入方向的接口) 单位 bps 例如100M链路的cost值就是1

  

◆LSA 序号

    - 每个LSA 在LSDB中都有一个序号

    - 序号编排方案是一个4字节的数字,从0X80000001 到 0X7FFFFFFF

    - 每隔30分 路由的LSA泛洪一次,保证数据库同步,每次泛洪,序号 +1

    - 最终,一个LSA会从  0X7FFFFFFF 循环回 0X80000001。若发生这种情况,这个LSA会被始发路由       器将老化时间设置为60分,并从LSDB中清除。

    - 当路由器遇到两个一样的LSA,必须确定哪个最新,即序号高的最新。           


◆LSA序号和生存时间

   查看LSA序号 :show ip ospf database


◆链路状态协议的结构:LSA

CCNP学习笔记3-路由部分--OSPF_第1张图片

   路由器收到一条LSA,如何判断本地是否已经存在这条LSA?

        通过LSA头部信息,包括3个信息,完全一致才是同一条LSA

            show ip ospf database

            1,类型 1--7类: router--1类

            2,通告路由器: ADV ROUTER

            3,LSA名字: Link-ID

    判断一条LSA是否是最新的,出来用序号区别外,还可以用老化时间和校验和区分!!


############################################################################################################# OSPF 包类型 ####################


HELLO 建立和维持邻居关系 网络类型决定10秒还是30秒

DBD   LSA的头部消息 6个消息 3个区分是否同一个LSA.       ; 3区别是否是最新的LSA

                            LSA类型,通告路由器,link-ID; 序号生存时间 校验和

link-state request 也是LSA头消息

link-state update  完整LSA消息

link-state ACK      

其中只有LSU需要ACK确认

LSU 来确认 LSR

DBD 自己确认自己


OSPF 包头格式











version

number

type

packet

length

router

ID

area ID

check

sum

authentication

type

authentication date

version v2--IPv4; v3--IPv6


type 1-5 5种包类型

routerID 标识路由器

area-ID  基于接口。。。。ISIS 区域基于路由器

校验和   确定包么有被篡改

认证类型             0:不认证,默认  1:明文  2:MD5

authentication 根据类型   空            密码      散列值

DATE 若是DBD:本地所有的LSA头

     LSR:想要的LSA头

     LSU:完整LSA

     ACK:收到的LSA头


hello包:包括内容   

    router ID

 ★ hello dead 时间

    neighbor  收到的hello包含自己routerID

 ★ areaID

    router priority  

    DR IP address

    BDR IP address

 ★ authentication password

 ★ stub area flag


◆ OSPF路由器ID

    - 每个运行ospf的路由器都有一个routerID

    - 在LSDB中,通过routerID识别不同路由器

    - 默认,routerID是路由器活动接口IP最高的

    - 若配置loop back 则他将成为routerID,若有多个loop back 则选IP最高的

    - 配置 进程下 router-ID x.x.x.x

    - 建议用loop back 口做routerID 

 routerID 配置多少就是多少 没配置 就是loop back IP 最大的 没有loop back就选活动接口IP最大的


 改变routerID 要重启进程才能生效clear IP ospf process ;这个过程会重新收敛,会造成断网。


 routerID相同将不能形成邻居关系。不相邻路由器,或不同区域路由器routerID一样可以建立邻居但会影响路由传递。


◆DR BDR选举

    - 利用组播交换hello (优先级字段)

    - 优先级最高当选DR,次高为BDR

    - 优先级相同,用routeID比较


◆优先级

    - 接口下 命令 ip ospf priority number

    - 不同接口可能被分配不同值

    - 默认 1 。范围 0 - 255

    - 优先级为 0 将永远不参与DR BDR选举

    - 一个路由器不是DR 或BDR,就是DRother

    - DR BDR 非抢占,但可以设置为 0 主动弃权,同时BDR变为DR,不会出现更高优先级的成为DR,剩                                               下的选举BDR

    - 选举时间40秒 


◆ DR/BDR选举完成后,DRrother只和DR、BDR形成邻接关系。

   所有路由器组播hello包到地址224.0.0.5 以便他们能跟踪其他邻居的信息,即DR将泛洪LSU到          224.0.0.5

   Drother 只组播LSU到all drother地址224.0.0.6。只有DR BDR监听这个地址

所有Drother泛洪 LSU 到224.0.0.6,这个地址只有DR BDR能接收,Drother将丢弃这个组播地址,然后DR 泛洪 LSU 到224.0.0.5,这个地址所有路由器都能收到 ,这样DR BDR和所有drother的通信。


当有链路断了 泛洪老化时间为3600秒 序号+1的LSA

当DR当掉,BDR不存在情况下 ,Drother发的更新,其他路由器需要40秒dead时间才能知道,所以Drother需要40秒才能收敛

在有BDR的情况下,Drother的更新224.0.0.6也会被BDR收到,当BDR 4秒没收到DR关于DRother的更新,BDR就会接替DR,泛洪224.0.0.5。所以其他路由器只需4秒就能收敛。


########################################################################################

◆ 过程

172.16.5.1                      172.16.5.3

    RA-----------down state---------RB

      -----hello 224.0.0.5-->RB->init state

      <----单播包含RA的信息----- 触发更新

  two-way state---单播包含RB的信息-》RB 也进入two-way state


    two-way state 使用HELLO中的优先级字段后routerID选举DR BDR 40秒时间,所以two-way会卡40       秒,如果不需要选DR BDR 就瞬间进入下一状态


            exstart state 

    选举master,master不一定是DR,因为DR使用优先级选举,master使用routerID

  使用DBD报文中的routerID

    RA/|\----------I will start exhange 携带自己routerID------------->RB

         <--NO,I will start exchange 携带自己routerID(地址高于RA)--

             Exchange state

         <-------------here is a summary of my LSDB------------------  

          -------------here is a summary of my LSDB------------------>

             Loading state相互请求自己所需

    LSR ----------RA需要的路由-------------> 

        <---------RA需要的路由-------------LSU

    LSACK---------------------------------->

             FULL state 然后运行SPF生成路由表


DBD报文,如何实现自己确认自己?

    DBD字段包括3位

         init是否是初始        more是否有后续报文        master是否是主

     第一个DBD的flag字段3位都为1 即flag=7(init=1,more=1,master=1),随机生成一个序号。对端也是发送flag=7的DBD

     比较routerID后 用对端序号发给对端 flag= 2(init=0,more=1,master=0).对端收到200的序号

     对端发送序号位201 flag=3(init=0,more=1,master=1) ,直到主传到最后一个报文时 flag = 1 init=0,more=0,master=1(最后一个报文不携带任何数据,只用来确认传输完成,此报文不需要确认)

     确认完成!!!


#######################3

实验:

    一,相邻路由器的routerID不能一致,一致不能建立邻居关系

    二,同一区域的routerID不能一致,否则出现路由震荡

    三,用debug和抓包工具,观察邻居建立过程

show ip route ospf

show ip ospf neighbor

show ip ospf interface

wKiom1ZP0t3Av3XxAAAoG6hoOYA575.png

步骤

1,配置IP和loopback

2, R1 R2 启用ospf进程。相同routerID 提示routerID重复。无法建立邻居

3,修改R2routerID,注意此时马上就会选举出DR,不需要等待40秒,因为计时从接口宣告进OSPF进程就开始计时,DR是在tow-way状态选举,但是不是在这个状态开始计时。

    配置R3 routerID与R1相同。此时R2 show ip ospf database 观察路由震荡现象(AGE=3600 然后有恢复正常,然后有置为3600)。需要等待40秒

4,更正R3 routerID,clear ip ospf process

    

修改优先级,接口下 ip ospf priority 10 注意:DR BDR选举是一个网段选举一个

观察邻居建立过程

   只看R1 R2 当掉R3

步骤,

 1, R2 int f0/0 shut down

 2, 使用gns wareshark 抓包

 3,R1 R2 debug ip ospf events

 4,R1 R2 接口no shut

 5, 等待40秒邻居才会起

 6,先观察debug信息

接口up---sent hello 224.0.0.5---two-way----DR BDR---交换DBD--exchange--LSR--LSU--FULL

看抓包报文 注意交换DBD时没有ACK确认,只有LSU才会ACK确认



###############################################################################################################  OSPF 网络类型 ##########################################

#####################################################


OSPF网络类型起因:对比eigrp只需要一种网络类型,只有在低速链路调整eigrp进程占用比

  为了更快收敛,更高效。针对不同的2层链路规定了不同网络类型


 2层网络类型 以太网 PPP  HDLC  NBMA  帧中继(点到点,点到多点)

类型都是基于接口的,修改要在接口下

网络类型 2层链路 DR/BDR 手动建邻居 更新地址 hello时间 备注
P-to-P

ppp HDLC

帧中继点到点子接口

  不选

不用

自动建邻居

224.0.0.5

hello=10秒

dead=40秒


broadcast 以太网 选举 不用

224.0.0.5

224.0.0.6

hello=10

dead-40


NBMA 帧中继主接口和多点子接口  选举 手动 单播

hello=30

dead=120


P-to-m
 不选 自动 224.0.0.5

hello=30

dead=120


p-to-m NB
 不选 手动 单播

hello=30

dead=120

有32位主机路由,本地宣告的接口地址都以32位主机路由通过出去

注:上述OSPF与2层对应关系是默认的,可以在2层链路上任意修改OSPF网络类型。通常2层的PPP HDLH 帧中继子接口和以太网的对应OSPF网络类型不需要修改。但是帧中继主接口和多点子接口就要根据拓扑修改OSPF网络类型!!!!

上述 hello时间相同的可以建立邻居,但是不能学习对端路由

以下修改hello时间后,就可以建立邻居 之后也可学习到对端路由

NBMA BROADCAST

点到点 点到多点

点到点 点到多点NB

######################

总结:hello时间相同的可以互相建邻居。但是不能学习路由。;选举DR BDR的类型通过修改hello时间后可以学习路由;不选DR BDR通过修改hello时间可以学到对端路由!!

          

        ######################## 点到点链路 ##################


- 通常一个串行接口运行PPP已经HDLC

- 在frame relay 或 ATM中的点到点子接口

- 没有 DR/BDR的选择

- ospf 自动监测这个接口类型

- ospf 使用组播地址224.0.0.5 发送协议包


wKioL1ZP3yWTN778AAA0qG5Ag-A401.png

 1, R1 R2 启用S口IP 和loopback

 2, 启用OSPF 1 area 0

 3,  debug ospf events hello 224.0.0.5

      show ip os nei 自动建邻居  没有DR BDR

      sho ip os int s0/0 hello  wait time 


       ############### 广播型多路访问 ##################


- 一般都是在局域网技术总 比如以太网 令牌环等

- 选择DR BDR

- 所有路由器只和DR BDR 邻接

- 去往DR BDR使用组播224.0.0.6

- DR 去往DRouther 使用224.0.0.5


上拓扑R2 R3之间

1, 启用IP 

2, 启用ospf

3, show ip os nei 需要等待一段时间。才能看到邻居 看到DR BDR

4, show ip ospf int f2/0 网络类型 


R2 s1/0 ip ospf network broadcast 改成广播类型 R1默认。此时可以建邻居。但是一个选举DR 一个不选举 所有学不到对方路由,因为不同网络类型show ip ospf database 对链路的描述不同:

sho ip ospf database 11.1.1.1  

sho ip ospf database 22.1.1.1


            ########### NBMA #################


1, R1 R2 接口下 ip ospf network non-broadcast

2, show ip os int s1/0 查看网络类型

3, show ip os nei 不能自动建邻居

4,手动建邻居 ospf进程下 R1 neighbor 12.1.1.2 指邻居只在一边配置就可以

                         R2 neighbor 12.1.1.1

   之后no 掉 neighbor 邻居也不会当掉

   sho ip os nei 选举DR BDR

5, sho ip os int s1/0 hello=30

 debug ip os event 单播发送报文


          ############ 点到多点 ############

1, R1 R2 no 掉 neighbor 12.1.1.x

2, 接口下 ip ospf network point-to-multipoint

3, 重启接口 shut---> no shut

4, 自动建立邻居

5,组播224.0.0.5

6,sho ip os int s1/0 类型 hello=30

7, sho ip os nei 没有DR BDR


         ######## 点到多点 非广播 ##########

1,接口下 ip os network point-to-multipoint non-broadcast

2, 重启接口

3,sho ip os nei 没有建邻居

   需要手动建立

   单播 neighbor 12.1.1.2 也只一边配置就可以

   sho ip os nei  没有DR BDR

4, sho ip os int s1/0  hello=30  类型依然显示点到多点  

5,sho ip ro os 自动产生一条 32位 主机路由

   所有点到多点网络都会产生


                  ###########################

                             NBMA 

                  ##########################

CCNP学习笔记3-路由部分--OSPF_第2张图片

- 一个单一的接口与多个站点互联

- NBMA网络支持多路路由,但不支持广播功能


拓扑

    全互联

    部分互联

    星型


NBMA 网络中选DR

 - ospf默认认为NBMA像其他广播链路一样

 - DR BDR需要和其他路由器全互联,但是NBMA网络并不总是全网状结构

    DR要与其他路由器直连 ,因为TTL值是1 跨跳无法通信

   为保证hub路由器为DR 需要把邻居优先级置0

    neighbor 12.1.1.2 priority 0

 - 需要选举DR BDR

 - ospf 邻居不自动发现其他路由器


在NBMA网络中运行ospf

    RFC2328定义 

        NBMA

        point-to-multipoint

    思科附加了

        point-to-multipoint non-broadcast

        broadcast

        point-to-point


CCNP学习笔记3-路由部分--OSPF_第3张图片

               ###############################

               ####### 回顾帧中继 ############

               ###############################


  1. 2层协议

  2. 使用的DLCI号2层地址,只本地有效

  3. 有链接协议。PVC要先建立,通过DLCI号标识。show fram-relay pvc (状态active正常;inactive对方有问题;delete可能两端故障)。本地DTE,运营商DCE.。DLCI号由DCE分配                   DTE DCE,通过LMI信令标准保证通信,LMI有3种标准:Cisco标准;ansi;q933a

         PVC--->DLCI(active;inactive;delete)

                /|\---DCE----DLCI---->DTE

                    DCE DTE 通过LMI标准维持 

                             LMI 种类1,Cisco

                                     2,ansi

                                     3, q933a

 4. PVC建立以后,还要有map表项才能传递数据。 

    map 产生方法 1:IARP     用本地DLCI请求对方IP

                 2:手动映射

                     命令: fram-relay map ip(对端IP)dlci(本地dlci号)


实验:

 CCNP学习笔记3-路由部分--OSPF_第4张图片   

GNS中注意是串口线

  1. R4:frame-relay switching

    int s0/1

      enacapsulation frame-relay

      frame-relay intf-type dce

      frame-relay lmi-type cisco

      frame-relay route 102 interface s0/0 201

      frame-relay route 103 interface s0/0 301

      no shut

    int s0/2

      enacapsulation frame-relay

      frame-relay intf-type dce

      frame-relay lmi-type cisco

      frame-relay route 201 interface s0/1 102

      no shu

    int s0/3

      encap frame-relay

      frame-relay inth-type dce

      frame lmi-type cisco

      frame route 301 int s0/1 103

      no shu

  2.  R1: Int s0/0

           encap frame-relay

           ip add 123.1.1.1 255.255.255.0

           no shu

     R2: int s0/0

          encap fram

          ip add 123.1.1.2 255.255.255.0

          no shu 

  3.  R3: Int s/0

          ip add 123.1.1.3 255.255.255.0

          no shu

  4. R4: show frame-relay route

    R1: show frame-relay pvc

        show frame-relay map

  5. R1 R2 R3 loopback 11.1.1.1 22.1.1.1 33.1.1.1

  6. R1 R2 R3 开启ospf

             手工指邻居 进程下 nei 123.1.1.2 123.1.1.3

    sho ip os nei

7.  此时 R2 R3不通。

    sho ip ro 有路由

    sho fram map 发现没有对应的2层封装

 注:帧中继,NBMA网络中,必须要有 每一个spoken点(分支节点之间)映射 

    R2 接口下 frame-relay map ip 123.1.1.3 201

   R3 接口下 frame-relay map ip 123.1.1.2 301

R2 R3通信过程:

    R2 2层封装201--》R4:sho fram route (201 s0/1 102)-->R1 102是本地 目标IP是33.1.1.1,查路由表目标的吓一跳是123.1.1.3,sho fram route 2层封装103,103对应2层转发表项从s0/3出去到301--》R3 33.1.1.1是本地


8. 必须控制保证DR是hub点 ,即拓扑中保证R1是hub点!!!

    R2 R3 接口下 ip ospf priority 0

   因为:2层,spoken分支通过hub点学习到彼此。3层,DRther通过DR学习到彼此

总结:帧中继网络,默认NBMA的ospf网络类型。1,需要手动指邻居neighbor。。;

                                          2,手动映射2层吓一跳,fame map ip ...DLCI..

                                          3, 保证DR为hub点


解决上述3个问题,可以把ospf网络类型修改为 点到多点 

     R1 R2 R3 接口下 ip ospf netw point-to-multi

          点到多点网络下 1,自动形成邻居 不用手动neighbor

                         2,2层下一条 指向的是对端直连123.1.1.1(NAMA指向123.1.1.3)

                            到达spoken端有32位主机路由,所以123.1.1.2和.3能互相通信

                         3, 不选举DR BDR


         ########################################

         ########## 点到多点 非广播 环境 #############

         ########################################

 上述帧中继网络中,把默认NBMA修改成 点到多点 报文使用的是224.0.0.5组播通告,

 当有特殊要求:用点到点的上述3种优点,又不能通过广播包时


  模拟点到多点非广播关键

        1,R1 R2 R3 关闭IARP :接口下 no frame-relay inverse-arp

        2,手动指2层映射 R1:famy-relay map ip 123.1.1.2 102

                             frame-relay map ip 123.1.1.3 203

                         R2: fam map ip 123.1.1.1 201

                         R3: fram map ip 123.1.1.1 301

        R1 R2 R3 接口下 ip os net point-to-point no-broadcast

        需要手动指邻居 neighbor 123.1.1.x


与点到多点的唯一区别是不能通过组播地址224.0.0.5自动建立邻居,要手动指。其他都一样。


            ########################################3

            #########  点到点 #####################3

            #######################################

点到多点子接口:

      恢复接口配置 default int s0/0

      R1: int s0/0.1 point-to-point

                ip add 12.1.1.1 255.255.255.0

                no shut

                frame-relay interface-dlci 102

           int s0/0.1 po-to-po

                ip add 13.1.1.1 255.255.255.0

                fram-re int-dlci 103

       R2  int s0/0

                encap fram

                no shu

            int s/0.1

                ip add 12.1.1.2 255.255.255.0

                fram int-dlci 201

       R3  int s0/0

                encasulation frame-relay

                no shut

           int s0/0.1

                ip add 13.1.1.3 255.255.255.0

                fram-re int-dlci 301

   R1 R2 ping直连 r1 r3

       R1 : int s0/0.1

                ip ospf 1 area 0

             int s0/0.2

                ip os 1 area 0

       R2 R3 int s0/0.1

                ip os 1 area 0

sho ip os nei

sho ip os int s0/0.1


特殊网络类型 loopback :只有loopback口才能成为的网络类型,而且都以32位主机路由器宣告出去

通过修改网络类型(只能改成点到点网络类型),可以 以实际掩码位数通告出去 

Int lo0

    ip ospf network poingt-to-point

    

###############  以上 网络类型 介绍结束 ###################################################


              

             ###############################################

             ##########  LSA 类型  #########################

             ###############################################

注意点:

    1, 每种LSA的传播范围

    2, 每种LSA由谁产生,也就是说由通告的

    3, 每种LSA所包含的内容

    4, 每种LSA命名方式

    要清LSA要一起清,否则可能会有重新学习的问题


◆ LSA头部信息

老化时间 可选项 类型
链路状态ID Link-ID
通告路由器ADV Router
序列号
校验和 长度


类型:指明是哪种LSA

Link-ID :每一条LSA都有一个LINK-ID,区分不同路由器发出的LSA

ADV-Router:指通告路由器的routerID


◆LSA 类型

LSA TYPE Description
1 路由器LSA
2 网络LSA
3 & 4 汇总LSA
5 自制系统外部LSA
6 组播ospf LSA
7 定义NSSA区域
8 外部属性LSA FOR border gateway protocol(BGP)
9 10 11 非透明LSA



LSA包含的信息:1,路由信息。2,拓扑信息

其中只有1类 2类包含拓扑信息。。


              #########################

              #### 1类 路由器LSA ######

              #########################

- 一个路由器LSA(TYPE 1)产生于区域中每一个运行ospf的路由器

    - 内容包括直连 链路的属性

    - 链路标识,链路的IP前缀和链路类型

- 每个路由器为起源,包含起源这个路由器的router ID

- 只在本区域泛洪;不穿越ABR


实验:GNS3搭建

  CCNP学习笔记3-路由部分--OSPF_第5张图片

◆1类LSA实验

目的:通告show os data router 11.1.1.1可以画出拓扑图并描绘出路由信息。

   R1 R2

 1,启用接口IP和loopback口

 2,启用OSPF area 0

 3,接口下 ip ospf netw po-to-po

 4, R2 查看LSA类型 sho ip ospf database

 5, 查看一条LSA内容

    sho ip ospf database 类型名 linkID

    例如查看一类LSA show ip ospf database router 11.1.1.1


                    ###################################

                    ###### 2类 LSA ####################

                    ###################################

- 只会在MA网络中产生(以太,帧中继主接口,帧中继子接口,需要选举DR BDR的网络)

- 由MA网络中的DR产生

- 只在本区域泛洪  

- 由DR接口IP命名

◆2类LSA实验

CCNP学习笔记3-路由部分--OSPF_第6张图片

 R1 R1 默认是MA类型网络,需要等时间选举DR BDR

- sho ip os database 查看LSA类型 “net link state ”

   linkID: DR接口IP 

   通告路由器: DR的routerID

   查看详细LSA: show ip ospf database network(类型名) 12.1.1.2(link-ID)

               包含内容:本MA网络中的所有路由器(Attached router)

                         本MA网络的掩码(network mask)

   此时,对比查看一类LSA内容:show ip os data router 11.1.1.1,发现对12.1.1.2的描述变成transit network,而且没有掩码 也不知道到MA网络中域DR相连的路由器,此时需要看2类LSA才能得知。

   

                  ###################################

                  ####### 3类LSA ####################

                  ###################################

区域间路由 summary

- 用于通告一个区域的信息给其他区域

     描述链路的网络号和掩码

- 起源于 ABR。(每穿过一个区域,都把通告路由器修改为被穿过的ABR routerID)

- 泛洪于整个自制系统

- 内容包括,默认下,没有路由的自动汇总,类型3LSA通告每个子网(一条路由信息 前缀,掩码,下一                     条,cost)

- 使用通告的网段前缀命名


即,ABR路由器将区域1 的1类,2类和其他路由信息转换为 3类LSA,传给区域0,修改通告路由器后,再传给其他区域。每经过一个ABR都要重新修改起源路由器。区域间传递路由类型距离矢量协议来传递路由。


◆3类LSA实验

启用R1 R2 R3

R1 R2 AREA0  R2 R3 AREA1

 show ip ospf database 

 show ip os dat summary 23.1.1.0

 show ip ospf border routers

注意cost值!!!

 

                              

                  ###################################

                  ####### 4类LSA ####################

                  ###################################


- 汇总LSA 在自治系统中向其他区域通告ASBR的位置

- 起源于ABR

- 泛洪除了ASBR所在区域的其他所有区域,整个自治系统

- 包含 ASBR的routerID


R3:sho ip ospf da 是没有4类LSA的

R1: sho ip os da  可以看到 summary ASB LINK State

    sho ip os da asbr-summary 33.1.1.1查看具体内容 去往33.1.1.1的接口IP和metric




                  ###################################

                  ####### 5类LSA ####################

                  ###################################


- 外部LSA 用于通告自治系统外部的网络

- 起源于 ASBR

- 泛洪整个自治系统

- 通告路由器,在整个自治系统中不改变

- 需要 类型4LSA 找到ASBR

- 默认不自动汇总

CCNP学习笔记3-路由部分--OSPF_第7张图片

◆5类LSA实验

  1, 启用R1 R2 R3  R5

  2, R1 R2 R3ospf R3 R5 EIGRP

  3, R3上 eigrp重分布进ospf

  4, R1 sho ip ro 

  5, 整个ospf区域都可以看到 5类LSA  sho ip os database

      sho ip os da external 55.1.1.1

其中 R2通过 1类 2类LSA得知R3位置,但是R1的55.1.1.1的下一跳指向R3,而又无法知道R3位置,此时需要 4类LSA

  


LSA类型 传播范围 由谁产生 包含内容 命名方式
1 本区域内 每个路由器都会产生

1,路由信息:stub network(前缀,掩码,下一条)

2,拓扑信息:another router(相连路由器的routerID,相连的本地接口)

3, transit network

DR的IP和相连本地IP,但不知道掩码

本地routerID命名

sho ip os da router

2 本区域 MA网络中的DR transit network可以补充1类LSA中的掩码

由DR接口IP命名

network

3 自制系统(所有OSPF区域)

ABR

每穿过一个ABR,通告路由器都会变成穿过的ABR的routerID

一条路由信息(前缀,掩码,下一条,cost)

通告路由的前缀

summary

4 自制系统(所有OSPF区域) ABR 指明ASBR位置

ASBR 的routerID

asb-summary

5 自制系统(所有OSPF区域)

ASBR

穿越ABR时,不改变通告路由器

外部路由信息前缀,掩码,下一条,cost)

通告路由的前缀

External







CCNP学习笔记3-路由部分--OSPF_第8张图片

O: 1类或2类 lsa

OIA: 3类 lsa

OE1: 5类

OE2:5类

OSPF路由选择顺序

       AD(前缀掩码相同,下一跳不同时)先比较AD,然后才比较类型

       AD不变的情况下 比较类型 O>OIA>OE1>OE2

       类型相同时,比较cost

       cost相同 ,就负载均衡

特例》:OE1.。cost相同时还要比较去往ASBR的距离


◆计算OE1 OE2 路由成本

    OE1路由时要计算到ASBR沿途的cost值

    OE2路由只外部路由是到达ASBR的cost

CCNP学习笔记3-路由部分--OSPF_第9张图片


###########################################################################################                     OSPF 的超载保护(限制非本地产生的LSA的数目)


- 其他路由器产生的过度LSA可以消耗本地路由器的资源

- 这个功能可以限制非本地产生的LSA数目


router(config-router)#max-lsa (设置允许接收最大外部路由数目) threshold-percentage (设置达到最大数目的比例开始警告,默认75%) warning-only (设置超载后的动作为警告) ignore-time 分钟(超载后默认1分钟后,down掉邻居关系,这个是设置down多长时间后重启邻居关系,默认5分钟)ignore-count (设置重启邻居关系的次数,默认5次)reset-time 分钟(清零时间,默认10分钟。例如重复down5次后,10分钟没有超载,就把之前计算的4次清零,当再次超载时从1开始计算)


###########################################################################################                    OSPF 成本度量的修改方法


成本,发送数据包的接口成本 10的8次方/ 带宽 M

 接口下(路由的入方向) ip ospf cost 1-65535之间

设置参考带宽,默认10^8.。范围 1 - 4294967m/秒

 进程下 auto-cost reference-bandwidth 1-4294967


###########################################################################################                    路由汇总

- 减小路由表大小

- 减少拓扑变化对网络的影响

- 减少LSA 3类和5类,7类 的泛洪,节省CPU资源

   3类 域间汇总

   5 ,7类 区域×××总

配置:

    域间汇总 ABR

    area area-id  range address mast [advertise默认 | not-advertise] [cost xxx]

    域×××总 ASBR

    summary-address ip-address mast [not-advertise] [tag xxx]


汇总特点:

    生成指向null 0 的路由

    汇总抑制明细

    当所有明细都消失,汇总自动消失

    汇总自动生成度量值,是所有明细中最小的

    对比eigrp中,汇总还可以限制eigrp查询范围

CCNP学习笔记3-路由部分--OSPF_第10张图片

汇总一条不精确,172.16.0.0/19 包括1-32条路由

使用两条,可以更精确


举例:

CCNP学习笔记3-路由部分--OSPF_第11张图片


实验:

◆实验一 汇总特点

1,配置IP

2,启用ospf 注意区域

3,R1 Lo0 11.1.1.1

      lo1 11.1.2.0

      lo2 11.1.3.1 

          ip ospf network po-to-point(去除32位主机路由)

          ip ospf cost 10

   R3 sho ip ro 显示OIA 的两条R1 loopback(R2看到的两条是O 的R1 loopback,而且显示为O的不能                                            汇总)

  R2 : 进程下 area 1 range 11.1.0.0 255.255.0.0

   R3 : sho ip ro  

◆实验2 使用not-advertise控制路由

    R1: 在启用lo3 11.1.0.1 

    R2:  进程下 area 1 range 11.1.0.0 255.255.254.0 not-advertise

    R3: sho ip ro (只收到 11.1.2和.3两条明细)

◆区域×××总

    R5: loopback 55.1.0.1

                  55.1.1.1

                  55.1.2.1

    R4:重分布进ospf

        sho ip ro (默认OE 2)

        summary-add 55.1.0.0 255.255.252.0

    R1: sho ip ro

    R4: summary-add 55.1.0.0 255.255.252.0 tag 500

    R1: sho ip ro 55.1.0.0 查看tag

    tag 的应用:

            route-map test

                match tag 500

     

####################################汇总介绍结束 ##########################################


################### OSPF 路由器宣告默认路由 ##############################################

- ospf利用5类 LSA 向内部注入一条默认路由

- 默认不注入默认路由;需要使用配置 default-information originate;

    另外本地必须有一条默认路由0.0.0.0才能生效。

    使用always可以没有0.0.0.0默认路由也可下发:

            进程下 default-information originate always 

        默认是OE 2 可以metric-type修改 default-information originate always metric-type 1

        默认开销 1 可以metric修改 

                    default-information originate always metric-type 1 metric 10

        route-map:(需求,当本地有一条远端路由时才下发缺省)

      R1:  default-information originate always metric-type 1 metric 10 route-map test

         route-map test

            match ip address prefix-list test

         ip prefix-list teset permit 100.1.1.0/24

      R2: sho ip ro 看不到缺省

      R1: 可以本地产生一条,或者从外部学到一条

            ip roure 100.1.1.0 255.255.255.0 null 0

      R2: sho ip ro 就可以看到默认了



    

CCNP学习笔记3-路由部分--OSPF_第12张图片


######################## OSPF 特殊区域 ###################################################


        末节stub 以及 完全末节区域totally stub

◆Stub区域 拒绝4 类 5类

- 如果有个多个ABR,到达区域外部(AS外)有可能选择次优的路径,但是 是可以接受的。

- 末节区域中的路由器都要配置成末节(因为stub在hello包中定义)

- 末节和完全末节区域 不能存在ASBR

- 这个区域不能是区域0

- 虚链路不能穿越末节区域

STUB区域,不收外部LSA 所以不会有LSA5 LSA4。由ABR产生一条3类缺省到stub区域,到达外部网络。

命令 area X stub

◆totally stub区域 拒绝3,4,5类

思科私有

因为stub区域去往其他区域和外部网络都是通过ABR,所以只要区域内路由器能到达ABR就可以了。所以

totally stub 阻止外部LSA

             阻止汇总LSA

             只有一条缺省到达ABR

配置 ABR 配置 stub no-summary 区域内其他只需配置为 stub

命令 area x stub no-summary


◆修改默认路由发送到存根区域的成本 ,默认是 1

area area-id default-cost cost

sho ip ospf border-routers

sho ip os da summ 0.0.0.0


            ########## 次末节区域NSSA ##################

- 继承了末节区域的特点

- 但是 ASBR 允许在这种区域

- ASBR 向次末节区域中发送 7类LSA

- ABR 将 7类LSA 转换为 5类LSA

- ABR 向次末节区域发送默认路由

- 是 RFC 标准

CCNP学习笔记3-路由部分--OSPF_第13张图片

NSSA 区域试验


area 2 配置为nssa

命令 R3 R4进程下 area 2 nssa

R4 sho ip os da 可看到 type 7 external LSA

R3 sho ip os da 7类 转换为 5类

并且ASBR不会自动产生默认路由通过nssa区域的ABR到达其他区域,

需要手动在nssa区域的ABR上添加命令 area X default-information-originate

注:NSSA区域必须配在ASBR上

在area2 是nssa基础上,在R2 启用loopback100 并把直连重分布到ospf,此时R4是学不到R2的loopback100的,因为虽然R4所在区域是nssa,但是R2并不是ASBR。所以,nssa是配置在ASBR上的。

若果要让R4学到R2的loopback,R3 上:ospf进程下,area 2 nssa default-information-originate


Totally NSSA


stub 拒绝4类,5类 ABR产生3类默认
totally stub思科私有 拒绝3类,4类,5类 ABR产生3类默认
nssa 拒绝4类,5类。7类代替5类 ABR不能自动产生默认7类
totally nssa思科私有 拒绝3类,4类,5类。包含7类 ABR产生3类默认路由

##############################

◆Totally NSSA feature:

    ABR路由器 no-redistribute 因为会自动产生缺省路由,所以可以把重分布路由器干掉

            进程下 area x nssa no-summary no-redistribute

   translatie type7 suppress-fa 用于抑制forward address地址


◆ forward address:作为nssa区域的ABR,它要把7类Lsa转换为5类lsa泛红到相连的区域,而这条5类lsa的实际转发路由器是ASBR。所以在转发5类lsa中,会携带forward address字段指明实际的路由器

forward address:地址的选举,是ASBR最后一次宣告进ospf进程的地址

forward address:作用,5类LSA中的forward address可达时,5类lsa携带的路由才能放到路由表。

external 路由的forward-address有地址的情况:

            1,在有NNSA区域时,从普通区域看 external 路由的forward-address是ASBR最后一次宣告进ospf的地址。

            2,把ASBR的外网接口(下图总R4的 f1/0)也宣告进ospf,forward-address是产生这条路由的路由器出接口地址。优化下一跳


################################################################################################################# 虚链路 #############################


◆功能一:解决没有连接到骨干区域,只与普通区域相连的通信

       如下图,area0和area1可以正常通信;但是area2不能与任何其他区域通信

CCNP学习笔记3-路由部分--OSPF_第14张图片

在R2 R3打通隧道

R2:router os 1

        area 1 vitual-link 33.1.1.1(router-id)

R3: router os 1

         area 1 vitual-link 22.1.1.1

    sho ip os neighbor detail 查看虚链路邻居

    sho ip os virtual-link 

虚链路LSA不想其他LSA 30分钟更新一次,虚链路LSA只最初更新一次,只要不发送变化,老化时间永远不变sho ip os da (DNA)


功能二。解决不连续的区域0

CCNP学习笔记3-路由部分--OSPF_第15张图片

如图,R1 R4不能通信;R2 与R4的loopback不能通信;R3 R1的loopback不能通信

 原因:ABR收到的OIA路由,必须通过相连的区域0学

所以上图中,R2的外部区域路由必须通过R1学;同理R3的OIA路由必须通过R4学

R2 R3打通虚链路

R2 : router os 1

        area 1 virtual-link 33.1.1.1

R3 : router os 1

        area 1 virtual-link 22.1.1.1


#################################################################################################################### 认证 ####################


- ospf支持两种认证

   明文

   MD5

- 路由器生成并校验每个ospf数据包。接收路由器验证每一个源路由器发送到本地的更新数据包

- 配置密钥,每个邻居路由器必须有相同的密钥

◆回顾EIGRP,RIP认证步骤

  1,配置密钥

        1.1 配置钥匙链

        1.2 key-ID

        1.3 密码

  2,开启认证,接口下

  3,调用认证,接口下

◆ospf 认证步骤

    1,开启认证

        两种,1,进程下开启

              2,接口下

    2,调用,接口下 

注意:在有普通区域没有连接到骨干区域时,骨干区域开启认证,而非骨干区域不开启的话,虚链路是无法建立的。如下图

CCNP学习笔记3-路由部分--OSPF_第16张图片

R2 R3建立虚链路。R1开启认证area0认证,R3也要开启 area0 认证,虚链路才能建立


配置明文认证

   ■设置密码,接口下

   router(config-if)#

    ip ospf authentication-key passwork

    在相邻路由器之间分配一个相同的密码

两种开启认证方式(接口下,进程下)

  ■接口开启认证,

   router(config-if)

    ip ospf authentication [ message-digest | null ]

    指定认证类型

  ■ospf进程下开启认证

   router(config-router)#

    area area-id authentication [ message-digest ]

    启动区域认证,整个区域的密码要一致

wKioL1Zfu3PSgTADAABNquqOkDI558.png

配置MD5认证

    ■设置密码

     router(config-if)#

        ip ospf message-digest-key key-id md5 key

        分配一个密钥ID和密钥,邻居路由器要一致

两种开启认知方式(接口下,进程下)

    ■接口下开启认证

         router(config-if)

            ip ospf authenticatication message-digest

    ■ospf进程下开启认证

       router(config-router)#

          area area-id authentication message-digest

          启动区域认证,整个区域的密码要一致

如果两端只开启认证,但并没有在接口下调用也是可以起来的。相对eigrp和rip就起不来!!!

MD5认证更换密码,可以再启用一个keyID,然后no掉原来的key,邻居关系不会down!!


◆虚链路认证

CCNP学习笔记3-路由部分--OSPF_第17张图片

R1 R2 区域0 开启区域0认证

R2 R3 区域1 开启区域1认证

R3再开启loopback 1 宣告进区域2

R2 R3开启虚链路

R3要和area0 通信 虚链路也要做认证

R3进程下,area 1 virtual-link 22.1.1.1 authentication 开启认证

          area 1 virtual-link 22.1.1.1 authentication-key xxx 配置密码

###########################################################################################