1、
单区域
OSFP
的基本配置
在上图中存在
OSPF
所定义了两种网络类型,首先在
R1 R2 R3
之间组成的是一个广播网络,而在
R3
和
R4
之间则是一个点到点网络。那么在
R1 R2 R3
之间则要选择
DR
和
BDR
基本配置如下:
书写这个命令的含义是让
OSPF
将环回口认为是一个网络而不是一个具体的接口,如果不写在路由表中环回口则是一个
32
位掩码的主机地址
注意
1
:
在
OSFP
中如果接口的
MTU
不一样则不能正常的交换
LSA
,而会卡在
exstart
状态,而
MTU
的修改方法有两种一个是修改物理的
MTU
一个是修改逻辑的
MTU
方法如下:
那么
MTU
是一个二层的参数,
IP
报文在向下封装的时候,就会按照物理
MTU
对数据进行分片,而逻辑
MTU
是可以让数据在指定的地方进行分片。那么当我们修改其中某一个路由器接口的
MTU
后
ospf
由于在建立邻居关系的时候就会因为
MTU
不匹配而造成关系不能建立而停滞在
exstart
状态。
解决方法:
1
、将
MTU
修改成为一致的;
2
、在较小
MTU
路由器上做一下命令,并且重启
OSPF
进程
注意
2
:
在
R1 R2 R3
之间存在了一个广播网络,那么广播网络在选举了
DR
和
DBR
后,
DRother
路由器如果有其他的网络变更将会直接发个
DR
再由
DR
向其他人转发。目前
R1
是
DRohter
,
R2
是
DR
,
R3
是
BDR
然后我们通过命令让
R3
成为
DR
,让
R1
和
R2
都是
DRohter
,操作只需要将
R1
和
R2
接口优先级改成
0
即可。
然后,我们在
R1
上新创建一个环回端口,并且在
R1 R2 R3
上同时打开
Debug
来查看更新情况
R1
向
R3
发出了一个
LSU
,因为
R3
是
DR
R3
将向
R1 R2 R4
发出
LUS
更新信息(
R4
没有扑捉所以只看
R1 R2
)
R1
收到后由于这个信息是他发给
R3
的所以他不要,但是
R2
收到后就会向
R3
回应
LSack
信息更新过程结束。
2、
OSPF
在各种网络类型中的配置
基本配置
A
、
OSPF
运行在
NBMA
网络中
当帧中继环境搭建好后我们在
R1 R2 R3
上分别配置一个环回接口,然后开启
OSPF
这是
OSPF
没有正常,我们发现根本就没有任何的邻居关系,而且我们发现这时的网络类型为非广播。帧中继网络上,
OSPF
默认接口为
non-broadcast
,在这种模式下,
OSPF
在接口上不会发送
hello
包,因此就无法建立“邻接”关系,需使用“
neighbor
”命令来添加领居,这时
hello
包以单播形式进行传送。
NBMA
属于多路访问,所以需进行
DR
选举,但由于
hello
包只传送
1
跳,所以在
hub-and-spoke
结构中,必须使“
hub
”端的路由器成为
DR
,建议直接将
spoke
路由器接口优先级配置为
0
,使之不参与
DR
选举。
当我们指定了邻居而没有去指定
HUB
为
DR
时,虽然那么路由正常学习,但是从
R3
到达
2.2.2.2
的路由的下一跳指向了中心节点,
R2
到达
3.3.3.3
网络也是同样,这样的路由表不正常
那么我们将
hub
设置成为
DR
而其他的
spoke
不参与选举,那么这时我们在此查看路由表
可以看到他们下一跳的变化。
总结:当
OSPF
运行在
NBMA
网络中时,一定要指定
hub
为
DR
,并且在
DR
上指定两个
spoke
为邻居
B
、
OSPF
运行在点到多点的网络环境中
对上面的试验我们做一下改动,在
R2 R3
上分别删除一条到对方的
MAP
条目
删除后在
R2
上去
ping 3.3.3.3
原因:是当在帧中继网络中去进行信息发送的时候,首先是查找路由表,当找到路由条目后在去查找映射关系进行封装,但是我们删除了映射关系,所以将导致封装失败。
这时候我们就可以去应用帧中继的第二种网络类型
配置前首先将
hub
网络中的邻居删除
然后在三个路由器上配置一下操作
完后我们查看网络类型
在这种点到多点的网络中是不需要选举
DR
的,所以路由表可以直接学习到而且不需要去指定邻居
总结:在这种网络上不需要选择
DR
而且
Hello
包可以正常发送。
C
、广播网络:这种网络类型的修改方法和上述相同,在接口上指定就可以了,也可以实现
OSPF
的直接通讯
修改
topo
,让
hub
和两个
spoke
分别是不同的网段
接下来我们来验证最后两种网络类型
D
、
OSPF
运行在点到点环境
当我在这个环境中宣告了
OSPF
后
这是发现了一个现象
R1
和
R3
的邻居关系起来了,并且正常学习到了路由。我们来查看下
R1
和
R3
之间的网络类型
由于我们在帧中继配置子接口的时候就选择的是点到点所以在这里可以正常学习路由
E
、
OSPF
运行在点多点非广播环境下
在上个例子中,
R1
和
R3
之间正常通讯了,但是
R1
和
R2
之间还没有正常通讯,那么我们分析他的网络类型应该是默认的
NBMA
网络,我们查看并做修改
那么这样做完后,
OSPF
仍然没有正常,在这里我们要记住一个问题,只要是
NB
的那就一定要去指定邻居。接下来我们去操作下
路由表正常,所有试验验证成功
3、
多区域
OSPF
的配置
在多区域
OSPF
中所有的非骨干区域必须连接到骨干区域,并且区域的边界在路由器上,那么就一定有一个路由器是含有两个区域的,我们把这个路由器叫做
ABR
,如上图,配置如下:
O IA
代表
OSPF
区域间路由
4、
OSPF
的虚链路
区域
2
没有直接连接到区域
0
在
OSPF
中这是不允许的,所以要有临时的解决方案
当按照上图配置
OSPF
后,在
R1
的路由表内没有出现
R4
上的路由,原因是这种连接方法在
OSPF
中默认是不允许的。所以我们要做解决方案
A、
虚链路
在这中操作中,将
AREA1
当做传输区域,
AREA2
的数据是通过
AREA1
传输到
AREA0
的,只需要在
R2
和
R3
上(都是
ABR
)做一下命令
在
AREA0
和
AREA1
的
ABR
指向
AREA1
和
AREA2
的
ABR
的
router-id
在
AREA1
和
AREA2
的
ABR
指向
AREA0
和
AREA1
的
ABR
的
router-id
B
、隧道技术(
tunnel
)
那么首先,先去掉原有的虚链路的配置,仍然是在两个
ABR
上去操作
路由正常,在使用隧道技术中,要注意的是,在两个
ABR
上建立隧道,那么在
tunnel
接口上指定隧道的源和目的地址时,应该是两个
ABR
的接口地址互指,在这个过程中两个
ABR
之间可能会有多个路由器,那么在这两个
ABR
之间的网络应该是畅通的。第二,在隧道上配置地址,并且要在
OSPF
中宣告,且一定要宣告到区域
0
去,这就相当于
AREA0
和
AREA2
是通过
tunnel
接口相连,那么这条隧道就穿越了区域
1
,建立成功了。
5、
OSPF
的汇总
A
、
Ospf
区域间汇总,做在
ABR
将区域
1
的汇总给区域
0
,区域间的汇总做在
ABR
上
B、
Ospf
自治系统间汇总,做在
ASBR
把
rip
中的路由汇总给
OSPF
看,就要按照
OSPF
的汇总规则在路由进程下操作,把
OSPF
的路由汇总给
rip
看,那么就要按照
rip
的规则在出接口上汇总。
6、
OSPF
的特殊区域
A、
stub
区域
这个区域是网络的边界,在这个区域里不含有
ASBR
,在这个区域里的路由器不接收第
4
和第
5
类的
LSA,
在上图同
area1
可以符合这个特征,那么我们就将其配置成为
stub
区域
在没有操作之前可以看见第四类和第五类的
LSA
。
然后我们开启
stub
,注意:如果开启
stub
区域,那就应该在这个区域中的所有路由器都配置
stub
当配置完毕后在
Area1
的内部路由器上就会出现一个默认路由取代了原来的
O E
表示的路由
在数据库中也不存在第四类和第五类了
LSA
条目了,不过在三类的里面多了一条
B、
Totally Stubby
在
stub
的基础上,不仅不要四、五类的
LSA
,也不要第三类的
LSA
,可以进一步的简化路由条目配置方法如下:只需要在
ABR
上面操作就可以了
这条默认路由不仅代表了
O E
也代表了
O IA
的路由
在
area1
的内部路由器上链路状态数据库中三类的
LSA
也只剩下了一条默认的
C、
NSSA
区域
在区域
1
中由于某些原因不得不存在
ASBR
那么这个时候就不能实施
Stub
区域那么我们可以使用
NSSA
区域解决这个问题
在这个地方我们注意到
NSSA
和
stub
的不同,首先没有产生默认路由,其次,在
R1
的数据库中多了一个第七类的
LSA,
然后我们在看
R2
的路由表
多了一个
O N
的路由,这个路由就是从
NSSA
区域发布进来的外部路由条目,那么现在还存在一个问题,就是在
R1
虽然简化了路由表,但是无法到达
R4
的
rip
网络,解决此问题的操作如下,在
R2
(
ABR
)上做如下操作
此时就出现另一个默认路由。那么
NSSA
区域实现
D、
NSSA Totally
这个区域类似于
Totally Stubby
区域。不接受四类,五类
LSA
的同时也不接受第三类
LSA
,配置方法,仍然是只在
R2(ABR)
上操作。
7、
详解
6
种
LSA
一类
LSA
:
Router LSA
这类
LSA
描述了本路由器有哪些接口运行了
OSPF
及此接口的状态,还描述了自己的邻居是谁
.
LinkID
:表示此
LSA
是有谁产生的,
ADV Router
:表示这条
LSA
是有谁通告出来的
Link count
:表示这里面含有几个条目,这个能看到
1.1.1.1
这个路由器的
1
类
LSA
中有
5
个条目
三类
LSA
是有
ABR
发起的,由于
ABR
同属于两个区域,那么当他收到其中一个区域的一类和二类
LSA
后,就会从中间拿出网络号及掩码和度量值,发送到另一个区域
例如:在
area1
中的两个路由器上一共有
5
个网段(
1.1.1.0 1.1.2.0 1.1.3.0 2.2.2.0 12.12.12.0
)从
1
类的
LSA
中就可以看到,然后当
R2
(
ABR
)收到后会拿出他们的网络号和掩码信息发送给
area0
,并计算出了到达
ABR
的开销
四类
LSA
作用是用来通告
ASBR
在哪里,因为只有找到了
ASBR
才能够知道如何到达其他的路由域,此类
LSA
是由
ABR
发出的
五类
LSA
是由
ASBR
通告的,通告到达外部路由条目以及开销
七类
LSA
是由
NSSA
区域内的
ASBR
发起的。用来表示从
NSSA
区域中进来的外部网络
当
7
类的
LSA
进入内网后,被
ABR
转化为
5
类的
LSA
在
OSPF
的网络内进行通告
二类
LSA
这类
LSA
是
DR
产生的,
linkID
标示,
DR
在这个广播网络的接口地址,
ADV Router
是
DR
路由器的
router-id
标示了这个传输网络中包含了哪些路由器,那么知道了哪些路由器在这个网络中在通过
1
类
LSA
就可以知道这个路由器在这个传输网络的接口地址是多少
在加上在
2
类
LSA
中还有掩码信息,这样就可以知道这个传输网络的网段是多少。
8、
OSPF
的认证
A、
接口认证
明文认证
在两个相邻接口做相同的操作
密文认证
在两个相邻接口上做相同的操作
B、
区域认证
明文认证
密文认证
做区域认证需要整个区域的路由器全部都做认证
C、
虚链路认证
明文认证
密文认证