OSPF路由协议
- 一、动态路由分类
- 1.1 按自治系统分为
- 1.2 按协议类型分类
- 二、OSPF的基本概念
- 2.1 OSPF的工作原理
- 2.2 OSPF的工作过程
- 2.3 OSPF区域
- 2.3.1 区域ID
- 2.3.2 区域划分
- 2.3.3 Router ID
- 2.3.4 DR和BDR
- 2.3.5 DR和BDR选举的方式
- 2.3.6 OSPF的组播地址
- 2.3.7 OSPF的度量值为COST
- 2.3.5 OSPF数据包及包类型
- 三、OSPF邻结关系的建立
- 3.1 邻结关系的建立
- 3.2 OSPF的网络类型
- 四、OSPF的应用环境
- 4.1 从以下几方面考虑OSPF的使用
- 4.2 OSPF的特点
- 4.3 OSPF和RIP的比较
- 五、OSPF的基本命令和案例
- 5.1 常用命令
- 5.2 案例
一、动态路由分类
1.1 按自治系统分为
是指由同一个技术管理机构管理、使用统一选路 策略的一些路由器的集合
IGP:内部网关路由协议,运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由。
主要: RIP1/RIP2、 OSPF、ISIS、 EIGRP (思科私有协议)
EGP:外部网关路由协议,运行在AS与AS之间的路由协议,他解决AS之间选路问题。
通常: BGP
1.2 按协议类型分类
距离矢量路由协议: RIP1/2、BGP (路径矢量协议)、EIGRP (高级距离矢量协议)
路由器对全网拓扑不完全了解。是“传说的路由”,A发路由信息给B,B加上自己的度量值又发给C,路由表里的条目是听来的。
链路状态路由协议: OSPF、 ISIS
路由器对全网拓扑完全了解。是“传信的路由”,A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是LSDB(链路状态数据库)。然后,每个路由器运用相同的SPF算法, 以自己为根,计算出SPF Tree (即到达目的地的各个方案),选出最佳路径,放入路由表中。
二、OSPF的基本概念
OSPF(Open Shortest Path First,开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。
2.1 OSPF的工作原理
OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。
2.2 OSPF的工作过程
OSPF的工作过程如下:
(1)了解自身链路
每台路由器了解其自身的链路,即与其直连的网络。
(2)寻找邻居
不同于RIP,OSPF协议运行后,并不立即向网络广播路由信息,而是先寻找网络中可与自己交换链路状态信息的周边路由器。可以交互链路状态信息的路由器互为邻居。
(3)创建链路状态数据包
路由器一旦建立了邻居关系,就可以创建链路状态数据包。
(4)链路状态信息传递
路由器将描述链路状态的LSA泛洪到邻居,最终形成包含网络完整链路状态信息的链路状态数据库。 [4]
(5)计算路由
路由区域内的每台路由器都可以使用SPF算法来独立计算路由。
建立邻接关系(学习链路状态信息)—>链路状态数据库(Dijkstra算法)—>最短路径树—>路由表
2.3 OSPF区域
- 为了适应大型的网络,OSPF在AS内划分多个区域
- 每个OSPF路由器只维护所在区域的完整链路状态信息
2.3.1 区域ID
- 区域ID可以表示成一个十进制的数字
- 也可以表示成一一个IP
2.3.2 区域划分
骨干区域 (Area0):负责区域间路由信息传播。作为中央实体,其他区域与之相连,骨干区域编号为 0,在该区域中,各种类型的 LSA 均允许发布。
标准区域
2.3.3 Router ID
- Router ID:OSPF区域内唯一标识路由器的IP地址
Router ID选取规则:
- 选取路由器loopback接口.上数值最高的IP地址
- 如果没有loopback接口,在物理端口中选取IP地址最高的
- 也可以使用router-id命令指定Router ID
2.3.4 DR和BDR
DR:指定路由器(负责更新其他所有OSPF路由器)
BDR:备份指定路由器(监控DR 的状态,并在当前DR发生故障时接替其角色)
Dothers:其他路由器(只和DR及BER形成邻接关系)
2.3.5 DR和BDR选举的方式
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器。
- 自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR - 手工选择DR和BDR
- 优先级范围是0 ~ 255,数值越大,优先级越高,默认为1
- 如果优先级相同,则需要比较Router ID
- 如果路由器的优先级被设置为0,它将不参与DR和BDR的选举
2.3.6 OSPF的组播地址
OSPF协议号89,组播地址224.0.0. 5和224.0.0.6
- DRothers向DR/BDR发送DBD、LSR或者LSU时目标地址是224.0.0.6 (AllDRouter) ;或者理解为: DR/BDR侦听224.0.0.6
- DR/BDR向DRothers发送更新的DBD、LSR或 者LSU时目标地址是224.0.0.5 (AllSPFRouter) ;或者理解为: DRothers侦听224.0.0.5
扩展一下之前说过的组播地址
- VRRP通告报文被封装在IP报文里,通过组播地址:224.0.0.18发送
- RIP v2组播更新地址为:224.0.0.9
2.3.7 OSPF的度量值为COST
- COST=10^8/BW(10的8次方除带宽)
- 最短路径是基于接口指定的代价(cost) 计算的
计算:Ethernet相当于10兆带宽,1兆为1^6,所以得出代价为:10
2.3.5 OSPF数据包及包类型
承载在IP数据包内,使用协议号89
三、OSPF邻结关系的建立
3.1 邻结关系的建立
OSPF启动的第一个阶段(down/init/2-way)是使用Hello报文建立双向通信的过程
OSPF启动的第二个阶段(Exstart/Exchange/Loading/full)是建立完全邻接关系
- down(初始化):刚开始所有路由器都处于down状态,初始化的状态;
- init(收到第一个Hello包):通过组播地址224.0.0.5相互发送Hello包(优先级和router ID);
- 2-way(双向建立会话):收到hello包时会查看里面相关报文,然后回复hello包(包含自己和其他路由器的router ID),并完成DR和BDR的选举;
- Exstart(建立主从关系):选举完DR和BDR,并确定主从关系;
- Exchange(交换摘要信息):确定主从状态后,互相发送DBD报文,回复LSAck报文;
- Loading(加载详细信息):请求LSR报文进行更新网络完整条目,并回复LSAck;
- Full(完全连接):学习完毕后,路由器进入了收敛状态。
3.2 OSPF的网络类型
OSPF将网络划分为四种类型:
四、OSPF的应用环境
4.1 从以下几方面考虑OSPF的使用
- 网络规模
- 网络拓扑
- 其他特殊要求
- 路由器自身要求
4.2 OSPF的特点
- 可适应大规模网络
- 路由变化收敛速度快
- 无路由环
- 支持变长子网掩码VL .SM
- 支持区域划分
- 支持以组播地址发送协议报
4.3 OSPF和RIP的比较
五、OSPF的基本命令和案例
5.1 常用命令
[R1-LoopBack0]ospf 1 router-id 1.1.1.1 ##创建OSPF进程,配置路由ID
[R1-ospf-1]area 0 ##进入区域0,区域ID可以用数字表示,也可以用IP表示,若区域0则是骨干区域
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 ##宣告0SPF区域内的直连网段,使用反掩码
[R1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.255.255.255
<Huawei>reset ospf process ###重置OSPF进程
5.2 案例
要求:使用OSPF协议配置路由器,完成PC1和PC2互通。
R1路由器配置如下:
The device is running!
//进入管理模式
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
//修改名称
[Huawei]sys R1
//关闭信息提示
[R1]un in en
Info: Information center is disabled.
//进入接口0/0/0
[R1]int g0/0/0
//配置IP地址
[R1-GigabitEthernet0/0/0]ip address 192.168.10.1 24
//进入接口0/0/1
[R1-GigabitEthernet0/0/0]int g0/0/1
//配置IP地址
[R1-GigabitEthernet0/0/1]ip address 10.0.0.1 24
//退出接口
[R1-GigabitEthernet0/0/1]q
//进入环回地址并设置ip地址
[R1]int loop
[R1]int LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 32
//创建OSPF进程,配置路由ID
[R1]ospf
//进入区域0,区域ID可以用数字表示,也可以用IP表示,若区域0则是骨干区域
[R1-ospf-1]area 0
//宣告直连网段
[R1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.255
//宣告环回地址
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
R2路由器配置如下:
The device is running!
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R2
[R2]un in en
Info: Information center is disabled.
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.0.0.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 20.0.0.2 24
[R2-GigabitEthernet0/0/1]q
[R2]int loop
[R2]int LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 32
[R2-LoopBack0]q
[R2]ospf
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 20.0.0.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
R3路由器配置如下:
The device is running!
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R3
[R3]un in en
Info: Information center is disabled.
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 20.0.0.3 24
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip address 30.0.0.3 24
[R3-GigabitEthernet0/0/1]q
[R3]int loop
[R3]int LoopBack 0
[R3-LoopBack0]ip address 3.3.3.3 32
[R3-LoopBack0]q
[R3]ospf
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 20.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 30.0.0.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
R4路由器配置如下:
The device is running!
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R4
[R4]un in en
Info: Information center is disabled.
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip address 30.0.0.4 24
[R4-GigabitEthernet0/0/0]int g0/0/1
[R4-GigabitEthernet0/0/1]ip address 40.0.0.4 24
[R4-GigabitEthernet0/0/1]q
[R4]int loop
[R4]int LoopBack 0
[R4-LoopBack0]ip address 4.4.4.4 32
[R4-LoopBack0]q
[R4]ospf
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 30.0.0.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 40.0.0.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 4.4.4.4 0.0.0.0
R5路由器配置如下:
The device is running!
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys R5
[R5]un in en
Info: Information center is disabled.
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip address 40.0.0.5 24
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip address 192.168.20.5 24
[R5-GigabitEthernet0/0/1]q
[R5]int loop
[R5]int LoopBack 0
[R5-LoopBack0]ip add
[R5-LoopBack0]ip address 5.5.5.5 32
[R5-LoopBack0]q
[R5]ospf
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 40.0.0.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]network 5.5.5.5 0.0.0.0
PC1和PC2 主机配置如下:
测试结果如下:
- PC1和PC2网络可以互通;
- 查看各路由器的路由表都是完整的。
查看路由表