单区域OSPF

命令:

R1(config)#router ospf 1        //启动OSPF进程

R1(config-router)#router-id 1.1.1.1        //配置路由器ID

R1(config-router)#network 172.16.1.0 0.0.0.255 area 0        //通告直连网络

R1(config-router)#network 172.16.1.0 255.255.255.0 area 0        //通告直连网络

说明:网络地址的后面即可以跟通配符掩码,在高版本IOS中也可以跟网络掩码,IOS会自动转换成通配符掩码。

R1(config)#router ospf 1

R1(config-router)#router-id 1.1.1.1

R1(config-router)#network 172.16.1.0 0.0.0.255 area 0

R1(config-router)#network 172.16.12.0 0.0.0.255 area 0

R2(config)#router ospf 1

R2(config-router)#router-id 2.2.2.2

R2(config-router)#network 172.16.2.0 0.0.0.255 area 0

R2(config-router)#network 172.16.12.0 0.0.0.255 area 0

R2(config-router)#network 172.16.23.0 0.0.0.255 area 0

R3(config)#router ospf 1

R3(config-router)#router-id 3.3.3.3

R3(config-router)#network 172.16.3.0 0.0.0.255 area 0

R3(config-router)#network 172.16.23.0 0.0.0.255 area 0

R3(config-router)#network 172.16.34.0 0.0.0.255 area 0

R4(config)#router ospf 1

R4(config-router)#router-id 4.4.4.4

R4(config-router)#network 172.16.4.0 0.0.0.255 area 0

R4(config-router)#network 172.16.34.0 0.0.0.255 area 0

 

说明:

1.OSPF路由进程ID的范围在1-65535之间,而且只有本地含义,不同路由器的路由进程ID可以不同。如果要想启

动OSPF路由进程,至少确保有一个接口是up的。同一台路由器上可以启动多个OSPF进程,但会消耗更多的CPU

和内存等资源。

2.区域ID是0-4294967295的数,也可以是IP地址的格式A.B.C.D。当网络区域为0或0.0.0.0时称为主干区域。

3.Router ID选择遵循如下顺序:

1>最优先的是在OSPF进程中使用“router-id”指定了RID;

2>如果没有在OSPF进程中指定RID,则选择IP地址最大的环回接口的IP地址为RID;

3>如果没有环回接口,则选择活动的IP地址最大的物理接口的IP地址为RID。

①如果使用“secondary”配置IP地址时,该地址不起作用,即不参与RID竞选;

②使用“router-id”后,应使用命令“clear ip ospf process”重置ospf进程,新配置的RID才能生效;

③2、3步只有在下次重启路由器时才会生效,即后来加入大的IP地址也不能选举为RID直到路由器重启。

4.Router ID重新选举规则:

1>使用“router-id”和“clear ip ospf process”命令;

2>重启路由器(不一定)。

实验调试

R1#show ip route ospf 1        //查看OSPF路由表

以上输出结果表明在同一个区域内,通过OSPF路由协议学习到的路由条目用代码“O”表示。

OSPF度量值cost计算公式 = 所有链路入接口的cost之和;

接口cost计算公式 = 108/带宽(bps)取整;环回接口的cost值为1。

说明:

1.环回接口所在网络的OSPF路由条目的掩码长度都是32位,这是环回接口的特性,尽管通告了24位,解决的办法

是在环回接口下修改网络类型为“Point-to-Point”这样收到的路由条目的掩码长度和通告的就能一致:

R1(config-if)#ip ospf network point-to-point        //设置网络类型为点到点网络

 OSPF定义了6种网络类型,分别为:点对点、广播多路访问(BMA)、非广播多路访问(NBMA)、点对多点、环回接

  口、虚拟链路(Virtual Links)。
2.路由条目“172.16.4.4/32”的度量值为“193”,到路由器R1经过的入接口包括:R4的loopback0、R3的

S0/0、R2的S0/1及R1的S0/0,所以计算如下:1+108/1544000+108/1544000+108/1544000=193。也可以直接通过

命令“ip ospf cost”配置接口的cost值,并且它是优先计算的cost值的,命令如下:
  R1(config-if)#ip ospf cost 64        //设置接口cost为64


R1#show ip protocols        //查看启用的路由协议


R1#show ip ospf 1        //可查看OSPF进程ID、RID、OSPF区域信息以及上次计算SPF算法的时间

R1#show ip ospf interface        //查看运行OSPF接口的信息


R1#show ip ospf neighbor        //查看OSPF邻居表的基本信息

OSPF邻居关系不能建立的常见原因:

1.Hello间隔和Dead间隔不同;

1>同一链路上的Hello间隔和Dead间隔必须相同才能建立邻居关系;

2>默认时,Dead间隔是Hello间隔的4倍。可以在接口下通过如下命令调整:

R1(config-if)#ip ospf hello-intrval 10        //设置Hello包发送间隔为10s

R1(config-if)#ip ospf dead-interval 40        //设置Dead时间为40s

2.区域ID不一样;

3.特殊区域(如stub、nssa等)区域类型不匹配;

4.认证类型或密码不一致;

5.路由器ID相同;

6.Hello包被ACL拒绝;

7.链路上的MTU不匹配;

8.接口下OSPF网络类型不匹配。
R1#show ip ospf database        //查看OSPF链路状态数据库的信息

广播多路访问链路上的OSPF

命令:

R1(config-router)#auto-cost reference-bandwidth 1000 //修改OSPF计算度量值的参考带宽,单位MB/s


R1(config)#router ospf 1

R1(config-router)#auto-cost reference-bandwidth 1000

R2(config)#router ospf 1

R2(config-router)#auto-cost reference-bandwidth 1000
R3(config)#router ospf 1

R3(config-router)#auto-cost reference-bandwidth 1000
R4(config)#router ospf 1

R4(config-router)#auto-cost reference-bandwidth 1000
说明:“auto-cost reference-bandwidth”命令是修改计算OSPF度量值参考带宽的。如果以太口带宽为千兆,而采用默认的百兆参考带宽,计算出来的cost是0.1,这显然是不太合理的。修改参考带宽要在路由器内所有的OSPF路由器上配置,目的是确保参考标准是相同的。

另外,当执行命令“auto-cost reference-bandwidth”时,系统也会提示如下信息:


实验调试
R4#show ip ospf neighbor        //分别在路由器R4和R1上执行该命令


以上输出表明在该广播多路访问网络中,路由器R4是DR,路由器R3是BDR,路由器R1和路由器R2是DROTHER。

说明:

1.DR和BDR有自己的组播地址224.0.0.6;

2.DR和BDR的选举是以各网络为基础的,也就是说DR和BDR选举是路由器的接口特性,而不是整个路由器的特性;

3.DR选举是非抢占的,除非人为地重新选举。

4.DR选举的原则:

①首要因素是时间,最先启动的路由器会启动一个Waite Timer计时器(Cisco规定是40s),在计时器超时前如

果没有新的OSPF路由器启动,它就被选举为DR,如果有新的路由器启动那么它们将按照②、③进行选举;
  ②如果同时启动,或者重新选举,则看接口优先级(范围为0-255),优先级最高的被选举成DR,默认情况下,

多路访问网络的接口优先级为1,点到点网络接口优先级为0,如果接口优先级被设置为0,那么该接口将不

参与DR选举,修改接口优先级命令是“ip ospf priority”:

R1(config-if)#ip ospf priority 150        //修改端口优先级为150

③如果同时启动,而优先级相同,则最后看RID,RID最高的被选举成DR。

5.重新选举DR/BDR的方法:

①重启路由器(不一定);

②“clear ip ospf process”(不一定)。

R4#show ip ospf int f0/0        //分别在路由器R4和R1上执行该命令


从上面的路由器R1和路由器R4的输出得知,邻居关系和邻接关系是不能混为一谈的,邻居关系是指达到2-Way状态的两台路由器,而邻接关系是指达到FULL状态的两台路由器。

OSPF区域认证

命令

区域简单口令认证:

R1(config-router)#area 0 authentication        //区域0启用简单口令认证

R1(config-if)#ip ospf authentication-key cisco        //配置认证密码

区域MD5认证:

R1(config-router)#area 0 authentication message-digest        //区域0启用MD5认证

R1(config-if)#ip ospf message-digest-key 1 md5 cisco        //配置认证Key ID及密匙

区域简单口令认证

R1(config)#router ospf 1

R1(config-router)#area 0 authentication

R1(config)#int s0/0

R1(config-if)#ip ospf authentication-key cisco

R2(config)#router ospf 1

R2(config-router)#area 0 authentication

R2(config)#int s0/0

R2(config-if)#ip ospf authentication-key cisco

实验调试

R1#show ip ospf

以上输出表明区域0采用了简单口令认证。

R1#show ip ospf int s0/0

以上输出最后一行信息表明该接口启用了简单口令认证。

R1#debug ip ospf packet

以上输出表明接收到认证类型为1的Hello数据包。

认证:

1.如果R1区域0没有启用认证,而R2区域0启用简单口令认证,则R2会出现下面的信息:

R2#debug ip ospf events

2.如果R1和R2的区域0都启用简单口令认证,但R2接口下没有配置密码或密码错误,则R2会出现下面的信息:

R2#debug ip ospf events

区域MD5认证

R1(config)#router ospf 1

R1(config-router)#area 0 authentication message-digest

R1(config)#int s0/0

R1(config-if)#ip ospf message-digest-key cisco

R2(config)#router ospf 1

R2(config-router)#area 0 authentication message-digest

R2(config)#int s0/0

R2(config-if)#ip ospf message-digest-key cisco
实验调试
R1#show ip ospf


以上输出表明区域0采用了MD5认证。

R1#show ip ospf int s0/0

以上输出最后两行信息表明该接口启用了MD5认证,而且使用密钥ID为1进行认证。

R1#debug ip ospf packet

以上输出表明接收到认证类型为2,Key ID为1,序列号为0x3C7ECCC1的Hello数据包。

认证

1.如果R1的区域0启用MD5认证,而R2的区域0启用简单口令认证,则R2会出现下面的信息:

R2#debug ip ospf events

2.如果R1和R2的区域0都启用MD5认证,但R2的接口下没配置Key ID和密码或错误密码,则R2会出现下面的信息:
R2#debug ip ospf events

OSPF接口认证

命令

接口简单口令认证:

R1(config-if)#ip ospf authentication        //接口启用简单口令认证

R1(config-if)#ip ospf authentication-key cisco        //配置认证密码

接口MD5认证:

R1(config-if)#ip ospf authentication message-digest        //接口启用MD5认证

R1(config-if)#ip ospf message-digest-key 1 md5 cisco        //配置认证Key ID及密匙

接口简单口令认证

R1(config)#int s0/0

R1(config-if)#ip ospf authentication

R1(config-if)#ip ospf authentication-key cisco

R2(config)#int s0/0

R2(config-if)#ip ospf authentication

R2(config-if)#ip ospf authentication-key cisco

实验调试

R1#show ip ospf int s0/0

以上输出最后一行信息表明该接口启用了简单口令认证。

R1#debug ip ospf packet


以上输出表明接收到认证类型为1的Hello数据包。

认证:

1.如果R1的s0/0没有启用认证,而R2的s0/0启用简单口令认证,则R2会出现下面的信息:

R2#debug ip ospf events

2.如果R1和R2的s0/0都启用简单口令认证,但R2的s0/0没有配置密码或密码错误,则R2会出现下面的信息:

R2#debug ip ospf events


接口MD5认证

R1(config)#int s0/0

R1(config-if)#ip ospf authentication message-digest

R1(config-if)#ip ospf message-digest-key cisco

R2(config)#int s0/0

R2(config-if)#ip ospf authentication message-digest

R2(config-if)#ip ospf message-digest-key cisco
实验调试
R1#show ip ospf int s0/0

以上输出最后两行信息表明该接口启用了MD5认证,而且使用密钥ID为1进行认证。

R1#debug ip ospf packet

以上输出表明接收到认证类型为2,Key ID为1,序列号为0x3C7EC76D的Hello数据包。

认证

1.如果R1的s0/0启用MD5认证,而R2的s0/0启用简单口令认证,则R2会出现下面的信息:

R2#debug ip ospf events


2.如果R1和R2的s0/0都启用MD5认证,但R2的s0/0没配置Key ID和密码或错误密码,则R2会出现下面的信息:
R2#debug ip ospf events

默认路由再发布(本地:静态默认路由 S*;其它:通告缺省默认外部路由 O*E2)

命令:

R1(config)#ip route 0.0.0.0 0.0.0.0 loopback 1        //添加静态默认路由

R1(config)#router ospf 1

R1(config-router)#default-information originate        //再发布默认路由

说明:“default-information originate”命令后面可以加可选的“always”参数,如果不使用该参数,路由器上必须存在一条默认路由,否则该命令不产生任何效果。如果使用该参数,无论路由器上是否存在默认路由,路由器都会向OSPF区域内注入一条默认路由。

实验调试

R4#show ip route


以上R4路由表的输出表明,通过命令“default-information originate”确实可以向OSPF区域注入“O*E2”的默认路由。同样,R2、R3的路由表中也包含一条“O*E2”的默认路由。

R4#show ip ospf database


通过查看R4的拓扑结构数据库可以看到,确实从外面注入了一条类型5的LSA。

OSPF配置实验(一)的更多相关文章

  1. 自制OSPF配置实验大全

    OSPF综合实验(gns模拟器)   注意点: Ospf实验推荐用gns制作 //图中的交换机可以视觉忽略或缩小成一个点.(^ v^) Ospf 实验拓扑图 ​ 目录 OSPF综合实验... 1 Os ...

  2. CCNP第四天 OSPF综合实验(1)

    ospf综合实验(1) 本实验主要考察ospf中的接口上的多种工作方式 实验如图所示: 所用拓扑为CCNP标准版,如图: --------------------------------------- ...

  3. OSPF 基础实验

    一.环境准备 1. 软件:GNS3 2. 路由:c7200 二.实验操作 实验要求: 1.掌握多区域的 OSPF 配置方法. 2.区别不同区域的路由. 3.掌握 OSPF 的路由汇总配置. 4.掌握  ...

  4. 神州数码多区域OSPF配置

    实验要求:掌握多区域OSPF配置 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip address ...

  5. Cisco N3K VPC+HSRP+ospf 配置

    VPC概念 VPC:vpc是指vpc对等体设备和下游设备之间的组合PortChannel. vpc对等交换:就是组成vpc功能的两个nexus系列交换机,一个设备为主,一个为备. vpc对等连接:用于 ...

  6. 动态OSPF配置路由表

    动态ospf设置路由表 以Rourer1为例子 (1)首先设置路由器端口ip Router(config)#inter f0/0 Router(config-if)#ip add 192.168.1. ...

  7. OSPF及实验

    OSPF:Open Shortest Path First,最短路径优先1)基本概念:标准的LS型协议--共享拓扑组播更新:224.0.0.5/6触发更新,存在周期更新  30minOSPF是跨层封装 ...

  8. HCIA-datacom 4.3 实验三:网络地址转换配置实验

    实验介绍: 网络地址转换NAT(Network Address Translation)是将IP数据报文头中的IP地址转换为另一个IP地址的过程.作为减缓IP地址枯竭的一种过渡方案,NAT通过地址重用 ...

  9. 自制EIGRP配置实验大全

    EIGRP综合实验 本实验可能会有一两个出错的地方,希望大家进行实验测试后,可以指正!当然绝大部分都是正确滴! 实验A:基本配置 A.0)实验目的: 熟悉eigrp的基本配置 A.1)实验拓扑: A. ...

随机推荐

  1. python 枚举类型

    在python中枚举是一种类(Enum,IntEnum),存放在enum模块中.枚举类型可以给一组标签赋予一组特定的值. 枚举的特点: 枚举类中不能存在相同的标签名 枚举是可迭代的 不同的枚举标签可以 ...

  2. MST + 树形 dp

    Genghis Khan(成吉思汗)(1162-1227), also known by his birth name Temujin(铁木真) and temple name Taizu(元太祖), ...

  3. 逆元(inv)

    推荐博客 : http://blog.csdn.net/baidu_35643793/article/details/75268911 通常我们在计算除法取模时,并不能直接的取模后再去相除,答案会有问 ...

  4. Unable to open debugger port (127.0.0.1:57046): java.net.SocketException "so

    原因分析: 出现这个报错的原因是因为端口被占用导致的. 解决方法: 解决方法主要两种:修改端口配置(推荐).关闭占用端口的进程(不推荐). 方式一:修改端口配置(推荐) 被占用的端口可能是本地端口,也 ...

  5. Java动态编译技术原理

    这里介绍Java动态编译技术原理! 编译,一般来说就是将源代码转换成机器码的过程,比如在C语言中中,将C语言源代码编译成a.out,,但是在Java中的理解可能有点不同,编译指的是将java 源代码转 ...

  6. 19秦皇岛现场赛F题 dfs

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6736 如果环的边长为k,那么环的删边方案数是2k-1.如果链的边长为k,那么链的删边方案数是2k.环的 ...

  7. Java入门 - 高级教程 - 08.Applet

    原文地址:http://www.work100.net/training/java-applet.html 更多教程:光束云 - 免费课程 Applet 序号 文内章节 视频 1 概述 2 Apple ...

  8. Redis 使用总结

    1. 避免大key 危害: 数据热点问题,集群模式在slot分片均匀情况下,会出现数据和查询倾斜情况,部分有大key的Redis节点占用内存多,QPS高 慢查询问题,服务超时 网卡带宽压力,极端情况下 ...

  9. Qt Installer Framework翻译(7-3)

    控制脚本 对于每个安装程序,您可以指定一个控制脚本,用来与安装程序的部分UI或功能进行交互.控制脚本可以在向导中添加和删除页面,更改现有页面,进行附加检查以及通过模拟用户单击来与UI交互.例如,这允许 ...

  10. Python学习,第一课 - 基础学习

    前言. 本内容全部以python3所讲 一.Python安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pyth ...