单单介绍 OSPF ,就写了四篇文章,主要是内容比较多。但是,OSPF 实际应用时,只要几条命令,就可以实现动态路由功能。OSPF 使用就是那么简单、方便,不信你接着往下看。
OSPF 基础命令
掌握三条命令,就能玩转 OSPF :
- 创建 OSPF 进程,进入配置视图
- 创建 OSPF 区域
- 接口激活 OSPF
1、创建 OSPF 进程
在系统视图下,使用 OSPF 命令,创建 OSPF 进程。
[Router]ospf 1 Router-id 1.1.1.1
上面的命令,是在 Router 上创建 Process-ID 为 1 的 OSPF 进程,并进入配置视图。使用的 Router-ID 是 1.1.1.1 。
Process-ID 是可选参数,表示 OSPF 进程的编号,只在设备本身生效,也就是说,两台设备建立 OSPF 邻居时,不要求双方的 Process-ID 一样。如果不指定 Process-ID ,会分配一个默认值作为 Process-ID 。
router-id 也是可选参数,用来指定设备的 Router-ID 。通常,手动配置 Router-ID ,不会使用默认值。
2、创建 OSPF 区域
创建完 OSPF 进程后,就需要创建 OSPF 区域。在配置视图下,使用 area 命令创建区域,并指定区域 ID 。
[Router]ospf 1 Router-id 1.1.1.1
[Router-ospf-1]area 1
在 OSPF 进程 1 中,创建 Area1 。
3、接口激活 OSPF
默认状态下,所有接口都没有激活 OSPF ,要在接口激活 OSPF ,有两种方法:
在区域视图激活 OSPF
在区域视图下,使用 network 命令,再加上 IP 地址和通配符掩码,满足条件的接口激活 OSPF 。
[Router]ospf 1 Router-id 1.1.1.1
[Router-ospf-1]area 0
[Router-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
举个栗子:network 192.168.1.0 0.0.0.255 ,IP 地址是 192.168.1.0 ,通配符掩码是 0.0.0.255 。通配符掩码中,比特位为 0 的需要匹配,比特位为 1 的不需要匹配。命令中匹配的 IP 地址是 192.168.1.0 至 192.168.1.255 。
计算方法是,把 192.168.1.0 用二进制表示,把通配符掩码 0.0.0.255 也换算成二进制,每个比特位对应。前 24 位全为 0 ,后 8 位全为 1 。匹配的 IP 地址,以 192.168.1 开头,后面是 0 至 255 的任意值。接口 IP 地址在这个范围内,且 IP 地址掩码长度大于或等于 network 命令的 0 比特位数,就在接口上激活 OSPF 。
有两个特殊的 network 命令,一个是 network x.x.x.x 0.0.0.0 ,比如 network 192.168.1.1 0.0.0.0 ,IP 地址是 192.168.1.1 的接口激活 OSPF ,无论网络掩码长度多少。另一个是 network 0.0.0.0 255.255.255.255 ,匹配任意 IP 地址,所有配置了 IP 地址的接口,都会激活 OSPF 。
在指定接口激活 OSPF
上面的方法,可以使用一条命令,在多个接口激活 OSPF 。另一个方法就是在指定接口激活 OSPF 。先创建 OSPF 进程和区域,然后进入接口视图,使用 ospf enable 命令激活。
[Router]ospf 1 Router-id 1.1.1.1 #创建OSPF进程
[Router-ospf-1]area 0 #创建Area0
[Router-ospf-1-area-0.0.0.0]quit
[Router-ospf-1]quit
[Router]interface GigabitEthernet 0/0 #进入GE0/0接口视图
[Router-GigabitEthernet0/0]ospf enable 1 area 0 #激活OSPF
OSPF 单区域实验
路由器 RT1 的两个接口分别连接 172.16.1.0/24 和 172.16.2.0/24 网段,另一个接口连接路由器 RT2 。RT2 创建 Loopback 接口,配置 IP 地址 172.16.255.2/24 ,模拟 RT2 的直连网段。在 RT1 和 RT2 上运行 OSPF ,让 PC 可以访问全部网段。
RT1 配置如下:
RT2 配置如下:
配置完成后,RT1 和 RT2 建立邻接关系,交换 LSA 。查看 RT1 的邻居表:
邻接表中,RT1 在 Area0 发现邻居,Router-ID 是 2.2.2.2 ,接口 IP 地址是 172.16.12.2 ,邻居状态是 Full ,对端是 Master 。
再看 RT1 的 OSPF 路由表:
命令 display ospf routing ,是查看 OSPF 路由表,并不是路由器的全局路由器。这些 OSPF 路由表能否加载到全局路由表,还要看路由表优先级等因素。这里发现 R2 的 Loopback0 接口路由,是一条主机路由,实际上,Loopback0 接口的掩码长度是 24 ,而不是 32 。这是因为 OSPF 把 Loopback 接口作为末梢网络,无论实际掩码是多少,Type-1 LSA 中,都以 255.255.255.255 进行通告。
查看 RT2 的 Type-1 LSA :
如果希望 RT2 的 Type-1 LSA 描述 Loopback 接口的实际掩码信息,可以把接口的网络类型改成 Broadcast 或 NBMA ,比如:
再看 RT2 的 Type-1 LSA :
RT2 以实际掩码信息通告 Loopback0 接口。现在看下 RT1 的路由表中 OSPF 路由:
RT1 把 172.16.255.0/24 网段加载到路由表。同时,RT2 也获得到达 172.16.1.0/24 和 172.16.2.0/24 的路由。这样 PC 就能访问网络中的各个网段。
Silent-Interface
上个实验的拓扑图中,RT1 的 GE0/0/0 和 GE0/0/1 接口连接终端网段,只有终端 PC ,没有 OSPF 路由器。然而,接口已经激活了 OSPF ,会周期性的发送 Hello 报文,但是 PC 无法识别、也不需要识别 Hello 报文。这时,可以把 RT1 的 GE0/0/0 和 GE0/0/1 配置成静默接口( Silent-Interface ),接口就会禁止收发 Hello 报文。
R1 的配置如下:
虽然两个接口指定为 Silent-Interface ,但是已经使用 network 命令激活 OSPF ,因此 RT2 还是能通过 OSPF 学习到这两个接口网段的路由。
OSPF 多区域实验
RT1 和 RT2 是两台汇聚交换机,各自下挂两个终端网段,同时上连核心交换机 RT3 。在三台路由器上部署 OSPF ,使用多区域 OSPF 的设计,实现全网各个网段的数据互通。
RT1 的配置如下:
RT2 的配置如下:
RT3 的配置如下:
查看 RT3 的 OSPF 邻居表:
RT3 和 RT1 、RT2 建立的 FULL 的邻接关系,我们再看看 RT3 的路由表:
Area0 的路由器 RT3 ,已经学到了 RT1 和 RT2 下连的终端网段路由。这些路由都是区域间路由,根据 RT1 和 RT2 在 Area0 泛洪的 Type-3 LSA 计算得出,而 RT3 要计算到达 Area1 和 Area2 的区域间路由,除了这些网段的 Type-3 LSA ,还需要指定 ABR 的位置。作为 ABR ,RT1 和 RT2 在泛洪 Type-1 LSA 时,会把 B 比特位设置为 1 。因此,通过 Area0 内泛洪的 Type-1 、Type-2 LSA ,RT3 能计算到达 ABR 的最佳路径。使用 display ospf abr-asbr 命令查看 ABR 和 ASBR 信息:
在 RT1 和 RT2 上查看路由表,看到两台路由器都学到了全网的路由,RT1 和 RT2 下挂的 PC 就可以到达全网各个网段。
结尾
没骗大家吧,配置 OSPF 就三、四条命令即可,查看 OSPF 各个信息,也就三、四条命令。内容越多的知识点,配置命令就越简单。千万不要望洋兴叹,止步于理论知识,肝到实验部分,就是收获成就感的时候。当然,三个实验还讲不完 OSPF 的特性,剩下的实验就留着下次爽吧。
|