日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

GRE介紹

 

定義

對于IPv4 GRE和IPv6 GRE都支持的特性,正文中如果不做特殊說明,則表示二者實現(xiàn)無差異。IPv4 GRE和IPv6 GRE的實現(xiàn)差異,請參考附錄。

GRE(Generic Routing Encapsulation)是通用路由封裝協(xié)議,可以對某些網(wǎng)絡(luò)層協(xié)議(如IPX、ATM、IPv6、AppleTalk等)的數(shù)據(jù)報進行封裝,使這些被封裝的數(shù)據(jù)報文能夠在IPv4網(wǎng)絡(luò)中傳輸。

GRE提供了將一種協(xié)議的報文封裝在另一種協(xié)議報文中的機制,使報文能夠在異種網(wǎng)路中傳輸,而異種報文傳輸?shù)耐ǖ婪Q為Tunnel。

NE40E支持如下GRE:

  • 一維Tunnel接口的GRE隧道,也可稱為分布式GRE,GRE隧道報文直接在入接口板上進行封裝和解封裝處理,分布式GRE使用的是一維Tunnel接口。同時配置復(fù)雜流分類、car等業(yè)務(wù)時,可能會出現(xiàn)業(yè)務(wù)占用帶寬翻倍的問題。

目的

為了使某些網(wǎng)絡(luò)層協(xié)議(如IPX、ATM、IPv6、AppleTalk等)的報文能夠在IPv4網(wǎng)絡(luò)中傳輸,可以將某些網(wǎng)絡(luò)層協(xié)議的報文進行封裝,以此解決了異種網(wǎng)絡(luò)的傳輸問題。

GRE也可以作為VPN的第三層隧道協(xié)議,為VPN數(shù)據(jù)提供透明傳輸通道。目前,只有IPv4 L3VPN支持GRE隧道,IPv6 L3VPN暫不支持GRE隧道。

受益

GRE對設(shè)備的性能的要求較低,可以在不支持MPLS的設(shè)備間建立隧道。

GRE基本原理

 

產(chǎn)生原因

骨干網(wǎng)中一般采用單一網(wǎng)絡(luò)協(xié)議(例如IPv4)進行數(shù)據(jù)報文傳輸,但是不同的非骨干網(wǎng)上可能會使用不同網(wǎng)絡(luò)協(xié)議(例如:IP、IPv6、IPX等)進行數(shù)據(jù)報文傳輸。由于骨干網(wǎng)與非骨干網(wǎng)使用的協(xié)議不同,這樣將導(dǎo)致非骨干網(wǎng)之間無法通過骨干網(wǎng)傳輸數(shù)據(jù)報文。GRE協(xié)議通過實現(xiàn)一種協(xié)議封裝另一種協(xié)議來解決這個問題。

如圖3-1所示,group1和group2是運行Novell IPX的非骨干網(wǎng),term1和term2是運行IPv6的非骨干網(wǎng),中間的骨干網(wǎng)使用的是IPv4網(wǎng)絡(luò)。為了實現(xiàn)group1和group2、term1和term2通過骨干網(wǎng)傳輸數(shù)據(jù),可以在DeviceA和DeviceB之間采用GRE協(xié)議建立隧道,當(dāng)數(shù)據(jù)報文從group1或term1發(fā)送至DeviceA后,將會被封裝在一個GRE數(shù)據(jù)包中,所得的GRE數(shù)據(jù)包可以封裝在IPv4協(xié)議中,然后被轉(zhuǎn)發(fā)。

圖3-1 GRE組網(wǎng)圖

詳解通用路由封裝協(xié)議GRE

 

相關(guān)概念

  • GRE報文格式系統(tǒng)收到需要進行封裝和路由的某網(wǎng)絡(luò)層協(xié)議(如IPX)數(shù)據(jù)時,將首先對其加上GRE報文頭,使之成為GRE報文,再將其封裝在另一協(xié)議(如IP)中。這樣,此報文的轉(zhuǎn)發(fā)就可以完全由IP協(xié)議負(fù)責(zé)。封裝后的報文的格式如圖3-2所示:圖3-2 封裝好的GRE報文格式
    凈荷(Payload):系統(tǒng)收到的需要封裝和傳輸?shù)臄?shù)據(jù)報稱為凈荷。乘客協(xié)議(Passenger Protocol):封裝前的報文協(xié)議稱為乘客協(xié)議。封裝協(xié)議(Encapsulation Protocol):上述的GRE協(xié)議稱為封裝協(xié)議,也稱為運載協(xié)議(Carrier Protocol)。傳輸協(xié)議(Transport Protocol或者Delivery Protocol):負(fù)責(zé)對封裝后的報文進行轉(zhuǎn)發(fā)的協(xié)議稱為傳輸協(xié)議。例如一個封裝在IP Tunnel中的IPX報文的格式可以表示為:圖3-3 Tunnel中傳輸IPX報文的格式 對于IPv6 GRE隧道:傳輸協(xié)議為IPv6協(xié)議。需要進行封裝和路由的報文目前只支持IPv4報文和IPv6報文。
  • GRE報文頭GRE報文頭格式如圖3-4所示:圖3-4 GRE報文頭格式
    各字段解釋如下:C:校驗和驗證位。如果該位置1,表示GRE頭插入了校驗和(Checksum)字段;該位為0表示GRE頭不包含校驗和字段。K:關(guān)鍵字位。如果該位置1,表示GRE頭插入了關(guān)鍵字(Key)字段;該位為0表示GRE頭不包含關(guān)鍵字字段。Recursion:用來表示GRE報文被封裝的層數(shù)。完成一次GRE封裝后將該字段加1。如果封裝層數(shù)大于3,則丟棄該報文。該字段的作用是防止報文被無限次的封裝。 相關(guān)標(biāo)準(zhǔn)規(guī)定該字段默認(rèn)值為0。相關(guān)標(biāo)準(zhǔn)規(guī)定當(dāng)發(fā)送和接收端該字段不一致時不會引起異常,且接收端必須忽略該字段。NE40E實現(xiàn)時該字段僅在加封裝報文時用作標(biāo)記隧道嵌套層數(shù),GRE解封裝報文時不感知該字段,不會影響報文的處理。Flags:預(yù)留字段。當(dāng)前必須設(shè)為0。Version:版本字段,必須置為0。Version為1是使用在相關(guān)標(biāo)準(zhǔn)的PPTP中。Protocol Type:乘客協(xié)議的協(xié)議類型。Checksum:對GRE頭及其負(fù)載的校驗和字段。Key:關(guān)鍵字字段,隧道接收端用于對收到的報文進行驗證。因為目前實現(xiàn)的GRE頭不包含源路由字段,所以Bit 1、Bit 3和Bit 4都置為0。

報文在GRE中的傳輸過程

報文在GRE隧道中傳輸包括封裝和解封裝兩個過程。如圖3-5所示,如果私網(wǎng)報文從Ingress PE向Egress PE傳輸,則封裝在Ingress PE上完成;而解封裝在Egress PE上進行。

圖3-5 私有網(wǎng)絡(luò)通過GRE隧道互連

詳解通用路由封裝協(xié)議GRE

 

  • 封裝Ingress PE從連接私網(wǎng)的接口接收到私網(wǎng)報文后,首先交由私網(wǎng)上運行的協(xié)議模塊處理。私網(wǎng)協(xié)議模塊檢查私網(wǎng)報文頭中的目的地址域在私網(wǎng)路由表或轉(zhuǎn)發(fā)表中查找出接口,確定如何路由此包。如果發(fā)現(xiàn)出接口是GRE Tunnel接口,則將此報文發(fā)給隧道模塊。隧道模塊收到此報文后進行如下處理:隧道模塊根據(jù)乘客報文的協(xié)議類型和當(dāng)前GRE隧道所配置的Key參數(shù),對報文進行GRE封裝,即添加GRE頭。根據(jù)配置信息(傳輸協(xié)議為IP),給報文加上IP頭。該IP頭的源地址就是隧道源地址,IP頭的目的地址就是隧道目的地址。將該報文交給IP模塊處理。IP模塊根據(jù)該IP頭目的地址,在公網(wǎng)路由表中查找相應(yīng)的出接口并發(fā)送報文。之后,封裝后的報文將在該IP公共網(wǎng)絡(luò)中傳輸。
  • 解封裝解封裝過程和封裝過程相反。Egress PE從連接公網(wǎng)的接口收到該報文,分析IP頭發(fā)現(xiàn)報文的目的地址為本設(shè)備,且協(xié)議字段值為47,表示協(xié)議為GRE,于是交給GRE模塊處理。GRE模塊去掉IP頭和GRE報文頭,并根據(jù)GRE頭的Protocol Type字段,發(fā)現(xiàn)此報文的乘客協(xié)議為私網(wǎng)上運行的協(xié)議,于是交由此私網(wǎng)協(xié)議處理。此私網(wǎng)協(xié)議像對待一般數(shù)據(jù)報一樣對此數(shù)據(jù)報進行轉(zhuǎn)發(fā)。

使用價值

在網(wǎng)絡(luò)中部署GRE隧道,有益于以下三個方面:

  • 使客戶的部署不同協(xié)議網(wǎng)絡(luò)使用單一網(wǎng)絡(luò)協(xié)議進行數(shù)據(jù)傳輸。
  • 可以擴大受協(xié)議的步跳數(shù)限制的網(wǎng)絡(luò)的工作范圍。
  • 將一些不能連續(xù)的子網(wǎng)連接起來,用于組建VPN。

Keepalive檢測

 

產(chǎn)生原因

由于GRE協(xié)議并不具備檢測鏈路狀態(tài)的功能。如果遠(yuǎn)端端口不可達(dá),隧道并不能及時關(guān)閉該Tunnel連接,這樣會造成源端會不斷的向?qū)Χ宿D(zhuǎn)發(fā)數(shù)據(jù),而對端卻因Tunnel不通而丟棄所有報文,由此就會形成數(shù)據(jù)發(fā)送的空洞。

NE40E實現(xiàn)了GRE隧道的鏈路狀態(tài)檢測功能(Keepalive檢測功能)。Keepalive檢測功能用于時刻檢測隧道鏈路是否處于Keepalive狀態(tài),即檢測隧道對端是否可達(dá)。如果對端不可達(dá),隧道連接就會及時關(guān)閉,避免形成數(shù)據(jù)空洞。

實現(xiàn)過程

如果GRE隧道源端使能Keepalive檢測功能,則會周期地發(fā)送Keepalive探測報文給對端。若對端可達(dá),則源端會收到對端的回應(yīng)報文;否則,收不到對端的回應(yīng)報文。具體過程如下:

  1. 當(dāng)GRE隧道的源端使能Keepalive檢測功能后,就創(chuàng)建一個定時器,周期地發(fā)送Keepalive探測報文,同時進行不可達(dá)計數(shù)。每發(fā)送一個探測報文,不可達(dá)計數(shù)加1。
  2. 對端每收到一個探測報文,就給源端發(fā)送一個回應(yīng)報文。
  3. 如果源端的計數(shù)器值未達(dá)到預(yù)先設(shè)置的值就收到回應(yīng)報文,就表明對端可達(dá),并把不可達(dá)計數(shù)清零。如果源端的計數(shù)器值到達(dá)預(yù)先設(shè)置的值——重試次數(shù)(Retry Times)時,還沒收到回送報文,就認(rèn)為對端不可達(dá)。此時,源端將關(guān)閉隧道連接。

對于NE40E實現(xiàn)的GRE,只要在隧道一端配置Keepalive,該端就具備Keepalive功能,而不要求隧道對端也具備該功能。隧道對端收到報文,如果是Keepalive探測報文,無論是否配置Keepalive,都會給源端發(fā)送一個回應(yīng)報文。

使用價值

Keepalive檢測功能可以檢測隧道狀態(tài),避免因?qū)Χ瞬豢蛇_(dá)而造成的數(shù)據(jù)丟失,保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

GRE的安全機制

 

GRE支持識別關(guān)鍵字驗證。識別關(guān)鍵字(key)是指對Tunnel接口進行校驗。通過這種弱安全機制,可以防止錯誤識別、接收其它地方來的報文。

相關(guān)標(biāo)準(zhǔn)中規(guī)定:若GRE報文頭中的K位為1,則在GRE頭中插入關(guān)鍵字字段,收發(fā)雙方將進行通道識別關(guān)鍵字的驗證。

關(guān)鍵字是一個四字節(jié)長的數(shù),在報文封裝時被插入GRE頭。關(guān)鍵字的作用是標(biāo)志隧道中的流量。屬于同一流量的報文使用相同的關(guān)鍵字。在報文解封裝時,隧道端將基于關(guān)鍵字來識別屬于相同流量的數(shù)據(jù)報。

只有Tunnel兩端設(shè)置的識別關(guān)鍵字完全一致時才能通過驗證,否則將報文丟棄。這里的“完全一致”是指兩端都不設(shè)置識別關(guān)鍵字;或者兩端都設(shè)置關(guān)鍵字,且關(guān)鍵字的值相等。

GRE應(yīng)用

擴大跳數(shù)受限的網(wǎng)絡(luò)工作范圍

 

圖3-6 擴大網(wǎng)絡(luò)工作范圍

詳解通用路由封裝協(xié)議GRE

 

在圖3-6中,網(wǎng)絡(luò)運行IP協(xié)議,假設(shè)IP協(xié)議限制跳數(shù)為255。如果兩臺PC之間的跳數(shù)超過255,它們將無法通信。在網(wǎng)絡(luò)中使用隧道可以隱藏一部分步跳,從而擴大網(wǎng)絡(luò)的工作范圍。

將不連續(xù)的子網(wǎng)連接起來,用于組建VPN

 

使用GRE隧道可以將不連續(xù)的子網(wǎng)連接起來,實現(xiàn)跨越廣域網(wǎng)的VPN。

例如,兩個VPN子網(wǎng)Site1和Site2位于不同的城市,通過在網(wǎng)絡(luò)邊界設(shè)備之間建立GRE隧道,可以把這兩個子網(wǎng)連接成一個連續(xù)的VPN網(wǎng)絡(luò)。

GRE可應(yīng)用于L2VPN,也可以應(yīng)用于L3VPN。有兩種模式:

  • CPE-based VPN中,GRE隧道兩端駐留在CE上,如圖3-7。圖3-7 GRE in CPE-based VPN
  • Network-based VPN中,GRE隧道兩端駐留在PE上,如圖3-8。圖3-8 GRE in Network-based VPN

通常,VPN骨干網(wǎng)使用LSP作為公網(wǎng)隧道。但如果骨干網(wǎng)核心設(shè)備(P設(shè)備)只提供純IP功能,不具備MPLS功能;而網(wǎng)絡(luò)邊緣的PE具備MPLS功能,這樣,就不能使用LSP作為公網(wǎng)隧道。此時,可以使用GRE隧道替代LSP,在核心網(wǎng)提供三層或二層VPN解決方案。其私網(wǎng)報文在VPN骨干網(wǎng)中傳輸時,報文格式如圖3-9。

圖3-9 含MPLS標(biāo)簽的GRE報文格式

詳解通用路由封裝協(xié)議GRE

 

GRE隧道也可以作為非MPLS的VPN骨干網(wǎng)隧道。這種情況下,私網(wǎng)報文在VPN骨干網(wǎng)中傳輸時不含有MPLS標(biāo)簽,其報文格式如圖3-10。

圖3-10 不含MPLS標(biāo)簽的GRE報文格式

詳解通用路由封裝協(xié)議GRE

 

CE采用GRE隧道接入MPLS VPN

 

在MPLS VPN中,為了讓用戶端設(shè)備CE(Customer Edge)接入VPN中往往需要CE與MPLS骨干網(wǎng)的PE(Provider Edge)設(shè)備之間有直接的物理鏈路,即在同一個網(wǎng)絡(luò)中。在這樣的組網(wǎng)中,需要在PE上將VPN與PE到CE的物理接口進行關(guān)聯(lián)。

如圖3-11所示,在實際組網(wǎng)中,并非所有的CE和PE都能用物理鏈路直接相連。例如,很多已經(jīng)連接到Internet或基于IP技術(shù)的骨干網(wǎng)上的機構(gòu),其CE和PE設(shè)備之間地理位置上相距甚遠(yuǎn),不可能直接接入到MPLS骨干網(wǎng)的PE設(shè)備上。這樣就無法通過Internet或者是IP骨干網(wǎng)直接訪問MPLS VPN內(nèi)部的站點。

圖3-11 CE使用基于IP技術(shù)的骨干網(wǎng)接入MPLS VPN骨干網(wǎng)

詳解通用路由封裝協(xié)議GRE

 

為了讓CE能接入到MPLS VPN且可以保證數(shù)據(jù)傳輸?shù)陌踩裕梢栽贑E和PE間利用公共網(wǎng)絡(luò)或某私有網(wǎng)絡(luò)相連,并在CE與PE之間創(chuàng)建GRE隧道。這樣,可以看成CE和PE直連。在PE上將VPN與PE-CE之間的接口進行關(guān)聯(lián)時,就可以把GRE隧道當(dāng)作一個物理接口,在這個接口上進行VPN關(guān)聯(lián)。

采用GRE隧道接入MPLS VPN時,GRE的實現(xiàn)模式可按以下三種情形來劃分:

  • 私有網(wǎng)絡(luò)的GRE:GRE隧道關(guān)聯(lián)某個VPN實例,而GRE隧道的源接口(或源地址)和目的地址也屬于該VPN實例。
  • 穿過公網(wǎng)的GRE:GRE隧道關(guān)聯(lián)某個VPN實例,GRE隧道的源地址和目的地址為公網(wǎng)地址,不屬于VPN實例。
  • 穿越VPN的GRE:GRE隧道關(guān)聯(lián)某個VPN實例(例如VPN1),GRE隧道的源接口綁定了另一個VPN實例(例如VPN2),即GRE隧道需要穿越VPN2。

私有網(wǎng)絡(luò)的GRE

圖3-12 私有網(wǎng)絡(luò)的GRE示意圖

詳解通用路由封裝協(xié)議GRE

 

如圖3-12所示,GRE隧道的源和目的地址都屬于私有網(wǎng)絡(luò)。在實際的應(yīng)用中在私有網(wǎng)絡(luò)里再創(chuàng)建一個隧道到PE的使用價值不高,因此不推薦使用,建議直接使用Device1作為CE設(shè)備。

穿過公網(wǎng)的GRE

在這種組網(wǎng)中,CE和PE都需要有屬于公網(wǎng)的接口,該接口需要使用公網(wǎng)IP地址。CE的公網(wǎng)路由表中需要有到PE的路由,PE公網(wǎng)路由表也需要有到CE的路由。

圖3-13 穿越公網(wǎng)的GRE示意圖

詳解通用路由封裝協(xié)議GRE

 

此外,為了讓CE上的私網(wǎng)流量通過隧道傳輸?shù)絇E上,CE的路由表中,到遠(yuǎn)端site網(wǎng)段路由的出接口為GRE隧道接口,下一跳為隧道對端接口的IP地址。

穿越VPN的GRE

與穿過公網(wǎng)的GRE相比,穿越VPN的GRE不同點在于CE不是通過公共網(wǎng)絡(luò)與PE互連,而是通過另一個VPN(如VPN2)與PE互連。也就是說,CE上流向PE的私網(wǎng)數(shù)據(jù)的出接口及PE上返回該CE的私網(wǎng)數(shù)據(jù)流量的出接口都屬于VPN2。

圖3-14 穿越VPN的GRE示意圖

詳解通用路由封裝協(xié)議GRE

 

例如圖3-14中,PE1和PE2是一級運營商的MPLS骨干網(wǎng)邊界設(shè)備。VPN2是屬于二級運營商的一個VPN。CE1和CE2是屬于用戶的設(shè)備。

為了在此網(wǎng)絡(luò)環(huán)境中部署一個基于MPLS網(wǎng)絡(luò)的VPN(如VPN1),可以在PE1和CE1之間搭建一個穿越VPN2的GRE,在邏輯上使CE1與PE1直連。

GRE在ERSPAN網(wǎng)絡(luò)中的應(yīng)用

 

ERSPAN是一種流量鏡像協(xié)議,它允許向一個乃至多個端口或VLAN做流量鏡像。這些流量鏡像將被發(fā)送到服務(wù)器,用于做流量監(jiān)控。

如圖3-15所示,交換機A通過IP網(wǎng)絡(luò)向交換機B發(fā)送流量。同時為做流量監(jiān)控,交換機A通過ERSPAN將交換機A發(fā)給交換機B的流量做出鏡像流量,即發(fā)送備份流量到交換機C,這樣,只需將分析或偵聽設(shè)備連接至監(jiān)控端口,即可實現(xiàn)對被監(jiān)控端口的分析和偵聽。通過建立GRE隧道,ERSPAN允許鏡像報文跨越一個IP網(wǎng)絡(luò),將ERSPAN報文封裝成GRE報文在IP網(wǎng)絡(luò)內(nèi)傳輸?shù)浇粨Q機C上。

圖3-15 GRE在ERSPAN網(wǎng)絡(luò)中應(yīng)用的組網(wǎng)圖

詳解通用路由封裝協(xié)議GRE

分享到:
標(biāo)簽:路由 封裝 協(xié)議
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定