通过阅读本篇文章,希望你能理解以下几个知识点:
1.ospf的配置命令
2.ospf中router-id的选择原则
3.ospf中DR和BDR的选举原则
先说一下ospf的配置:
• ospf X(进程号) router-id XX.XX.XX.XX (router-id)
• area 0 (区域0 )
•network 本路由接口的网络号 反掩码(用255.255.255.255- 掩码=反掩码)
例如:
首先配置两个路由器的ip地址:
然后分别在两个路由器上宣告ospf协议:
R1上的命令:
R2上的命令:
截止到这里,整个ospf网络宣告完毕。大家可以在R2上ping 1.1.1.1,检验网络是否畅通。
接下来给大家梳理ospf相关知识点,由于ospf协议需要掌握的知识点较多,我们会分2-3篇进行梳理。
第一个知识点:ospf的概念
OSPF(Open Shortest Path First开放式最短路径优先)协议是一个基于链路状态路由算法(又称迪克斯彻-Dijkstra算法)的内部网关协议(IGP),使用IP协议,端口号为89,协议优先级为110,他作用于一个自治系统(AS)。
第二个知识点:自治系统(AS)
AS指一组通过相同的路由策略或路由协议进行互相交换路由信息的网络。
第三个知识点:链路状态(LSA)
链路状态是指在宣告ospf接口中,其IP、掩码、邻居、网络类型、带宽等信息的统称。在ospf中,各路由之间相互交换的是链路状态信息,而不是路由表。
第四个知识点:router-id
通俗的讲,router-id就是一个路由器的名字,这个名字必须是唯一的,即整个网络中,不能有相同的router-id,其书写形式和ip地址一样,但可以不是宣告的ip地址。
router-id的确定原则有3条:
1.建议手动宣告router-id;
2.如果没有手动宣告,则选择loopback接口中,IP地址最大的作为router-id;
3.如果以上都没有宣告,则会选择物理接口中ip地址最大的一个作为router-id。
以上3条原则是理论上的,如果面试问你router-id的确定原则,回答上面三条是没有问题的,但是在实际中,如果没有手动配置router-id和loopback,其会使用路由器先配置的ip地址作为router-id。
第五个知识点:骨干区域和非骨干区域
ospf协议中,为了减少路由计算量,其采取分区域计算的方法,将整个网络分为多个区域,每个区域负责各自的链路状态的汇总,然后再将一个区域的LSA简化和汇总之后转发到另外一个区域。
ospf规定,区域的命名采取整数(0、1、2、3…)或IP(0.0.0.0、0.0.0.1…)的形式命名,其中区域0为骨干区域,其他区域为非骨干区域,在一个ospf的网络中,骨干区域有且仅有一个,其他区域可以没有;如果有非骨干区域,它必须与骨干区域相连;一个网络中设置多个区域时,必须要有骨干区域。
Ps:所谓相连,就是在一个路由器上,既有宣告到区域0的端口,也要有宣告到其他非骨干区域的端口。
第六个知识点:DR和BDR
DR全称为指定路由器(Designated Router,简称RD),BDR全称为备用的指定路由器(Backup Designated Router,简称BDR),每个区域都会选举出一个DR,充当该区域的带头大哥,同时选举出一个BDR充当二当家,其余路由器称为Drother。每台路由器都把拓扑变化发给DR和BDR,然后由DR通知该多路访问网络中的其他路由器。BDR只有当DR发生故障的时候,BDR转变成DR,接替DR个工作。
DR和BDR的选举原则为:路由器优先级高者胜出。如果优先级相等,则Router ID大者胜出。如果一台路由器的优先级为0,则它不会被选举为DR或BDR。
DR和BDR是对于接口而言的,一个路由器上的一个接口是DR,另一个接口是BDR或者其他,这种情况是可以存在的,只要这两个借口不在同一个区域。
本篇最后,结合文章开头的实验,大家可以考虑一下下面四个问题:
1.实验中能否将命令area 0 变为area 1,为什么?
2.实验中,如果不手动宣告router-id,各路由的router-id分别是多少?
3.实验中,哪个接口是DR,为什么?
4.配置完毕后,在R2上宣告一个环回接口200.200.200.200,R2的router-id会变为多少,这个网络的DR、BDR会变为多少?
ps:配置完毕后, 在【R1】状态下输入dis ospf br可查看ospf的简要信息,如下图: