OSPF
全称:Open Shortest Path Firs
一、基本概念
1)基本信息
组播发送:224.0.0.5/6
标准的链路状态型路由协议---路由器之间传递拓扑
版本:OSPFv2--IPv4 -----OSPFv3--IPv6
更新方式:触发更新;存在周期更新30min
OSPF网络需要结构化部署:1、区域划分 2、IP地址规划
链路状态型路由协议的距离矢量特征--区域之内传递拓扑,区域之间传递路由表
优先级 10 COST值=参考带宽÷接口带宽
2)OSPF数据包
hello包:用于发现、建立并保活(10s)邻居关系。存在全网唯一的Router-ID,用于路由器的身份标识,使用的IP地址的方式表示。
DD包:Database Description,数据库描述包。
LSR:链路状态请求。
LSU:链路状态更新。
LSAck:链路状态确认。
3)OSPF状态机:
down:未启动协议。一旦启动协议并发出hello包之后,立即进入下一状态
init:等待邻居回复的状态。若收到的hello包中携带了自己的RID,则和对方一起进入下一状态
2-way:表示邻居关系建立
条件匹配:若成功,则进入下一状态;若失败,仅hello包保活
exstart:预启动,使用假的DD报文比较RID,大者优先进入下一状态。
exchange:双方交换DD报文
loading:使用LSR/LSU/LSAck获取未知的路径拓扑或者路由
full:邻接关系建立,收敛完成
4)OSPF工作过程
启动协议后,设备本地基于224.0.0.5组播发出hello包,发现并建立邻居关系,生成邻居表;
之后进行条件匹配,若成功,则进入下一状态;若失败,则仅hello包10s进行邻居关系保活。
RID大者优先进入下一状态,先交换DD,然后再使用LSR/LSU/LSACK收集未知的LSA,生成LSDB--数据库表
设备基于此LSDB,使用SPF算法计算出去往目标的最佳路径,生成路由表,收敛完成。
之后10s周期保活,30min周期性比对DD
网络结构发生变化:
1、新增&断开:直连发生变化的设备通过DBD/LSR/LSU/LSACK完善即可。
2、设备无法通信:hello 10s 保活 dead time 40s--计时结束后,删除邻居关系以及从邻居处学习到的所有路径。
名词解释:
LSA:链路状态通告--OSPF中发送的拓扑信息或路由
LSDB:链路状态数据库,LSA的集合
5)区域划分规则:
1、必须拥有区域0(骨干区域),所有非骨干的区域必须直连骨干区域。
2、必须拥有ABR--区域边界路由器。
6)OSPF选路规则:
若去往某一个目标拥有多条路径时,优先选择整条路经控制层面入接口Cost之和最小的
控制层面:路由来的方向;数据层面:数据去的方向
当接口带宽大于参考带宽时,COST取1,会导致选路不佳。
路由表中:
所有OSPF计算所得的路径使用OSPF表示;OSPF优先级为10;Cost=参考带宽÷入接口带宽 默认,参考带宽为100Mbits/s<--->注意单位。
可以通过修改参考带宽来解决。注意:参考带宽的修改需要全网一致。
7)A、成为邻接关系的条件--关注网络类型
点到点:在一个网络内只能存在两个节点---串线-->若是点到点网络类型,则从邻居关系直接建立邻接关系。
MA(多路访问):在一个网络内不限制节点数--以太网-->若是MA网络类型,则需要选举DR/BDR角色,为了消除重复更新,选举时间40s其他所有没有定义角色的路由器成为DROther
B、DR、BDR、BROther之间相互关系
DR与DROther之间是邻接关系;BDR与DROther之间是邻接关系;DROther与DROther之间是邻居关系;DR与BDR之间是邻接关系
C、选举规则:
1、接口优先级 默认所有路由器接口优先级为1,大优
2、比较Router-ID 大优
D、DR/BDR选举是非抢占的;可以通过修改设备参加选举的接口的优先级实现控制选举,可以将接口优先级改为0,直接生效。但不能将所有的接口优先级全改成0。
8)扩展配置
1、缺省路由:在连接运营商的边界路由器上配置 ----非强制下发缺省:若想要下发成功,自身的路由表中必须有缺省路由。
2、静默接口:只接收不发送OSPF数据包。一般用于连接用户的接口,禁止用于路由器之间的接口
二、OSPF配置
基础配置
[r1]ospf 1 router-id 1.1.1.1 //启动协议,并配置进程号。同时可以选择配置路由器的RID。
若不配置,路由器自己选择,环回接口最大>物理接口最大
宣告:1、激活接口 2、发布拓扑或路由 3、区域划分
[r1-ospf-1]area 0 //进入区域
[r1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
反掩码
反掩码:32位二进制,使用点分十进制的方式表示,由连续的0和连续的1构成。若反掩码为0,表示IP对应位固定;若为1,表示可变。
修改带宽:
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)---修改时注意单位
[r1-ospf-1]bandwidth-reference 10000 //修改参考带宽
修改优先级控制选举:
[r1]interface GigabitEthernet 0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority * //修改优先级为*
<r1>reset ospf 1 process //重启OSPF进程
缺省路由:
非强制
[r1]ospf 1
[r1-ospf-1]default-route-advertise //非强制下发缺省
强制
[r1]ospf 1
[r1-ospf-1]default-route-advertise always //强制下发缺省
静默接口:
[r1]ospf 1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/1 //静默接口
邻居表:
当设备启动OSPF之后,使用224.0.0.5发出hello包,发现并建立邻居关系,生成邻居表;
<r1>display ospf peer brief //查看邻居关系摘要
OSPF Process 1 with Router ID 2.2.2.2 //自己的信息
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/1 1.1.1.1 Full
0.0.0.1 GigabitEthernet0/0/2 3.3.3.3 Full
----------------------------------------------------------------------------
邻居的区域ID 本地连接邻居的接口 邻居的RID 和邻居的状态
华为设备中OSPF区域ID的表示方式:
邻居的区域ID:area 0--->0.0.0.0
area 12345--->0.0.48.57
LSCB表:
当设备使用DD/LSR/LSU/LSAck数据包收集完所有未知的LSA时,本地生成LSDB--链路状态数据库表(LSA的集合)
<r1>display ospf lsdb //查看本地的LSDB表
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 2.2.2.2 2.2.2.2 502 48 80000007 1
Router 1.1.1.1 1.1.1.1 863 48 80000006 1
Network 172.16.4.1 1.1.1.1 863 32 80000002 0
Sum-Net 172.16.3.0 2.2.2.2 796 28 80000001 2
Sum-Net 172.16.5.0 2.2.2.2 856 28 80000001 1
路由表:
本地基于LSDB,使用SPF算法计算出到达目标网段的最佳路径,生成路由表。
<r1>display ip routing-table protocol ospf //仅查看OSPF学习到的路由条目
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 3 Routes : 3
OSPF routing table status : <Active>
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
172.16.2.0/24 OSPF 10 2 D 172.16.4.2 GigabitEthernet0/0/1
172.16.3.0/24 OSPF 10 3 D 172.16.4.2 GigabitEthernet0/0/1
172.16.5.0/24 OSPF 10 2 D 172.16.4.2 GigabitEthernet0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
VLAN
1、概念:虚拟局域网,隔离广播域(将原本的一个广播域逻辑的切分成多个广播域)---通过在交换机上创建不同的VLAN,并且将不通的接口划入相应的VLAN,让交换机在洪泛时按照不同的VLAN发送数据,实现广播域的隔离。默认交换机上存在VLAN 1,并且所有的接口默认属于VLAN 1
2、配置基础知识
1、创建VLAN
(VLAN创建的范围:1-4094)
[sw1]vlan 10 //单独创建
[sw1]vlan batch ** to ** //批量创建**-**VLAN
[sw1]display vlan //查看vlan情况以及接口的归属情况
[sw1]display vlan summary //查看创建的汇总情况
2、接口划入VLAN
access:一个接口若被调成此类型,则只能属于一个VLAN,一般用于连接用户的接口。
*****第一种配置方式*****
[sw1]interface GigabitEthernet 0/0/1 //进入接口
[sw1-GigabitEthernet0/0/1]port link-type access
链路类型 接入类型
[sw1]interface GigabitEthernet 0/0/2
[sw1-GigabitEthernet0/0/2]port link-type access
[sw1-GigabitEthernet0/0/2]port default vlan 10
*****第二种配置方式(必须先修改接口类型为access)*****
[sw1]vlan 10
[sw1-vlan10]port GigabitEthernet 0/0/1
************************
[sw1]interface range g 0/0/3 to g 0/0/10 //批量进入接口
[sw1-GigabitEthernet0/0/2]port link-type access
[sw1-GigabitEthernet0/0/2]port default vlan 10
3、TRUNK干道
trunk:若将一个接口类型改成TRUNK之后,则此接口不属于任何一个VLAN,但是允许所有VLAN数据通过(默认所有的VLAN都不能过,需要手工指定允许通过的VLAN编号)。