动态路由ospf、DR和BDR
动态路由ospf
按照AS分类
AS是指由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。
按自治系统分为
内部网关路由协议(IGP):运行在AS内部的路由协议,主要解决AS内部的选路问题,发现、计算路由
主要有:RIP1/RIP2、OSPF、ISIS、EIGRP(思科私有协议)
外部网关路由协议(EGP):运行在AS与AS之间的路由协议,他解决AS之间选路问题。
通常有:BGP
OSPF区域
为了适应大型的网络,OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整链路状态信息,然后将一个区域的LSA简化和汇总后由边界路由(ABR)转发给另一个区域。
1)区域的ID可以表示为十进制的数字或者是一个IP。
2)区域的划分上,一般Area 0是骨干区域,其他为非骨干区域,非骨干区域无法直接通信,所有通信必须经过骨干区域。
**
ospf工作过程:**
**
路由器(DR和BDR)**
1.Router ID :OSPF区域内唯一标识路由器的IP地址
2.Router ID选取规则:
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
上面两个都是自动选取的,下面这个是手动选取的规则:
使用router-id命令指定Router lD
3.DR和BDR
当多台OSPF路由器连到同一个多路访问网段时,如果每两台路由器之间都相互交换LSA,那么该网段将充满着众多LSA条目,为了能够尽量减少LSA的传播数量,这时候需要一个路由器和所有的路由器互换LSA,减少LSA的数量,那么这个路由器被称为DR;在选DR的时候,也会选出一个作为备份,称为BDR;最后其他路由器(DRothers)只和DR和BDR形成邻接关系。
4.DR和BDR的选举方法
自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
优先级范围是0~255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router lD
如果路由器的优先级被设置为0,它将不参与DR和DBR的选举
现实中,很少能有路由器同时开机,所以先上线的是DR,第二上线的是BDR。
注:当DR和BDR存在时,除非他俩down了,不然没法强制更换。
5.在OSPF中使用224.0.0.5和224.0.0.6作为组播地址,选举时,大家都是用组播地址224.0.0.5发送Hello包(这个时候路由器都认为自己是DR),当DR和BDR选出来后,DR和BDR使用224.0.0.5发送,其他路由器使用224.0.0.6发送。
COST=108/BW
OSPF的包类型 | 描述 |
Hello包 | 用于发现和维持邻居关系,选举DR和BDR |
数据库描述包(DBD) | 用于向邻居发送摘要信息以同步链路状态数据库 |
链路状态请求包(LSR) | 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息 |
链路状态更新包(LSU) | 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
链路状态确认包(LSAck) | 确认已经收到DBD/ LSU,每个LSA需要被分别确认 |
OSPF七个状态:
状态 | 作用 |
down状态 | 初始化,没有来自邻居的Hello包 |
init状态 | 收到第一个Hello包,但没发出去,建立了自己的邻居表 |
2 Way 状态 | 双向建立会话,邻居表都建立完成 |
Exstart状态 | 建立主从关系 |
Exchange状态 | 交换摘要信息,到确认信息收到 |
Loading状态 | 加载详细信息 |
full状态 | 完全连接,计算最短路径,并载入路由表 |
OSPF的4个网络类型:
网络类型 | 说明 |
点到点网络(Point-to-Point) | 自动发现邻居,不需DR/BDR、组播224.0.0.5 |
广播多路访问网络(Broadcast MultiAccess,BMA) | 自动发现邻居、选DR/BDR、组播224.0.0.5、224.0.0.6 |
非广播多路访问网络(None Broadcast MultiAccess,NBMA) | 手工指定邻居、选DR/BDR、单播(AMT使用) |
点到多点网络(Point-to-Multipoint) (星型结构) | 自动发现邻居,不需DR/BDR、组播224.0.0.5 |
OSPF配置:
[R1]ospf 1 router-id 1.1.1.1
创建ospf进程,配置Router ID
[R1-ospf-1]area 0
创建区域0,区域0为骨干区域
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
宣告直连路由,使用反掩码
[R1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255
R1:
<Huawei>SYS
Enter system view, return user view with Ctrl+Z.
[Huawei]sys
[Huawei]sysname R1
[R1]un in en
Info: Information center is disabled.
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24
[R1-GigabitEthernet0/0/0]int loop 0
[R1-LoopBack0]ip add 1.1.1.1 32
[R1-LoopBack0]q
[R1]ospf
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]net
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.255.255.255
[R1-ospf-1-area-0.0.0.0]
[R1-ospf-1-area-0.0.0.0]q
[R1-ospf-1]iq
^
Error: Unrecognized command found at '^' position.
[R1-ospf-1]q
[R1]ping -a 1.1.1.1 3.3.3.3
PING 3.3.3.3: 56 data bytes, press CTRL_C to break
Reply from 3.3.3.3: bytes=56 Sequence=1 ttl=254 time=30 ms
Reply from 3.3.3.3: bytes=56 Sequence=2 ttl=254 time=30 ms
Reply from 3.3.3.3: bytes=56 Sequence=3 ttl=254 time=30 ms
Reply from 3.3.3.3: bytes=56 Sequence=4 ttl=254 time=20 ms
Reply from 3.3.3.3: bytes=56 Sequence=5 ttl=254 time=30 ms
--- 3.3.3.3 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/28/30 ms
R2:
```bash
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys
[Huawei]sysname R2
[R2]un in en
Info: Information center is disabled.
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 23.0.0.2 24
[R2-GigabitEthernet0/0/1]int loop 0
[R2-LoopBack0]ip add 2.2.2.2 32
[R2-LoopBack0]q
[R2]
[R2]ospf
[R2-ospf-1]ar
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]netw
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 12.0.0.0 0.255.255.255
[R2-ospf-1-area-0.0.0.0]network 23.0.0.0 0.255.255.255
R3:<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys
[Huawei]sysname R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 23.0.0.3 24
Jan 7 2021 10:14:48-08:00 R3 %%01IFNET/4/LINK_STATE(l)[1]:The line protocol IP
on the interface GigabitEthernet0/0/0 has entered the UP state.
[R3-GigabitEthernet0/0/0]q
[R3]un in en
Info: Information center is disabled.
[R3]int loop 0
[R3-LoopBack0]ip add 3.3.3.3 32
[R3-LoopBack0]q
[R3]
[R3]ospf
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]netw
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 23.0.0.0 0.255.255.255
[R3-ospf-1-area-0.0.0.0]q
[R3-ospf-1]q
[R3]ping -a 3.3.3.3 1.1.1.1
PING 1.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=254 time=30 ms
Reply from 1.1.1.1: bytes=56 Sequence=2 ttl=254 time=30 ms
Reply from 1.1.1.1: bytes=56 Sequence=3 ttl=254 time=30 ms
Reply from 1.1.1.1: bytes=56 Sequence=4 ttl=254 time=50 ms
Reply from 1.1.1.1: bytes=56 Sequence=5 ttl=254 time=10 ms
--- 1.1.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 10/30/50 ms