设为首页 收藏本站
查看: 966|回复: 0

[经验分享] OSPF(Open Shortest Path First)开放式最短路径优先协议02

[复制链接]

尚未签到

发表于 2019-1-27 14:17:56 | 显示全部楼层 |阅读模式
  OSPF邻居:
OSPF路由器需要邻居路由器在几种状态间转换,然后会到达FULL
失效状态(down):一个会话的初始状态,除了在NBMA网络中,其他类型的网络不会发送hello包给那些失效的邻居路由器。如果邻居状态转到了失效状态,路由器将会清空链路状态重传列表,数据库摘要列表和链路状态请求列表
尝试状态(Attempt):仅适用于NBMA网络,如果具有DR选举资格的路由器连接其他路由器的接口变为active的时候(本地接口),这台路由器会把邻居路由器的状态转换到Attempt状态,使用hello间隔代替Pollinterval向邻居发送hello包.因为他无法动态的去发现邻居
初始状态(init):表明在最近的deadinterval中收到了来自邻居路由器的hello包,双向通信依然没有建立,路由器会在hello包的邻居字段中包含,在此状态或者更高状态下,所有学习到的所有邻居RID,如果是第一个hello包,为空(接收到的hello中有RID)
双向通信状态(2-way):表示本地路由器从来自邻居的hello包的邻居字段中看到了自己的RID。意味着双向通信建立成功,在MA网络中,路由器只有在此状态或者更高的状态中才有资格参与DR/BDR选举,如果在init状态下从邻居收到数据库描述报文,也可使本地路由器直接进入2-way状态
信息交换初始状态(ExStart):本地路由器和他的邻居将在这一状态下建立主/从关系,确定数据库描述数据包的序列号,为后面的DBD交换做准备。具有最大RID的路由器为主路由器
信息交换状态(Exchange):本地路由器将向他的邻居路由器发送数据库描述包,此状态下,也会发送链路状态请求数据包给邻居,用来请求LSA
信息加载状态(Loading):本地路由器向他邻居路由器发送链路状态请求,用来请求最新LSA,虽然在Exchange状态发现了新的LSA,但是本地路由器还没有收到这些LSA
完全邻接状态(full):路由器建立起完全的邻接关系

邻居建立过程:

  互相发送HELLO包来协商一些参数。

  OSPF会周期性的从启用OSPF的接口上发送HELLO包,OSPF启动之初,就进入了INIT状态。直到从邻居的HELLO包中看到了自己的RID,才会将邻居的状态转为2-WAY

  发送第一个DBD报文,来协商主从关系(是空的DBD报文,仅仅用来协商主从关系)
  R1:

  R2:

  协商过主从关系以后,状态就从Exstart转到Exchange,并且开始交互剩下的DBD报文:



  DBD报文间用序列号进行确认,主发送的序列号递增,从序列号跟随主序列号,来进行确认。这算一种隐性的确认方法。
  从邻居收来的DBD报文中会携带LSA头部信息,如果有本地没有的,或更新的LSA,将他放入我自己的链路状态请求列表,然后去发送LSR来请求这条LSA的完整信息。直到自己的链路状态请求列表为空。
  有可能在交互DBD的中间,Exchange状态的时候,就开始发送了LSR,来请求LSA的信息。LSR只包含被请求LSA的头部信息。

  在Exchange状态下,如果LSU和LSR的交互完成了,则直接转到FULL状态,如果还有,则转到Loading状态。
  接收到LSR的路由器,会返回一个LSU,包含被请求的LSA的详细信息。

  MA网络和其他网络的区别,1.需要选举DR/BDR,建立完整的FULL状态最少40S,wait time:在开始选举DR和BDR之间,路由器等待邻居路由器的Hello数据包通告DR和BDR的时长。
  并不是先启动OSPF进程的路由器就是DR,而是有一个时间间隔让路由器来等待其他路由器,在这个时间间隔内,路由器相互监听Hello包中的DR和DBR字段中的信息,并且服从优先级原则,可以这样认为——选举是公平的。(要充分考虑是否真实情况40S内一个MA网络的OSPF能跑完)

  R1先启动OSPF,40S以后,R2启用OSPF。看DR/BDR的选举
  (config-router)#do show ip os int f0/0
  FastEthernet0/0 is up, line protocol is up
  Internet Address 12.0.0.1/24, Area 0
  Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 1.1.1.1, Interface address 12.0.0.1
  Backup Designated router (ID) 2.2.2.2, Interface address 12.0.0.2
  DR/BDR的选举规则,先选举BDR,然后这个BDR成为DR,再选出一个BDR。(因为所有路由器在开始的时候并没有声明自己是DR/BDR,优先级又一样,故RID大的成为BDR,然后这个BDR成为DR,再重新找一个RID次大的,成为BDR)
  如果是串口,默认是点到点的网络类型,是不需要选举DR/BDR的。邻居建立的方式差不多,只是不需要等待40S那么长时间。
  DR/BDR指的是一个接口的概念,虚链路也是指的接口。
  注:所谓的隐式确认和显式确认,隐式确认指的是DBD的确认和LSR的确认,这两个确认是和Retransmit计时器有关的。显式确认只有LSAck。
OSPF接口:
OSPF协议通过路由器的接口来了解链路信息,分清接口和链路的概念。
观察接口结构
R1#show ip ospf interface serial 1/0
Serial1/0 is up, line protocol is up
  Internet Address 12.0.0.1/24, Area 0
  Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_POINT,
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:08
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 1, maximum is 1
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 2.2.2.2
  Suppress hello for 0 neighbor(s)
Internet Address:此接口所配置的ip/mask
Area 0:指定的区域ID,始发这个接口的OSPF数据包使用这个区域ID
Process ID:进程ID,CISCO私有,依靠这个CISCO来在同一设备中使用多个OSPF进程,仅仅本地有效
Router ID:路由器ID,选举规则见LS协议最后一节
Network Type:和接口相连的网络类型:广播,点到点,点到多点,NBMA,虚链路等。
Cost:发出数据包的出站代价,即数据层面的出接口,控制层面的入接口。
OSPF带宽计算规则:10的8次方/接口带宽,这样会有一个问题凡是大于100M的,cost都为1.无法衡量出不同链路的带宽
使用auto-cost reference-bandwitch修改分母
InfTransDelay=Transmit Delay :LSA从接口发送经历的时间,LSA发出后会引发此参数不断变大 cisco中默认是1S
ip ospf transmit-delay来更改
因为网络类型关系,没有DR/BDR的显示
Wait 40:在serial 口中没有意义,表示的是在开始选取DR/BDR之前,路由器等待邻居路由器的HELLO数据包通告DR/BDR的时长。
Retransmit:在没有得到确认的情况下,重传OSPF数据包等待的时间长度,ip ospf retransmit-interval更改
neighbor:只有建立邻接关系的路由器才会在此有显示。
如果开启认证,此命令最后输出也会有显示。如果没有使用或使用了null认证,则不会显示。

每台路由器都会维护一个邻居数据结构表:
R1#show ip ospf neighbor 2.2.2.2
Neighbor 2.2.2.2, interface address 12.0.0.2
    In the area 0 via interface FastEthernet0/0
    Neighbor priority is 1, State is FULL, 6 state changes
    DR is 12.0.0.2 BDR is 12.0.0.1
    Options is 0x52
    LLS Options is 0x1 (LR)
    Dead timer due in 00:00:36
    Neighbor is up for 00:00:59
    Index 1/1, retransmission queue length 0, number of retransmission 1
    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
    Last retransmission scan length is 1, maximum is 1
    Last retransmission scan time is 0 msec, maximum is 0 msec
Neighbor :邻居路由器的RID
interface address:邻居路由器的IP地址
areaID:收到的hello包中的areaID需要和接收hello包接口的areaID一致,保证互为邻居路由器
interface :本地通过哪个接口连接到这个邻居
state:从本地看邻居的状态,此输出来看是full
DR/BDR:DR/BDR的IP地址,包含在hello包中的DR/BDR字段
Dead timer:收到hello会刷新此计时器






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668313-1-1.html 上篇帖子: oracle安装故障:完美解决xhost +报错: unable to open display “” 下篇帖子: ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表