LISP与非LISP站点间交互机制研究

2017-05-24 14:48张勋俊刘亚萍邓文平
现代计算机 2017年11期
关键词:通告报文路由

张勋俊,刘亚萍,邓文平

(1.国防科学大学并行与分布处理国家重点实验室,长沙 410073;2.国防科技大学计算机学院,长沙 410073)

LISP与非LISP站点间交互机制研究

张勋俊1,刘亚萍1,邓文平2

(1.国防科学大学并行与分布处理国家重点实验室,长沙 410073;2.国防科技大学计算机学院,长沙 410073)

当前互联网存在着路由可扩展性、多宿主、流量工程及对移动性和安全性支持不足等问题。LISP协议作为一种基于身份与位置分离的解决方案,可在现有网络设施的基础上增量式部署,而增量式部署必须实现LISP站点与传统的非LISP站点间的交互。对Proxy-ITR和Proxy-ETR这两种交互机制进行分析与研究,并实验模拟Proxy-ITR和Proxy-ETR在交互中的作用。结果表明通过设置Proxy-ITR和Proxy-ETR可以很好地解决LISP站点与非LISP站点间正常通信的问题。

身份与位置分离;LISP;非LISP;交互机制

0 引言

近些年随着互联网的高速发展,网络规模的不断扩大,全球边界网关协议路由表呈现出“超线性”增长的势态。数据显示全球BGP路由表已从20世纪90年代末的5万余条飞速增长为2011年的约35万条。BGP路由表的高速膨胀导致互联网路由系统的可扩展性面临严峻的挑战。产生这一问题的关键就在于随着多宿主站点的普及以及PI地址的分配,大量不可聚合IP地址前缀被通告至核心路由表。

此外,在传统的TCP/IP协议中,IP地址既可作为节点的身份标识用于建立通信连接,同时又表示节点的位置用于报文的寻址和路由。IP地址的语义过载这一特性使得互联网表现出对移动性支持的先天不足。

思科提出的LISP协议作为一种基于身份和位置分离的解决方案,它将边缘网络(一般是用户网络)与传输网络(通常指运营商网络)进行分离,进而引入两类地址:EID(End Identifier)和RLOC(Routing Locator)。EID用于全局唯一标识站点内的主机,属于PI地址,不可全局路由,因此不会出现在核心路由表中。而RLOC主要用在传输网络中,可表示边缘网络的接入点位置,属于PA地址,须严格按照网络拓扑进行分配,因此便于按拓扑聚合,从而减小了核心路由表的规模。同时,LISP作为一种“渐变”的方案,无须对现有的终端协议栈做任何修改,并可在目前网络设施的基础上增量地部署,开销低。LISP这一优点也带来了一个问题:在部署初期,必须实现LISP站点与非LISP站点之间的交互,以实现LISP机制的增量式部署。

本文为对Proxy-ITR和Proxy-ETR这两种交互机制进行分析与研究,详细介绍这两种机制的工作原理,并实验模拟了部署Proxy-ITR和Proxy-ETR的通信环境。

1 LISP站点与非LISP站点间的交互

在LISP部署初期,传统的非LISP站点与新兴的LISP站点并存于互联网中。主机到主机如何发送单播报文有四种基本情形,分别是:传统非LISP站点间的通信,新兴LISP站点间的通信,新兴LISP站点与传统非LISP站点间通信以及传统非LISP站点与新兴LISP站点间通信。如图1所示。本文重点研究第三种和第四种情形下的交互机制。

图1 LISP与非LISP站点交互的四种基本情形

传统非LISP站点中的地址前缀一般是可路由的,所以通常LISP站点根据目的地址可以正常转发报文到传统非LISP站点中,非LISP站点不需要做任何改变就可以接收报文。而LISP站点唯一要做的是确定何时无需LISP封装即可转发报文。当LISP站点的ITR对报文中目的地址进行映射查询,如果所匹配的负映射缓存项中的action位为Natively-Forward,则意味着目的地址为一个非LISP地址,因此即可立即转发报文。

不过有两种情况下,LISP站点所生成的报文,未经LISP封装,是不能通过传输网络转发到非LISP站点中。第一,为了避免反路径转发检查失败,某些提供商的接入网要求发出的报文,其源地址必须位于接入网的编址范围内。第二,LISP站点与非LISP站点通信路线上的中间网络并不支持未封装报文所用的特定IP层协议。为了实现这两种情况下LISP站点与非LISP站点间正常通信,本文分析了Proxy-ETR机制的工作原理,利用LISP协议的封装功能,改写源地址,使源地址符合接入网的要求。同时LISP协议对混合协议封装的支持,可使报文“跳过”中间网络。如图2所示。

当非LISP站点中的主机希望发送报文到LISP站点中,如果源主机使用一个不可路由的EID作为目的地址,数据报文会在源站点(非LISP站点)内转发,直到边缘路由器因为缺少默认路由而丢弃它。为了实现非LISP站点能够向LISP站点发送报文,可以采用Proxy-ITR这种机制。它使得目的EID变得可路由,从而可以转发报文到目的LISP站点中。如图3所示。

图2 LISP到non-LISP的传输过程

图3 non-LISP到LISP的传输过程

1.1 Proxy-ITR

Proxy-ITR是一种新型的网络设备,拥有很多LISP ITR的特性。在传输网络中部署了Proxy-ITR后,非LISP站点无需做任何协议上或设备上的改变,就可以发送数据报文给LISP站点。Proxy-ITR主要实现两大基本功能:第一,Proxy-ITR将代表LISP站点通告那些高度聚合过的EID前缀;第二,Proxy-ITR会封装非LISP站点发出的报文,然后转发到目的LISP站点的ETR上。

(1)Proxy-ITR对EID的通告

实现Proxy-ITR关键在于如何向全球路由系统的局部区域通告那些高度聚合EID前缀的路由。一方面,EID前缀的主动聚合有利于减少通告路由项的数目。另一方面,慎重地部署Proxy-ITR的位置可以缩小路由项的通告范围。出于这个目的,Proxy-ITR应当部署在靠近非LISP站点的位置,而不是更接近于LISP站点。这样的部署安排不仅可以很好地限制EID前缀路由的通告范围,还可以允许数据流负载分流到多个Proxy-ITR中去。

(2)Proxy-ITR机制下的数据流

使用Proxy-ITR机制,数据报文传输的流程如图4所示。

图4 Proxy-ITR机制

①源主机查询DNS,得到目的EID地址192.0.2.1。

②源主机有一条到CE路由器的默认路由,于是转发报文到CE。

③CE也有一条到PE路由器的默认路由,再次转发给PE。

④PE有一条到192.0.2.0/24的路由,且下一条就是Proxy-ITR。

⑤Proxy-ITR缓存有或从映射系统获得EID为192.0.2.1的映射项,然后LISP封装报文。其外IP首部中的目的地址为目的站点ETR的RLOC。外首部中的源地址为Proxy-ITR的RLOC。

⑥传输网络基于目的RLOC查询路由表,最终转发到目的站点的ETR上。

⑦ETR对报文进行解封装,并根据目的EID在站点内路由至目的主机。

⑧主机192.0.2.1的返回报文将通过LISP站点的ITR。ITR通过查询映射数据库,知道目的地址不在EID地址空间内,从而无需封装即可本地路由。

(3)Proxy-ITR的扩展性

通过通告LISP EID地址前缀,Proxy-ITR吸收那些目的地址为EID的数据流。这里,本文介绍两种方法来控制数据报文的流向,以防止Proxy-ITR收到超出处理能力的流量。

第一,Proxy-ITR中的聚合地址路由项可以被选择性的通告。某些路由的通告范围因提供商的路由策略而受限,这样就可以控制Proxy-ITR的接收流量。

第二,相同的EID地址可能会被多个Proxy-ITR通告,这样目的地址为此EID的数据报文会流向离自己最近的Proxy-ITR,从而达到分流的目的。

1.2 Proxy-ETR

LISP站点需要发送报文到非LISP站点,当LISP站点的接入网并不接受源地址为LISP站点EID的数据包时,需要引入Proxy-ETR机制来实现正常通信。Proxy-ETR也是一种新型的网络设备。它一般充当非LISP站点的ETR,接收发往此非LISP站点的数据报文。同时,部署Proxy-ETR可以避免源LISP站点中的ITR决定是否封装报文。因为ITR总是要封装报文,然后转发到ETR或Proxy-ETR。当目的地址为LISP EID时,ITR封装并转发报文到目的站点的ETR上。而目的地址为传统IP的报文将被ITR封装并转发到所配置的Proxy-ETR上。

通常的情况下,源站点的ITR无需封装即可本地转发目的地址为传统IP的报文。在某些时候接入网限制源地址的范围或接入网不支持特定协议,可以配置ITR封装并转发非LISP数据包到Proxy-ETR上。当ITR通过Map-Resolver来请求映射信息,映射查找匹配一个Negative Map-Cache,此时ITR会封装并转发报文到所配置的Proxy-ETR。还有一种情况,ITR直接连接到映射数据库系统上,ITR对数据库的查找并无对应的映射项,这些报文也会被封装并转发到所配置的Proxy-ETR上。注意,封装后报文使用的IP层协议可能不同于被封装的数据报文。路由器将会根据LISP首部中的目的地址来路由报文至所配置的Proxy-ETR上。Proxy-ETR在对接收报文进行解封装之前,可能会检查源EID是否位于所配置的LISP站点内。这是为了防止源站点由于欺骗而封装并发送报文到Proxy-ETR。

使用Proxy-ETR机制后,假设网络拓扑如下描述。LISP-NR站点的EID前缀为192.0.2.0/24,目的非LISP站点的IP前缀为198.51.100.0/24。LISP站点希望同非LISP站点内主机交互。核心路由表中存在传统目的IP地址(198.51.100.0/24)。报文的具体流程如下:

①源主机查询DNS,得到目的地址为198.51.100.100。

②源主机有一条到CE路由器的默认路由,于是转发报文到CE。

③CE作为LISP站点的ITR,它会封装那些目的地址为传统IP的报文到所配置的Proxy-ETR。

④Proxy-ETR解封装收到的报文,随后根据目的IP地址198.51.100.100路由到目的主机。

注意到返回流不经过Proxy-ETR,这意味着为了返回报文到源LISP站点,目的非LISP站点需要部署Proxy-ITR。

2 实验模拟Proxy-ITR和Proxy-ETR

实验环境如下所述。LISP站点与非LISP站点通过传统IP网连接起来。其中LISP站点的EID-Prefix为192.168.1.0/24,而非LISP站点的地址块为56.56.56.0/ 24。Proxy-ITR与Proxy-ETR合成一台设备PxTR。PxTR和MS/MR都位于传统IP网中。如图5所示:

图5 实验环境

具体的实验拓扑图如图6所示:

R1模拟LISP站点,其Loopback0接口模拟EID地址块(192.168.1.0/24)。R5和R6模拟非LISP站点,其中R5作为CE,R6模拟非LISP站点内的主机。R2,R3和R4共同模拟传统IP网,R3作为PxTR,R4作为MS/ MR。LISP站点的xTR需定时向MS/MR注册EID信息。网段规划如图所示,路由器的接口地址的最后一位使用设备名。例如R1的接口地址为12.12.12.1,而R2左接口地址为12.12.12.2。

为了验证LISP站点与非LISP站点之间能否正常通信,我们从LISP站点中源主机(192.168.1.1)ping非LISP站点中的Host(56.56.56.6)。结果如下所示。

R1#ping 56.56.56.6 source 192.168.1.1

Type escape sequence to abort.

Sending 5,100-byte ICMP Echos to 56.56.56.6,timeout is 2 seconds:

Packet sent with a source address of 192.168.1.1..!!!

Success rate is 60 percent(3/5),round-trip min/avg/max= 136/157/168 ms

可以看到源主机一共发了5个报文,在前两个报文失败后,后三个报文都ping通了。通过在各条链路上抓包分析,可知第一个ICMP请求报文引发了一个发往MS/MR的map-request报文,请求目的地址56.56.56.6的RLOC。MS/MR直接返回给R1一个negative mapreply报文,表明目的地址是一个普通的IP。第二个ICMP请求报文在xTR上LISP封装后,转发到Proxy-ETR(R3)上。R3解封装后本地转发到目的Host。随后Host构造一个ICMP应答报文,其中源地址为56.56.56.6,目的地址为192.168.1.1。因为Proxy-ITR会生成到达EID前缀(192.168.1.0/24)的路由,并通告局部网络,所以R5会转发ICMP应答报文给Proxy-ITR。Proxy-ITR收到ICMP应答报文后,会向MS/MR请求目的EID(192.168.1.1)的RLOC。MS/MR转发map-request到R1(xTR),由xTR直接返回map-reply。Proxy-ITR在收到map-reply后缓存这条EID-to-RLOC映射。随后的三个报文都可以根据map-cache中的信息直接ping通了。

图6 实验网络拓扑图

这个模拟实验表明通过设置Proxy-ITR和Proxy-ETR,可以很好地解决LISP站点与非LISP站点之间的通信问题。

3 结语

本文为了解决LISP站点与非LISP站点间的交互问题,对Proxy-ITR和Proxy-ETR这两种机制的工作原理进行分析与研究。Proxy-ITR和Proxy-ETR一般相互配合使用,充当LISP站点与非LISP站点之间的代理xTR,从而实现报文往返的正常通信。通过对ping报文流程的分析,模拟实验表明Proxy-ITR和Proxy-ETR可以很好地实现LISP站点与非LISP站点间的交互。

[1]D.Farinacci,V.Fuller.Locator/ID Separation Protocol(LISP)[S].Internet Draft,2010.

[2]D.Farinacci,V.Fuller,D.Meyer,D.Lewis.Locator/ID Separation Protocol(LISP)[S].RFC6830,2013.

[3]D.Lewis,D.Meyer,D.Farinacci,V.Fuller.Interworking between Locator/ID Separation Protocol(LISP)and Non-LISP Sites.RFC6832, 2013.

[4]D.Lewis,D.Meyer,D.Farinacci.D.Meyer,Alternative Logical Topology(LISP+ALT).RFC6836,2013.

[5]V.Fuller,D.Farinacci.Locator/ID Separation Protocol(LISP)Map-Server Interface.RFC6833,2013.

[6]lisp.http://lisp.cisco.com/.

[7]徐立冰.腾云:云计算和大数据时代网络技术揭秘[M].人民邮电出版社,2013.

[8]D.Farinacci,D.Meyer,J.Zwiebel,S.Venaas.Locator/ID Separation Protocol(LISP)for Multicast Environments.RFC6831,2013.

[9]L.Iannone,D.Saucez,O.Bonaventure.Locator/ID Separation Protocol(LISP)Map-Versioning.RFC6834,2013.

[10]V.Fuller,D.Farinacci,D.Lewis,D.Meyer.Locator/ID Separation Protocol Alternative Logical Topology(LISP+ALT).RFC6836,2013.

[11]E.Lear.NERD:A Not-so-novel Endpoint ID(EID)to Routing Locator(RLCO)Database.RFC6837,2013.

[12]Ron Fuller,David Jansen,Matthew McPherson,夏俊杰.NX-OS与Cisco Nexus交换技术:下一代数据中心架构.人民邮电出版社,2013

[13]L.Iannone,D.Lewis,D.Meyer,V.Fuller.LISP EID Block draft-ietf-lisp-eid-block-09.txt.2014.

[14]F.Maino,V.Ermagan,A.Cabellos,D.Saucez.LISP-Security(LISP-SEC)draft-ietf-lisp-sec-07.2014.

[15]D.Saucez,L.Iannone,O.Bonaventure.LISP Threats Analysis draft-ietf-lisp-threats-10.txt.2014.

Research on the Interworking Mechanism between LISP and Non-LISP Sites

ZHANG Xun-jun1,LIU Ya-ping1,DENG Wen-ping2

(1.Science and Technology on Parallel and distributed Processing Laboratory,National University of Defense Technology, Changsha 410073;2.School of Computer Science,National University of Defense Technology,Changsha 410073)

The current Internet has been faced with many problems such as routing scalability,multi-homing traffic engineering and lack of support for mobility and security.As a solution based on the identity and location separation,the Location/ID Separation Protocol(LISP)can be incrementally deployed on the basis of the existing network infrastructure,while the interworking between LISP and non-LISP sites must be solved.Investigates the mechanisms on the Proxy Ingress Tunnel Router and the Proxy Egress Tunnel Router,simulates the function of the Proxy-ITR and Proxy-ETR.The results reveal that the Proxy-ITR and Proxy-ETR can solve the normal communication problem between LISP and non-LISP sites well.

Identity and Location Separation;LISP;Non-LISP;Interworking Mechanism

973项目资助(No.2012CB315906)、国家自然科学基金项目(No.61472438、No.61202486)

1007-1423(2017)11-0036-06

10.3969/j.issn.1007-1423.2017.11.007

张勋俊(1989-),男,安徽池州人,研究生,研究方向为网络

2016-12-07

2017-03-02

猜你喜欢
通告报文路由
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
2021年国家级检验检测机构能力验证结果的通告
国家药监局关于7批次药品不符合规定的通告
数据通信中路由策略的匹配模式
路由选择技术对比
OSPF外部路由引起的环路问题
浅析反驳类报文要点
路由重分发时需要考虑的问题
取消航行通告(NOTAMC)在航行通告(NOTAM)中的应用