《广域互联网关键技术详解》属于博主的“广域网”专栏,若想成为HCIE,对于广域网相关的知识需要非常了解,更多关于广域网的内容博主会更新在“广域网”专栏里,请持续关注!
一.前言
- 广域互联技术纷杂多样,不同的技术有不同的使用场景和产生背景。
- 现网中广域互联组网技术主要使用了GRE与L2TP技术,同时为了保障GRE与L2TP隧道的安全,一般会辅助使用IPsec技术。
- 在现网中部分广域互联设备位于NAT设备之后,因此NAT穿越技术在广域互联中也有很多应用场景。
- 为了保障广域互联的可靠性,一般上行会部署多链路,多链路选路也是广域互联的重要技术。
二.广域互联常用组网技术
1.GRE原理与应用场景
(1)工作原理
a.GRE产生背景
- 随着企业的发展,越来越多的企业需要在分支-总部之间进行内网通信。传统分支-总部之间内网通信需要租用专线(比如MPLS,传输专线等)。但是专线价格昂贵,对于中小型企业,或者跨国公司来说,成本较高。
- 由于Internet的发展,Internet网有了足够的带宽和覆盖,通过Internet建立分支-总部内网通信的可行性越来越高,GRE(Generic Routing Encapsulation,通用路由封装协议)就是在这种背景下被提出的。
- 通过GRE隧道,分支和总部之间可以基于Internet建立企业网络。
b.隧道技术简介
- GRE技术本质上是一种隧道技术。隧道技术类似于一座桥,可以在底层网络(比如:Internet)之上构建转发通道,用户可以自行构建隧道网络,不需要底层网络的管理者(比如:ISP)介入。
- 隧道技术的方案很多,常见的隧道技术有:MPLS,GRE,L2TP,VXLAN等,隧道基本原理如下:
c.GRE基本概念
- GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决了企业分支与总部互联的问题。
- GRE隧道能够承载IPv4/IPv6的单播、组播、广播报文。
- GRE报文的格式如下:
d.GRE基本工作原理
- GRE隧道是三层隧道,主要承载IPv4/IPV6报文。GRE通过封装外层IP头部,使得数据可在公网上传递,达到企业分支-总部之间的内网互通的目的。
- GRE隧道数据转发过程如下:
e.GRE keepalive检测
- 由于GRE协议并不具备检测链路状态的功能,如果对端接口不可达,隧道并不能及时关闭该Tunnel连接,这样会造成源端会不断的向对端转发数据,而对端却因隧道不通接收不到报文,由此就会形成流量中断。
- GRE的Keepalive检测功能可以检测隧道状态,即检测隧道对端是否可达。
- Keepalive超时时间=发送周期(默认5 s)*重试次数(默认3次)
(2)安全机制
a.GRE隧道安全威胁
- GRE隧道的主要作用是将数据在分支-总部之间传递,数据并不加密,有被改的风险。
- GRE隧道建立也有一定风险,通过伪造IP地址,可以使得非法设备与合法设备之间建立GRE隧道。
b.GRE数据校验和验证
c.GRE识别关键字
- 识别关键字(Key)验证是指对Tunnel接口进行校验。通过这种弱安全机制,可以防止错误识别、接收其它地方来的报文。
- 若GRE报文头中的K位为1,则在GRE头中插入一个四字节长关键字字段,收发双方将进行识别关键字的验证。
(3)应用场景
a.GRE构建分支-总部内网
- GRE隧道能承载IPv4/IPv6单播、组播、广播报文,分支-总部之间可以通过GRE隧道建立内网之间的动态路由协议邻居,使得分支-总部之间内网互联更加方便。
b.通过GRE接入MPLS VPN网络
- 为了让CE能接入到MPLS VPN且可以保证数据传输的安全性,可以在CE和PE间利用公共网络或某私有网络相连,并在CE与PE之间创建GRE隧道,在PE上将VPN与GRE隧道接口进行关联。
2.L2TP原理与应用场景
(1)工作原理
a.L2TP概述
- L2TP(Layer 2 Tunneling Protocol)协议结合了L2F协议和PPTP协议的优点,是IETF有关二层隧道协议的工业标准。L2TP是虚拟私有拨号网VPDN(VirtualPrivate Dial-upNetwork)隧道协议的一种,它扩展了点到点协议PPP(Point-to-Point Protocol)的应用,是应用于远程办公场景中为出差员工远程访问企业内网资源提供接入服务的一种重要VPN技术。
b.L2TP基本架构
- NAS
- NAS网络接入服务器(NetworkAccessServer)主要由ISP维0护,连接拨号网络。
- LAC
- L2TP访问集中器LAC是交换网络上具有PPP和L2TP协议处理能力的设备。
- LNS
- LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道。
- 隧道和会话
- L2TP隧道在LAC和LNS之间建立,一对LAC和LNS可以建立多0个L2TP隧道,一个L2TP隧道可以包含多个L2TP会话。
c.L2TP数据包结构
- L2TP协议包含两种类型的消息,控制消息和数据消息。
- 控制消息用于L2TP隧道和会话连接的建立、维护和拆除。
- 数据消息封装PPP数据帧并在L2TP隧道上传输。
d.L2TP工作过程
(2)应用场景
a.移动办公场景
b.分公司与总部互联场景
c.分公司员工与总部互联场景
三.广域互联安全技术
1.IPsec基本概念
(1)IPsec简介
a.IPsec
- IPsec(IP Security)协议族是IETF制定的一系列安全协议,它为端到端IP报文交互提供了基于密码学的、可互操作的、高质量的安全保护机制。
- 通过对数据加密、认证,IPsec使得数据能够在Internet网络上安全的传输。
- IPsecVPN技术可以和多种VPN技术结合使用,使得企业互联更加灵活安全
b.数据加密方式简介
- 数据加密可以避免数据转发时被读取。数据加密一般有两种方案:
- 对称加密:使用同一个密码加密/解密,效率很高,但是对称加密在互相交互密钥时存在密钥被截取的风险。
- 非对称加密:使用公钥加密,私钥解密,安全性很高但是加解密效率很低。
c.数据认证方式简介
- 数据认证的主要目的是确认数据是否被篡改,数据认证主要基于Hash算法。
- 数据通过Hash算法计算出一个唯-的Hash值,Hash值携带在数据中转发给对端。
- 对端设备对数据重新进行Hash,得出Hash值。将收到的Hash值与计算出的Hash值进行比对,一致说明没有被篡改。
d.IPsec加密基本思路
- IPsec同时使用对称加密与非对称加密,保证了安全也兼顾了性能。
- 将对称加密所用的密钥,使用非对称算法加密并传递。
- 数据通过交互后的对称密钥加密。
e.安全联盟介绍
- SA(Security Association,安全联盟)可以帮助IPsec对特定要素进行约定,比如:加密算法使用DES,认证算法使用MD5,封装方式使用Tunnel等)
- 建立IPsec SA一般有两种方式:手工方式和IKE方式。
(2)IPsec协议框架
a.密钥交换介绍
- 现网中交互对称密钥一般会使用密钥分发协议:IKE(InternetKeyExchange,因特网密钥交换)。
- IKE协议建立在ISAKMP(Internet Security Association and Key Management Protocol, Internet安全联盟和密钥管理协议)定义的框架上,是基于UDP的应用层协议。它为IPsec提供了自动协商密钥、建立IPsec安全联盟的服务,能够简化IPsec的配置和维护工作。
b.数据加密与认证
- IPsec提供了两种安全机制:加密和认证。
- IPsec采用对称加密算法对数据进行加密和解密。数据发送方和接收方使用相同的密钥进行加密、解密。
- IPsec采用HMAC(Hash-based Message Authentication Code)功能,比较数字签名进行数据完整性和真实性认证。
c.安全协议介绍
- IPsec有两种传输层协议提供认证或加密服务:AH(Authentication Header,认证头),ESP(Encapsulating Security Payload,封装安全载荷)。
- AH仅支持认证功能,不支持加密功能。
- ESP支持认证和加密功能。
d.封装模式介绍
- 封装模式是指将AH或ESP相关的字段插入到原始IP报文中,以实现对报文的认证和加密,封装模式有传输模式和隧道模式两种。
- 现网中多使用隧道模式进行封装。
- 在传输模式中,AH头或ESP头被插入到IP头与传输层协议头之间,保护TCP/UDP/ICMP负载。由于传输模式未添加额外的IP头,所以原始报文中的IP地址在加密后报文的IP头中可见。
- 在隧道模式下,AH头或ESP头被插到原始IP头之前,另外生成一个新的报文头放到AH头或ESP头之前,保护IP头和负载。
2.IPsec基本工作原理
(1)IPsec基本工作流程
(2)定义IPsec被保护流
- IPsec是基于定义的感兴趣流触发对特定数据的保护,可以通过以下两种方式定义:
- ACL方式
- 由ACL来指定要保护的数据流范围,筛选出需要进入IPsec隧道的报文。
- 路由方式
- 通过IPsec虚拟隧道接口建立IPsec隧道,将所有路由到IPsec虚拟隧道接口的报文都进行IPsec保护
- ACL方式
- 现网中GRE Over IPsec一般使用路由方式定义被保护流。
3.IPsec应用场景
(1)GRE over IPsec
- GRE over IPsec可利用GRE和IPsec的优势,通过GRE将组播、广播和非IP报文封装成普通的IP报文,通过IPsec为封装后的IP报文提供安全地通信。
- 当网关之间采用GREover IPsec连接时,先进行GRE封装,再进行IPsec封装。
(2)L2TP over IPsec
- 即先用L2TP封装报文再用IPsec封装,这样可以综合两种VPN的优势,通过L2TP实现用户L2TP over IPsec,验证和地址分配,并利用IPsec保障通信的安全性。L2TPoverIPsec既可以用于分支接入总部,也可以用于出差员工接入总部。
(3)IPsec穿越NAT
a.背景
- 默认情况下,IPsec传输数据时外层IP头部之上为ESP header或者AH header,不管是哪种封装,在传输路径中存在NAT设备时都会遇到问题。
b.解决方式
- 为解决该问题,必须在建立IPsec隧道的两个网关上开启NAT穿越功能(NATTraversal)。
- 开启NAT穿越之后,当检测到(IKE协商过程中进行检测)两台网关中间存在NAT设备,ESP报文会被封装在一个UDP头部中,源目端口号4500,以此支持经过NAT设备。
c.检测原理
四.广域互联NAT穿越技术
1.NAT基本原理
(1)NAT产生背景
- NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT。
- NAT不仅能解决了!P地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
(2)NAPT原理
- NAPT(Network Address Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换(PAT),从而实现公有地址与私有地址的1:n,可以有效提高公有地址利用率。
- Easy-ip是特殊的NAPT,Easy-ip将所有私网会话都映射到一个出口地址上,可以理解为NAT地址池只有一个地址的NAPT。
(3)NAT Server 原理
- NAT Server:指定[公有地址:端口1与[私有地址:端口1的一对一映射关系,将内部服务器映射到公网,私有网络中的服务器需要对公网提供服务时使用。
- 外网主机主动访问[公有地址:端口]实现对内部服务器的访问。
2.NAT穿越技术介绍
(1)NAT穿越背景
- NAT技术虽然能使私网访问公网,但是NAT技术也有一定缺陷:
- NAT对于私网访问公网的流量会生成NAT映射表项,这些表项有老化时间,如果两端会话长期静默,则连接会中断。
- NAT由于隐藏了私网IP地址,对于一些服务器来说,为了防止DOS攻击,会限制同一IP的访问频率。部分应用也没法有效溯源原始I设备,导致网络管理定位困难。
- 为了解决IP端到端应用在NAT环境下遇到的问题,产生了多种NAT穿越技术。
(2)NAT ALG产生背景
- 现网提供各类服务(比如HTTP,DNS,FTP等)的服务器一般部署在私网,因此需要在NAT上部署NATServer功能使得外网用户能够访问这些服务。但是部分服务用到的协议是多通道协议,比如FTP、DNS、SIP等,部署NAT Server不能使外网用户访问这些服务。对于这些多通道协议,可以使用NAT ALG解决问题。
(3)NAT ALG工作原理
- NAT ALG(Application Level Gateway)可以对报文的载荷字段进行解析,识别并转换其中包含的重要信息(比如FTP数据通道目标端口),基于这些重要信息形成NAT映射表项,帮助外部主机访问私网服务器。
五.广域互联智能选路技术
1.SAC介绍
(1)智能选路简介
- 云计算时代,网络不能再满足用户的需求,用户希望能够基于应用了解现网的情况,并根据应用的现状调整网络。
- 这种需求对于原有的网络提出了挑战:
- 传统的网络无法很好的识别应用
- 传统的网络无法基于应用调整。
- 为了应对挑战产生了两种技术:
- SAC(Smart Application Control,智能应用控制),该技术能够灵活的识别应用。
- SPR(Smart Policy Routing,智能策略路由),该技术能够基于网络的状况或者应用的状况切换转发路径。
(2)SAC简介
- 传统网络主要是以流量为维度管理网络,但在云计算时代,业务变得原来越重要,网络不能再只基于过去的五元组管理网络,而需要以应用为维度管理监控网络。
- 传统路由交换设备没有办法识别应用层的信息,以应用为维度管理网络存在较大难度SAC(Smart Application Control,智能应用控制)技术能够帮助路由交换设备识别分类应用。
- SAC指利用SA(Service Awareness,业务感知技术)和FPI(First Packet ldentification首包识别技术),对报文中的第4~7层内容(如HTTP、RTP)进行检测和识别。
(3)SAC特征库介绍
- 特征识别是业务感知技术(SA)的最基本功能。不同的应用程序通常会采用不同的协议,而不同的应用协议具有各自的特征,能标识该协议的特征称为特征码。系统对流经设备的业务流进行分析,将分析结果和设备上的特征库进行对比,通过匹配数据报文中的特征码来识别出应用程序。
- SAC特征库包含了FPI特征库和SA特征库,FPI的特征码是指可以用于FPI应用识别的特征码,SA的特征码是指可以用于SA应用识别的特征码。
(4)SAC应用识别流程
- SAC应用识别会先判断是否已被识别,发现应用未识别则依次查看FPI特征库和SA特征库。
2.SRP介绍
(1)SPR简介
- 云计算时代,越来越多的用户把关注点从网络的连通性转移到业务的可用性上,如业务的可获得性、响应速度和业务质量等。但是传统网络无法感知链路的质量和业务的需求,导致用户的业务体验较差。
- SPR(Smart Policy Routing,智能策略路由)就是在这一背景下产生的一种策略路由,它可以主动探测链路质量并匹配业务的需求,从而选择一条最优链路转发业务数据,可以有效的避免网络黑洞、网络震荡等问题。
(2)SPR业务区分
- SPR可以根据协议类型,报文应用,报文信息区分不同流量。
- 不同业务可以设置不同的链路质量参数阈值。可以设置时延D(Delay)、抖动时间J(jitter)、丢包率L(Loss)以及综合度量指标CMI(Composite Measure Indicator)。
- CMI是基于时延,抖动,丢包综合计算得到的指标。
- SPR选路主要基于CMI值。
(3)SPR探测链路和链路组
- 探测链路通过探针(NQA,IP FPM)获取链路参数的质量,SPR根据探测链路的链路质量匹配业务需求,从而实现智能选路的需求。
- SPR以链路组的形式使用探测链路,一个链路组中可以有一条或多条探测链路。
- SPR的链路角色分为:主用链路组、备用链路组和逃生链路。SPR中业务无法从主用链路组和备用链路组中找到合适的链路传输数据时可以启用逃生链路。
(4)SPR业务选路
- SPR会定期获取NQA或IP FPM的探测结果,判断链路是否满足业务需求,如果不满足则触发链路切换。
- SPR业务选路过程如下:
(5)使用imaster NCE实现SPR
- 使用NCE部署SPR时,提高全网站点规格,采用站点与应用策略分离及流量触发选路相结合的方式。
- NCE仅维护站点邻接信息和应用策略,SPR配置由路由器创建。使用流量触发选路,按需生成SPR配置,避免设备创建大量配置,同时减少探测选路(基于IP FPM)对设备CPU造成的冲击,有效减轻设备的负担。
- NCE可通过SAC,基于应用分类业务流量。