VBRP技术.docx

上传人:b****0 文档编号:12852625 上传时间:2023-04-22 格式:DOCX 页数:11 大小:31.70KB
下载 相关 举报
VBRP技术.docx_第1页
第1页 / 共11页
VBRP技术.docx_第2页
第2页 / 共11页
VBRP技术.docx_第3页
第3页 / 共11页
VBRP技术.docx_第4页
第4页 / 共11页
VBRP技术.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

VBRP技术.docx

《VBRP技术.docx》由会员分享,可在线阅读,更多相关《VBRP技术.docx(11页珍藏版)》请在冰豆网上搜索。

VBRP技术.docx

VBRP技术

VBRP技术手册

 

目录

第1章简介1

第2章VBRP协议相关术语解析2

第3章VBRP协议介绍3

3.1VBRP在TCP/IP协议栈中基本层次结构4

3.2VBRP的报文结构4

3.3VBRP的工作流程概述5

3.4VBRP的功能特点7

第4章调试命令及调试信息8

第1章简介

本章主要讲述VBRP协议的原理及实现。

本章主要内容:

¾VBRP协议相关术语解析

¾VBRP协议介绍

¾调试命令及调试信息

第2章VBRP协议相关术语解析

VBRP――虚拟备份路由协议(VirtualBackupRouterProtocol)。

兼容Cisco的HSRP协议。

HSRP――热备份路由协议(HotStandbyRouterProtocol)。

ActiveRouter――活动路由器,当前负责转发报文的路由器。

StandbyRouter――备份路由器,主备份路由器。

StandbyGroup――加入VBRP的一组路由器,它们共同维护一个虚拟的路由器。

第3章VBRP协议介绍

VBRP协议提供一个网关备份的功能,这个功能可以使主机能够解决只能有一个默认网关的限制。

多数IP主机都使用唯一一个路由器作为它们的默认网关。

所有不准备到本地网络的流量将通过指定的路由器,如果那个路由器变得不可到达,这个缺点将妨碍连通性。

VBRP通过使多个路由器能够发出关于单个IP地址的请求来解决这个问题,而这一IP地址对于终端系统而言是完全透明的。

无论使用哪一个路由器来传送互联网络的流量,这个过程对于终端系统来说都是相同的,在网络主机上无须额外的配置。

如上图所示,每个都有独一无二IP地址的两个路由器存在同一个网络中。

正常情况下,用户将必须选择两个路由器之一为默认网关。

然而,当两个路由器上的VBRP起作用时,就产生了第三个虚拟路由器并且给它分配一个自己的IP地址,然后使用这个地址作为主机的默认网关。

在任何一个给定的时间里,一个VBRP路由器是活动的路由器,同时一个VBRP路由器是备份路由器。

活动的路由器对通过虚拟的IP地址的流量起作用。

如果活动的路由器变得不可用了,备份的路由器将接管操作,成为活动的路由器。

预定到虚拟IP地址的任何流量实际上是通过当前处于活动状态的路由器。

3.1VBRP在TCP/IP协议栈中基本层次结构

VBRP报文是一种UDP报文,源和目的端口都是1985。

3.2VBRP的报文结构

VBRP的报文结构如下。

Verion:

版本号。

等于0。

Opcode:

报文类型。

0-Hello,1-Coup,2-Resign。

Hello消息:

表示路由器正在运行,能够成为active或standby路由器。

Coup消息:

当一个路由器希望成为active路由器,发送此消息。

Resign消息:

当一个路由器不再希望成为active路由器,发送此消息。

State:

路由器当前的状态。

0x00-Initial,0x01-Learn,0x02-Listen,0x04-Speak,0x08-Standby,0x10-Active。

Hellotime:

表示Hello报文发出者的Hello间隔(秒)。

该字段在Hello报文中才有效。

发送Hello报文的路由器必须将自己使用的Hellotime填入报文。

Hellotime缺省是3秒。

Holdtime:

表示Hello报文的有效期(秒)。

在Hello报文中才有效。

Hello报文的接收者,将报文中的Holdtime确认为该Hello报文的有效期。

Holdtime应该至少是Hellotime的3倍。

Priority:

优先级字段。

选举active和standby使用。

数值大的优先。

priority相同的路由器,地址大的优先。

Group:

Standby组号。

有效值是0~255。

AuthenticationData:

认证密码。

如果没有配置认证密码,缺省值是0x63,0x69,0x73,0x63,0x6F,0x00,0x00。

VirtualIPAddress:

Standby组使用的虚拟IP地址。

3.3VBRP的工作流程概述

为了使VBRP工作,首先要创建一个虚拟IP地址,这样在这个网络上就加入了一个虚拟路由器。

而这个网络上的主机与虚拟路由器通信,无须了解这个网络上物理路由器的任何信息。

一个VBRP路由器被指定为活动路由器,同时另外一个物理路由器充当一个备份,以防活动路由器出故障。

活动路由器不仅响应他自己的IP地址,同时也响应虚拟IP地址。

当主机发送一个到本地网络之外的报文时,主机的配置会告诉报文下一跳是默认网关。

尽管已经配置了默认网关的IP地址,但为了真正地发送以太网帧给路由器,主机需要知道路由器的MAC地址。

主机发送一个地址解析协议(ARP)请求给网络,询问默认网关的MAC地址。

因为网络上真实主机都没有虚拟路由器的MAC地址,活动的路由器响应这个ARP请求。

活动的路由器也监听任何流向虚拟IP地址的流量,同时维护那些流量,就好像那些流量是寻址到活动路由器一样。

配置了VBRP的路由器利用组播用户数据报协议(UDP)呼叫报文来通告它们的存在。

使用这些通告来检测路由器的失效及协商参数,例如虚拟IP地址、认证密码等,这些通告还用于路由器的选择。

在任何时候,网络上只能有一个活动的和一个备份的路由器存在。

配置在同一备份组中的所有其他路由器将处于监听(Listen)状态,一直到下一次路由选择,下一次选择会发生在活动的或备份的路由器变得不可用的时候。

在VBRP中定义了三种类型的报文。

第一种报文是Hello报文,由活动路由器和备份路由器及处在竞选状态的路由器发送,向它们所在的那个组的成员通知它们的存在。

Hello报文也包含配置参数,如IP地址和定时器值等。

没有明确定义这些值的路由器可以通过Hello报文来获得参数值。

第二种报文是Resign报文,当活动路由器由于配置改变或关闭路由器等原因从VBRP组退出时,活动路由器将发送这个Resign报文。

第三种报文是Coup报文。

由于preempt配置命令导致一个路由器替换活动路由器时送出这个报文。

如果那个路由器是最高优先级备份路由器,它将成为活动路由器。

VBRP协议有六种状态:

初始化状态(INITIAL)、学习状态(LEARN)、倾听状态(LISTEN),竞

选状态(SPEAK)、备份状态(STANDBY)、活跃状态(ACTIVE)。

1.初始化状态

所有路由器都是从初始化状态开始。

这是一种起始状态,同时它表明VBRP还没有运行。

当一个接口的状态处于DOWN状态时,或者转换到DOWN状态时,它就进入该状态。

2.学习状态

在学习状态时,路由器等待来自于ACTIVE的hello报文,并打算从中学习它的虚拟IP地址。

当一台配置了某个虚拟路由器组的路由器没有配置VIP时,才会出现这种状态。

3.倾听状态

在倾听状态,路由器知道了自己的VIP,但既不是ACTIVE路由器,也不是STANDBY路由器,它只接受来自于ACTIVE路由器和STANDBY路由器的协议报文。

当在一定时间来没有收到某个路由器的协议报文,它将会改变自己的状态,参与ACTIVE路由器或者STANDBY路由器的竞选。

(稳定情况下,除ACTIVE和STANDBY路由器之外的其它路由器都保持在倾听状态)。

4.竞选状态

在竞选状态,路由器发送周期性的hello报文,并参与ACTIVE/STANDBY路由器的竞选。

路由器在没有获得VIP之前,不能进入竞选状态。

5.备份状态

在备份状态,路由器成为下一个ACTIVE路由器的候选设备,并且它也发送周期性的hello报文。

在一个虚拟路由器组中,只能有一台备份路由器。

6.活跃状态

在活跃状态,路由器负责转发被发送到该虚拟路由器组的虚拟MAC地址的数据包和响应目的IP为该VIP的ARP请求。

活跃路由器发送周期性的hello报文。

在一个虚拟路由器组中,只能有一台活跃路由器。

3.4VBRP的功能特点

¾网关备份;使多个路由器分享一个IP地址,防止多点接入的单点失效,使网络黑洞最小化。

这是VBRP的主要功能。

¾负载均衡;通过在同一宿主接口配置两个或者两个以上虚拟路由器组,当这些虚拟路由器组都处于正常运行状态时,它们可以均衡地转发该网段的数据包。

当某台路由器出现故障时,其它路由器就会接替出现故障路由器的工作;而当故障解除时,又可以均衡工作。

¾跟踪功能;通过对某些重要接口状态进行跟踪,当某个接口状态发生变化时,通过适当调整它们的优先级,当优先级达到一定的程度后(比如说处于Standby状态的路由器因为某个接口状态由DOWN转换到UP状态时,它的优先级可能会增加到超过Active状态的路由器的优先级),就会进行状态之间的转换。

从而保证当别的链路出现故障时也能够提供适当的备份功能。

¾远程登录;虚拟路由器的IP地址像一个接口IP地址一样,可以对处于ACTIVE状态的路由器进行远程登录。

¾安全认证;VBRP提供8字节的文本认证方式。

第4章调试命令及调试信息

1.报文调试

debugstandbypacketshello

该命令用来打印Hello报文的信息。

00:

28:

18:

VBRP:

fastethernet0Grp0Helloout128.255.17.54ActivePri100vIP2.2.2.2

表示从以太口f0发出了VBRPHello报文,VBRP的组号是0,以太口的主地址是128.255.17.54,当前的状态是Active,优先级是100,虚拟IP地址是2.2.2.2。

00:

38:

44:

VBRP:

fastethernet0Grp0Helloin128.255.16.3Standbypri100vIP2.2.2.2

表示从以太口f0收到了VBRPHello报文,VBRP的组号是0,发送端源地址是128.255.16.3,当前状态是Standby,优先级是100,虚拟IP地址是2.2.2.2。

只有Speak,Standby,Active状态的VBRP路由器才会发出Hello报文。

debugstandbypacketscoup

该命令用来打印Coup报文的信息。

00:

28:

18:

VBRP:

fastethernet0Grp0Coupout128.255.17.54ActivePri100vIP2.2.2.2

表示从以太口f0发出了VBRPCoup报文,VBRP的组号是0,以太口的主地址是128.255.17.54,当前的状态是Active,优先级是100,虚拟IP地址是2.2.2.2。

02:

43:

54:

VBRP:

fastethernet0Grp0Coupin128.255.16.3Activepri110vIP2.2.2.2

表示从以太口f0收到了VBRPCoup报文,VBRP的组号是0,发送端源地址是128.255.16.3,当前状态是Active,优先级是110,虚拟IP地址是2.2.2.2。

debugstandbypacketsresign

02:

46:

26:

VBRP:

fastethernet0Grp0Resignout128.255.17.54ActivePri100vIPunknown

02:

45:

37:

VBRP:

fastethernet0Grp0Resignin128.255.16.3Activepri110vIP0.0.0.0

以上两个信息分别表示了从f0口发送和收到了resign报文。

debugstandbypacketsdetail

该命令和以上的debug命令联合使用,可以打印指定类型报文的详细信息。

如下:

r2#debugstandbypacketsdetail

r2#debugstandbypacketshello

02:

50:

30:

VBRP:

fastethernet0Grp0Helloout128.255.17.54ActivePri100vIP5.5.5.5

02:

50:

30:

hel3hol10authcisco

信息详细显示了Hello报文的详细信息。

Hellotime是3秒,Holdtime是10秒,认证密码是cisco。

2.事件调试

debugstandbyevents

此命令是非常重要的一个调试命令,通过此命令可以详细观察出VBRP路由器的状态变化。

03:

01:

15:

%LINEPROTO-5-UPDOWN:

LineprotocolonInterfacefastethernet0,changedstatetoup

03:

01:

15:

VBRP:

fastethernet0APISoftwareinterfacegoingup

03:

01:

15:

VBRP:

fastethernet0Grp0Init:

a/VBRPenabled

03:

01:

15:

VBRP:

fastethernet0Grp0Init->Listen

配置了VBRP的接口UP,VBRP首先从Init状态转变为Listen状态。

03:

01:

25:

VBRP:

fastethernet0Grp0Listen:

d/Standbytimerexpired(unknown)

03:

01:

25:

VBRP:

fastethernet0Grp0Listen->Speak

由于没有收到其它路由器的Hello报文,VBRP从Listen转为Speak。

03:

01:

25:

VBRP:

fastethernet0Grp0Speak:

c/Activetimerexpired(unknown)

03:

01:

35:

VBRP:

fastethernet0Grp0Speak:

d/Standbytimerexpired(unknown)

03:

01:

35:

VBRP:

fastethernet0Grp0Standbyrouterislocal,wasunknown

03:

01:

35:

VBRP:

fastethernet0Grp0Speak->Standby

由于没有收到其它路由器的Hello报文,VBRP从Speak转为Standby。

03:

01:

35:

VBRP:

fastethernet0Grp0Standby:

c/Activetimerexpired(unknown)

03:

01:

35:

VBRP:

fastethernet0APIMACaddressupdate

03:

01:

35:

VBRP:

fastethernet0Grp0Activerouterislocal,wasunknown

03:

01:

35:

VBRP:

fastethernet0Grp0Standbyrouterisunknown,waslocal

03:

01:

35:

VBRP:

fastethernet0Grp0Standby->Active

由于没有收到其它路由器的Hello报文,VBRP从Stadnby转为Active。

r2(config-if-fastethernet0)#shutdown

03:

08:

32:

%LINEPROTO-5-UPDOWN:

LineprotocolonInterfacefastethernet0,changedstatetodown

03:

08:

32:

VBRP:

fastethernet0APISoftwareinterfacegoingdown

03:

08:

32:

VBRP:

fastethernet0Grp0Active:

b/VBRPdisabled

03:

08:

32:

VBRP:

fastethernet0APIMACaddressupdate

03:

08:

32:

VBRP:

fastethernet0Grp0Activerouterisunknown,waslocal

03:

08:

32:

VBRP:

fastethernet0Grp0Active->Init

由于f0口down掉,VBRP从Active重新转为Init。

以下调试信息显示了从Active到Standby的转变过程。

03:

11:

53:

VBRP:

fastethernet0Grp0Active:

g/HellorcvdfromhigherpriActiverouter(110/128.255.16.3)

03:

11:

53:

VBRP:

fastethernet0APIMACaddressupdate

03:

11:

53:

VBRP:

fastethernet0Grp0Activerouteris128.255.16.3,waslocal

03:

11:

53:

VBRP:

fastethernet0Grp0Active->Speak

已经是Active的路由器,从另一台路由器(128.255.16.3)上收到了一个高优先级Hello报文。

由于路由器配置为可抢占,这台路由器进入Speak状态。

03:

11:

56:

VBRP:

fastethernet0Grp0Speak:

g/HellorcvdfromhigherpriActiverouter(110/128.255.16.3)

03:

11:

59:

VBRP:

fastethernet0Grp0Speak:

g/HellorcvdfromhigherpriActiverouter(110/128.255.16.3)

03:

12:

02:

VBRP:

fastethernet0Grp0Speak:

g/HellorcvdfromhigherpriActiverouter(110/128.255.16.3)

03:

12:

03:

VBRP:

fastethernet0Grp0Speak:

d/Standbytimerexpired(unknown)

03:

12:

03:

VBRP:

fastethernet0Grp0Standbyrouterislocal,wasunknown

03:

12:

03:

VBRP:

fastethernet0Grp0Speak->Standby

由于没有收到其它Standby路由器的Hello报文,路由器从Speak进入Standby状态。

在将这台Standby路由器的优先级调整至200,它又将转变为Active。

r2(config-if-fastethernet0)#standbypriority200

03:

20:

29:

VBRP:

fastethernet0Grp0Standby:

h/HellorcvdfromlowerpriActiverouter(110/128.255.16.3)

03:

20:

29:

VBRP:

fastethernet0APIMACaddressupdate

03:

20:

29:

VBRP:

fastethernet0Grp0Activerouterislocal,was128.255.16.3

03:

20:

29:

VBRP:

fastethernet0Grp0Standbyrouterisunknown,waslocal

03:

20:

29:

VBRP:

fastethernet0Grp0Standby->Active

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1