虚拟路由器即Virtual Router,是指在软、硬件层实现物理路由器的功能仿真,属于一种逻辑设备。每个VR应该具有逻辑独立的路由表和转发表,这样就使不同VPN间的地址空间可以重用,并保证了VPN内部路由和转发的隔离性。用以建设骨干IP网络的设备中出现的新进展,尤其是虚拟骨干路由技术的出现,为Internet服务分配中的全面变化创造了条件。 虚拟路由器将使与其他网络用户相隔离并提供对网络性能、Internet地址与路由管理以及管理和安全性的新型Internet服务成为可能。虚拟骨干网路由器在逻辑上将一台物理路由器分为多台虚拟路由器。每台虚拟路由器运行路由协议不同的实例并具有专用 的I/O端口、缓冲区内存、地址空间、 路由表以及网络管理软件。 基于虚拟骨干路由器的服务无需增加投资,就可使客户机具有运行专用骨干网的控制权和安全性。控制和管理虚拟路由功能的软件是模块化的软件。软件的多个实例(对应于多个虚拟路由器)在真正的多处理器操作系统(如Unix)上执行。 每个虚拟路由器进程利用操作系统中固有的进程与内存保护功能与其他进程相隔离,这就保证了高水平的数据安全性,消除了出故障的软件模块损坏其他虚拟路由器上的数据的可能性。 当连接到高速SONET/SDH接口时,为获得线速性能,许多运营商级路由器具有的包转发功能是通过硬件实现的。在具有虚拟路由功能的系统中,这类硬件功能可以在逻辑上被划分并被灵活地分配给一个特定的虚拟路由器。 接收和发送数据包的物理I/O 端口或标记交换路径被置于组成一台虚拟交换机的软件模块的控制之下。包缓冲内存和转发表受每台虚拟路由器资源的限制,以保证一台虚拟路由器不会影响到另一台虚拟路由器的运行。 虚拟路由技术使每台虚拟路由器执行不同的路由协议软件(例如,最短路径优先、边界网关协议、中间系统到中间系统)和网络管理软件(例如,SNMP或命令行界面)的实例。因此,用户可以独立地监视和管理每台虚拟路由器。 不同的协议实例赋予每台虚拟路由器完全独立的IP地址域,这些地址域可以独立地进行配置,不会出现造成冲突的危险。管理功能使每台虚拟路由器可以作为一个独立的实体进行配置和管理。基于用户的安全模块还保证所有的网络管理功能和属于某一虚拟路由器的信息只 能供一定的访问特权访问。 每台虚拟路由器的包转发路径与其他虚拟路由器的包转发路径相隔离,从而使管理人员可以单独和独立地管理每台虚拟路由器的性能。系统中一台虚拟路由器上出现的传输流激增不会影响其他的虚拟路由器。这就保证了这种服务的最终用户得到持续的网络性能。 虚拟路由器还提供独立的策略和Internet工程任务组差别服务(Diff-Serv)功能,使虚拟路由器可以向最终用户提交完全的定制服务。分配给每台虚拟路由器的I/O端口可以进行编程以对输入包进行计数并保证输入包不超过预先规定的合同。然后包根据自己的服务类型分类进入多条队列。 随着虚拟路由功能在骨干网中变得更加普及,在动态精确地满足最终用户的带宽需要的同时,它所具有的提供最终用户对带宽的最大限度的控制和管理的功能将带来许多在价格上具有竞争力、高度定制的IP服务。这些服务将大大改变提供商和客户看待购买带宽世界的方式 。虚拟路由器冗余协议(VRRP:Virtual Router Redundancy Protocol) 虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。使用 VRRP 的好处是有更高的默认路径的可用性而无需在每个终端主机上配置动态路由或路由发现协议。 VRRP 包封装在 IP 包中发送。 使用 VRRP ,可以通过手动或 DHCP 设定一个虚拟 IP 地址作为默认路由器。虚拟 IP 地址在路由器间共享,其中一个指定为主路由器而其它的则为备份路由器。如果主路由器不可用,这个虚拟 IP 地址就会映射到一个备份路由器的 IP 地址(这个备份路由器就成为了主路由器)。 VRRP 也可用于负载均衡。 VRRP 是 IPv4 和 IPv6 的一部分。 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种容错协议。通常,一个网络内的所有主机都设置一条缺省路由(如图3-1所示,10.100.10.1),这样,主机发出的目的地址不在本网段的报文将被通过缺省路由发往路由器RouterA,从而实现了主机与外部网络的通信。当路由器RouterA 坏掉时,本网段内所有以RouterA 为缺省路由下一跳的主机将断掉与外部的通信。VRRP 就是为解决上述问题而提出的,它为具有多播或广播能力的局域网(如:以太网)设计。我们结合下图来看一下VRRP 的实现原理。VRRP 将局域网的一组路由器(包括一个Master 即活动路由器和若干个Backup 即备份路由器)组织成一个虚拟路由器,称之为一个备份组。这个虚拟的路由器拥有自己的IP 地址10.100.10.1(这个IP 地址可以和备份组内的某个路由器的接口地址相同),备份组内的路由器也有自己的IP 地址(如Master的IP 地址为10.100.10.2,Backup 的IP 地址为10.100.10.3)。局域网内的主机仅仅知道这个虚拟路由器的IP 地址10.100.10.1,而并不知道具体的Master 路由器的IP 地址10.100.10.2 以及Backup 路由器的IP 地址10.100.10.3,它们将自己的缺省路由下一跳地址设置为该虚拟路由器的IP 地址10.100.10.1。于是,网络内的主机就通过这个虚拟的路由器来与其它网络进行通信。如果备份组内的Master 路由器坏掉,Backup 路由器将会通过选举策略选出一个新的Master 路由器,继续向网络内的主机提供路由服务。从而实现网络内的主机不间断地与外部网络进行通信。关于VRRP 协议的详细信息,可以参考RFC 2338。 一、 应用实例 最典型的VRRP应用:RTA、RTB组成一个VRRP路由器组,假设RTB的处理能力高于 RTA,则将RTB配置成IP地址所有者,H1、H2、H3的默认网关设定为RTB。则RTB成为主控路由器,负责ICMP重定向、ARP应答和IP报文的转发;一旦RTB失败,RTA立即启动切换,成为主控,从而保证了对客户透明的安全切换。 在VRRP应用中,RTA在线时RTB只是作为后备,不参与转发工作,闲置了路由器RTA和链路L1。通过合理的网络设计,可以到达备份和负载分担双重效果。让RTA、RTB同时属于互为备份的两个VRRP组:在组1中RTA为IP地址所有者;组 2中RTB为IP地址所有者。将H1的默认网关设定为RTA;H2、H3的默认网关设定为RTB。这样,既分担了设备负载和网络流量,又提高了网络可靠性。 VRRP协议的工作机理与CISCO公司的HSRP(Hot Standby Routing Protocol)有许多相似之处。但二者主要的区别是在CISCO的HSRP中,需要单独配置一个IP地址作为虚拟路由器对外体现的地址,这个地址不能是组中任何一个成员的接口地址。 使用VRRP协议,不用改造目前的网络结构,最大限度保护了当前投资,只需最少的管理费用,却大大提升了网络性能,具有重大的应用价值。 二、工作原理 一个VRRP路由器有唯一的标识:VRID,范围为0—255。该路由器对外表现为唯一的虚拟 MAC地址,地址的格式为00-00-5E-00-01-[VRID]。主控路由器负责对ARP请求用该MAC地址做应答。这样,无论如何切换,保证给终端设备的是唯一一致的IP和MAC地址,减少了切换对终端设备的影响。 VRRP控制报文只有一种:VRRP通告(advertisement)。它使用IP多播数据包进行封装,组地址为224.0.0.18,发布范围只限于同一局域网内。这保证了VRID在不同网络中可以重复使用。为了减少网络带宽消耗只有主控路由器才可以周期性的发送VRRP通告报文。备份路由器在连续三个通告间隔内收不到VRRP或收到优先级为0的通告后启动新的一轮VRRP选举。 在VRRP路由器组中,按优先级选举主控路由器,VRRP协议中优先级范围是0—255。若 VRRP路由器的IP地址和虚拟路由器的接口IP地址相同,则称该虚拟路由器作VRRP组中的IP地址所有者;IP地址所有者自动具有最高优先级:255。优先级0一般用在IP地址所有者主动放弃主控者角色时使用。可配置的优先级范围为1—254。优先级的配置原则可以依据链路的速度和成本、路由器性能和可靠性以及其它管理策略设定。主控路由器的选举中,高优先级的虚拟路由器获胜,因此,如果在VRRP组中有IP地址所有者,则它总是作为主控路由的角色出现。对于相同优先级的候选路由器,按照IP地址大小顺序选举。VRRP还提供了优先级抢占策略,如果配置了该策略,高优先级的备份路由器便会剥夺当前低优先级的主控路由器而成为新的主控路由器。 为了保证VRRP协议的安全性,提供了两种安全认证措施:明文认证和IP头认证。明文认证方式要求:在加入一个VRRP路由器组时,必须同时提供相同的VRID和明文密码。适合于避免在局域网内的配置错误,但不能防止通过网络监听方式获得密码。 IP头认证的方式提供了更高的安全性,能够防止报文重放和修改等攻击。