《廣域互聯網關鍵技術詳解》屬于博主的“廣域網”專欄,若想成為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,基于應用分類業務流量。