链路状态路由协议OSPF概述--结合小实验
文章目录
一、 链路状态路由协议
1.1概述和协议分类;
概述:
综合考虑从源网络到目标网络的各条链路的情况选择路由;
分类:
OSPF IS-IS;
咱们今天聊的是OSPF协议;;;
二、OSPF路由协议;
2.1基本概述;
自治系统(AS):不同的区域系统;
内部网关协议(IGP):RIP ,OSPF
外部网关协议(EGP):外部网络之间的协议
2.1.1 特点
无路由环;
可适应与大规模网络;
支持可变长子网掩码;
路由变化收敛速度快;
使用组播发送链路状态更新;
2.1.2 OSPF数据包
IP数据包内,使用协议号89;
2.1.3 OSPF区域:
为了适应大型的网络,OSPF在AS内划分多个区域;
每个OSPF路由器只维护所在区域的完整链路状态信息;
2.1.4 区域ID:
区域IP可以表示一个十进制的数字;
也可以表示为一个IP
2.1.5骨干区域Area 0:
负责区域间的路由信息传播;Area之间 可以理解为中心枢纽;
2.16 非骨干区域:
就是不是骨干区域的,除骨干区域其他的都是非骨干区域;
划分多个区域是为了优化网络性能;;
如图:
2.2工作过程;
邻居路由表;
链路状态数据库;
路由表;
首先会建立邻接关系,相互学习的链路状态的信息,把学习到的信息放到链路状态数据库当中,通过Dijkstra算法最短路径树,再把结果放到路由表当中;
2.3Router ID;
OSPF区域内唯一标识路由的IP地址;
选取规则:
选去路由器loopbank地址接口上数值最高的IP地址;
如果没有loopbank地址接口,在物理端口中选取IP地址最高的;
也可以使用router ID命令指定router id;
2.4 DR和BDR;
广播网络中建立邻接关系;
构成n(n-1)/2个邻接关系;
DR和BDR的选举规则:
自动选举:
网段上Router ID最大的路由将选举为DR,第二大的将被选举为BDR,也是相当于DR的帮手,备用;其他的都是Drouther;
手工选择DR和BDR:
优先级范围是0~255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router id
如果路由器的优先级被设置为0,他将不参与DR和DBR的选举;
//选举DR,BDR是为了在广播多路访问中减少连接关系的建立,优化性能;
//DR一旦被选定就不会被抢占;
//Drouther会通过224.0.0.6向DR和BDR通告网络状态信息;
//DR会通过224.0.0.5向所有邻居通告信息;
2.5OSPF五种报文和七种状态;
2.5.1五种报文:
1.hello报文(打招呼):发现邻居并建立和维护邻居关系,选举DR和BDR;
2.数据链路描述包(DBD):向邻居发送摘要信息以同步链路状态数据库;
3.链路状态请求包(LSR):在路由器收到包含新信息的DBD后发送,用于 请求 更详细的信息;
4.链路状态更新包(LSU):收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA;
5.链路状态确认包(LSAck):确认已经收到LSU,每个LSA需要被分别确认;
2.5.2 七种状态:
1.DOWN状态:起始状态不知道任何信息;
2.Init状态:准备建立连接 发送自己的信息;
3.2-way状态:DP和BDR的选举就是在这一状态;
4.Exstart状态:学习状态
5.Exchange状态:交互数据链路状态信息描述;
6.loading状态:请求IP完整路由条目,回应IP完整路由条目,确认完整路由条目,都在这一状态下;
7.full状态:稳定状态可以做转发了;
三、实验和抓包讲解
3.1拓扑图
3.2具体配置
注:中间的二层交换机不做任何配置,当作傻瓜式交换机就行;
理解:
每个设备需要接口先配置IP地址;
创建loo0环回口;
ospf:
1.实验需要进启动OSPF模式,
2.都是在一个区域内的做Area0,
3.然后宣告自己的路由地址信息
40S比较Router-id选举DR
配置OSPF(不宣告直连路由)
测试:R1、R2、R3,
同时宣告13.0.0.0(同时回车宣告)
三个配置都是一样的,我举其中一个来说明一下,咱们主要看看抓包有没有选举处DR和BDR;
R1:
int g0/0/0
ip address 13.0.0.1 24 接口配置IP
#
interface LoopBack0 创建环回口
ip address 1.1.1.1 255.255.255.255
#
ospf 1 router-id 1.1.1.1 OSPF编号1 router id
area 0.0.0.0 Area0 骨干区域内
network 13.0.0.0 0.0.0.255
network 1.1.1.1 0.0.0.0
3.3抓包了解
可以看到图中DR和BDR已经选举出来了;
以上仅个人理解;;
下面文章咱们会更新OSPF的多区域生成
下一篇: 使用子查询