B模块 安全通信网络 第二门课 核心网路由技术-1-OSPF邻居表建立

第1天 0SPF邻居表建立------

动态路由的优势、OSPF概述、OSPF工作过程、OSPF单区域配置、

邻居建立影响因素、OSPF多区域配置

第2-3天 OSPF数据库同步、路由表计算------

OSPF网络类型、DR和BDR、OSPF数据库、4、Router LSA详解、

Network LSA详解5、区域间路由、Network Summary LSA、

外部路由、AS-external LSA、ASBR-Summary LSA

第4天 OSPF性能调------

Stub区域、Totally Stub区域、NSSA区域、Totally NSSA区域、

区域间路由汇总、外部路由汇总

第5-7天 BGP------

BGP基本概念、邻居表和路由表、IBGP全互联、IBGP通告原则、

BGP之水平分割、路由反射器、更新源检测机制

BGP路径属性、路由优选之Next_Hop、路由优选之Local_pref6、

路由优选之AS_Path、路由优选之Origin、.路由优选之MED


今日目标

01 动态路由的优势

02 OSPF概述

03 OSPF工作过程

04 OSPF单区域配置

05 邻居建立影响因素

06 OSPF多区域配置


01 动态路由的优势

企业现状

  • 随着企业的发展,网络规模也不断在扩大
    √ 网络设备、网段数量越来越多
    √ 需要配置的路由条目越来越多

存在问题

√ 在大型网络中存在的问题

√ 静态路由,配置工作量大,效率低,出错率高

√ 静态路由不能动态感知网络变化,不会自动更新

√ 设备新增或删减,网络地址变更时,静态路由需要重新配置

√ 当网络拓扑发生变更时,维护工作量大,网络中断时间过长

解决方案

  • 动态路由
    √ 动态路由协议可以自动更新,快速适应网络拓扑的变化
  • 动态路由协议的特点
    √ 自动计算路由,无需手动配置
    √ 网络拓扑变更时,自动更新路由,无需手动配置
    √ 支持负载均衡,提高网络的可靠性
    √ 能够选择出最优的路由

02 OSPF概述

OSPF协议概述

  • OSPF协议概述
    √ OSPF(Open Shortest Path First):开放式最短路径优先
    √ 开放式:公有协议,所有厂商的设备都支持
    √ 最短路径优先:已最短的路径,最快的方式转发数据包
    √ 作用:动态感知全网状态,自动计算最优路由
    √ 应用:通常应用于企业内部和数据中心内部
    √ 工作在OSI模型第三层,数据封装在IP头部后面,协议号为89
    √ OSPF是基于链路状态的内部网关协议

OSPF协议优势

  • OSPF协议优势
    √ 利用"累计COST值"计算最优路由
    √ 采用组播形式收发部分协议报文,提高效率
    √ 引入区域概念,支持区域划分,降低设备压力
    √ 支持对等价路由进行负载分担,提高可靠性
    √ 支持报文认证,提高安全性

OSPF应用场景

  • OSPF应用场景:大型企业网络
  • OSPF基础概念:
    √ RouterID
    √ Area ID
    √ Cost

OSPF基础之Router Id

  • OSPF使用Router ID唯一的标识一台运行OSPF的路由器
    √ OSPF协议为路由设备设置的标识符
    √ Router ID确定方式:可以手动指定,也可以自动选举

OSPF基础之Area Id

  • Area用于标识一个OSPF的区域
    √ 将路由设备划分为不同的组,每个组用区域号(ArealD)来标识

    √ 网络规模大,路由表庞大,路由设备负担高,OSPF协议通过划分不同的区域来缩减路由表规模,降低路由设备负担。

OSPF区域

  • OSPF骨干区域
    √ 区域号为0,表示的就是"骨干区域"
  • OSPF非骨干区域
    √ 区域号不为0,表示的就是"非骨干区域"
    √非骨干区域必须和骨干区域"直接"相连,能实现"区域之间的互通"
  • OSPF区域的表示
    √ 通过十进制表示,例如区域0、1、2、3等
    √ 通过点分十进制表示,例如区域0.0.0.0、0.0.0.1、0.0.0.2等

OSPF基础之COST

  • Cost:开销
    √ OSPF使用Cost作为路由的度量值
    √ 每一个开启OSPF功能的物理接口都有一个Cost值,默认值是1

OSPF基础之累计COST值

  • OSPF路径累计开销值
    √ 流量从源网络到目的网络所经过所有路由器的出接口的cost总和
    √ R3的路由表中到达10.1.1.0/24的0SPF路由的C0ST是1+1+1=3

03 OSPF工作过程

OSPF工作原理

  • OSPF工作原理
    √ 建立OSPF邻居表
    √ 同步OSPF数据库
    √ 计算OSPF路由表

OSPF报文类型

建立邻居关系

  • OSPF使用Hello报文发现和建立邻居关系。
  • 在以太网链路上,缺省时,OSPF采用组播的形式发送Helo报文(目的地址224.0.0.5)。
  • OSPF Hello报文中包含了路由器的RouterID、邻居列表等信息。

04 OSPF单区域配置

OSPF单区域实验案例

案例需求

  • 需求:不同部门之间的PC互联互通
  • 如果只有1个区域,则必须为骨干区域:Area0

配置思路

  • 配置网络设备的接口IP地址和掩码
  • 配置OSPF进程号
  • 配置OSPF Router-id
  • 配置OSPF 区域号
  • 宣告接口的网段到OSPF

配置命令

  • 配置OSPF-R1
bash 复制代码
ospf 1             								    //指定OSPF 的"进程号:如果不指定默认是1
	area 0 									      	//进入OSPF的区域号
		network 192.168.1.0 0.0.0.255               //将 192.168.1.0/24宣告进入到区域0
  		network 192.168.12.0 0.0.0.255              //network后面跟的必须是直连路由
  • 配置OSPF-R2
bash 复制代码
ospf 1
	area 0
	network 192.168.12.0 0.0.0.255
	network 192.168.23.0 0.0.0.255
  • 配置OSPF-R3
bash 复制代码
ospf 1
	area 0
		network 192.168.23.0 0.0.0.255
		network 192.168.2.0 0.0.0.255

OSPF进程号

  • OSPF进程号:Process
    √ 0SPF进程号可以手动指定,如果未指定,则默认值为1
    √ 作用:在同一个设备上,区分不同的OSPF路由协议
    √ 在同一台设备上,进程号不同的OSPF协议相互隔离
    √ OSPF进程号只在本设备起作用,不在网络中传递
    √ 进程号范围<1-65535>

OSPF Router lD

  • RouterlD
    √ OSPF协议为路由设备取的名字,用于唯一的标识一台路由设备
    √ 特点:稳定,即一旦确定,就不会改变,除非重启OSPF进程
    √ RouterlD 可以手动指定的,也可以自动选举,建议手动指定
    √ 如果没有手动配置RouterID,则路由器使用Loopback接口中最大的IP地址作为RouterlD
    √ 如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为RouterID

OSPF邻居表解析

  • 查看 OSPF邻居表简要信息
bash 复制代码
[R1]displayospf peer brief
			OSPF Process 1 with RouterlD 192.168.1.254
			Peer Statistic Information
ArealD		   Interface      NeighborlD       State    
0.0.0.0	       G0/0/0		  192.168.12.2	   Full
# RouterID-表示OSPF协议为 R1 起的名字
# AreaID-表示R1当前建立的邻居关系所在的区域
# NeighborID-表示邻居路由器的OSPF RouterlD
# State-表示邻居路由器的状态,最终的完美状态是Full(完全邻接)

验证与测试

  • 验证与测试 OSPF
    √ display ospf peer brief ,查看OSPF 邻居表
    √ display ip routing-table protocol ospf ,查看OSPF 路由条目
    √ PC1>ping 192.168.2.1,通
    √ PC2>ping 192.168.1.1,通

05 邻居建立影响因素

实验拓扑

  • R1和R2配置OSPF,建立邻居

基础配置命令

  • 配置OSPF-R1
bash 复制代码
ospf l router-id 1.1.1.1
	area 0
		network 192.168.12.0 0.0.0.255
  • 配置OSPF-R2
bash 复制代码
ospf 1 router-id 2.2.2.2
	area 0
		network 192.168.12.0 0.0.0.255

邻居建立失败原因

  • 两台路由器的Router-id相同,不能建立邻居
bash 复制代码
[Rl]ospf l router-id 2.2.2.2<R1>reset ospf process				# 修改R1的router-id 和R2相同//重启ospf进程
<R1>displayospf peer brief										# 验证结果
#结论:两台路由器的router-id 不能相同
# 备注:验证完成,恢复配置,将R1的router-id 改回1.1.1.1
  • 两台路由器的Areaid 不同,不能建立邻居
bash 复制代码
[Rl]ospf 1[R1-ospf-1]area0
[R1-ospf-1-area0]undo network 192.168.12.0 0.0.0.255
[R1-ospf-1-area0]area 2														# 修改R1的区域号,和R2不同
[R1-ospf-1-area0]network 192.168.12.0 0.0.0.255
<R1>displayospf peer brief  												# 验证结果
# 结论:两台路由器的Areaid 必须相同
# 备注:验证完成,恢复R1的区域号
  • 两台路由器的互联接口的掩码不同,不能建立邻居
bash 复制代码
[R1]interface g0/0/0[R1-G0/0/0]undo ip address								# 删除原有IP地址
[R1-G0/0/0]ip address 192.168.12.125    									# 修改接口IP地址的掩码
<R1>displayospf peer brief													# 验证结果
# 结论:两台路由器互联的接口掩码不同,不能建立邻居
# 备注:验证完成,恢复R1的接口IP地址的掩码
  • 两台路由器的三层不通,不能建立邻居
bash 复制代码
[R1]interface g0/0/0//删除原有IP地址
[R1-G0/0/0]undo ip address
[R1-G0/0/0]ip address 192.168.13.1 24 					# 修改接口IP地址,导致三层无法互通
<R1>displayospf peer brief								# 验证结果
# 结论:两台路由器互联的接口三层不通,不能建立邻居
# 备注:验证完成,恢复R1的接口IP地址

06 OSPF多区域配置

大型网络中,单区域OSPF存在的问题

  • 为什么要划分多区域
  • 数据库庞大
  • 路由表庞大
  • 设备压力大,资源消耗高
  • 无法进行路由汇总

OSPF路由器类型

案例需求

  • 企业核心机房,连接不同的办公楼宇,实现不同楼宇互通

配置思路

  • 如图连接并配置设备接口IP地址
  • 将R1和R2属于设置为区域12,R5和R6设置为区域56
  • 将R2/R3/R4/R5设置为区域0,最终实现PC1和PC2的互通

配置命令

  • 配置OSPF-R1
bash 复制代码
ospf l router-id 1.1.1.1
	area 12
		network 192.168.12.0 0.0.0.255
		network 192.168.1.0 0.0.0.255
		quit
  • 配置OSPF-R2
bash 复制代码
ospf 1 router-id 2.2.2.2
	area 12
		network 192.168.12.0 0.0.0.255
	area 0
		network 192.168.23.0 0.0.0.255quit
  • 配置OSPF-R3
bash 复制代码
ospfl router-id 3.3.3.3
	area 0
		network 192.168.23.0 0.0.0.255
		network 192.168.34.0 0.0.0.255
		quit
  • 配置OSPF-R4
bash 复制代码
ospf 1 router-id 4.4.4.4
	area 0
		network 192.168.45.0 0.0.0.255
		network 192.168.34.0 0.0.0.255
		quit
  • 配置OSPF-R5
bash 复制代码
ospfl router-id 5.5.5.5
	area 0
		network 192.168.45.0 0.0.0.255
	area 56
		network 192.168.56.0 0.0.0.255
		quit
  • 配置OSPF-R6
bash 复制代码
ospf 1 router-id 6.6.6.6
	area 56
		network 192.168.56.0 0.0.0.255
		network 192.168.2.0 0.0.0.255
		quit

验证与测试

  • 验证与测试
bash 复制代码
display ospf peer brief 					   #查看 OSPF 邻居表
display ip routing-table protocol ospf 		   #查看OSPF 路由表
pc1>ping 192.168.2.1						   #通
display ospf brief					           #查看OSPF路由器的身份,如ABR

小结

  • 多区域的OSPF,最关键的是ABR的配置,实现区域之间互通
  • 在ABR上配置的时候,必须出现"区域0"的相关配置
  • 多区域的OSPF网络,非骨干区域必须与骨干区域直接相连
  • 路由器之间的直连网段,必须通过network命令宣告进OSPF

配置实例

1 OSPF单区域配置

2 邻居关系建立影响因素
3 OSPF多区域配置

1 OSPF单区域配置

1.1 问题

1)企业内网存在多个部门,分别属于不同的网段

2)使用最佳的技术方案,实现灵活的网络设计,支持网络规模的扩展

3)如图,配置设备 IP 地址

4)确保 PC-1 和 PC-2 可以互通

1.2 方案

搭建实验环境,如图所示。

1.3 步骤

实现此案例需要按照如下步骤进行。

1)配置终端设备 - PC1

地址:192.168.1.1

掩码:255.255.255.0

网关:192.168.1.254

2)配置终端设备 - PC2

地址:192.168.2.1

掩码:255.255.255.0

网关:192.168.2.254

3)配置网络设备 - R1

bash 复制代码
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet 0/0/1] ip address 192.168.1.254 255.255.255.0
[R1-GigabitEthernet 0/0/1] quit
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet 0/0/0] ip address 192.168.12.1 255.255.255.0
[R1-GigabitEthernet 0/0/0] quit

4)配置网络设备 - R2

bash 复制代码
[R2]interface gi0/0/0
[R2-GigabitEthernet 0/0/0] ip address 192.168.12.2 255.255.255.0
[R2-GigabitEthernet 0/0/0] quit
[R2]interface gi0/0/1
[R2-GigabitEthernet 0/0/1] ip address 192.168.23.2 255.255.255.0
[R2-GigabitEthernet 0/0/1] quit

5)配置网络设备 - R3

bash 复制代码
[R3]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet 0/0/0] ip address 192.168.23.3 255.255.255.0
[R3-GigabitEthernet 0/0/0] quit
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet 0/0/1] ip address 192.168.2.254 255.255.255.0
[R3-GigabitEthernet 0/0/1] quit

6)配置 OSPF 区域 0

bash 复制代码
[R1]ospf 1  router-id 1.1.1.1
[R1-ospf-1]area  0 
[R1-ospf-1-area-0.0.0.0]network  192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network  192.168.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit
[R2]ospf 2  router-id 2.2.2.2
[R2-ospf-2]area  0 
[R2-ospf-2-area-0.0.0.0]network  192.168.12.0 0.0.0.255
[R2-ospf-2-area-0.0.0.0]network  192.168.23.0 0.0.0.255
[R2-ospf-2-area-0.0.0.0]quit
[R3]ospf 3  router-id 3.3.3.3
[R3-ospf-3]area  0 
[R3-ospf-3-area-0.0.0.0]network  192.168.23.0 0.0.0.255
[R3-ospf-3-area-0.0.0.0]network  192.168.2.0 0.0.0.255
[R3-ospf-3-area-0.0.0.0]quit

2 邻居关系建立影响因素

2.1 问题

1)两台路由器的router-id 相同,不能建立邻居

2)两台路由器互连接口所属的Area id 不同,不能建立邻居

3)两台路由器互联接口的IP地址的掩码不同, 不能建立邻居

4)两台路由器三层不通,不能建立邻居

2.2 方案

搭建实验环境,如图所示。

2.3 步骤

实现此案例需要按照如下步骤进行。

1)配置OSPF - R1

bash 复制代码
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.12.1 24
[R1-GigabitEthernet0/0/0]quit 
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0    
[R1-ospf-1-area-0.0.0.0]network  192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit

2)配置OSPF -- R2

bash 复制代码
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.12.2 24
[R2-GigabitEthernet0/0/0]quit 
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0    
[R2-ospf-1-area-0.0.0.0]network  192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit

3)两台路由器的router-id 相同,不能建立邻居

bash 复制代码
[R1]ospf   1   router-id   2.2.2.2     //修改R1的router-id 和R2相同  
<R1>reset  ospf    process             //重启ospf 进程
<R1>display ospf  peer brief        //验证结果
<R1>display ospf  error             //验证结果

恢复默认:还原,恢复默认
[R1]ospf  1  router-id   1.1.1.1    //恢复默认 
<R1>reset  ospf   process             //重启ospf 进程
<R1>display ospf  peer brief        //验证结果

4)两台路由器互连接口所属的Area id 不同,不能建立邻居

bash 复制代码
[R1]ospf 1  router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area 0]undo  network 192.168.12.0  0.0.0.255
[R1-ospf-1-area 0]area  2       //修改R1的区域号,和R2不同
[R1-ospf-1-area 0]network  192.168.12.0  0.0.0.255
<R1>display ospf peer brief        //验证结果
<R1>display ospf  error             //验证结果

恢复默认:还原,恢复默认
[R1]ospf 1  router-id 1.1.1.1
[R1-ospf-1]area 2
[R1-ospf-1-area 0]undo  network 192.168.12.0  0.0.0.255
[R1-ospf-1-area 0]quit
[R1-ospf-1]undo area 2
[R1-ospf-1] area  0  
[R1-ospf-1-area 0]network  192.168.12.0  0.0.0.255
<R1>display ospf peer brief        //验证结果

5)两台路由器互联接口的IP地址的掩码不同, 不能建立邻居

bash 复制代码
[R1]interface  g0/0/0
[R1-G0/0/0]undo  ip address             //删除原有IP地址
[R1-G0/0/0]ip  address  192.168.12.1  25     //修改接口IP地址的掩码
<R1>display ospf peer brief            //验证结果
<R1>display ospf  error             //验证结果

恢复默认:还原,恢复默认
[R1]interface  g0/0/0
[R1-G0/0/0]ip  address  192.168.12.1  24    
<R1>display ospf peer brief            //验证结果

6)两台路由器三层不通,不能建立邻居

bash 复制代码
[R1]interface  g0/0/0
[R1-G0/0/0]undo  ip address             //删除原有IP地址
[R1-G0/0/0]ip  address  192.168.13.1  24     //修改接口IP地址,导致三层无法互通
<R1>display ospf peer brief            //验证结果
<R1>display ospf  error             //验证结果

恢复默认:还原,恢复默认
[R1]interface  g0/0/0
[R1-G0/0/0]ip  address  192.168.12.1  24      
<R1>display ospf peer brief             

3 OSPF多区域配置

3.1 问题

1)企业核心机房,连接不同楼宇,实现不同楼宇互通

2)企业核心机房设置为 OSPF 骨干区域

3)其他办公楼宇为 非骨干区域,通过路由器与核心机房互联互通

3.2 方案

搭建实验环境,如图所示。

3# 3.3 步骤

实现此案例需要按照如下步骤进行。

1)配置OSPF - R1

bash 复制代码
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.12.1 24
[R1-GigabitEthernet0/0/0]quit 
[R1]interface GigabitEthernet 0/0/2
[R1-GigabitEthernet0/0/2]ip add 192.168.1.254 24
[R1-GigabitEthernet0/0/2]quit 
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 12    
[R1-ospf-1-area-0.0.0.12]network  192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.12]network  192.168.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.12]quit

2)配置OSPF -- R2

bash 复制代码
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip add 192.168.12.2 24
[R2-GigabitEthernet0/0/1]quit 
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.23.2 24
[R2-GigabitEthernet0/0/0]quit 
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 12    
[R2-ospf-1-area-0.0.0.12]network  192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.12]quit
[R2-ospf-1]area 0    
[R2-ospf-1-area-0.0.0.0]network  192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit

3)配置OSPF -- R3

bash 复制代码
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip add 192.168.23.3 24
[R3-GigabitEthernet0/0/1]quit 
[R3]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.34.3 24
[R3-GigabitEthernet0/0/0]quit 
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0    
[R3-ospf-1-area-0.0.0.0]network  192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network  192.168.34.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]quit

4)配置OSPF -- R4

bash 复制代码
[R4]interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1]ip add 192.168.34.4 24
[R4-GigabitEthernet0/0/1]quit 
[R4]interface GigabitEthernet 0/0/0
[R4-GigabitEthernet0/0/0]ip add 192.168.45.4 24
[R4-GigabitEthernet0/0/0]quit 
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0    
[R4-ospf-1-area-0.0.0.0]network  192.168.45.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network  192.168.34.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]quit

5)配置OSPF -- R5

bash 复制代码
[R5]interface GigabitEthernet 0/0/1
[R5-GigabitEthernet0/0/1]ip add 192.168.45.5 24
[R5-GigabitEthernet0/0/1]quit 
[R5]interface GigabitEthernet 0/0/0
[R5-GigabitEthernet0/0/0]ip add 192.168.56.5 24
[R5-GigabitEthernet0/0/0]quit 
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 56    
[R5-ospf-1-area-0.0.0.56]network  192.168.56.0 0.0.0.255
[R5-ospf-1-area-0.0.0.56]quit
[R5-ospf-1]area 0    
[R5-ospf-1-area-0.0.0.0]network  192.168.45.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]quit

6)配置OSPF -- R6

bash 复制代码
[R6]interface GigabitEthernet 0/0/1
[R6-GigabitEthernet0/0/1]ip add 192.168.56.6 24
[R6-GigabitEthernet0/0/1]quit 
[R6]interface GigabitEthernet 0/0/2
[R6-GigabitEthernet0/0/2]ip add 192.168.2.254 24
[R6-GigabitEthernet0/0/2]quit
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]area 56    
[R6-ospf-1-area-0.0.0.56]network  192.168.56.0 0.0.0.255
[R6-ospf-1-area-0.0.0.56]network  192.168.2.0 0.0.0.255
[R6-ospf-1-area-0.0.0.56]quit

7)确保PC-1和 PC-2互通

bash 复制代码
PC-1>ping 192.168.2.1
PC-2>ping 192.168.1.1

课堂笔记

路由分类

  • 直连路由: 路由器到达接口所在网段的路由(自动计算)
  • 非直连路由
    静态路由: 由管理员手工配置的路由
    动态路由
  • IGP:内部网关路由协议-在同一个AS内部使用(在企业内部或者数据中心内部使用)
  • DV:距离矢量路由协议(逐渐弃用)
    • RIP(v1/v2)
    • IGRP-思科私有协议
    • EIGRP-思科私有协议
  • LS:链路状态路由协议
    • OSPF:开放式最短路径优先(企业用:功能多,可以精细化控制)
    • ISIS:中间系统到中间系统(数据中心用,转发能力强,大流量转发)
  • EGP:外部网关路由协议:在不同的AS之间使用(AS:自治系统)
  • BGP:边界网关协议

静态路由的不足

1)当企业网络规模过大,设备过多,网段过多,配置静态路由工作量大,效率低,容易出错

2)当企业网络拓扑发生变更时, 设备增加或减少时,IP地址发生变化时,有可能会需要删除原有的静态路由

重新配置静态路由,导致后期运维成本高,公司断网时间长

一、为什么会有OSPF

1、OSPF可以管理大型复杂政企网络,数据中心网络

2、OSPF快速检查网络变化,迅速更新路由,保证公司网络不中断,提高网络的可靠性

3、OSPF引入区域,可以支持网络扩展,降低设备压力,提高数据转发效率

4、OSPF 支持认证,能够增强网络的安全性

二、OSPF应用场景

主要应用在中大型政企园区网络或云数据中心

三、OSPF概述

  • OSPF是什么
    • 开放式最短路径优先协议,一种最受欢迎的动态路由协议
    • 版本:OSPFv2(IPv4) 和OSPFv3(IPv6)
    • OSPF位于OSI参考模型的第三层,数据封装在IP报头的后面
    • 协议号是89
  • 应用场景:主要应用在中大型政企园区网络或云数据中心
  • 作用:自动计算最优路由,实现网络互联互通

四、报文类型

-Hello :用于发现、建立、维护和断开邻居关系(交朋友)

-DBD :数据库描述报文: 用于描述数据库摘要信息(LSA头部信息)(发菜单)

-LSR :链路状态请求报文: 请求自己数据库中没有的LSA信息(我要)

-LSU :链路状态更新报文: 根据对方的请求信息,更新LSA给对方 (给你)

-LSACK :链路状态确认报文:收到对方的更新LSA信息后,进行确认(说谢谢)

五、OSPF区域

1、区域划分:

OSPF适用于大型网络,采用分层设计,分为骨干区域和非骨干区域。

2、OSPF 骨干区域

区域号为0,表示的就是"骨干区域"

3、OSPF 非骨干区域

区域号不为0,表示的就是"非骨干区域"

4、非骨干区域必须和骨干区域"直接"相连,能实现"区域之间的互通"

5、OSPF 区域的表示

通过十进制表示,例如区域 0、1、2、3等

通过点分十进制表示,例如区域 0.0.0.0 、0.0.0.1、0.0.0.2等

6、为什么要引入区域

对网络进行分区管理,降低设备负载压力,提高数据转发效率

六、OSPF工作过程

1) 建立邻居:邻居表

2) 同步数据库 :数据库

3) 计算路由 :路由表

七、OSPF的配置

bash 复制代码
[R1]ospf 1 router-id 1.1.1.1   :创建ospf 进程号,配置router-id
[R1-ospf-1]area 0                   : 配置ospf区域
[R1-ospf-1-area-0]network 192.168.1.0 255.255.255.0   :在区域中宣告接口的直连网段
[R1-ospf-1-area-0]network 192.168.12.0 0.0.0.255      :在区域中宣告接口的直连网段

八、OSPF邻居表解析

bash 复制代码
<R1>display ospf peer brief    //查看邻居表简要信息
   OSPF Process 1 with Router ID 1.1.1.1
      Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                          Neighbor id       State    
 0.0.0.0          GigabitEthernet0/0/0             2.2.2.2          Full        
 ----------------------------------------------------------------------------

1、Process : 进程号

ospf 1 :指定ospf进程号1

1)作用:在同一个设备上,区分不同的ospf路由协议

2)通过不同的进程号所学习到的路由信息是不会自动相互传递的,

从而实现各个ospf 协议之间的隔离

3)ospf 进程号只在本地路由器起作用,不随报文在网络中传递,所以不同的路由器的进程号,可以相同,也可以不同

4)进程号范围 <1-65535>

2、Router ID

router-id 1.1.1.1 //指定router-id 为1.1.1.1

1)ospf协议给路由器起的一个名字,格式类似于IP地址(点分十进制)但是不是IP地址

2)在ospf 网络中,router-id 是唯一的标识一台路由器

3)router-id 的生产方式

选举规则:-手动指定:最优

-如果没有手动指定router-id ,会进行自动选举

&:自动选举

-首先选举本设备上的loopback接口的IP地址,选择IP地址最大的

--如果没有配置loopback 接口选举物理接口IP地址最大的

备注:自动选举的前提是,所有的接口同时运行ospf ,如果没有同时运行,那个接口先启用ospf,

就选择那个接口的地址号,做router-id

&:手动配置

huawei\] ospf 1 router-id 1.1.1.1 //手动指定的命令 备注:当路由器已选router-id 后,手修改router-id 并不会生效 为什么? ospf需要稳定,ospf稳定,网络才会稳定,一旦选举router-id,就不会被替代 -如果已经有了router-id ,后来又手动指定的router-id 想让新的router-id生效,怎么办? 重启ospf 进程: reset ospf process //在用户视图下执行命令 ### 3、Area Id :区域号 area 0.0.0.0 1)OSPF为了更好的管理一个庞大的网络,对网络进行了分层的设计,引入了区域的概念 :骨干层和非骨干层,骨干层用骨干区域表示, 非骨干层用非骨干区域表示 :所有的非骨干区域必须和骨干区域直接相连 2)OSPF 引入区域的作用是: 降低网络设备的负载压力,提高数据转发的效率 3)区域号的表示方式有两种 \&: 十进制数: 0-4294967295 \&:点分十进制: 0.0.0.0 - 255.255.255.255 4)区域分为两类: \&: 骨干区域: 0 \&: 非骨干区域 : 不为 0 ### 4、Interface :使用那个接口与对端建立的邻居 ### 5、Neighbor id :邻居的Router-id ### 6、State :邻居之间的状态 full :完美的邻居--也叫邻接 备注: two-way : 双向通信: 邻居状态 full : 数据库同步完成 : 完全邻接状态(最好的邻居的状态) ## 九、Hello报文解析 ### 1、hello报文解析 1) 谁来发这个报文: 所有运行ospf的路由器都会发hello报文 2) 这个报文发给谁: 发给组播IP:224.0.0.5 报文源IP:路由器接口的IP地址,   报文目的IP:224.0.0.5 3) hello报文的作用: -第一个hello报文: 发现邻居:hello报文中只有本机的router-id ,没有邻居的router-id -第二个hello报文: 建立邻居:hello报文中有本机的router-id,也有邻居的router-id -后续的hello报文: 维护邻居: 周期性发送,在广播型网络中,默认10秒发1次 -如果40秒内没有收到邻居发来的hello报文,则断开邻居 4) hello报文为什么使用组播方式发送: -减少报文数量 -减少带宽占用 -降低设备压力 -加快邻居建立速度 ### 2、hello报文抓包 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f8cb33feaa2b40b7a4cb67c9e0982109.png) #### 报文字段解析: ##### OSPF Header 头部报文解析: ###### 【 OSPF Version 】 这个字段,指的是OSPF的版本 版本2------针对的是IPv4的网络 版本3------针对的是IPv6的网络 ###### 【 Message Type 】 消息类型 OSPF中,一共有五种报文:Hello、DD、LSR、LSU、LSAck 分别对应了1、2、3、4、5 ###### 【 Packet Length 】 报文的长度,不可修改 ###### 【 Source OSPF Router 】 发送这个Hello报文的路由器的Router ID 而在一个OSPF网络中,Router ID就是用来唯一标识一台路由器的 所以,不同路由器的Router ID不能相同 ###### 【 Area ID 】 发送这个Hello报文的接口,所在的区域 两台路由器,想要建立邻居,它们的互联接口,必须在同一个区域中 ###### 【 Packet Checksum 】 报文的校验和,用来校验报文是否完整 ###### 【 Auth Type/Data 】 这里指的是OSPF的认证 认证的类型 认证的数据 ##### OSPF Hello Packet 报文解析: ###### 【 Network Mask 】 子网掩码 默认情况下:两个建立OSPF邻居的路由器,互联接口的掩码必须相同 ###### 【 Hello Interval 】 Hello时间间隔/Hello计时器/Hello时间 就是发送这个Hello报文的路由器,多长时间发一个Hello包 默认情况下:Hello时间为10秒 两台路由器,想要建立OSPF邻居,它们的Hello时间必须相同 ###### 【 Option 】 特殊标记位 不同的区域类型的标记位也不同 想要建立OSPF邻居,Option位必须相同 ###### 【 Router Priority 】 DR优先级,用于DR选举 如果两台想要建立OSPF邻居的路由器,在互联接口上都配置了自己的DR优先级为0,那么,两台路由器都不会参加DR选举 而在需要DR的网络中,选举不出DR,邻居就无法继续建立 所以,两台设备DR优先级为0,在需要DR的网络中,邻居状态会卡在2-way ###### 【 Router Dead Interval 】 Dead时间/死亡时间 默认情况下:是Hello时间的4倍=40秒 Dead时间会随着Hello时间的改变而改变,但还是4倍关系 所以,我们如果更改Dead时间,一定要注意是否受Hello时间影响, 即:我们需要单独更改Dead时间(手动配置的Dead时间优先于默认情况------4倍Hello时间) ###### 【Designated router 】 : DR :指定路由器 ###### 【Backup Designated router】 :BDR :备份指定路由器 ###### 【Active Neighbor 】: 活跃的邻居,我认可的邻居 ## 十、邻居建立失败的原因(一同两不三不通) 1、两台设备三层不通,OSPF邻居无法建立 2、两台设备互联接口IP地址的掩码不同,(广播型网络)OSPF邻居无法建立 【特殊情况:P2P(点到点网络)两端设备掩码不同,OSPF邻居可以建立】 3、两台设备router-id 相同,OSPF邻居无法建立 4、两台设备互联的接口所在的区域不同,OSPF邻居无法建立 ## 十一、OSPF路由器类型 区域内路由器:路由器所有的接口都在同一个区域内 骨干路由器: 路由器只要有一个接口属于骨干区域 区域边界路由器(ABR):连接骨干区域和非骨干区域的路由器 自治系统边界路由器(ASBR):引入外部路由的路由器

相关推荐
若汝棋茗17 小时前
TouchSocket奇幻漂流记:从零开始的网络编程冒险 [特殊字符]
网络
buyutang_18 小时前
Linux 网络编程:深入浅出UDP协议Socket编程规范
linux·网络·udp
猴哥聊项目管理18 小时前
2025年项目管理软件10款云原生部署方案的稳定性对比
安全·云原生·金融·软件工程·项目管理工具·项目管理软件·企业管理
SaaS_Product18 小时前
企业网盘怎么注册?一文解读申请流程
网络·人工智能·云计算·saas·onedrive
汽车仪器仪表相关领域18 小时前
SCG-1 增压 + 空燃比二合一仪表:涡轮改装的 “空间杀手” 与 “安全保镖”
大数据·服务器·人工智能·功能测试·安全·汽车·可用性测试
涡轮蒸鸭猫喵19 小时前
-------------------UDP协议+TCP协议-------------------------
java·网络·笔记·网络协议·tcp/ip·udp
松☆19 小时前
OpenHarmony + Flutter 车机系统开发实战:构建高性能、高安全的智能座舱应用
安全·flutter
谷粒.19 小时前
AI在测试中的应用:从自动化到智能化的跨越
运维·前端·网络·人工智能·测试工具·开源·自动化
AI分享猿19 小时前
Java后端实战:SpringBoot接口遇袭后,用轻量WAF兼顾安全与性能
java·spring boot·安全·免费waf·web防火墙推荐·企业网站防护·防止恶意爬虫