目录
一、OSPF路由协议概述和工作过程
1.1、OSPF路由概述
1.1.1、内部网关协议和外部网关协议
1、自治系统(AS)
2、内部网关协议(IGP)
3、外部网关协议(EGP)
1.2、OSPF的工作过程
1、邻居列表:列出每台路由器已经建立的邻接关系的全部邻居路由器。
2、链路状态数据库:列出网络中其他路由器的信息,由此显示了全网的网络拓扑。
3、 路由表:列出通过Dijkstra算法计算出的到达每个相连网络的最佳路径。
1.3、OSPF基本概念
1.3.1、OSPF区域
1、 为了适应大型的网络,OSPF在AS内划分多个区域
2、 每个OSPF路由器只维护所在区域的完整链路状态信息
1.3.2、区域 ID
1、 区域lD可以表示成一个十进制的数字
2、也可以表示成一个IP
1.3.3、骨干区域Area 0
负责区域间路由信息传播非骨干区域
1.3.4、非骨干区域
1.3.5、Router ID
OSPF区域内唯─标识路由器的IP地址
1.3.6、Router ID选取规则
1.选取路由器loopback接口上数值最高的IP地址
2.如果没有loopback接口,在物理端口中选取IP地址最高的
3.也可以使用router-id命令指定Router ID
1.4、DR和BDR
1.4.1、DR和BDR的概念
运行OSPF的路由器通过与邻居路由器建立邻接关系,互相传递链路状态信息。
1.4.2、DR和BDR选举
1、自动选举DR和BDR
2、手工选举DR和BDR
1.4.3、DR和BDR的选举过程
1.路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR和BDR路由器。
二、OSPF邻接关系
2.1、OSPF的数据包类型
OSPF包的类型 | 描述 |
hello包 | 用于发现和维持邻接关系,选举DR和BDR |
数据库描述包(DBD) | 用于向邻居发送摘要信息以同步链路状态数据库 |
状态请求包(LSR) | 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息 |
链路状态更新包(LSU) | 收到LSR后发送链路状态通告(LSA), 一个LSU数据包可能包含几个LSA |
链路状态确认包(LSAck) | 确认已经收到LSU,每个LSA需要被分别确认 |
2.2、OSPF邻居关系的建立
1、失效(Down) 状态
这是OSPF建立交互关系的初始化状态,路由器没有与任何邻居交换信息。
2、初始(Init) 状态
路由器的各个接口通过224.0.0.5发送Hello报文,这里以R1发送Hello报文为例。当邻居路由器R2收到第一个Hello 报文后,就进入lnit状态。在该状态下,路由器R2已经接收到Hello报文,但自身的ID并没有出现在该Hello报文内。
3、双向(2-Way) 状态
路由器R2向路由器R1发送一个Hllol回应报文,该Hello回应报文含有路由器R1的ID.当路由器R1收到该Hll回应报文,发现含有自身的D, 这时就进入2-Way状态,双向通信已经建立,DR和BDR的选举正是在这个状态下完成的。
4、准启动(ExStart) 状态
在选举出DR和BDR之后,路由器就被认为是处于ExStart状态。在该状态下,DR和BDR与网络中其他各路由器建立邻接关系。在这个过程中,两个邻接路由器之间建立起一个主/从(Master/Slave)关系,路由器ID大的作为主路由器,用来发起通信。
5、交换(Exchange) 状态
主/从路由器之间交换一个或多个数据库描述包" (DBD), 路由器进入Exchange状态。DBD包含的是链路状态数据库中的LSA条目的摘要信息,主/从路由器之间交换DBD时要确保双方都能接收到。
6、加载(Loading) 状态
如果收到的DBD有更新的LSA条目的摘要信息.路由器将向对方发送链路状态请求包(LSR)请求更详细的信息,对方路由器用链路状态更新包(LSU) 回应该LSR,此过程称为Loading 状态。链路状态更新包(LSU) 需要对方确认收到。
7、完全邻接(FulI) 状态
当路由器之间完成了数据库同步后,它们的链路状态数据库已经完全一致, 此时就达到了Fu状态。
2.3、OSPF的网络类型
根据路由器所连接的物理网络不同,OSPF 将网络划分为以下四种类型。
1、点到点(Point-to-Point)网络。
2、广 播多路访问(Broadcast MultiAccess, BMA)网络。
3、非广 播多路访问(None Broadcast MultiAccess, NBMA)网络。
4、点到多点(Point-to-MultiPoint) 网络。
三、OSPF单域的配置
路由器一
R1#conf t进入全局模式
R1(config)#int f0/0 进入接口模式
R1(config-if)#ip add 10.1.1.1 255.255.255.0 配置接口IP
R1(config-if)#no shutdown 开启此接口
R1(config)#int loopback 0 进入环回口
R1(config-if)#ip add 1.1.1.1 255.255.255.255 配置环回口IP
路由器二
R2#conf t 进入全局模式
R2(config)#int f0/0 进入接口模式
R2(config-if)#ip add 1.1.1.2 255.255.255.0 配置接口IP
R2(config-if)#no sh 开启此接口
R2(config-if)#int f1/0 进入接口模式
R2(config-if)#ip add 10.1.2.2 255.255.255.0 配置接口IP
R2(config-if)#no showdown 开启此接口
R2(config-if)#exit 退出
R2(config)#int loopback 0 进入环回口
R2(config-if)#ip add 2.2.2.2 255.255.255.255 配置环回口IP
路由器三
R3#conf t进入全局模式
R3(config)#int f0/0进入接口模式
R3(config-if)#ip add 10.1.2.3 255.255.255.0配置接口IP
R3(config-if)#no shutdown开启此接口
R3(config-if)#int f1/0进入此接口
R3(config-if)#ip add 10.1.3.3 255.255.255.0 配置接口IP
R3(config-if)#no shutdown 开启此接口
R3(config)#int loopback 0 进入环回口
R3(config-if)#ip add 3.3.3.3 255.255.255.255 配置环回口IP
路由器四
R4#conf t进入全局模式
R4(config)#int f0/0进入接口模式
R4(config-if)#ip add 10.1.3.4 255.255.255.0配置接口IP
R4(config-if)#no shutdown开启此接口
R4(config-if)#exit退出
R4(config)#int loopback 4进入环回口
R4(config-if)#ip add 4.4.4.4 255.255.255.255配置环回口IP
路由器1
R1(config)#router ospf 110启动OSPF进程并配置进程号
R1(config-router)#router-id 1.1.1.1配置routerid
R1(config-router)#network 10.1.1.0 0.0.0.255 area 0宣告直连网段,并选择区域号,掩码需是反掩码
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0宣告直连网段,并选择区域号,掩码需是反掩码
路由器2
R2(config)#router ospf 110启动OSPF进程并配置进程号
R2(config-router)#router-id 110配置routerid
R2(config-router)#router-id 2.2.2.2配置routerid
R2(config-router)#network 10.1.1.0 0.0.0.255 area 0宣告直连网段,并选择区域号,掩码需是反掩码
R2(config-router)#network 10.1.2.0 0.0.0.255 area 0宣告直连网段,并选择区域号,掩码需是反掩码
R2(config-router)#network 2.2.2.2 0.0.0.0 area 0宣告直连网段,并选择区域号,掩码需是反掩码
路由器3
R3(config)#router ospf 110启动OSPF进程并配置进程号
R3(config-router)#router-id 3.3.3.3配置routerid
R3(config-router)#network 10.1.2.0 0.0.0.255 area 0宣告直连网段,并选择区域号,掩码需是反掩码
R3(config-router)#network 10.1.3.0 0.0.0.255 ARea 宣告直连网段,并选择区域号,掩码需是反掩码
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0宣告直连网段,并选择区域号,掩码需是反掩码
路由器4
R4(config)#router ospf 110启动OSPF进程并配置进程号
R4(config-router)#router-id 4.4.4.4配置routerid
R4(config-router)#network 10.1.3.0 0.0.0.255 area 0宣告直连网段,并选择区域号,掩码需是反掩码
R4(config-router)#network 4.4.4.4 0.0.0.0 area 0宣告直连网段,并选择区域号,掩码需是反掩码
配置完成后查看路由表
输入 do show ip route 查看路由表
各个路由表配置信息都已经互相学习