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

[经验分享] Open Shortest Path First (OSPF)(1)

[复制链接]

尚未签到

发表于 2019-1-27 07:27:57 | 显示全部楼层 |阅读模式
开放最短路径优先协议OSPF Openshortest PathFirst,OSPF)是IETF组织建议使用的内部网关协议(IGPOSPF是一种链路状态协议。OSPF使用Dijkstra的最短优先算法(SPF)。是公用的协议。
OSPF协议的特点:

  •   使用区域的概念,这样可以有效的减少路由选择协议对路由器的CPU和内存的占用,划分区域还可以降低路由选择的通信量。
  •   完全无类别处理地址问题,排除了像不连续子网这样的又累路由选择协议的问题;
  •   支持无类别的路由选择表查询、VLSM和用来进行有效地址管理的超网技术;
  •   支持多条路由等价负载均衡(注:不支持不等价负载的)
  •   保留组播地址来减少不宣告OSPF报文的设备的影响;
  •   支持路由选择认证
  •   使用可跟踪外部路由的路由标记
OSPF是使用端口号89OSPF支持明文和密文MD5认证。OSPF不会使用周期更新,它使用的是触发更新,只有路由发生变动的情况下面才会发送更新信息。实际上面,OSPF是间接设置了周期更新的路由规则,因为所有路由都是有刷新时间的,当达到刷新时间阀值的时候,该路由会就产生一次更新。默认的时间为1800秒(30分钟),所有OSPF路由的定期更新周期默认为30分钟。


OSPF的路由管理距离是110OSPF只支持等价负载均衡(EIGRP是支持不等价负载的)




OSPF的工作流程:

  •   宣告OSPF的路由从所有启动OSPF协议的接口上面发出Hello报文(224.0.0.6)如果有两台路由共享一条公共数据链路,并且能够相互陈公公协商它们各自Hello报文中的某些参数,那么它们就会成为邻居关系(Neighbor;
  •   邻接关系(Adjacency),可以想象成为一条点到点的虚链路,它是在一些邻居路由器之间构成的。OSPF协议定义了一些网络类型和一些路由器类型的邻接关系。邻接关系的简历是由Hello保卫信息的路由器类型和交换Hello保卫信息的网络类型决定的。
  •   每台路由都会在所有形成邻接关系的邻居之间发送链路状态通告(Link State   Advertisement,LSA.LSA通告描述了路由器所有的额链路信息(或接口)和链路状态信息。这些链路可以是一个末稍网络(Stub   network,是指没有和其他路由器相连的网络)的链路、到其他OSPF   路由器的链路、到其他区域网络的连理、或者是外部网络的链路,由于这些链路状态信息的多样性,OSPF定义了许多的LSA类型。
  •   每一个收到从邻近路由器发出的LSA通告的路由器都会把这些LSA通告记录在它的链路状态数据库当中,并且发送一份LSA的拷贝给该路由器的其他所有邻居。
  •   通过LSA泛洪到整个区域,所有路由器都会形成同样的连理状态数据库。
  •   当这些路由器的数据库都完全相同的时候,每台路由器都讲以它自身为根,使用SPF算法去计算一个环路的拓扑图,来描述它所知道的到达没一个目的的最短路径。这个拓扑图就是SPF算法树。
  •   最后,每一台路由器都讲从SPF算法树中构建出自己的路由选择表。


邻居之间交换的Hello保卫称为Keepalive保卫,并且每隔30分钟重传一次LSA


Hello报文的作用:

  •   发现邻居
  •   Hello报文在邻居之间担当Keepilve角色
  •   确保邻居路由之间的双向通信
  •   在非广播多路访问(NBMA)网络上面选取指定路由器(DR)和备份指定路由器(BDR


Cisco路由上面缺省的Hello时间是10S,在NBMA的网络上面缺省是30S
无效时间是缺省值的4 40S,可以使用ip ospf dead-interval来修改。


Hello报文包含的信息:

  •   始发路由的路由IDROUTERID);
  •   始发路由接口的区域IDAREAID);
  •   始发路由接口的地址掩码;
  •   始发路由接口的认证类型和认证信息;
  •   始发路由接口的Hello时间间隔;
  •   始发路由接口的路由无效时间间隔
  •   路由的优先级
  •   指定路由器(DR)和备份指定路由器(BDR)
  •   标识可选的性能的5个标记位
  •   始发路由的所有有效邻居的路由器ID

OSPF Hello Packet

OSPF的网络类型:

  •   非广播(NBMA
NBMA网络,X.25,帧中继,ATM等。可以连接两台以上的路由器,但是它们没有广播数据包的能力。一个在NBMA网络上的路由器发送的报文讲不能被其他与之相连的路由器收到。在NBMA网络上面OSPF路由器需要选择DRBDR,并且所有的额OSPF报文都是单薄的。



  •   广播(Broadcast)
广播型网络是多址的网络,连接在这种网络上面可以接受到个别传送的报文。广播网络会选举DRBDR

  •   点到点(Point-to-Point)
点到点网络,是连接单独的一对路由的。在点到点网络上有效的邻居总可以形成邻接关系。在这些网络上的OSPF报文的目的地址也总是保留的D类地址244.0.0.5ALLSPFRouters

  •   点到多点(Point-to-Multipoint)
点到多点网络是NBMA网络的一个特殊配置,可以看做是一群点到点的集合。在这些网络上面的额OSPF路由器不需要选举DRBDR,因为这邪网络可以被看作点到点链路,而且OSPF报文是组播的。

  •   虚链路(Virtual Links)
可以被路由器认为是没有编号的点到点网络的一种特殊配置。在虚链路上OSPF报文是以单薄的方式发送的。
网络类型
Hello时间
选举DR/BDR
邻居建立方式
点到点
(Point-To-Point)
10秒

自动
点到多点
(Point-To-Multipoint)
30秒

自动
广播
(Broadcast )
10秒

自动
非广播
(Non-Broadcast )
30秒

手工
点到多点非广播
(Point-To-Multipoint Non-Broadcast)
30秒








DRBDR的选举过程:

  •   在路由器和它的邻居路由之间首先建立成功双向通信(2-way   communication)接着检查每台邻居路由器发送的Hello报文的优先级、DRBDR等字段。列出所有具有DRBDR选取资格的路由器的列表(也就是说,路由的优先级要大于0,并且它的邻居状态至少要2-way的);接着,所有的路由器也将宣称自己是DR路由器(Hello报文的DR字段是他们自身接口的地址);所有的路由器将宣称自己是DR路由器(Hello报文的DR字段是它们自身接口的地址)除非没有选取资格。路由器计算的时候也将在这个具有选取资格路由器的列表中包括它本身。
  •   从具有选取资格的理由七的列表中,创建一个还没有宣告为DR路由器的所有路由器的子集(宣告子集为DR路由器的路由器不能被选取为BDR路由器)
  •   如果在这个自己中的一个或者多个邻居路由器,它们在Hello报文的BDR字段包含了它们自己的接口地址,那么具有最高优先级的邻居路由器将被宣告为BDR路由器。在优先级相同的条件下,具有最高的路由器ID的邻居路由器将被选作BDR路由器。
  •   如果一个或者多个具有选取资格的路由器在Hello报文的DR字段包含它们自己的接口地址,那么具有最高优先级的邻居路由器将被宣告为DR路由器。在优先级相同的条件下面,具有最高的路由器ID的邻居路由器将被选作DR路由器。
  •   如果没有路由器宣称自己是DR路由器,那么新选取的BDR路由器将成为DR路由器。
  •   如果正在执行计算机的路由器是新选取的DR或者BDR路由器,或者它不再是DR或者BDR路由器了,那么就重复以上的2-6步骤。
  

类型1 路由LSA
起源:每个区域里面的路由器的每个接口都会产生
泛洪范围:只能在本区域泛洪
内容:描述了当前接口直连链路的状态信息(IP前缀,接口类型)
  


  

类型2 网络LSA
起源:在MBA网络里面DR产生
洪泛范围:只能在本区域
内容:包含了DR所直连的状态信息(IP前缀)

  

类型3 LSA
起源:ABR产生
洪泛范围:在整个OSPF网络中洪泛
内容:包含了当前ABR所连接的多个区域的IP前缀信息

  

4LSA
起源:ASBR所在的区域的ABR产生的
洪泛范围:在整个OSPF网络中洪泛
内容:ABBR RID

  

五类LSA
起源:ASBR产生
洪泛范围:在整个OSPF网络中洪泛
内容:外部路由条目

  

7LSA NSSA区域允许ASBR存在,在外部路由重分发进来后,将产生7LSA7类只会在NSSA区域传递,当要传递到其他区域的时候,ABR讲把7LSA转换成5LSA




Like State ID
LSA类型
Link State ID内容
LSA  1
是产生LSA  1的路由器的Router-ID。
LSA  2
因为LSA  2是由DR产生的,所以LSA 2的Link State ID是DR的接口地址。
LSA  3
是目标网络的网络地址,其实这个等同于路由条目,也就是路由表里显示的是什么,LSA  3的Link State ID就是什么。
LSA  4
是ASBR的Router-ID
LSA  5
和LSA  3的一样,还是目标网络的网络地址,路由表里显示的是什么,LSA 5的Link State ID就是什么。






Link ID
链路类型(Link Type)
Link ID内容
Stub  Network Link
使用接口的网络号和子网掩码来表示。
Point-To-Point  Link
邻居的Router-ID。
Transit  Link
是DR的接口地址。
Virtual  link
同Point-To-Point  Link,是邻居的Router-ID。





Link Data


是接口上的IP地址,如果链路类型(Link Type)为Stub Network Link,则Link Data是子网掩码。


OSPF 路由表项与LSA类型
1.O 由类型12LSA组成
2.OIA 由类型34LSA 组成
3.OE1E2 有类型5LSA组成


OE1OE2的区别在于Cost
如果是OE2 到外部路由只计算ASBR到达目标网络的开销
如果是OE1到外部路由外部成本+内部成本


OSPF特殊区域:
1.Stub(末节区域)拒绝类型4和类型5LSA;下放一条3类默认路由;
2.Totally stub area (完全末节区域)拒接类型3、类型4和类型5LSA。而对于其他局域的非OSPF自治系统的网络使用默认路由代替。(下放一跳三类的默认路由)
3.NSSA(同末节区域)可以存在ASBR
4.Totally NSSA(同完全末节区域)可以存在ASBR




OSPF虚链路(Virtual Link
1.OSPF虚链路必须是在两个拥有共同区域的ABR之间建立,其中必须至少一个ARB是连接骨干(AREA0)的。
2.ISOF虚链路被认为是骨干区域的一个接口,一条链路,也需要建立OSPF邻居,但在邻居建立之后,链路上是没有Hello包传递的。
3.虚链路地址一定要是对方的Router-id


OSPF认证(认证分为区域认证和链路认证)
1.区域认证:任何接入这个区域的路由器都要进行认证;
2.链路认证:与该链路想了的路由器接口都需要配置认证;
  

  





运维网声明 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-668006-1-1.html 上篇帖子: ADO中_RecordsetPtrD对象Open方法原型 下篇帖子: Python 中 open() 的 mode 参数总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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