《CCNP ROUTE 300-101学习指南》——1.3节连接远程位置与总部

1.3 连接远程位置与总部
在连接远程站点与总部时,未必只能使用诸如专线或帧中继连接这样的传统解决方案。像多协议标签交换(Multiprotocol Label Switching,MPLS)和DMVPN这样的新型技术目前同样得到了广泛的使用,因为这些技术与传统解决方案相比,能够在更低开销的情况下提供更大程度的灵活性。了解这些新型VPN技术对于读者来说非常重要,因为这些技术也会影响路由协议的部署和配置。

在完成本节内容的学习后,读者应该能够:

了解连接分支机构和远程位置的方式;
描述静态和默认静态路由的使用方法;
描述点到点串行链路上,PPP的基本配置;
描述点到点串行链路上,帧中继的基本概念;
解释VRF Lite;
描述路由协议在MPLS VPN上的工作方式;
解释如何使用GRE来连接分支机构;
描述动态多点虚拟专用网络;
描述多点GRE隧道;
描述下一跳解析协议;
了解IPSec在DMVPN方案中扮演的角色。

1.3.1 静态路由原则
本节会对最适合使用静态路由的情况进行介绍。静态路由可在以下情景中使用。

不希望在如拨号链路这样的低带宽链路上转发动态路由更新时。
管理员需要对路由器使用的路由进行完全掌握时。
对动态识别的路由须有备份路由时。
必须能连通一个只能通过一条路径访问的网络(末梢网络)时。如图1-11所示,路由器A到达路由器B上的10.2.0.0/16网络只有一条路径。管理员可以在路由器A上配置一条通过其串行0/0/0接口到达10.2.0.0/16网络的静态路由。
一台路由器连接其ISP且只需有一条指向ISP路由器的默认路由,因而不需要从ISP学习许多路由时。
一台路由器性能不足且没有处理动态路由协议必要的CPU或内存资源时。

静态路由的一个完美的使用场景是星型拓扑,在这种拓扑中,所有远程站点默认都要返回到中心站点(中心),中心站点的一台或两台路由器有每个远程站点所有子网的静态路由。需要注意的是,如果没有合理的设计,随着网络增长到数百台路由器的规模,每台路由器都有大量的子网时,每台路由器上的静态路由数量也会增加。每次增加了新的子网或路由器时,管理员都必须在好几台路由器上增加到达新网络的静态路由。维护网络的管理负担可能变得过于沉重,这使得使用动态路由成为了更好的选择。

静态路由的另一个缺陷是当互连网络的拓扑发生变化时,管理员可能需要在问题区域周围配置新的静态路由来重路由流量。相反,如果使用的是动态路由,路由器就必须学习新的拓扑。路由器之间相互共享信息,且它们的路由进程可以自动发现是否存在替代路由,并在不需管理员干预的情况下重路由。因为路由器可以相互独立地建立起对于新拓扑状况的认识,因此这个称为收敛于新路由。动态路由与静态配置的路由相比,收敛速度要更快。

1.配置IPv4静态路由
管理员可以使用全局配置模式下的命令ip routeprefix mask {address | interface [address]} [dhcp] [distance] [namenext-hop-name] [permanent| tracknumber] [tagtag]来创建IPv4静态路由。表1-3对这条命令的参数进行了介绍。

如图1-11所示,如果连接两路由器间的链路没有使用动态路由协议,那么这条链路两端的路由器上就都必须配置静态路由;否则,远程路由器就不知道如何将数据包发回给位于其他网络的发送方设备——即只能实现所谓的“单通”。

配置静态路由时,必须指明下一跳IP地址或出接口,以告知路由器应当将流量发送到哪个方向。图1-11显示了两边的配置。路由器A了解直连网络172.16.1.0和10.1.1.0。它需要获得访问远程网络10.2.0.0的路由。路由器B则了解直连网络10.2.0.0和10.1.1.0;它需要获得访问远程网络172.16.1.0的路由。注意在路由器B上,路由器A的串行接口IP被作为下一跳IP地址。而在路由器A上,ip route命令则指明该路由以其S0/0/0接口作为出接口。若使用下一跳IP地址,则这个地址应该是链路另一端路由器接口的IP地址。若使用出接口,那么本地路由器就会将数据从指定接口发送给其直连链路另一端的路由器。指定出接口时,虽然路由表中的条目表示“直连”,但这条路由仍是管理距离为1的静态路由,而不是管理距离为0的直连网络。

注释

本节描述了IPv4静态路由的使用和配置。相同的方式和类似的配置也适用于IPv6静态路由。
Cisco快速转发(Cisco Express Forwarding,CEF)默认即在多数运行Cisco IOS 12.0或之后版本的Cisco平台上启用。在IOS 12.0之前的版本中,在点到点链路上使用出接口而不是下一跳IP地址来配置静态路由效率更高。使用出接口表示路由器不需在路由表中执行递归查找来寻找出接口。然而,鉴于目前IOS默认启用CEF,因此建议使用下一跳IP地址。

注释

CEF使用存储在数据层的两种主要数据结构,为实现高效的数据包转发提供了优化的查找功能,这两种数据结构一种是转发信息库(Forwarding Information Base,FIB),它是路由表的副本,另一个则是包含2层编址信息的邻接表。两个表中的信息会组合起来使用,所以无须对下一跳IP地址进行递归查找。换句话说,当路由器上启用了CEF时,使用下一跳IP的静态路由只需要执行一次查找。
2.配置静态默认路由
在有些情况下,路由器并不需要了解远程网络的详细信息。通过配置,路由器会将所有流量(或所有在路由表中没有更详细条目的流量)发往指定的方向;这种方式称为默认路由。默认路由既可以通过路由协议动态通告,也可以静态进行配置。

要创建静态默认路由,也需要通过ip route命令来实现,不过目的网络(命令中的prefix)和子网掩码(命令中的mask)都要设置为0.0.0.0。这个全零地址是一种通配符标记,任何目的地址都可以匹配这个地址。由于路由器会尝试匹配最长公共比特位,所以路由表中所列出的网络都会先于默认路由被匹配出来。但如果目的网络没有列在路由表中,路由器则会使用默认路由转发该流量。

在图1-12中,路由器A上去往10.2.0.0网络的静态路由被替换为了指向路由器B的静态默认路由。在路由器B上,我们增加了一条静态默认路由,指向其ISP。从路由器A 172.16.1.0网络发往Internet的流量都会发送给路由器B。路由器B可以判断出流量的目的网络不匹配其路由表中的任何明细条目,因此会将流量发送给ISP。而ISP则会继而将流量路由至最终目的。

在图1-12中,为了访问网络172.16.1.0/24,路由器B还需要拥有一条指向其S0/0/0接口的静态路由。

在图1-12中,若在路由器A上输入show ip route命令,就会看到如例1-1所示的输出信息。

例1-1 show ip route命令

RouterA# show ip route
< Output omitted>
Gateway of last resort is not set
C     172.16.1.0 is directly connected, FastEthernet0/0
C     10.1.1.0 is directly connected, Serial0/0/0
S*    0.0.0.0/0 [1/0] via 10.1.1.1

3.基本PPP概述
点到点协议(Point-to-Point Protocol,PPP)与之前的高级数据链路(High-Level Data Link Control,HDLC)协议相比有几点优势。本节会对PPP进行介绍,并考察该协议的几大优势。HDLC是连接两台Cisco路由器时的默认串行封装方式。Cisco版本的HDLC是私有的,该协议增加了协议类型(protocol type)字段。因此,Cisco HDLC只能与其他Cisco设备共用;所以,如果需要连接到非Cisco路由器时,可以使用PPP封装。

基本的PPP配置非常简单。在接口上配置PPP后,网络管理员可以应用更多的PPP选项。

要将串行接口的封装方式设置为PPP协议,需要使用接口配置命令encapsulation ppp来实现。

下面是在接口serial 0/0/0上启用PPP封装的示例。

R1# configure terminal
R1(config)# interface serial 0/0/0
R1(config-if)# encapsulation ppp

接口模式命令encapsulation ppp没有其他参数。切记,如果管理员没有在Cisco路由器上配置PPP,串行接口的默认封装是HDLC。其他PPP配置选项包括PPP压缩、PPP链路质量监测、PPP多链路以及PPP认证。

以下的简略的配置列表表示,路由器R1在串行接口上配置了IPv4和IPv6地址。PPP是一种支持包括IPv4和IPv6在内的多种3层协议的2层封装协议。

hostname R1
!
interface Serial 0/0/0
ip address 10.0.1.1 255.255.255.252
ipv6 address 2001:db8:cafe:1::1/64
encapsulation ppp

4.PPP认证概述
RFC 1334定义了两种用于认证的协议:PAP和CHAP。PAP是一种非常基础的两步认证过程。它没有加密,用户名和密码以明文的形式发送。如果认证获得接受,连接就可以建立起来。CHAP比PAP更安全。它包括共享密钥的三步交换过程。

PPP会话的认证过程是可选的。若使用认证,那么对端认证就会在LCP(链路控制协议)建立链路并选择认证协议后进行。若使用认证,那么认证就会发生在网络层协议配置阶段开始之前。

认证要求链路的发起方输入认证信息。这有助于确保该用户必须获得网络管理员的许可才能发起会话。两端的路由器会相互交换认证消息。

要想指明CHAP或PAP协议在接口上请求的顺序,需要使用接口配置命令ppp authentication。

Router(config-if)# ppp authentication { chap | chap pap | pap chap | pap } [ if-needed ] [ list-name | default ] [ callin ]

在上述命令前面添加关键字no即可禁用认证。

表1-4解释了接口配置命令ppp authentication的语法。

在启用CHAP或PAP认证后,本地路由器在允许数据流通过之前,会首先要求远程设备证明自己的身份。认证的执行过程如下。

PAP认证要求远程设备发送名称和密码来与本地用户名数据库中的条目或远程TACACS/TACACS+中的条目进行匹配。
CHAP认证向远程设备发送挑战请求。远程设备必须使用共享密钥来加密挑战值并将加密后的值及其名称发回给本地路由器。本地路由器会使用远程设备的名称在其本地用户名数据库中,或在远程TACACS/TACACS+数据库中查找对应的密钥。路由器会使用查找到的密钥加密原始的挑战消息,并验证加密的值是否相同。
两边的路由器都会认证对方,也都会接受对方的认证,所以两端配置PAP认证的命令都是成双成对的。每台路由器发送的PAP用户名和密码必须与另一台路由器username name password password命令中指明的用户名密码相同。

PAP提供的认证方式比较简单,它让远程节点可以通过两次握手的方式建立其身份。认证只会在链路初始建立的过程中执行。一台路由器上的主机名必须与另一台路由器为PPP配置的用户名相同,密码也必须相同。配置用户名和密码参数的命令为ppp pap sent-username namepasswordpassword。

R1的(部分)运行配置如下。

hostname R1
username R2 password sameone
!
interface Serial0/0/0
 ip address 10.0.1.1 255.255.255.252
 ipv6 address 2001:DB8:CAFE:1::1/64
 encapsulation ppp
 ppp authentication pap
 ppp pap sent-username R1 password sameone
R2的(部分)运行配置如下。

hostname R2
username R1 password 0 sameone
!
interface Serial 0/0/0
 ip address 10.0.1.2 255.255.255.252
 ipv6 address 2001:db8:cafe:1::2/64
 encapsulation ppp
 ppp authentication pap
 ppp pap sent-username R2 password sameone

CHAP使用三次握手的方式周期性地验证远程节点的身份。一台路由器上的主机名必须与另一台路由器配置的用户名相同,密码也必须相同。认证不仅会在初始链路建立的过程中执行,在链路建立后还会不断重复。下面是CHAP的配置示例。

R1的(部分)运行配置。

hostname R1
username R2 password sameone
!
interface Serial0/0/0
 ip address 10.0.1.1 255.255.255.252
 ipv6 address 2001:DB8:CAFE:1::1/64
 encapsulation ppp
 ppp authentication chap
R2的(部分)运行配置。

hostname R2
username R1 password 0 sameone
!
interface Serial 0/0/0
 ip address 10.0.1.2 255.255.255.252
 ipv6 address 2001:db8:cafe:1::2/64
 encapsulation ppp
 ppp authentication chap

5.PPPoE
PPP可以用于所有的串行链路,包括那些由老式拨号模拟和ISDN调制解调器所建立的链路。此外,ISP通常也会以PPP协议作为宽带连接上使用的数据链路协议。这样使用有几方面的原因:首先,PPP支持分配IP地址给PPP链路的远端。启用PPP后,ISP可以使用PPP给每个客户分配一个公有IPv4地址。更重要的是,PPP还支持CHAP认证。ISP通常希望使用CHAP来认证客户,因为在认证过程中ISP可以检查记账记录并确定客户的账单是否已经支付,这些都可以在ISP允许客户连接到Internet之前完成。

ISP因为认证、审计和链路管理功能而对PPP倍加推崇。客户也能体会到以太网连接的便捷和稳定。但问题在于,以太网链路本身并不支持PPP。这个问题的一种解决方案是创建“以太网上的PPP(PPP over Ethernet,PPPoE)”。如图1-13所示,PPPoE允许将PPP帧封装在以太网帧中进行发送。

PPPoE会在以太网连接上创建PPP隧道。这样做可以将PPP帧通过从客户路由器到ISP的以太网线缆发送给ISP。调制解调器会剥离以太网头部,将以太网帧转换为PPP帧,然后在ISP的数字用户线路(Digital Subscriber Line,DSL)网络上传输这些PPP帧。

由于能够在路由器之间发送和接收PPP帧,因此ISP可以继续采用与拨号模拟网络和ISDN相同的认证方式。为了让它正常工作,客户和ISP的路由器都需要进行一些额外的配置,包括PPP配置。例1-2显示了PPPoE客户端的配置。要想理解这些配置,需要考虑下面几点。

1.为了创建一条PPP隧道,我们需要配置一个拨号接口。拨号接口是一个虚接口。PPP的配置需要在拨号接口(而不是物理接口)下完成。拨号接口需要通过interface dialer number命令来创建。客户端可以配置静态IP地址,但由ISP自动分配一个公有IP地址的做法更为常见。

2.PPP CHAP配置定义的往往是单向认证,即由ISP认证客户的身份。客户路由器上配置的主机名和密码必须与ISP路由器上配置的主机名和密码相同。

3.接下来,需要通过pppoe enable命令启用连接到DSL调制解调器的物理以太网接口,这条命令会启用PPPoE并将物理接口和拨号接口链接起来。拨号接口通过使用相同编号的dialer pool和pppoe-client命令与以太网接口链接。拨号接口编号不需与拨号池编号相同。

4.为适应PPPoE头部,最大传输单元(Maximum Transmission Unit,MTU)应该从1500减少到1492。以太网帧的默认最大数据字段是1500字节。然而,在PPPoE中,以太网帧负载中包含了一个带头部的PPP帧,而这个头部会将可用的数据MTU减少为1492字节。

例1-2 PPPoE客户端的配置

interface Dialer 2
 encapsulation ppp       ! 1. PPP and IP on the Dialer
 ip address negotiated

_ppp chap hostname Bob   ! 2. Authenticate inbound only
 ppp chap password D1@ne

 ip mtu 1492
 dialer pool 1           ! 3. Dialer pool must match

interface Ethernet0/1
 no ip address
 pppoe enable
 pppoe-client dial-pool-number 1    ! 3. Dialer pool must match

注释

有关PPP的更多信息,请参见Connecting Networks Companion Guide(Cisco Press,2014)。 
6.基本帧中继概述
根据组织机构的需求,帧中继与传统的点到点租用线缆相比有几点优势。

租用线缆可以提供永久独占的性能,被大量用于构建WAN。租用线缆一直是传统的连接方式,但这种方式存在一些缺点,其中一点是客户需要为固定性能的租用线缆付费。说这是缺点是因为WAN流量通常是变化的,因此总会有一些带宽遭到浪费。此外,每个端点都需要在路由器上占用一个独立的物理接口,而这会增加设备的开销。针对租用线缆进行任何更改往往都需要运营商工作人员亲临现场。帧中继是一种高性能的WAN协议,工作在OSI参考模型的物理层和数据链路层。帧中继与租用线缆不同,它只需要一个到帧中继提供商的接入电路就能够与连接到同一个提供商的其他站点通信,如图1-14所示。任意两站点间的性能可以不同。

帧中继是一种交换型的WAN技术,虚电路(Virtual Circuit,VC)由服务提供商(Service Provider,SP)通过网络创建。帧中继可以在一个物理接口上复用多条逻辑VC。VC通常是数据链路连接标识符(Data-Link Connection Identifier,DLCI)标识的PVC。DLCI在本地路由器和路由器连接的帧中继交换机之间本地有效。因此,PVC每端的DLCI可能不同。SP的网络负责通过PVC发送数据。为了建立IP层的连通性,必须动态或静态地定义IP地址与DLCI间的映射关系。

在默认情况下,帧中继网络是NBMA型网络。NBMA环境中所有路由器都在相同的子网中,广播(和组播)包不能按照其在如以太网的广播环境中的方式发送。

为了模拟IP路由协议所要求的LAN广播性能(例如,给一个IP子网中所有可达的邻居设备发送EIGRP Hello或更新数据包),Cisco IOS实现了伪广播特性,路由器会为每一个通过WAN介质可达的邻居创建一个广播或组播包的副本,并通过该邻居对应的PVC进行发送。

当路由器通过同一个WAN接口可达大量邻居设备时,伪广播就需要进行严格的控制,因为这会增加CPU资源和WAN带宽的占用。伪广播可以在配置帧中继时,通过静态映射中的关键字broadcast进行控制。然而,在由IPv4的帧中继反向地址解析协议(Inverse Address Resolution Protocol,INARP)或IPv6的帧中继反向邻居发现(Inverse Neighbor Discovery,IND)所创建的动态映射中,由于邻居都是可达的,因此伪广播也就无法控制。所以动态映射总是会允许伪广播。

只有在路由协议的抑制计时器过期或者接口出现故障后,帧中继邻居丢失的情况才能检测出来。只要还有一条PVC是活跃的,接口就会被视为是启用的。

帧中继允许使用全网状、部分网状和中枢辐射型(也称为星型)拓扑来连接远程站点,如图1-15所示。

例如,使用反向ARP动态映射在物理接口上部署IPv4的EIGRP非常简单,因为这本身就是默认设置。图1-16所示为一个示例网络。例1-3是图中路由器R1上的配置。物理接口Serial 0/0上封装了帧中继协议且指定了接口IP地址。反向ARP默认启用,而且会自动把PVC另一端设备的IP地址与本地DLCI进行映射。EIGRP使用的自治系统编号为110,管理员需要在EIGRP路由进程下使用network命令,将相关的接口和网络包含在内。

EIGRP会在第2章中进行更加深入的讨论。
例1-3 图1-16中路由器R1的配置(使用动态映射的配置方法)

interface Serial0/0
 encapsulation frame-relay
 ip address 192.168.1.101 255.255.255.0
!
router eigrp 110
 network 172.16.1.0 0.0.0.255
 network 192.168.1.0

水平分割在帧中继物理接口上默认是禁用的。因此,来自路由器R2的路由会被发送给路由器R3,反之亦然。注意反向ARP并不会为路由器R2和R3之间的通信提供动态映射,因为它们之间没有通过PVC相连,所以必须手工配置此映射。

注释

有关帧中继的更多信息,请参见Connecting Networks Companion Guide(Cisco Press,2014)。
7.VPN连通性概述
当代的业务需求主宰了连接远程和分支机构的新趋势。传统的解决方案,如租用线缆或帧中继,无论是在性能上、在部署的服务数量上、在WAN带宽还是在开销上都有不足。下一代VPN需要能够在中心和分支站点之间实现快捷而又简便的全网状互联方案,同时兼顾扩展性和安全性方面的优势。

8.基于MPLS的VPN
服务提供商使用MPLS技术构建穿越服务提供商核心网络的隧道。穿越MPLS骨干的流量是基于标签进行转发的,而这些标签在转发流量之前已经在核心路由器间相互分发。对于3层MPLS VPN,服务提供商会参与客户路由。服务提供商在PE和CE路由器之间建立路由对等体关系。在PE路由器上接收到的客户路由随后会被重分布进MP-BGP中,并通过MPLS骨干传输给远程PE路由器。在远程PE上,这些客户路由会从MP-BGP被重分布回远程PE-CE路由协议当中。本地站点和远程站点PE-CE路由器之间所使用的路由协议很可能截然不同。

2层MPLS VPN CE路由器可以使用任意2层协议与PE路由器在2层相连,其中以太网是最常用的协议。2层流量在PE路由器之间发送,并通过预先建立好的伪线路进行传输。伪线路模拟PE路由器之间的线缆,负责承载2层数据帧穿越IP-MPLS骨干网络。有两种基本的2层MPLS VPN服务基础设施。虚拟专用线服务(Virtual Private Wire Service,VPWS)是一种点到点技术,可以在PE上使用任何2层传输协议。第二类2层MPLS VPN是虚拟专用局域网服务(Virtual Private LAN Service,VPLS),其在MPLS上模拟以太网多路访问LAN网段,并提供多点到多点的服务。

9.VPN隧道
VPN隧道技术林林总总,通用路由封装(Generic Routing Encapsulation,GRE)、IPSec和DMVPN则是其中最为常用的技术。

GRE是一种由Cisco开发的隧道协议,这种协议可以将任意3层协议封装在一个点到点的、穿越IP网络的隧道之中。通过GRE隧道传输的流量是不加密的,因此这类流量很可能成为各类安全攻击的目标。为此,GRE流量通常需要使用IPSec进行封装,形成GRE-over-IPSec隧道。
IPSec是使用一组加密协议在3层保障流量安全的协议框架。对于任何使用IP作为传输协议的网络应用或通信,IPSec也可以起到安全防护的效果。
DMVPN解决方案的结构主要用来在大型网络中,进一步扩展IPSec的星型拓扑及分支到分支(spoke-to-spoke)拓扑。这种方案可以提供动态建立星型和分支到分支型IPSec隧道的功能,因此可以减少延迟并优化网络性能。DMVPN支持在中心和分支之间运行动态路由协议及IP组播,它也适用于如DSL或线缆连接等在物理接口上使用动态IP地址的环境。
10.混合VPN
基于MPLS的VPN和隧道VPN不是互斥的;它们可能在相同的IP基础设施中共存。在有些情况下,客户希望将流量封装到隧道当中,穿越服务提供商的网络,但由于法律法规,这些流量必须进行加密。客户可以将这两种VPN的最佳特性组合起来,创建出一种新的、混合的VPN。这类服务包括GRE上的3层MPLS VPN或DMVPN上的3层MPLS VPN。上述两类VPN的共同点是在公有IP基础设施上创建客户自己的私有IP-MPLS网络。第一种方案不包括流量加密。第二种更安全,因为DMVPN可以使用IPSec。所以它也提供了端到端通路测试的可能性,对流经网络的流量进行优化。混合型VPN的主要缺点在于,多层封装会降低MTU的效率,同时增加网络的延迟和复杂程度。

1.3.2 MPLS VPN上的路由
起初,分支机构都是通过租用线缆进行连接的。之后,服务提供商开始使用ATM或帧中继VC来提供基于点到点数据链路层连通性的2层VPN。客户构建自己的3层网络来承载IP流量。因此,2层和3层流量存在独立的网络。为了优化操作开销并提供额外服务,服务提供商希望有一个基于IP的网络能够提供如图1-17所示的2层和3层VPN方案。

MPLS是一种用来在包交换的网络上承载数据的传输机制。它的设计目的是提供极大的灵活性,并与3层或2层技术实现无缝的操作。MPLS VPN是MPLS的服务扩展,旨在为服务提供商和大型企业提供构建灵活、可扩展且安全的VPN的服务。MPLS VPN有两种类型:2层MPLS VPN和3层MPLS VPN。

图1-17展示了2层MPLS VPN和3层MPLS VPN骨干的基本区别。客户路由器(例中为R1和R2)通过MPLS VPN骨干连接,这一点对于界定两者的区别很重要。

2层MPLS VPN骨干方案通过骨干网提供2层服务,R1和R2会使用相同的IP子网直接连接在一起。如果在2层MPLS VPN上部署路由协议,R1和R2路由器之间将建立邻接关系。图中展示了通过骨干网的连通性,骨干网在此可以表示为一个大交换机。

3层MPLS VPN骨干方案通过骨干网提供3层服务,R1和R2连接到ISP的边界路由器。每一端都使用独立的IP子网。若在此类VPN上部署路由协议,服务提供商需要参与其中。邻居邻接关系需要在客户的R1和最近的PE路由器以及R2和其最近的PE路由器之间建立。图中展示了通过骨干网的连通性,骨干网可被表示为一个大路由器。

从客户的角度看,选择3层还是2层MPLS VPN将很大程度上取决于客户的需求。

3层MPLS VPN适用于希望将其路由操作外包给服务提供商的客户。服务提供商为客户站点维护并管理路由。

2层MPLS VPN对于运行自己的3层基础设施并要求服务提供商提供2层连通性的客户来说比较适合。在使用2层MPLS VPN的情况下,客户可以管理自己的路由信息。

1.3.3 GRE隧道上的路由
GRE是一种可以将众多协议的数据包封装到IP隧道中的隧道协议,这种协议可以通过IP网络在Cisco路由器之间创建虚拟的点到点链路,如图1-18所示。

一般来说,隧道是一个逻辑接口,它可以提供一种将乘客包封装在传输协议中的方式。GRE隧道是Cisco开发的点到点隧道,可以将多种乘客协议通过IP网络进行传输。它由三种主要的元素构成。

乘客协议或被封装协议,如被封装的IPv4或IPv6。
承载协议,如GRE,这款协议被Cisco定义为多协议承载协议,并记录在了RFC 2784中。
传输协议,如IP,承载被封装的协议。
GRE有以下特性。

GRE在GRE头部中采用了协议类型字段来支持所有OSI 3层协议的封装。GRE的IP协议号为47。
GRE本身是无状态的。它默认不包含任何流控机制。
GRE不包含任何用于保护其负载的安全机制。
GRE 头部以及封装隧道的 IP 头部会对隧道中的数据包产生至少 24 字节的额外负载。
GRE隧道提供了通过Internet或WAN连接分支结构的可能性。GRE隧道的主要优势在于其支持IP组播,因此适合用来充当路由协议的隧道封装协议。然而,在以GRE隧道作为连接方式时,有几点问题应该考虑。通过隧道发送的流量不会被加密,因此容易受到中间人攻击。要想解决这个问题,应该将GRE和IPSec组合起来使用。GRE负责封装明文数据包,IPSec则负责加密封装包,形成GRE-over-IPSec隧道。

1.3.4 动态多点虚拟专用网络
对于一般的星型拓扑,在中心和远程分支之间通常可以部署静态隧道(通常使用GRE和IPSec),如图1-19所示。当有新的分支需要增加到网路中时,就需要在中心路由器上进行配置。此外,分支之间传输的流量需要经过中心站点,需要从一个隧道发出然后进入另一个隧道。静态隧道对于小型网络来说是合适的方案,但在分支数量不断增加时,这种方案就变得不可接受了。

Cisco DMVPN特性可以让大型和小型IPSec VPN更好地实现扩展。Cisco DMVPN特性组合了mGRE隧道、IPSec加密以及下一跳解析协议(Next HopResolution Protocol,NHRP),为众多VPN用户提供了简单的规划方案。如果使用了合理的对端认证方式(如启用PKI的对端认证),DMVPN设计方案本身也可以完美支持动态编址的分支路由器。

DMVPN的主要优势如下。

中心路由器的配置减少:以前,管理员需要为每台分支路由器分别定义独立的GRE隧道,并分别配置IPSec。DMVPN特性则可以在中心路由器上配置一个mGRE隧道接口和一个IPSec配置文件,并管理所有的分支路由器。因此,即使有额外的分支路由器增加到网络中,中心路由器上的配置也能保持恒定。
自动的IPSec初始化:GRE使用NHRP来配置并解析对端的目的地址。这个特性可以立即触发IPSec建立点到点GRE隧道而不需要进行任何IPSec对等体的配置。
支持动态编址的分支路由器:在使用点到点GRE和IPSec星型 VPN网络时,配置中心路由器需要知道分支路由器的物理接口IP地址。分支IP地址必须配置成GRE和IPSec隧道的目的地址。DMVPN让分支路由器可以拥有动态物理接口IP地址,并向中心路由器注册其物理接口IP地址。这个过程也可以支持通过动态公有IPv4地址连接Internet的分支路由器。

1.3.5 多点GRE
DMVPN方案的一个重要特征是扩展性,这种扩展性是由多点GRE(mGRE)提供的。mGRE技术使得一个GRE接口可以支持多个GRE隧道,简化了配置复杂性。GRE隧道也支持IP组播和非IP协议。IP组播又进一步让设计者可以使用路由协议来分发路由信息并检测VPN的变化。所有的DMVPN成员都使用GRE或mGRE接口在设备之间构建隧道。

mGRE配置的主要特点如下。

在一台路由器上,只需配置一个隧道接口即可支持多个远程GRE对等体。在星型网络中,中心上的一个mGRE隧道接口可容纳许多分支GRE对等体。这极大地简化了中心设备的管理,因为管理员无需重新配置中心就可以添加新的分支。
为了获取其他对等体的IP地址,使用mGRE的设备需要通过NHRP来构建动态GRE隧道。对等体也可以使用动态分配的地址,NHRP会在随后在向中心注册时使用这个地址。
mGRE接口支持单播、组播和广播流量。
图1-20显示了部署mGRE的两种方式。

左图中的中心站点使用mGRE接口进行了优化。在这种部署方案中,中心站点上只需要使用一个接口。然而,管理员此时必须部署NHRP,使中心能学习到分支的地址并正确地规划分支到中心的GRE隧道。
右图所有星型网络中的设备都使用了mGRE接口。通过NHRP,这些设备可以建立部分网状或全网状的GRE隧道。在每台设备上只需配置一个mGRE接口,这可以极大简化配置工作,提升网络的易管理性。

1.3.6 NHRP
DMVPN支持在分支路由器上使用动态物理IP地址。当分支设备连接到网络时,分支的动态相互发现过程就会初始化,该过程是通过NHRP(Next Hop Resolution Protocol)协议实现的。

NHRP是一种客户端-服务器模型的协议,如图1-21所示,其中中心设备充当服务器,分支设备充当客户端。路由器使用NHRP来确定IP隧道网络中下一跳的IP地址。分支路由器在初始连接到DMVPN网络时,会向中心路由器(NHRP服务器)注册自己的内部(隧道)和外部(物理接口)地址。这个注册过程会让中心路由器上的mGRE接口在无须提前知道分支隧道目的地址的情况下,即可向注册的分支路由器构建一条动态的GRE隧道。因此,NHRP会在中心路由器上为每个分支创建一个隧道IP地址到物理接口IP地址之间的映射。

从路由协议的角度看,NHRP域操作与多点帧中继网络这样的NBMA网络类似。

在mGRE网络中使用NHRP可以将内部隧道IP地址映射到外部传输IP地址。在采用星型拓扑部署DMVPN时,管理员无须在中心路由器上配置有关分支的GRE或IPSec信息。在(通过NHRP命令)配置GRE隧道所连接的分支路由器时,需要将中心路由器作为下一跳服务器。当分支路由器启动时,它会自动初始化与中心路由器之间的IPSec隧道。接下来,它会使用NHRP向中心路由器通告自己当前的物理接口IP地址。这样执行通告的好处如下。

中心路由器上的配置可以得到削减和简化,因为管理员不需要配置对等体路由器的GRE或IPSec信息。这些信息都会通过NHRP动态学习过来。
在向DMVPN网路中添加新的分支路由器时,管理员不需要更改中心路由器或任何一台当前分支路由器上的配置。新的分支路由器上需要配置中心路由器的信息,当它启动时,它会动态向中心进行注册。动态路由协议会将路由信息从分支传输给中心路由器。中心则会将新的路由信息传输给其他的分支,也会将其他分支发来的路由信息传输给这台新的分支。
在图1-22中,一个分支希望向另一个分支发送IP流量,后者的隧道接口上配置的IP地址为10.1.1.3。始发路由器会向中心路由器发送一条10.1.1.3 IP地址的查询信息,因为中心路由器在网络中充当NHRP服务器。中心路由器会以映射信息进行应答——IP地址10.1.1.3映射到接收分支路由器的物理接口(209.165.202.149)。

1.3.7 IPSec
安全性也是DMVPN方案的重要组成部分。安全服务是通过使用IPSec框架来实现的。IPSec是一个开放标准的框架,它定义了如何实现安全的通信。这个框架依赖现有的算法,来实现加密、认证和密钥交换的功能。

IPSec提供4种重要的安全服务。

保密性(加密):发送方可以在通过网络传输数据包之前对其进行加密,以确保没人可以窃听通信的内容,即使通信被截获也不可读。
数据完整性:接收方可以验证通过隧道传输的数据没有通过任何形式遭到篡改。IPSec可以使用校验和来确保数据的完整性,这是一种简单的冗余校验。
认证:认证可以确保连接的对端确为我们认定的通信对象。接收方可以通过验证信息源来认证数据包的源。IPSec使用Internet密钥交换(Internet Key Exchange,IKE)协议来认证可以独立进行通信的用户和设备。IKE使用几种类型的认证方式,包括用户名和密码、一次性密码、生物识别技术、预共享密钥(Pre-Shared Key,PSK)和数字证书。
抗重放保护:抗重放保护确认每个数据包都是唯一且非重复的。设备会将目的主机上的滑动窗口与接收数据包的序列号进行对比,以保护IPSec数据包。如果数据包的序列号在滑动窗口之前,那么这个数据包要么是迟达数据包,要么是重复数据包。迟达和重复的数据包会被丢弃。
IPSec的认证和加密功能在DMVPN方案中扮演着重要的角色。认证功能确保只有期望的对端才能与其他对端建立通信。进行认证的最常用方式是PSK或证书。鉴于PSK必须在所有位置之间进行全员共享,因此推荐使用证书。

一般来说,当DMVPN通过Internet连接远程站点时,管理员都会启用加密。通过租用的WAN链路将分支站点连接到中心站点也使用加密,这种做法正在成为一种常态,因为服务提供商提供的设备也是不可靠的。

时间: 2024-08-21 12:06:10

《CCNP ROUTE 300-101学习指南》——1.3节连接远程位置与总部的相关文章

《CCNP ROUTE 300-101认证考试指南》——第2章 远程站点连通性

第2章 远程站点连通性CCNP ROUTE 300-101认证考试指南本章涵盖以下主题. 远程连通性回顾:本节解释了为什么VPN是常用的远程连接到站点的方式,并介绍了可用的VPN技术.MPLS VPN:本节对比了二层MPLS VPN和三层MPLS VPN.GRE:本节描述了GRE隧道,并演示了GRE隧道的配置和验证.DMVPN:本节讨论了在星型VPN拓扑中,DMVPN如何在指定分支之间动态建立连接.多点GRE:本节解释了一个GRE接口如何与多个GRE对等体建立连接.NHRP:本节解释了NHRP如

《CCNP ROUTE 300-101认证考试指南》——8.3节数据库交换过程

8.3 数据库交换过程 CCNP ROUTE 300-101认证考试指南 区域内的每台路由器在OSPF拓扑变化发生且稳定下来时,都应对于该区域拥有相同的LSDB.内部路由器(在一个区域内的路由器)只有该区域的LSA,但ABR的LSDB中会包含其连接的每个区域的LSA.因此ABR知道每个区域中有哪些LSA. OSPF路由器会泛洪它们自己创建的LSA,也会泛洪它们从邻居学到的LSA,直到区域中的所有路由器都有该区域最新LSA的副本为止.为了管理和控制这一过程,OSPF定义了几种消息.过程和邻居状态,

《CCNP ROUTE 300-101认证考试指南》——8.4节选择最优OSPF路由

8.4 选择最优OSPF路由 CCNP ROUTE 300-101认证考试指南 定义LSA类型.创建区域.完整泛洪LSA,所有这些工作都只有一个目的:让区域中的路由器计算出所有已知子网的最优无环路由.虽然数据库的交换过程看起来可能挺费事的,但读者对SPF计算最优路由的过程无需关注太多,至少对于CCNP ROUTE考试的水平来说没有必要.事实上,选择某个特定子网的最优路由,以及特定路由器计算的过程可总结如下: 关键 分析LSDB,以找到去往子网的所有可能的路由: 对于每条可能的路由,累加该路由中所

《CCNP ROUTE 300-101认证考试指南》——8.2节 LSA和OSPF链路状态数据库

8.2 LSA和OSPF链路状态数据库CCNP ROUTE 300-101认证考试指南 8.2 LSA和OSPF链路状态数据库每台连接到特定OSPF区域的路由器都应该学习到完全相同的拓扑数据.每台路由器在自己的LSDB(链路状态数据库)中储存独立的LSA(链路状态通告)数据.之后,路由器对LSDB使用SPF(最短路径优先)算法,确定每个可达子网(前缀/长度)的最优(最低开销)路由. 在路由器使用SPF分析LSDB时,SPF进程与拼图游戏有一些相似--只是路由器并不知道拼图的具体图像.当人们面对这

《CCNP ROUTE 300-101认证考试指南》——2.3节MPLS VPN

2.3 MPLS VPNCCNP ROUTE 300-101认证考试指南MPLS VPN扩展了MPLS的性能,能够在MPLS网络上创建VPN.这种VPN常用于服务提供商或大型企业网络中,可被分为二层MPLS VPN或三层MPLS VPN. 2.3.1 二层MPLS VPNMPLS网络通过建立二层MPLS VPN,让不同站点的客户边界(CE)路由器之间能够建立路由协议的邻接关系,就像它们在二层上有邻接关系一样.因此可以认为二层MPLS VPN是一个逻辑的二层交换机,如图2-1所示. 关键 2.3.

《CCNP ROUTE 300-101认证考试指南》——2.12节定义关键术语

2.12 定义关键术语CCNP ROUTE 300-101认证考试指南定义本章的如下术语,并使用配套CD中的"术语表"检查你的答案. GRE.DMVPN.mGRE.NHRP.IPSec

《CCNP ROUTE 300-101认证考试指南》——8.7节完成记忆测试表

8.7 完成记忆测试表CCNP ROUTE 300-101认证考试指南打印配套CD中完整的附录D或与本章相关的部分.然后凭借记忆完成表格和列表中缺失的内容.最后使用配套CD中的附录E来验证你的作答.

《CCNP ROUTE 300-101认证考试指南》——8.8节定义关键术语

8.8 定义关键术语CCNP ROUTE 300-101认证考试指南定义本章的如下术语,并使用配套CD中的"术语表"检查你的答案. 链路状态标识符(LSID).指定路由器(DR).备份指定路由器(BDR).内部路由器.区域边界路由器(ABR).所有PSF路由器组播.所有DR路由器组播.链路状态通告.数据库描述(DD)包.链路状态请求(LSR)包.链路状态确认(LAS)包.链路状态更新(LSU)包.路由器LSA.网络LSA.汇总LSA.类型1 LSA.类型2 LSA.类型3 LSA.参考

《CCNP ROUTE 300-101认证考试指南》——2.6节多点GRE

2.6 多点GRECCNP ROUTE 300-101认证考试指南DMVPN之所以具有可扩展性,要在一定程度上归因于多点GRE(mGRE),因为使用了mGRE,路由器才能够在一个GRE接口上建立多个GRE隧道. mGRE的一部分特性如下所示: 像传统的GRE一样,mGRE可以传输多种协议(如IP单播.组播和广播):在星型拓扑中,中心路由器可以只有单一的mGRE接口,多个隧道可共同使用这一个接口:mGRE的接口配置可以使用下一跳解析协议(NHRP),来发现隧道远端的IP地址,以动态建立GRE隧道.