目录
一、OSPF概念
? ?1.1、OSPF特性
? ?1.2、OSPF状态机
? ?1.3、OSPF包类型
? ?1.4、LSAL类型
? ?1.5、OSPF三种表
? ?1.6、OSPF广播类型
二、OSPF区域
? ?2.1、区域类型
? ?2.2、特殊区域
? ?2.3、总结
三、Router-id
? ?3.1、Router-id选取规则
四、DR/BDR
? ?4.1、DR/BDR选举规则
五、OSPF建立邻居的条件
六、OSPF实例
? ?6.1、拓扑图
? ?6.2、配置
? ?6.3、测试结果
一、OSPF概念
??OSPF协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS。
1.1、OSPF特性
- ?OSPF是链路状态路由协议
- ?支持无类别域间路由(CIDR)
- ?支持可变长子网掩码(VLSM)
- ?OSPF的组播地址:224.0.0.5 一DRothar,224.0.0.6一DR/BDR ,IP协议——89(协议号)
- ?OSPF的度量值为COST:COST=10^8/BW (BW:带宽)
- ?支持邻居认证
- ?无路由环路
- ?生成OSPF多区域的原因:提高了网络扩展性;可以快速收敛
1.2、OSPF状态机
■ DOWN:邻居状态机的初始状态,是指在过去的DEAD-Interval时间内没有收到对方的hello报文或OSPF没启动时 ■ Attempt:只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送hello报文 ■ INit:本状态表示已经收到了邻居的hello报文,但是该报文中列出的邻居中没有包含我的router ID(对方并没有收到我发的HELLO报文) ■ 2-way:本状态表示双方互相收到了对方端发送的hello报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态是DR other的路由器之间将停留在此状态。其它情况状态机将继续转入高级状态。 ■ Exstart:在此状态下,路由器和他的邻居之间通过互相换DD报文(该报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系,建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送; ■ Exchange:路由器将本地的LSDB用DD报文来描述,并发给邻居; ■ Loading:路由器发送LSR报文向邻居请求对方的DD报文; ■ Full:在此状态下,邻居路由器的LSDB中所有的LSA本路由器全部有了。即本路由器和邻居建立了邻接状态;
1.3、OSPF包类型
包类型 | 描述 |
---|
Hello包 | 用于发现和维持邻居关系 | 数据库描述包(DBD) | 用于向邻居发送摘要信息,以同步链路状态数据库,选举DR和BDR | 链路状态请求包(LSR) | 在路由器收到新信息的DBD后发,用于请求更详细的信息 | 链路状态更新包(LSU) | 收到LSR后发送链路状态通过(LSA),一个LSU包含多个LSA | 链路状态确认包(LSAck) | 确认已收到LSU,每个LSA需要被分别确认 |
1.4、LSAL类型
类型 | 作用 | Router—LSA(1类) | 每个路由器发出,描述了路由器的链路状态和花销传递到整个区域 | Network—LSA(2类) | 由指定路由器DR发出,描述了本网段的链路状态传递到整个区域 | Network—Summary—LSA(3类) | 由ABR发出,描述了区域某一段的路由,传递到相关区域 | ASBR—Summary—LSA(4类) | 由ABR发出,它是一条主机路由,指向ASBR路由地址的路由 | AS—external—LSA(5类) | 由ASBR发出,通告外部路由 | NSSA—LSA(7类) | 由ASBR发出,将五类转为七类,通告NSSA区域,七类仅在NSSA区域泛洪 |
1.5、OSPF三种表
邻居表、链路状态数据库(拓扑表)、路由表。
1.6、OSPF广播类型
点到点、广播多路访问、非广播多路访问、点到多点
二、OSPF区域
2.1、区域类型
1、骨干区域(Area 0)
2、非骨干区域(根据学习的路由种类来区分)
- ? 标准区域
- ? 末梢区域
- ? 完全末梢区域
- ? 非纯末梢区域
- ? 完全非纯末梢区域
2.2、特殊区域
特殊区域:末梢区域、完全末梢区域、非纯末梢区域,完全非纯末梢区域
2.3、总结
? 为了适应大型的网络,OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整链路状态信息。
三、Router-id
? OSPF区域内唯一标识路由器的IP地址
3.1、Router-id选取规则
- ? 使用router-id命令指定Router lD(最高优先级)
- ? 选取路由器loopback接口上数值最高的IP地址
- ? 如果没有loopback接口,在物理端口中选取IP地址最高的
四、DR/BDR
DR
? 一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系。
BDR
? 当DR出现问题,由BDR接手DR的工作,同时会在选举出一个BDR。
4.1、DR/BDR选举规则
- ? 网段上router-id最大的路由器被选举为DR,第二大的被选举为BDR。
- ? 接口优先级范围是0-255,数值越大,优先级越高,默认为1,如果优先级 相同,比较router-id。
- ??如果路由器优先级被设置为0,它将不参与DR和BDR选举。
五、OSPF建立邻居的条件
- Router-id不能相同
- Hello时间必须一致
- DEAD时间必须一致
- 区域ID必须相同
- 认证必须相同
- STUB标志位必须相同(直连路由器特殊区域要一致)
- 三层MTU不匹配无法形成邻接关系(一边是EXSTART,一边是EXCHANGE)
- OSPF版本号必须相同
- 当OSPF网络类型为MA时,子网掩码长度必须一致
六、OSPF实例
6.1、拓扑图
6.2、配置
AR1 []undo terminal monito ?##关闭弹出信息## []sys ?##进入系统视图## []sysname AR1 ?##重命名## []user-interface console 0 ? []idle-timeout 0 0 ?##配置永不超时## []q ?##退回上一级## []int loo 0 ?##进入回环口## []ip add 1.1.1.1 32 ?##配置IP## []int g0/0/0 ?##进入接口## []ip add 10.1.0.1 16 ?##配置IP## []undo sh ?##开启接口## []q ?##退回上一级## []ospf 1 router-id 1.1.1.1 ?##进入OSPF 1 配置router-id## []area 3 ?##进入area3区域## []stub ?##配置为末梢区域## []net 1.1.1.1 0.0.0.0 ?##宣告网段## []net 10.1.0.0 0.0.255.255 ?##宣告网段##
AR2 []undo terminal monito ?##关闭弹出信息## []sys ?##进入系统视图## []sysname AR2 ?##重命名## []user-interface console 0 ? []idle-timeout 0 0 ?##配置永不超时## []q ?##退回上一级## []int loo 0 ?##进入回环口## []ip add 2.2.2.2 32 ?##配置IP## []int g0/0/0 ?##进入接口## []ip add 10.1.0.2 16 ?##配置IP## []undo sh ?##开启接口## []int g0/0/1 ?##进入接口## []ip add 10.0.0.2 16 ?##配置IP## []undo sh ?##开启接口## []q ?##退回上一级## []ospf 1 router-id 2.2.2.2 ?##进入ospf 配置router-id## []area 3 ?##进入area3区域## []stub no-summary ?##配置完全末梢区域## []net 10.1.0.0 0.0.255.255 ?##宣告网段## []q ?##退回上一级## []area 1 ?##进入area1 区域## []net ?2.2.2.2 0.0.0.0 ?##宣告网段## []net 10.0.0.0 0.0.255.255 ?##宣告网段## []vlink-peer 3.3.3.3 ?##宣告网段##
AR3 []undo terminal monito ?##关闭弹出信息## []sys ?##进入系统视图## []sysname AR3 ?##重命名## []user-interface console 0 []idle-timeout 0 0 ?##配置永不超时## []q ?##退回上一级## []int loo 0 ?##进入回环口## []ip add 3.3.3.3 32 ?##配置IP## []int loo 1 ?##进入回环口## []ip add 100.100.100.100 32 ?##配置IP## []int g0/0/0 ?##进入接口## []ip add 10.0.0.1 16 ?##配置IP## []undo sh ?##开启接口## []int g0/0/1 ?##进入接口## []ip add 10.56.0.1 16 ?##配置IP##? []undo sh ?##开启接口## []q ?##退回上一级## []ospf 1 router-id 3.3.3.3 ?##进入ospf 配置router-id## []area 1 ?##进入area 1区域## []net 10.0.0.0 0.0.255.255 ?##宣告网段## []vlink-peer 2.2.2.2 ?##配置虚链路## []q ?##退回上一级## []area 0 ?##进入area0 区域## []net 3.3.3.3 0.0.0.0 ?##宣告网段## []net 100.100.100.100 0.0.0.0 ?##宣告网段## []net 10.56.0.0 0.0.255.255 ?##宣告网段##
AR4 []undo terminal monito ?##关闭弹出信息## []sys ?##进入系统视图## []sysname AR4 ?##重命名## []user-interface console 0 []idle-timeout 0 0 ?配置永不超时## []q ?##退回上一级## []lin loo 0 ?##进入回环口## []ip add 4.4.4.4 32 ?##配置IP## []int g0/0/0 ?##进入接口## []ip add 10.56.0.2 16 ?##配置IP## []undo sh ?##开启接口## []int g0/0/1 ?##进入接口## []ip add 10.2.0.2 16 ?##配置IP## []undo sh ?##开启接口## []q ?##退回上一级## []ospf 1 router-id 4.4.4.4 ?##进入ospf1 配置router-id## []area 0 ?##进入area 0区域## []net 4.4.4.4 0.0.0.0 ?##宣告网段## []net 10.56.0.0 0.0.255.255 ?##宣告网段## []q ?##退回上一级## []area 2 ?##进入area2 区域## []nssa no-summary ?##配置完全非纯莫属区域## []net 10.2.0.0 0.0.255.255 ?##宣告网段##
AR5 []undo terminal monito ?##关闭弹出信息## []sys ?##进入系统视图## []sysname AR5 ?##重命名## []user-interface console 0 []idle-timeout 0 0 ?##配置永不超时## []q ?##退回上一级## []int loo 0 ?##进入回环口## []ip add 5.5.5.5 32 ?##配置IP## []int g0/0/0 ?##进入接口## []ip add 10.2.0.1 16 ?##配置IP## []undo sh ?##开启接口## []int g0/0/1 ?##进入接口## []ip add 172.16.24.0 24 ?##配置IP## []undo sh ?##开启接口## []q ?##退回上一级## []ospf 1 router-id 5.5.5.5 ?##进入ospf1 配置router-id## []area 2 ?##进入area2 区域## []nssa ?##配置为非纯末梢区域## []net 5.5.5.5 0.0.0.0 ?##宣告网段## []net 10.2.0.0 0.0.255.255 ?##宣告网段## []q ?##退回上一级## []import-route rip 1 cost 100 ?##双向重分发## []q ?##退回上一级## []rip 1 ?##进入RIP 1## []ver 2 ?##版本改为2## []undo summary ?##关闭自动汇总## []net 172.16.0.0 ? ##宣告网段## []import-route ospf 1 cost 0 ?##双向重分发## []default-route originate?cost 0 ?##下发默认路由##
AR6 []undo terminal monito ?##关闭弹出信息## []sys ?##进入系统视图## []sysname AR6 ?##重命名## []user-interface console 0 []idle-timeout 0 0 ?##配置永不超时## []q ?##退回上一级## []int loo 0 ?##进入回环口## []ip add 6.6.6.6 32 ?##配置IP## []int g0/0/0 ?##进入接口## []ip add 172.16.24.0 24 ?##配置IP地址## []undo sh ?##开启接口## []q ?##退回上一级## []rip 1 ?##进入RIP1## []ver 2 ?##版本为2## []undo summary ?##关闭自动汇总## []net 6.0.0.0 ?##宣告网段## []net 172.16.0.0 ?##宣告网段##AR1: []undo terminal monito ?##关闭弹出信息## []sys ?##进入系统视图## []sysname AR1 ?##重命名## []user-interface console 0 ? []idle-timeout 0 0 ?##配置永不超时## []q ?##退回上一级## []int loo 0 ?##进入回环口## []ip add 1.1.1.1 32 ?##配置IP## []int g0/0/0 ?##进入接口## []ip add 10.1.0.1 16 ?##配置IP## []undo sh ?##开启接口## []q ?##退回上一级## []ospf 1 router-id 1.1.1.1 ?##进入OSPF 1 配置router-id## []area 3 ?##进入area3区域## []stub ?##配置为末梢区域## []net 1.1.1.1 0.0.0.0 ?##宣告网段## []net 10.1.0.0 0.0.255.255 ?##宣告网段##
6.3、测试结果
|