目录

基本信息

DR选举规则

OSPF五种报文

 OSPF的基本邻居状态:

骨干区域、普通区域和虚链路

 骨干网和普通区域

虚链路

LSA链路状态通告

 路由器角色:

常用LSA:

末梢区域,完全末梢区域和非纯末梢区域


 ospf是作用在端口上的,在ospf协议中,area 0为骨干网,所有区域要跟area 0连接才能转发数据(下面的拓扑图area 2 没有与area 0直接相连,我们可以用虚链路方法进行连接),同一个路由器的不同端口可以是不同的区域。

基本信息

  1. 邻居关系:指双方收到对方传来的hello报文
  2. 区域:骨干区域,普通区域
  3. 自主系统AS:使用相同协议的路由器
  4. DR:指定路由器,每个区域的所有路由器都要与DR建立邻接关系,告知这个区域的拓扑,DR负责告知该区域内的其它路由器其它区域的拓扑结构(指的时接口,并不是整个路由器)
  5. BDR:备份DR,当DRdown掉后,会立刻成为DR进行工作
  6. 成本(cost):路径开销
  7. SPF算法:找最短路径算法

DR选举规则

DR的主要作用是用来与其它区域交换网络拓扑信息,大大减少了网络中带宽的使用情况 

(1)优先级选取:优先级越大,成为DR的可能性越高,路由器默认优先级为1,可以通过ip  ospf  priority 手动修改优先级;优先级为0,则不参与DR的选取,称为DRother

(2)Loopback:loopback越大,DR的可能性越高

(3)Route  ID:当优先级和loopback都相同时,Route ID越大越可能成为DR

(4)IP 地址:route id也相同,则ip地址越大,成为DR 的可能性越高

OSPF五种报文

Hello报文:周期性的发送给邻居自己的路由,用于发现、建立和维护邻居关系

DD(DBD报文)(数据库描述)报文:两台路由器进行数据同步,描述自己的LSDB(链路状态数据库)情况,内容包括LSDB中的每条LSA(路由条目)的header,交换链路状态数据库摘要

LSR(链路状态请求)报文:两台路由器交换DD后,就知道对端路由器有哪些是自己没有的路由信息,发送LSR请求,内容包括LSA的信息

LSU(链路状态更新)报文:给对端发送LSR请求的LSA详细的链路状态信息,

LSAck(链路状态确认)报文:收到LSU后进行确认,发送确认报文

 OSPF的基本邻居状态:

(1)down:未启用ospf协议

(2)Init(初始状态):收到来自对端的hello包

(3)2—WAY:双方都受到了来自对方的hello包,建立邻居关系

(4)exstart:预启动

(5)exchange:路由器交换自己的DBD

(6)loading:获取未知的LSA

(7)Full:建立邻接关系,所有路由数据库达到统一

骨干区域、普通区域和虚链路

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR

 骨干网和普通区域

代码部分只以R2 为例:

Router2      
#
interface GigabitEthernet0/0/0
 ip address 10.0.1.1 255.255.255.0
#
interface LoopBack0
 ip address 2.2.2.2 255.255.255.255
#
ospf 1 router-id 2.2.2.2
 area 0.0.0.0
  network 10.0.1.1 0.0.0.0

查看刚划分ospf区域时,ospf的工作过程

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR_02

 查看R3邻居表:

display  ospf peer brief

虚链路

以上图为例,查看R4邻居状态和R2路由表

OSPF一个区域中有几个DR ospf每个区域都有dr_链路_03

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR_04

发现有邻居关系但是没有路由信息,因为area 0并没有和area 2连接,这里我们需要虚链路进行逻辑链接。

R3:
#
ospf 1 router-id 3.3.3.3
 area 0.0.0.1
  network 20.0.1.1 0.0.0.0
  vlink-peer 4.4.4.4

R4:
#
ospf 1 router-id 4.4.4.4
 area 0.0.0.1
  network 20.0.1.2 0.0.0.0
  vlink-peer 3.3.3.3

再次查看R3路由表:有area 2的路由信息 

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR_05

LSA链路状态通告

 在互相交换路由信息时,交换的其实是LSA

 路由器角色:

1.内部路由器(IR):所有接口都接入同一个区域的路由器

2.区域边界路由器(ABR):接入多个区域的路由器,但接入的区域中必须有一个area 0

3.骨干路由器(BR):接入area 0的路由器

4.AS边界路由器(ASBR):工作在ospf边界的路由器

常用LSA:

1类LSA:router

区域内部产生,任何一个ospf路由器都会产生1类lsa

1类LSA的名字,表示的是:每一个路由器的router-id

2类LSA:network

只有DR可以产生2类lsa,也是区域内部产生,最重要的作用是可以查看子网掩码

2类LSA的名字,表示的:DR接口的IP地址;

3类LSA:summary

区域之间产生,ABR产生

3类LSA的名字,表示的是:不同区域之间的网段;

4类LSA:sum-asbr

与ASBR在同一个区域的ABR产生

4类LSA的名字,表示的是:ASBR 的 router-id ;

5类LSA:external

5类LSA的名字,表示的是:OSPF的外部路由的网段;

由非ospf路由器产生

7类LSA:nssa

在nssa区域的ASBR产生,表示的是ospf的外部路由

7类LSA的名字,表示的是:OSPF的外部路由的网段;

末梢区域,完全末梢区域和非纯末梢区域

stub区域:又称末梢区域,区域内不能引入其它路由协议的路由,不可以引入外部路由(不接受五类LSA),默认ABR到其它区域是一条默认路由

totally stub区域:完全末梢区域,不接受3,4,5类LSA,可以用来精简路由表

nssa区域:非纯末梢区域,可以引入其它路由协议的路由,可以引入外部路由,但是nssa区域内引入的外部路由是七类LSA只能在nssa区域内传播,所以要转换成5类LSA才能在整个ospf区域内传播

实操讲解stub和nssa

拓扑图

OSPF一个区域中有几个DR ospf每个区域都有dr_网络_06

配置ip和ospf,在R1和R6之间做虚链路,查看R5的路由表和area 2的数据库

OSPF一个区域中有几个DR ospf每个区域都有dr_网络协议_07

OSPF一个区域中有几个DR ospf每个区域都有dr_链路_08

/**注意!!stub区域里的所有路由器都要设置成stub**/

R3和R5 
#
ospf 1 router-id 5.5.5.5
 area 0.0.0.2
  stub

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR_09

可以看到,stub模式可以用来精简路由表,出区域自动换成一条默认路由,所以外部网络结构无论怎么变化,都影响不到stub区域。 

totally  stub:

把R3和R5stub换成stub  no-summary再次查看R5路由表

#

ospf 1 router-id 5.5.5.5

 area 0.0.0.2

  stub no-summary

OSPF一个区域中有几个DR ospf每个区域都有dr_链路_10

再来配置nssa区域

先引入外部网络10.10.10.10,这里用到了acl表,下次详讲

R4:
#
acl number 2000
 rule 5 permit source 10.10.10.10 0
#
route-policy a permit node 10
 if-match acl 2000
#
ospf 1 router-id 4.4.4.4
 import-route direct route-policy a
 area 0.0.0.1

再来看R4和R1路由表,可以看到外部网络10.10.10.10添加成功,并写入ospf中

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR_11

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR_12

将area 1 划分为nssa区域(nass区域中的路由器都要配置为nssa)

#
ospf 1 router-id 4.4.4.4
 import-route direct route-policy a
 area 0.0.0.1
  nssa

 R4的路由表和lsdb表

OSPF一个区域中有几个DR ospf每个区域都有dr_网络_13

 

OSPF一个区域中有几个DR ospf每个区域都有dr_链路_14

 再看看R1的区域1 的lsdb表:

OSPF一个区域中有几个DR ospf每个区域都有dr_OSPF一个区域中有几个DR_15

OSPF一个区域中有几个DR ospf每个区域都有dr_网络协议_16

 此时可以看到R4的第七类LSA到R1这里被R1转换成了第五类LSA,第七类LSA使不能在ospf中传输,只能被转换成第五类LSA才可以