zoukankan      html  css  js  c++  java
  • 路由协议OSPF学习笔记1

    1、OSPF五种报文

    Hello
    DD
    LSR
    LSU
    LSAck
     注:
      hello-interval 10s(以太网)   30s(NBMA)  
      dead-interval  40s (以太网)  120s(NBMA)

    2、OSPF的三张表

    拓扑表(LSDB):同一区域内有相同的LSDB
    邻居表:也叫邻居状态数据库
    路由表:前往目标网络的最佳路径

    3、OSPF的特点

    1、区域概念,有效减少路由条目对CPU和内存占用,将拓扑变化局限在本区域内,相信的LSA泛洪控制。
    2、邻接关系,OSPF协议定义了一些路由器类型和网络类型,邻接关系的建立是交换Hello信息的路由器类型和交换Hello信息的网络类型决定的。
    3、每台收到从邻居路由器发出的LSA的路由器都会把这些LSA记录存在它的LSDB中,并且发送一份LSA拷贝给这台路由器其他所有邻居。
    4、当这些路由器LSDB完全相同时,各自路由器就以自身为根,使用SPF算法算一条无环的最短路径拓扑图,从而构建自己的路由表。

    4、OSPF的Hello机制

    1、作用:发现邻居,keepalive,协商参数,确保2-way,选择DR。
    2、如果在4倍的Hello间隔时间中没有收到邻居的hello包,这个邻居就是会被宣告无效,这个时间就是dead-interval
    3、hello包所包含的信息如下:红色不匹配可能无法建立邻接关系
    源路由器的router-id
    源路由器的area-id
    源路由器接口地址和掩码
    源路由器接口的认证类型和相关信息
    源路由器接口的Hello,dead等时间间隔
    路由器的优先级
    DR & BDR
    五个标记位(可选)
    源路由器所有有效邻居的router-id
    
    4、如果源路由器的RID在接受该hello数据包的接口邻居表中列出,那么dead-interval就会被重置,如果始发路由器的RID没有在列表中,那么就把这个RID加入到它的邻居表中。
    5、路由器发送一个hello数据包时,就会在这个数据包中列出在传送该数据包的链路上所有的邻居路由器的RID。
    6、邻接关系的建立依赖邻居路由器之间所连接的网络类型,网络类型影响OSPF数据包的传送方式。

    5、OSPF的网络类型

    1、点到点:目的IP  224.0.0.5(即使设置neighbor也组播更新),一对路由器形成邻接关系。无DR,每个子接口属于不同的IP子网。
    2、点到多点:目的IP  224.0.0.5(即使设置neighbor也组播更新),无DR,同一个IP子网。PTP和PTMP无法形成邻接(PTMP中hello间隔30s,dead间隔120s)
    3、点到多点非广播:目的IP 单播,无DR,同一IP子网。
    4、NBMA:目的IP 单播,选DR(DR和BDR必须与其他所有路由器直接相连),同一IP子网。全互联或部分互联。
    5、广播:选举DR,所有路由器发信息到224.0.0.6(DR监听这个地址),然后DR发送更新到224.0.0.5(DRother监听这个地址),DR和所有路由器建立邻接关系,所有DRohter路由器之间收敛为2-way状态(即使设置neighbor也组播更新)。同一IP子网,全互联或部分互联。
    
    特点总结: 点家族都不用选举DR和BDR 多路访问都需要选举DR和BDR 非广播都要手动指定邻居,非广播都是单播更新 neighbor命令后指定的cost只有在非广播下有效 OSPF只用接口的第一个IP地址建立邻居和形成邻接

    6、DR和BDR

    DR和BDR的选举规则:
    1、每个多路访问接口都有一个优先级(0-255),优先级为0的路由器不具有选举的权利,默认优先级为1,优先级越大越优先。
    2、hello包里包含优先级字段,还包含了可能成为DR/BDR相关接口的IP地址
    3、当接口在多路访问网络上初次启动时候,它把DR/BDR设置为0.0.0.0,同时设置等待计时器,等待计时器等于dead-interval(更改hello时间间隔,dead时间也相应改变,更改dead时间间隔,hello间隔不变)
    
    DR和BDR的选举:
    1、邻居表中的2-way以后,检查邻居hello中的priority,DR/BDR字段,列出所有可以参加DR/BDR选举的邻居,所有的邻居都宣称自己是DR/BDR(DR。BDR都是自己接口地址)
    2、在这个列表中创建一个没有宣称自己是DR的子集,因此宣称为DR的不能被选举为BDR。
    3、在子集中,先比优先级然后比Routerid,高的成为BDR。
    4、在所有宣称自己的为DR的hello中选举DR,先比优先级再比router id,高的DR。
    5、如果没有人宣称自己为DR那么再步骤3中选举的BDR成为DR。(稳定后DR/BDR不能抢占)
    
    
    DR和BDR选举需要注意的事项:
    1、多路访问网络中每个路由器都会与DR和BDR同时形成邻接关系,其他路由器之间只是2-way关系。DR和BDR之间也形成邻接关系。
    2、DR和BDR是路由器接口的特性,并不是整个路由器的特性。
    3、DR和BDR信息被存放在接口数据结构表中。
    4、DR和BDR不能抢占,也就是在一个多路访问网络中先初始化启动的路由器可能成为DR/BDR不能抢占)
    5、邻居表2-way后,并不是马上选举DR/BDR而是等待一个定时器,超时后才进行选举。在wait时间内等待其他邻居给我通告DR/BDR信息。wait时间内就收发hello。

    7、OSPF的度量值

    参考带宽要在所有OSPF路由器修改,否则带宽计算不一致。

    COST(1-65535):从发送端到目的地 出方向 的代价之和。IP ospf cost

    思科计算度量方法:10^8/BW (不能为小于1的数,小于都是1)

    例如:10^8/1544Kbit=64

    修改参考带宽:如果接口带宽大于10的8次方,那么都是1.为了避免这种情况。

    auto-cost reference-bandwidth  (1-4296967)默认为100(也就是10的8次方)

    8、OSPF的接口

    链路状态协议的基本要点是它涉及到了路由器之间的链路和那些链路的状态,路由器通过接口信息来了了解链路信息。在同一个区域内OSPF所实现的完整的SPF计算,区域间进行的是部分SPF计算,
    因为ABR通告的3、4、5类LSA并没有链路状态信息,路由器并无法计算完整的链路状态信息。所以OSPF区域内为链路状态特性,区域间有距离矢量特性。

    9、OSPF的接口数据结构

    process ID :可以在同一个路由器开启多个路由进程(最大30个进程),
    路由进程本地有效。如果一个接口在多个进程中宣告,随机一个进程与邻居建立关系。
    
    router ID:因为OSPF要对其他OSPF路由器跟踪,所以每个OSPF路由器需要一个Router id,router id在同一个区域内唯一的标志一台路由器。
    
    router id配置:
    1、可以使用router id来指定。
    2、如果没有指定,就选环回口IP最大的一个。
    3、如果没有配置环回口ip就在物理接口中选一个IP地址最大的。
    4、如果路由器的物理接口down或删除也继续使用这个地址用作Router id。除非重启进程。
    
    InftransDelay:LSA从路由器的接口发送后经历的时间,缺省1s。ip ospf transmit-delay
    LSA传播每经过一个接口就加1S传播延迟,LSA的存活时间就减1S. 计算LSA存活时间用。
    
    RxmtInterval:在没有收到确认情况下,路由器重传OSPF数据包将要等待的时间长度。默认为5s,可以更改 ip ospf retransmit-interval
    
    Hello-timer:此值有hello-interval指定,比如为10,那么这个计时器就从10递减,为0的时候就发出一个hello包给邻居。
    
    Neighboring routers:和这个接口相连的有效邻居(在dead间隔内可以收到hello包)的列表。neighbor count数为2-way的邻居数,adjacent neighbor为full邻接关系的数量。
  • 相关阅读:
    GJM: Unity3D AssetBundle 手记 [转载]
    GJM: Unity3D基于Socket通讯例子 [转载]
    GJM:用C#实现网络爬虫(二) [转载]
    JSONP(跨域请求) —— 一种非官方跨域数据交互协议
    经典布局之圣杯布局 —— 左右定宽,中间流式
    js中的callback(阻塞同步或异步时使用)
    Emmet:HTML/CSS代码快速编写神器
    CSS弹性盒模型 box-flex
    JSON对象的stringify()和parse()方法
    懒加载 lazy load
  • 原文地址:https://www.cnblogs.com/liujunjun/p/13345232.html
Copyright © 2011-2022 走看看