- ospf企业网络,园区网络,几乎100%市场使用率。
- OSPF----BGP-----MPLS VPN是下面的基础 -------------------------------------------------------- vxlan,evpn,sr,srv6
- ospf version2 针对IPv4协议,一般说的OSPF是v2版本
一、OSPF定义
- OSPF(open shortest path first,开放 最短 路径 优先),是一种基于链路状态算法的路由协议。相对于静态路由,有主备功能。
- 路由协议:路由器之间共同遵循的一种工作机制(相同路由协议),用于实现网络互联互通。
- 扩展:动态路由协议的分类 工作区域分类(运行相同协议的区域,如运行ospf协议的A公司是一个工作区域,运行RIP协议的B公司是另一个区域。) 内部网关协议(interior gateway protocols,简称IGP):RIP,OSPF,IS-IS,公司内部自治。 外部网络协议(exterior gateway protocols,简称EGP):只有BGP,公司与公司之间通信(合作)。
- 工作机制及算法分类 距离矢量路由协议(DV):RIP,周期泛洪自己的路由表,路由器不知道网络拓扑,只知道去的目的地在哪里,距离有多远。 链路状态路由协议(LS):OSPF,IS-IS,链路状态通告,不是交互路由表,把链路状态信息收集放在链路状态库里,同时也清楚了区域的网络拓扑结构。然后采用SPF算法计算到各个地方的最短路径,从而生成路由表。 路径矢量路由协议(基于距离矢量算法修改的):BGP 动态路由协议有,OSPF,IS-IS,RIP,BGP。
二、OSPF链路状态路由协议
- 链路状态路由协议4个过程 1)建立相邻路由器之间的邻居关系。 如OSPF,是通过周期性发送Hello报文,来发现和维护OSPF邻居关系,BGP是另一种报文,现在列举的是OSPF报文。 2)邻居之间交互链路状态信息和同步LSDB 相邻设备A和B相互发送”数据库描述报文“(Databas Description,简称DD 报文)描述本地LSDB的摘要信息,如果A和B有不同的数据信息,那A向B发送链路状态请求报文(Link State Requset,简称LSR报文),B回复A链路状态更新报文(Link State Update,简称LSU报文),来回复A的链路状态请求,然后A再回复B链路状态确认报文,表示已经收到了。相比于RIP,RIP路由表转发时被加工了,而OSPF链路状态是不能加工的,转发的是最真实的。
- 3)进行优选路径计算 4)根据最短路径树生成路由表项加载到路由表




三、OSPF术语
- 进程:一般命令输入ospf,默认是进程1,进程各不影响,可以用于网络隔离。
- 区域(area):用于标识一个OSPF区域,area 0是主区域。大型网络,分区域,area0,area1,area2等,减少链路泛洪的大小,非零区域要与area 0 相连接。区域与区域之间可以建立虚链路(暂时没了解)。 1)OSPF区域边界在路由器上,划分区域本质上就是把接口加入到不同的区域中。 2)OSPFv2中一个接口只能加入到一个区域,以及只能加入到一个进程。 3)OSPF区域规划原则:骨干区域(area 0,一个进程只有一个)和非骨干区域。非骨干区域必须与骨干区域相连。
4)不同协议之间或者相同协议的不同进程之间,默认路由隔离 - 路由标识符(Router-Identifier,简称Router-ID):在OSPF域中唯一地标识一台路由器。可以用dis router id 查看全局 1)手动配置:优先级最高,全网唯一。可全局配置,也可在ospf进程下配置,在ospf进程下配置优先级最高。更换router-id是要重启ospf进程,reset ospf process。项目中常用loopback的ip地址作为router-id。 2)自动配置:根据接口ip地址或环回地址。

- 度量值(用cost开销表示),ospf的接口都会维护一个接口cost值,缺省时接口Cost值对于100Mbit➗接口带宽。 cost不足1统一按1来算,除不尽取整数位。默认值100mbit/s可修改,全局命令bandwidth-reference 5000,cost=5000Mbit➗接口带宽。接口用ospf cost xxx,是直接修改cost。接口改的优先。 ospf路径累计cost值是ospf出接口cost值的累计和。接口开销可修改,在接口视图下:ospf cost xxx,检查接口开销,dis ospf interface g0/0/1 1)因为来回度量值不一致,可能导致流量来回路径不一致。如图。如果有防火墙,可能导致业务中断。报文状态对应不上。度量值可以流量控制。

- ospf三大表项,OSPF邻居表,LSDB表,OSPF路由表
- ospf五种协议报文:hello报文,DD报文,LSR报文,LSU报文,LSAck报文。
四、 OSPF协议工作原理





五、网络类型和DR,BDR的选举
点到点和点到多点无需选举DR/BDR



一般开始没建立邻居,路由器会40s内发送hello包,没人回,就自己把自己设为DR。但是,后加进来的路由器建立了邻居关系,但由于DR已经选举了,所以后加进来的路由器只能是BDR。此外DR和BDR的IP地址是路由器的接口IP地址。
修改选举DR,BDR的命令,在路由器的接口视图下,ospf dr-priority 优先级数值。 ospf进程重启,在用户视图下,reset ospf process
六、OSPF配置
以太网链路,ospf网络类型默认是广播,但是如果只有一个邻居可以改为p2p
如何高效的表达?
任何复杂的逻辑,如果你自己事先梳理其中的逻辑,那么90s内你可以完成对它的表达。
display ospf routing 查看ospf路由表
dis ip routing-table 1.1.1.1
ip router-static 1.1.1.1 32 null 0 黑洞路由
ospf timer timer hello //修改hello报文的时间,死亡时间也会随之改变,死亡时间是hello的4倍
dis ospf interface g0/0/0
dis ospf error interface g0/0/0 //查看接口下ospf邻居建立时的错误
reset ospf counters //清除ospf的错误计数
七.路由器
路由器如何实现负载分担 两种机制
1.基于包的负载分担 去往同个地方的报文。如果有多个,一个走这边,下一个走那边。
2.基于流的负载分担(目前华为仅支持基于流的负载分担,形成一个TCP/UDP会话)基于流的会稳定,,数据到达的时间一致,不存在先后顺序,
根据报文的五元组来搞。
SIP,DIP,TCP/UDP,SPORT,DPOET,五元组相同的报文成为一个流,不同流分担到不同路径上。
OSPF路由表和IP路由表使不一样的,IP路由表是最优的。
OSPF报文直接采用IP封装。OSPF报文格式
dis ospf int g0/0/0
dis ospf erroe int g/0/0/0 排错用的
运营商改MTU比较多。MTU指不分片的情况下,接口最大可发出的IP报文长度。
对上图解析,在P2P中ospf建立邻居,如果地址和掩码不一致,会建立邻居但是无法通信,所以无论是p2p还是以太网都建议链路是同一网段的。点到点的只需三层通信,不需要二层的ARP解析,所以能建立邻居。但是无法通信。
只有直连才有ARP解析。ARP不能跨网段解析。
八、OSPF路由计算


4种链路状态,P-2-P,StubNet,TransNet,vitrual-link
一类 router,二类network只在单区域内传递和泛洪。
三类sum-net转递的是路由信息
路由引入是指引入是不同路由协议或同一路由协议的不同进程。


虚链路

