張勛俊,劉亞萍,鄧文平
(1.國防科學大學并行與分布處理國家重點實驗室,長沙 410073;2.國防科技大學計算機學院,長沙 410073)
LISP與非LISP站點間交互機制研究
張勛俊1,劉亞萍1,鄧文平2
(1.國防科學大學并行與分布處理國家重點實驗室,長沙 410073;2.國防科技大學計算機學院,長沙 410073)
當前互聯(lián)網存在著路由可擴展性、多宿主、流量工程及對移動性和安全性支持不足等問題。LISP協(xié)議作為一種基于身份與位置分離的解決方案,可在現(xiàn)有網絡設施的基礎上增量式部署,而增量式部署必須實現(xiàn)LISP站點與傳統(tǒng)的非LISP站點間的交互。對Proxy-ITR和Proxy-ETR這兩種交互機制進行分析與研究,并實驗模擬Proxy-ITR和Proxy-ETR在交互中的作用。結果表明通過設置Proxy-ITR和Proxy-ETR可以很好地解決LISP站點與非LISP站點間正常通信的問題。
身份與位置分離;LISP;非LISP;交互機制
近些年隨著互聯(lián)網的高速發(fā)展,網絡規(guī)模的不斷擴大,全球邊界網關協(xié)議路由表呈現(xiàn)出“超線性”增長的勢態(tài)。數據顯示全球BGP路由表已從20世紀90年代末的5萬余條飛速增長為2011年的約35萬條。BGP路由表的高速膨脹導致互聯(lián)網路由系統(tǒng)的可擴展性面臨嚴峻的挑戰(zhàn)。產生這一問題的關鍵就在于隨著多宿主站點的普及以及PI地址的分配,大量不可聚合IP地址前綴被通告至核心路由表。
此外,在傳統(tǒng)的TCP/IP協(xié)議中,IP地址既可作為節(jié)點的身份標識用于建立通信連接,同時又表示節(jié)點的位置用于報文的尋址和路由。IP地址的語義過載這一特性使得互聯(lián)網表現(xiàn)出對移動性支持的先天不足。
思科提出的LISP協(xié)議作為一種基于身份和位置分離的解決方案,它將邊緣網絡(一般是用戶網絡)與傳輸網絡(通常指運營商網絡)進行分離,進而引入兩類地址:EID(End Identifier)和RLOC(Routing Locator)。EID用于全局唯一標識站點內的主機,屬于PI地址,不可全局路由,因此不會出現(xiàn)在核心路由表中。而RLOC主要用在傳輸網絡中,可表示邊緣網絡的接入點位置,屬于PA地址,須嚴格按照網絡拓撲進行分配,因此便于按拓撲聚合,從而減小了核心路由表的規(guī)模。同時,LISP作為一種“漸變”的方案,無須對現(xiàn)有的終端協(xié)議棧做任何修改,并可在目前網絡設施的基礎上增量地部署,開銷低。LISP這一優(yōu)點也帶來了一個問題:在部署初期,必須實現(xiàn)LISP站點與非LISP站點之間的交互,以實現(xiàn)LISP機制的增量式部署。
本文為對Proxy-ITR和Proxy-ETR這兩種交互機制進行分析與研究,詳細介紹這兩種機制的工作原理,并實驗模擬了部署Proxy-ITR和Proxy-ETR的通信環(huán)境。
在LISP部署初期,傳統(tǒng)的非LISP站點與新興的LISP站點并存于互聯(lián)網中。主機到主機如何發(fā)送單播報文有四種基本情形,分別是:傳統(tǒng)非LISP站點間的通信,新興LISP站點間的通信,新興LISP站點與傳統(tǒng)非LISP站點間通信以及傳統(tǒng)非LISP站點與新興LISP站點間通信。如圖1所示。本文重點研究第三種和第四種情形下的交互機制。
圖1 LISP與非LISP站點交互的四種基本情形
傳統(tǒng)非LISP站點中的地址前綴一般是可路由的,所以通常LISP站點根據目的地址可以正常轉發(fā)報文到傳統(tǒng)非LISP站點中,非LISP站點不需要做任何改變就可以接收報文。而LISP站點唯一要做的是確定何時無需LISP封裝即可轉發(fā)報文。當LISP站點的ITR對報文中目的地址進行映射查詢,如果所匹配的負映射緩存項中的action位為Natively-Forward,則意味著目的地址為一個非LISP地址,因此即可立即轉發(fā)報文。
不過有兩種情況下,LISP站點所生成的報文,未經LISP封裝,是不能通過傳輸網絡轉發(fā)到非LISP站點中。第一,為了避免反路徑轉發(fā)檢查失敗,某些提供商的接入網要求發(fā)出的報文,其源地址必須位于接入網的編址范圍內。第二,LISP站點與非LISP站點通信路線上的中間網絡并不支持未封裝報文所用的特定IP層協(xié)議。為了實現(xiàn)這兩種情況下LISP站點與非LISP站點間正常通信,本文分析了Proxy-ETR機制的工作原理,利用LISP協(xié)議的封裝功能,改寫源地址,使源地址符合接入網的要求。同時LISP協(xié)議對混合協(xié)議封裝的支持,可使報文“跳過”中間網絡。如圖2所示。
當非LISP站點中的主機希望發(fā)送報文到LISP站點中,如果源主機使用一個不可路由的EID作為目的地址,數據報文會在源站點(非LISP站點)內轉發(fā),直到邊緣路由器因為缺少默認路由而丟棄它。為了實現(xiàn)非LISP站點能夠向LISP站點發(fā)送報文,可以采用Proxy-ITR這種機制。它使得目的EID變得可路由,從而可以轉發(fā)報文到目的LISP站點中。如圖3所示。
圖2 LISP到non-LISP的傳輸過程
圖3 non-LISP到LISP的傳輸過程
1.1 Proxy-ITR
Proxy-ITR是一種新型的網絡設備,擁有很多LISP ITR的特性。在傳輸網絡中部署了Proxy-ITR后,非LISP站點無需做任何協(xié)議上或設備上的改變,就可以發(fā)送數據報文給LISP站點。Proxy-ITR主要實現(xiàn)兩大基本功能:第一,Proxy-ITR將代表LISP站點通告那些高度聚合過的EID前綴;第二,Proxy-ITR會封裝非LISP站點發(fā)出的報文,然后轉發(fā)到目的LISP站點的ETR上。
(1)Proxy-ITR對EID的通告
實現(xiàn)Proxy-ITR關鍵在于如何向全球路由系統(tǒng)的局部區(qū)域通告那些高度聚合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路由器的默認路由,于是轉發(fā)報文到CE。
③CE也有一條到PE路由器的默認路由,再次轉發(fā)給PE。
④PE有一條到192.0.2.0/24的路由,且下一條就是Proxy-ITR。
⑤Proxy-ITR緩存有或從映射系統(tǒng)獲得EID為192.0.2.1的映射項,然后LISP封裝報文。其外IP首部中的目的地址為目的站點ETR的RLOC。外首部中的源地址為Proxy-ITR的RLOC。
⑥傳輸網絡基于目的RLOC查詢路由表,最終轉發(fā)到目的站點的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站點需要發(fā)送報文到非LISP站點,當LISP站點的接入網并不接受源地址為LISP站點EID的數據包時,需要引入Proxy-ETR機制來實現(xiàn)正常通信。Proxy-ETR也是一種新型的網絡設備。它一般充當非LISP站點的ETR,接收發(fā)往此非LISP站點的數據報文。同時,部署Proxy-ETR可以避免源LISP站點中的ITR決定是否封裝報文。因為ITR總是要封裝報文,然后轉發(fā)到ETR或Proxy-ETR。當目的地址為LISP EID時,ITR封裝并轉發(fā)報文到目的站點的ETR上。而目的地址為傳統(tǒng)IP的報文將被ITR封裝并轉發(fā)到所配置的Proxy-ETR上。
通常的情況下,源站點的ITR無需封裝即可本地轉發(fā)目的地址為傳統(tǒng)IP的報文。在某些時候接入網限制源地址的范圍或接入網不支持特定協(xié)議,可以配置ITR封裝并轉發(fā)非LISP數據包到Proxy-ETR上。當ITR通過Map-Resolver來請求映射信息,映射查找匹配一個Negative Map-Cache,此時ITR會封裝并轉發(fā)報文到所配置的Proxy-ETR。還有一種情況,ITR直接連接到映射數據庫系統(tǒng)上,ITR對數據庫的查找并無對應的映射項,這些報文也會被封裝并轉發(fā)到所配置的Proxy-ETR上。注意,封裝后報文使用的IP層協(xié)議可能不同于被封裝的數據報文。路由器將會根據LISP首部中的目的地址來路由報文至所配置的Proxy-ETR上。Proxy-ETR在對接收報文進行解封裝之前,可能會檢查源EID是否位于所配置的LISP站點內。這是為了防止源站點由于欺騙而封裝并發(fā)送報文到Proxy-ETR。
使用Proxy-ETR機制后,假設網絡拓撲如下描述。LISP-NR站點的EID前綴為192.0.2.0/24,目的非LISP站點的IP前綴為198.51.100.0/24。LISP站點希望同非LISP站點內主機交互。核心路由表中存在傳統(tǒng)目的IP地址(198.51.100.0/24)。報文的具體流程如下:
①源主機查詢DNS,得到目的地址為198.51.100.100。
②源主機有一條到CE路由器的默認路由,于是轉發(fā)報文到CE。
③CE作為LISP站點的ITR,它會封裝那些目的地址為傳統(tǒng)IP的報文到所配置的Proxy-ETR。
④Proxy-ETR解封裝收到的報文,隨后根據目的IP地址198.51.100.100路由到目的主機。
注意到返回流不經過Proxy-ETR,這意味著為了返回報文到源LISP站點,目的非LISP站點需要部署Proxy-ITR。
實驗環(huán)境如下所述。LISP站點與非LISP站點通過傳統(tǒng)IP網連接起來。其中LISP站點的EID-Prefix為192.168.1.0/24,而非LISP站點的地址塊為56.56.56.0/ 24。Proxy-ITR與Proxy-ETR合成一臺設備PxTR。PxTR和MS/MR都位于傳統(tǒng)IP網中。如圖5所示:
圖5 實驗環(huán)境
具體的實驗拓撲圖如圖6所示:
R1模擬LISP站點,其Loopback0接口模擬EID地址塊(192.168.1.0/24)。R5和R6模擬非LISP站點,其中R5作為CE,R6模擬非LISP站點內的主機。R2,R3和R4共同模擬傳統(tǒng)IP網,R3作為PxTR,R4作為MS/ MR。LISP站點的xTR需定時向MS/MR注冊EID信息。網段規(guī)劃如圖所示,路由器的接口地址的最后一位使用設備名。例如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
可以看到源主機一共發(fā)了5個報文,在前兩個報文失敗后,后三個報文都ping通了。通過在各條鏈路上抓包分析,可知第一個ICMP請求報文引發(fā)了一個發(fā)往MS/MR的map-request報文,請求目的地址56.56.56.6的RLOC。MS/MR直接返回給R1一個negative mapreply報文,表明目的地址是一個普通的IP。第二個ICMP請求報文在xTR上LISP封裝后,轉發(fā)到Proxy-ETR(R3)上。R3解封裝后本地轉發(fā)到目的Host。隨后Host構造一個ICMP應答報文,其中源地址為56.56.56.6,目的地址為192.168.1.1。因為Proxy-ITR會生成到達EID前綴(192.168.1.0/24)的路由,并通告局部網絡,所以R5會轉發(fā)ICMP應答報文給Proxy-ITR。Proxy-ITR收到ICMP應答報文后,會向MS/MR請求目的EID(192.168.1.1)的RLOC。MS/MR轉發(fā)map-request到R1(xTR),由xTR直接返回map-reply。Proxy-ITR在收到map-reply后緩存這條EID-to-RLOC映射。隨后的三個報文都可以根據map-cache中的信息直接ping通了。
圖6 實驗網絡拓撲圖
這個模擬實驗表明通過設置Proxy-ITR和Proxy-ETR,可以很好地解決LISP站點與非LISP站點之間的通信問題。
本文為了解決LISP站點與非LISP站點間的交互問題,對Proxy-ITR和Proxy-ETR這兩種機制的工作原理進行分析與研究。Proxy-ITR和Proxy-ETR一般相互配合使用,充當LISP站點與非LISP站點之間的代理xTR,從而實現(xiàn)報文往返的正常通信。通過對ping報文流程的分析,模擬實驗表明Proxy-ITR和Proxy-ETR可以很好地實現(xiàn)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