OSPF路由协议(2)
五、ospf中DR(指定路由器)和BDR(备份指定路由器)的选举规则
1、比较优先级:默认(默认为1)端口的优先级相同,可以手动修改,修改优先级为0,表示不参加选举。 命令:ip ospf priority xxx(0---255) //修改优先级
!!!在需要重新选举DR和BDR的时候,必须重启OSPF的进程
2、 比较router-id(路由器id):router-id最大,选择方式(1)手动配置router-id;(2)因为look back口不会down掉,所以可以选择look back口ip地址大的;(3)当物理接口都是up状态时,可以选择物理接口ip地址大的。
3、点到点和点到多点的网络类型,不选举DR和BDR。BMA和NBMA的网络类型会选举DR和BDR。DR和BDR会与其它所有的路由器建立邻接关系,BR other之间不建立邻接关系(two-way)
六、ospf的三张表格:通过spf算法计算出三张表格
1、邻居表:show IP ospf neighbor,6种状态
(1)init(初始):配置ospf进程后直接进入init状态,凯斯交换hello包;
(2)two-way(双向):当网络类型为点到点或者点到多点类型时:此时,路由器直接从two-way进入full状态;
图1:two-way状态
当网络类型为MA(多路访问)的时候:two-way--->(3)--->(4)--->(5)--->(6)
(3)Exstart(准启动):路由器之间进入Exstart,开始通过读取hello信息,比较优先级以及router-id选举DR和BDR;
(4)Exchange(交换):进入Exchange状态,交换DBD报文信息,发送链路状态通告(同步链路状态数据库LSDB)
(5)loading(加载):进入loading状态,将LSDB的链路状态信息提取出来,生成路由表。
(6)full Adjacency(全邻接):进入full状态,建立邻居关系,正常转发数据包
图2:路由发现过程
※五种数据包文:
※(1)hello报文-----建立邻居关系
※(2)DBD报文-----数据库描述报文,描述ospf路由器链路状态数据库的内容
※(3)LSR报文-----链路状态请求,请求相邻路由器发送其链路状态数据库中的特定项
※(4)LSU报文-----链路状态更新,向相邻路由器发送链路状态通告
※(5)LSACK报文-链路状态确认,确认收到了邻居路由器的LSA
2、链路状态数据库(LSBD):
每台路由器的LSDB表中,都拥有该area域内的所有信息,且同一个域内的LSDB信息相同。
show ip ospf database //查看链路状态数据库
(1)ABR:区域边界路由器;
(2)ASBR:区域状态边界路由器--->
一部分接口在ospf的区域内,一部分接口在其它路由协议区域内。
(3)LSA(link-state advertisement):链路状态通告(11种,学习6种):
a,路由器LSA->1类;b,网络LSA->2类;c,路由汇总LSA->3类;
d,ASBR汇总LSA->4类;e,AS外部LSA->5类;f,NSSA外部LSA->7类
6类是组播LSA,只做了解即可
(4)常用的LSA
类型 |
范围 | 通告者 | 内容 | 补充 |
1类:router lsa |
ospf本区域内 |
每台路由器 | 拓扑信息和路由信息 | 只在始发它们的区域内部泛洪 |
2类:network lsa | 网络拓扑是多路访问(MA) | 区域的DR通告 | 拓扑(本区域有多少路由器)、子网信息 | 只在本网络的区域内泛洪 |
3类:sum lsa | 区域内和区域内(泛洪) | 区域边界路由器(ABR) | 区域间路由信息(inter area) | |
4类:sum asbr lsa | 除去ASBR所在区域,剩下的ospf区域 | 区域边界路由器(ABR) | 描述ASBR的路由信息 | 通告来源是一台ASBR不是一个网络 |
5类:External lsa | ospf区域内,不属于任何一个区域 | 自治系统边界路由器(ASBR) | 描述到达ospf自治系统外部目的地的路由 | 在整个自治系统中泛洪 |
7类:NSSA外部lsa | nssa external lsa,存在于NSSA区域 | 自治系统边界路由器(ASBR) | 内容和类型5的lsa相似,在nssa内部泛洪 | 可以被ABR转换为类型5的lsa信息 |
※注意----->>>在MA(多路访问)的网络里面才有第二类的lsa;
※注意----->>>没有5类的lsa就没有4类的lsa;
3、路由表
在LSDB(链路状态数据库)同步完成后,路由器将最优的路径选取出来,放入路由表;
路由表中的路由标识,关联着相应的LSA学习到的路由条目。
七、ospf邻居的建立过程
(1)通过交互hello包,来建立邻居关系;默认情况下,10s发送一次hello包
图3.骨干区域的邻居建立
图4.非骨干区域的邻居建立
(2)hello报文的作用:
a,邻居发现:自动发现邻居路由器
b,邻居建立:完成hello报文中的参数协商,建立邻居关系
c,邻居保持:通过keep alive机制,检测邻居的运行状态
八、ospf的区域
1、区域的分类:
(1)骨干区域(area 0):是所有其它区域所连接的中心区域
(2)末节区域(stub area):
a,在stub area下,ABR将过滤掉所有外部路由进入末节区域,与此同时,末节区域也不可以将外部路由重分布进ospf进程,即末节区域的路由器不可以成为ASBR(区域边界路由器),其它ospf区域的路由(inter-area-route)可以进入末节区域。
b,由于没有去往外部网络的路由,ABR会自动向末节区域内发送一条指向自己的默认路由:
图5:末节区域
(3)完全末节区域(totally stub area):
a,在完全末节区域下,ARB将过滤掉所有外部路由和其它ospf的路由(inter-area-route),进入完全末节区域。
b,末节区域内的路由器不可以将外部路由重分布进ospf进程,因此,完全末节区域内的路由器不能成为ASBR。
c,由于没有去往外部网络的路由,所以ABR会自动向完全末节区域内发送一条指向自己的默认路由:
图6:完全末节区域
(4)次末节区域(not-so-stubby):
a,nssa区域,这个区域可以引入外部路由
b,3类lsa可以进来,但4类和5类仍然被过滤,引入的外部路由会以7类lsa的形式存在,ABR也会产生一个缺省的7类lsa,其它路由器通过这条lsa计算出默认路由。
(5)完全次末节区域(total nssa):
a,与total stub类似,这个区域也是连3类lsa都过滤掉,即其它区域产生的lsa将无法进入该区域。
b,ABR会产生一个缺省的3类lsa,其它路由器通过这条lsa计算出默认路由
2、分类的优点:
(1)减少路由条目:域间路由汇总,ospf不支持自动汇总
(2)本地拓扑变化只影响自己区域,影响不到别的区域(汇总路由)
(3)♥骨干区域不能配置为非标准区域!!!
3、ospf路由更新机制
(1)触发更新
图7:更新过程
4、每一种区域内允许泛洪的lsa类型如下表:
九、ospf开销的算法(cost值)和路由类型
1、cast值:cost值得大小是沿目的地途中 ,所有转发数据接口的cost值的总和;
路由表选择cast值最小的路由作为最优的路径,放入到路由表中;
cast=10的8次方/带宽
ip ospf cast xxx //修改接口的开销值
cost值是在路由器的出接口方向加!!!
2、OE1和OE2
(1)外部路由,默认分布进来,就是OE2;
(2)区别:
a,OE1路由的开销 = 重分布定义的开销值 + !ospf区域内部的开销值!
b,OE2路由的开销值是在进行路由重分布时候手动定义的,不会修改!
3、ospf区域内路径和ospf区域间路径
(1)区域内路径:路由器所在的区域内的网络,以路由器lsa的方式通告
(2)区域间路径:位于路由器所在区域之外但是还在ospf自助系统内的网络,以汇总lsa的方式通告
4、路径类型选择的次序排列优先级
区域内路径 > 区域间路径 > E1外部路径 > E2外部路径
5、外部路由
(1)1类外部路由:目的地在ospf自主系统外部的路径;这条路由的外部代价 + 本地到达ASBR的路径代价
(2)2类外部路由:目的地在ospf自主系统外部的路径;在计算外部路由的度量时只计算外部的路径代价;ospf外部路由的缺省设置
(3)外部路由举例如下图所示:
十、ospf的认证
1、端口认证:(明文认证、密文认证)
2、区域认证:(明文认证、密文认证)
3、虚链路(virtual-link,通过一个非骨干区域连接到骨干区域的链路):(明文认证、密文认证)