楼主: keaide

OSPF路由协议综述及其配置

[复制链接]
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
21#
 楼主| 发表于 2006-7-28 13:14 | 只看该作者
1.刚开始A还没和别的路由器交换信息,还处于down的状态,接下来通过使用多播地址224.0.0.5开始发送hello包
2.B接收到hello包,把A加进自己的neighbor table中,并进入init状态,然后以单播的形式发送hello包对A做出应答
3.A收到以后把所有从hello包里找到的RID加进自己的neighbor table中,进入two-way状态
4.如果链路是广播型网络比如以太网,接下来选举DR和BDR,这一过程发生在交换信息之前
5.周期发送hello包保证信息交换


Discovering the Network Routes & Adding the Link-State Entries

当选举了DR和BDR,进入exstart状态,接下来就可以对链路状态信息进行发现并创建自己的LSDB,如下图:

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
22#
 楼主| 发表于 2006-7-28 13:14 | 只看该作者
1.在exstart状态里,邻接关系形成,路由器和DR/BDR形成主仆关系(RID等级最高的为主,其他的为辅)
2.主仆交换DBD包(DDP),路由器进入exchange状态
DBD包含了出现在LSDB中的LSA条目头部信息,条目信息可以为一条链路(link)或者一个网络.每个LSA条目头部信息包括链路状态类型,宣告路由器的地址,链路耗费和序列号(版本号)
3.路由器收到DBD以后,将使用LSAck做出确认;还将和自己本身就有的DBD进行比较,过程如下图:

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
23#
 楼主| 发表于 2006-7-28 13:15 | 只看该作者
如果DBD信息中有更新更全的链路状态条目,路由器就发送LSR给其他路由器,该状态为loading状态;收到LSR以后,路由器做出响应,以LSU作为应答,其中包含了LSR所需要的完整信息;收到LSU以后,再次做出确认,发送LSAck
4.路由器添加新的条目到LSDB中,进入full状态,接下来就可以对数据进行路由了

Maintaining Routing Information

当链路状态发生变化以后,路由器将洪泛LSA来对其他路由器做出通知,如下图:

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
24#
 楼主| 发表于 2006-7-28 13:15 | 只看该作者
1.路由器意识到链路产生变化以后,对多播地址224.0.0.6和所有的DR/BDR发送LSU,其中LSU包含了更新了的LSA条目
2.DR对LSU做出确认,接着对多播地址224.0.0.5继续洪泛,每个收到LSU的路由器对DR做出确认(反馈LSAck),
3.如果路由器连接了其他网络,将通过转发LSU给DR(在点到点网络是转发给邻居路由器)来对其他网络进行洪泛
4.其他路由器通过LSU来更新自己的LSDB,然后使用SPF算法重新计算最佳路径
链路状态条目的最大生存周期是60分钟,60分钟只有,它将从LSDB中被移除

OSPF Link-State Sequence Numbers

LSDB中的每个LSA记录都有个序列号,序列号是32位长,以0x80000001开头,0x7FFFFFFF结尾.OSPF路由器默认每30分钟洪泛一次LSA来保证LSDB的同步,每洪泛1次,序列号就加1.如果序列号达到最大并回到初始值的时候,已经存在的LSA的生存周期将设置为最大(1小时)并刷新LSDB(造成网络波动)
如果收到2条LSA,将比较序列号,序列号越高表示LSA版本越新

可以使用show ip ospf database命令查看生存周期和序列号,如下:
RTC# show ip ospf database
OSPF Router with ID (203.250.15.67) (Process ID 10)
Router Link States (Area 1)
Link ID ADV Router Age Seq# Checksum Link count
203.250.15.67 203.250.15.67 48 0x80000008 0xB112 2
203.250.16.130 203.250.16.130 212 0x80000006 0x3F44 2
(略)

Debug IP OSPF Packet

使用debug ip ospf packet命令对OSPF包进行排错和验证,如下:
Router# debug ip ospf packet
OSPF: rcv. v:2 t:1 l:48 rid:200.0.0.117 aid:0.0.0.0 chk:6AB2 aut:0 auk:
(略)
一些输出的含义如下:
v:OSPF版本
t:OSPF包类型,如上是1,几种数字所代表的意义是:1为hello,2为DBD,3为LSR,4为LSU,5为LSAck
l:定义包长度,单位字节
rid/aid:RID/area ID
chk:校验和
aut:验证类型,0代表不进行验证,1代表明文密码,2代表MD5加密
auk:OSPF验证key
keyed:MD5 key ID
seq:序列号

Configuring Basic Single-Area OSPF

OSPF的单域的配置命令:在全局配置模式下输入router ospf [process-id]启动OSPF进程,接下来在路由配置模

式下输入network [address] [inverse-mask] area [area-id]
process-id只是在本路由器有效,所以可以设置成和其他路由器的process-id一样的号码
address和inverse-mask为网络(或接口)地址和wildcard mask

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
25#
 楼主| 发表于 2006-7-28 13:16 | 只看该作者
来看一个配置实例,如下图:

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
26#
 楼主| 发表于 2006-7-28 13:16 | 只看该作者
如图A是采用的网络地址,而B是采用的接口地址

Verifying OSPF Operation

一些验证性的命令如下:
1.show ip protocols:显示基于IP的路由协议信息
2.show ip route ospf:显示OSPF已知路由条目信息
3.show ip interface:显示RID,area ID和邻居信息
4.show ip ospf:显示RID,计时器和LSA等信息
5.show ip ospf neighbor (detail):显示邻居信息包括RID,优先级,邻接状态(比如exstart,full等)和dead timer.detail为详细参数.如下
RouterB#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.64.1.1 1 FULL/BDR 00:00:31 10.64.1.1 Ethernet0
10.2.1.1 1 FULL/- 00:00:38 10.2.1.1 Serial0
(略)
6.show ip ospf neighbor [type number] [neighbor-id] (detail):显示接口的邻居信息的命令.type为接口类型,number为接口号,neighbor-id为邻居ID

Manipulating OSPF Router ID

关于RID的分配,如下:
1.可以选择物理接口地址等级最高的做为RID(假如没有设置回环接口的话),接口不是必须参与OSPF进程,但是它的状态必须是up.否则将接收到如下错误提示:
Router(config)#router ospf 1
2wid: %OSPF-4-NORTRID: OSPF process 1 cannot start.
2.假如回环接口存在的话,可以选举等级最高的设置为RID(因为回环接口永远不会down掉)
3.可以使用router-id命令进行设置
一旦RID设置了,将不会改变,即使设置为RID的接口down掉了,RID也不会改变,除非路由器重新启动,或者OSPF进程重启

如果你想设置回环接口为RID,如下:
1.Router(config)#interface loopback [number]
创建回环接口
2.Router(config-if)#ip address [address] [mask]
分配IP地址(分配的地址等级高于物理接口的IP地址).mask参数一般为255.255.255.255

设置下次OSPF启动以后所采用的RID,如下:
1.Router(config)#router ospf [process-id]
2.Router(config-router)#router-id [ip-address]
创建新的RID.注意如果本次设置的新RID只会在下次OSPF进程中启用.可以重启路由器或者使用clear ip ospf process命令重启OSPF进程(这将暂时性的造成网络不稳定)

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
27#
 楼主| 发表于 2006-7-28 13:17 | 只看该作者
要查看RID的信息可以使用show ip ospf命令

Adjacency Behavior for a Point-to-Point Link & Broadcast Network

在点到点链路中一般采用PPP或者HDLC的封装格式,OSPF自动检测接口类型,并且不需要进行DR/BDR的选举.邻居通过对多播地址224.0.0.5进行多播hello包来动态发现邻居.默认hello包的发送间隔是10秒,dead间隔是40秒在多路访问(multiaccess)广播型网络中(比如以太网和Token Ring),需要进行DR/BDR的选举,所有的非DR/BDR(即DROTHER)路由器和DR/BDR形成完全邻接关系,即DROTHER通过DR/BDR交换信息,如下图:

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
28#
 楼主| 发表于 2006-7-28 13:18 | 只看该作者
到达DR的包使用多播地址224.0.0.6;经DR转发给DROTHRT的包使用多播地址224.0.0.5

Electing the DR/BDR

当选举DR/BDR的时候要比较hello包中的优先级(priority),优先级最高的为DR,次高的为BDR.默认优先级都为1.在优先级相同的情况下就比较RID,RID等级最高的为DR,次高的为BDR.当你把优先级设置为0以后,OSPF路由器就不能成为DR/BDR,只能成为DROTHER

当网络中新加入一个优先级更高的的路由器,不会影响现有的 DR/BDR,除非DR出故障,BDR随即升级为DR,并重新选举BDR;如果是BDR出故障了就重新选举BDR

BDR对DR是否出故障的判定是根据使用wait timer,如果BDR在wait timer超时前确认DR仍然在转发LSA的话,它就认为DR出故障

设置优先级的命令如下:
Router(config-if)#ip ospf priority [number]
number的范围是0到255.注意仅当现有DR状态down掉以后,新设置的接口优先级才会生效

Adjacency Behavior for an NBMA Network

NBMA网络比如帧中继,ATM和X.25,没有广播的能力.但是经验通过在每条PVC上复制hell包为广播和多播来实现广播和多播的能力(将占用额外的带宽)

默认在NBMA网络中,hello包的发送时间间隔和dead时间间隔分别是30秒和120秒

OSPF认为NBMA网络的运做类似其他的BMA比如以太网

NBMA网络中邻居不是自动发现,DR/BDR需要一张邻居列表

OSPF Commands for NBMA Frame Relay

帧中继网络的几种拓扑结构如下:

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
29#
 楼主| 发表于 2006-7-28 13:18 | 只看该作者
1.星型(star/hub-and-spoke):最常见的帧中继网络拓扑,代价最小
2.全互连(full-mesh):冗余,但是代价大,在这样的环境中计算VC的数量,使用n(n-1)/2的公式,n为网络中的节点数
3.部分互连(partial-mesh):前两种的折中方案

OSPF运行的两种RFC中定义的模式如下:
1.NBMA:一般和部分互连的网络结合使用,需要选举DR/BDR和人工指定邻居.优点是相对point-to-multipoint模式它的负载较低
2.point-to-multipoint:把非广播的网络当作点到点连接的集合,自动发现邻居,不指定DR/BDR,一般和部分互连的网络结合使用.优点是配置较为简便
一些其他的可运行模式如下:
1.point-to-multipoint nonbroadcast
2.broadcast
3.point-to-point

定义OSPF网络类型的命令如下:
Router(config-if)#ip ospf network [{broadcast | nonbroadcast | point-to-multipoint | point-to-multipoint nonbroadcast}]
几种选项的含义如下:
1.broadcast:使得WAN接口看上去像LAN接口;一个IP子网;多播hello包自动发现邻居;选举DR/BDR;要求网络全互连
2.nonbroadcast(NBMA):一个IP子网;邻居手工指定;选举DR/BDR;DR/BDR要求和DROTHER完全互连;一般用在部分互连的网络中
3.point-to-multipoint:一个IP子网;多播hello包自动发现邻居;不要求DR/BDR的选举;一般用在部分互连的网络中
4.point-to-multipoint nonbroadcast:如果VC中多播和广播能力没有启用的话就不能使用point-to-multipoint模式,也路由器没办法多播hello包;邻居必须人工指定;不需选举DR/BDR
5.point-to-point:一个子网;不选举DR/BDR;当只有2个路由器的接口要形成邻接关系的时候才使用;接口可以为LAN或WAN接口

使用道具 举报

回复
论坛徽章:
456
ITPUB年度最佳版主
日期:2011-12-28 15:24:18马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14ITPUB年度最佳版主
日期:2014-02-19 10:05:27优秀写手
日期:2013-12-18 09:29:09ITPUB社区千里马徽章
日期:2013-06-09 10:15:34ITPUB年度最佳版主
日期:2013-01-30 17:30:25版主9段
日期:2012-07-03 02:21:03
30#
 楼主| 发表于 2006-7-28 13:21 | 只看该作者
OSPF路由协议综述及其配置(3)

Common OSPF Configuration for Frame Relay





先看看NBMA模式,如下图:

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表