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

CCNP学习笔记3-路由部分--OSPF

时间:2015-11-15 23:24:31      阅读:401      评论:0      收藏:0      [点我收藏+]

标签:ospf

            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

技术分享

技术分享

   路由器收到一条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

authenticationdate
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,随机生成一个序号。对端也是发送flag=7的DBD

     比较routerID后 用对端序号发给对端 flag= 2.对端收到200的序号

     对端发送序号位201 flag=3 ,直到主传到最后一个报文时 flag = 1

     确认完成!!!


待续!!!










































CCNP学习笔记3-路由部分--OSPF

标签:ospf

原文地址:http://angelfire1986.blog.51cto.com/4061979/1712967

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