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编号)。