标签:ospf date 支持 oss 查看 引入 增强 nss -o
OSPF (SPF)-工作原理
1、建立邻居表
仅仅使用 hello 报文。
OSPF路由,仅仅在 OSPF 邻居路由器之间进行交换;
邻居状态:
down
init
2way
Exstart(exchange start)
exchange
loading
full
2、同步数据库
LSA-link state advertisement , 链路状态通告;
3、计算路由表(通过SPF算法,对LSA进行计算,从而获得最终的路由条目)
-OSPF报文:
hello:发现、维护邻居关系;
dbd:database description ,数据库描述报文;
lsu:link state update ,链路状态更新报文;
lsr:link state request ,链路状态请求报文;
lsack:link state ack ,链路状态确认报文;
-OSPF相关命令:
0、建立测试端口:
[R1]interface loopback 0
[R1-loopback0]ip address 10.10.1.1 255.255.255.0
[R2]interface loopback 0
[R2-loopback0]ip address 10.10.2.2 255.255.255.0
1、配置OSPF
[R1]ospf [process-id] // 不写的话,默认是1;
[R1-ospf-1] area 0 // 进入区域0;
[R1-ospf-1-area-0.0.0.0] network 192.168.12.1 0.0.0.0
//精确宣告 192.168.12.1所在的链路
gi0/0/0的IP地址为192.168.12.1;
那么 gi0/0/0,则启用 OSPF 1 :
#可以发送 ospf 1 的包;
#可以接收 ospf 1 的包;
#可以将该端口的IP地址中的
网络部分,放入 OSPF 1 的包;
中,传输出去,给邻接路由器。
2、验证
display ospf [1] peer brief //查看OSPF邻居表的简要信息;
display ospf [1] peer //查看OSPF邻居表的详细信息;
display ospf [1] brief //查看本地设备上的 OSPF 1 的相关信息;
display ip routing-table //查看路由表中的OSPF路由
(确定路由的类型和属性)
OSPF邻居建立影响因素:
1、确保最小范围内链路是互相 Ping通 的;(交换)
R1:Ping R2 ;
R2:Ping R1 ;
2、确保设备端口可以发送报文;
#network要宣告正确的网络范围;
#确保接收OSPF报文的端口不能是“被动端口- silent-interface”
(华为设备上的 OSPF 的 silent-interface , 既不能发,也不能收包)
ospf 1
silent-interface gi0/0/0
3、确保设备端口可以接收报文;
#network要宣告正确的网络范围;
#确保 ACL 是允许 OSPF 流量的;
#确保接收OSPF报文的端口不能是“被动端口- silent-interface”
(华为设备上的 OSPF 的 silent-interface , 既不能发,也不能收包)
R1:
acl name Deny-OSPF advance
rule 5 deny ospf source 192.168.12.2 0.0.0.0 destination 224.0.0.5 0.0.0.0
interface gi0/0/0
traffic-filter inbound acl name Deny-OSPF
4、确保 OSPF Hello 包中的关键参数一致;【比较hello中的参数】
[R1]ospf 1 router-id x.x.x.x // 指定 OSPF 1 使用的 RID
<R1> reset ospf 1 process // 重启 OSPF 1,才能生效;
#区域ID必须相同;
[R1]ospf 1
[R1-OSPF-1]area 0
[R1-OSPF-1-area-0.0.0.0]undo network 192.168.12.1 0.0.0.0
[R1-OSPF-1]undo area 0
[R1-OSPF-1]area 1
[R1-OSPF-1-area-1]network 192.168.12.1 0.0.0.0
#认证必须成功;
#子网掩码必须得相同(特殊情况下)
#hello 时间,必须相同;
[R1]interface gi0/0/0
[R1-gi0/0/0]ospf timer hello 20 // 更改hello时,dead跟随变化之间倍数关系是 4 倍;
#dead 时间,也必须相同;
[R1]interface gi0/0/0
[R1-gi0/0/0]ospf timer dead 41 //更改dead时,hello不变;
#特殊标记位,必须完全相同;
#DR优先级,不能全为0;(特殊情况下)
[R1]interface gi0/0/0
[R1-gi0/0/0]ospf dr-priority 0
#3层MTU,必须完全相同;
验证命令:
display ospf peer brief //查看 OSPF 的邻居表
display ospf interface gi0/0/0 //查看OSPF的接口;
路由协议 - 路由宣告方式
1、network : 凡是以该方式进入协议的,我们称之为内部路由
在 LS 路由协议中,内部路由,有细分为:区域内和区域间;
2、import-route : 凡是以方式进入协议的,我们称之为外部路由
(redistribute) 在 LS 协议中,外部路由分为 type 1 和 type 2 ,默认是2
OSPF 普通区域
LSA - link state advertisment
5类LSA
-表示的是“外部路由”;
-传输范围是没有区域限制的,可以传输到OSPF的整个网络;
OSPF 特殊区域
-指的是那些不允许 5 类 LSA 存在的区域;
-分类
# stub 区域 : 末节区域
该区域中是不允许存在4、5类LSA的,所以该区域的所有路由器
都没有外部路由,那么,为了与外部路由进行数据互通,
所以,stub 区域的 ABR ,向 stub 自动产生了一个默认路由。
并且属于 OSPF 的 inter-area 。
-配置命令:
#需要在该区域的每一个路由器配置;
#配置如下:
ospf 1
area 34
stub
# totally stub 区域 : 完全末节区域
该区域中不允许存在3、4、5类LSA(仅保留一个特殊的3类LSA,表示默认路由)
可以减小 stub 区域中的数据库的大小;
同时,还可以减少其他区域的不稳定,对该区域造成的不良影响。
#需要在该区域的边界路由器配置;
#配置如下:
ospf 1
area 34
stub no-summary
# nssa 区域:not so stub area ,
允许接受以类型7的LSA发送的外部路由信息,并且ABR要负责把类型7的LSA转换成类型5的LSA。
ABR不会自动向NSSA区域内发送一条指向自己的默认路由,
#需要在该区域的每一个路由器配置;
#配置如下:
ospf 1
area 34
nssa
# totally nssa 区域: 完全 NSSA 区域
过滤3,4,5类lsa,ABR会产生缺省的3类lsa,该区域能引入外部路由
7类LSA在这里还是7类LSA,出本area后就变成5类而传播了
#需要在该区域的边界路由器配置;
#配置如下:
ospf 1
area 34
stub no-summary
LSA的类型:
1类LSA - router lsa ,
任何一个 OSPF 路由器,都会在任何一个区域中产生一个1类LSA。
相当于 路由器在 特定区域中的 自我介绍。
基于 1 类 LSA 计算出来的路由,我们称之为 intra-area 路由。
2类LSA -
3类LSA - summary-network
只有ABR才会产生;作用是在不同区域之间实现路由的传递;
基于 3 类 LSA 计算出来的路由,我们称之为 inter-area 路由。
3类LSA的产生:
ABR 会将非骨干区域中的路由,变成3类LSA的形式,发送到骨干区域
骨干区域中的 ABR会将在区域0中收到的3类LSA,继续下发给其他的
非骨干区域;
ARB还可以将区域0中的路由,变成3类LSA的形式,发送非骨干区域
3类LSA在传输过程中,每经过一个 ABR,“通告路由器”都会变化
一次。
4类LSA - 该LSA仅仅是为了配合5类LSA计算外部路由而存在的;
是与ASBR在同一个区域中的 ABR 产生的;
传输过程,与3类LSA类似,每经过一个 ABR,“通告路由器”都会变化一次。
5类LSA - as external lsa
只有 ASBR 可以产生,作用是表示外部路由,可以传输到 OSPF 网络
的任何地方。
并且在传输过程中,LSA 是不会产生任何变化的。
标签:ospf date 支持 oss 查看 引入 增强 nss -o
原文地址:https://blog.51cto.com/13211071/2373925