ospf工作原理
链路状态路由协议
open标准
最短路径优先(spf)算法
链路状态路由协议(vs,距离矢量)
与rip的区别
rip是周期性更新(30)
ospf 不发送完整的路由条目但是它发送链路状态的更新
有不同的分组()
ospf是根据增量更新
ospf收敛快、避免环路
ospf可以发送子网掩码信息支持vlsm(超网)还支持认证
注:ripv1不支持认证 ripv2支持认证
算法:
每个路由器都将自己看做一棵树的根,依据到达目的地的累积成本计算最短路径
Cost=10的8次方除以带宽(bps)
cost --带宽 越大优先就越大
(支持等待价的负载均衡)
基于组播来发送hello包
10秒钟发送一次hello包
ospf 占用低带宽
ospf分层的路由
由区域组成
主干区域
简单区域
路由更新流量很少
ospf有三张表
邻居表(只记录跟它相连的信息)
路由表(包含全部的路由表与其两张表的不同时只装载到最优的路径)
链路状态表(它包含整个区内的整个路径全部包含)
ospf分组类型和状态
type1:hello分组:用来与建立邻居关系 通告邻居关系......
type2:数据库描述分组(DBD)用来描述ospf链路状态数据库的内容
type3: 链路状态请求(lsr)请求相邻路由器发送链路状态数据库中的特定项 (我向你请求我不知道的那一条链路状态的那一条信息)
type4:链路状态更新(LSU)向邻居路由器发送链路状态通告
type5:链路状态确认(LSACK)确定收到邻居路由器的LSA
核心内容 ACK
ospfde接口可以处在下面7种状态,ospf 邻居关系的建立由上而下逐步发展
1 DOWN停止状态:ospf没有进入任何状态,等待进入inti状态
(就是初始状态)
2init 初始状态:ospf接受到hello包后就到了初始状态 每十秒钟发送一个类型1的hello包,受到hello包的路由器进入init状态
3 收到hello包里的本地信息 它就可以进入two-way双向状态:hello包中包含已知的邻居列表,当接收到该hello的路由器发现自己出现载对方发送过来的hello包中时,进入two-way状态
4Exchange 准启动状态:成为邻居状态,以hello分组标识路由器id来决定主从状态(以经成为邻居状态但是全邻居装态)
5Exchange 交换状态:交换DBD分组描述链路状态数据库,并用LSAck分组确认
(用来dbd分组描述链路装态 并用LSAck确认)
6 Loading 加载状态 描述的过程中使用类型3的分组LSR请求完整的信息,然后使用LSU进行回应,LSU分组中含有确切的LSA,最后用类型5的包LSAck确认
(LSR请求完整的信息 LSU分组中包含确切的LSA)
7Full adjacency 全邻接状态:每一台路由器保存着一张邻居路由器的数据库。
(全部链接状态)
注:LSACK确认
(1)hello
dowh ------------> init
hello ruter id (大)
two-way <------------
exstart router id (2)
-------------->
routerid lsr(3)
<---------------- DBD 链路
exclayge
4LSU
<----------------
lsaCK
Full adjacency ---------------->
七种状态
五种类型
ospf运行步骤
1建立路由器邻接关系:进入TOW-way状态
2选举DR和BDR 优先级+路由ID
3发现路由,进入EXSTART状态确定主从关系交换链路状态数据库
4选择适当的路由。spf算法cost成本度量
5维护路由选择更新
注:在一个网络中DR和BDR的选举是靠优先级和routeID计算
如果在一个网络中DR段了的话那BDR就会成为DR
优先级是0-255
优先级为0的话不会参与选举
要是都是255的话就最看routerid
接口类型 耗费
100Mbps FDDI 1
10Mbps Ethernet 10
1.544Mbps T1 串行链路 64
56Kbps串行链路 1768
一个网络中优先级最高的就成为DR优先级次高的就成为BDR