GRE封裝解封裝過程

2021-07-04 05:27:08 字數 1702 閱讀 8884

gre採用了tunnel(隧道)技術,是vpn(virtual private network)的第三層隧道協議。tunnel是乙個虛擬的點對點的連線,提供了一條通路使封裝的資料報文能夠在這個通路上傳輸,並且在乙個tunnel的兩端分別對資料報進行封裝及解封裝。

gre加封裝過程如下:

1、router a 收到x 協議報文後,首先交由x 協議處理

2、x 協議檢查報文頭中的目的位址域來確定如何路由此包

3、若報文的目的位址要經過tunnel 才能到達,則裝置將此報文發給相應的tunnel 介面

4、tunnel 口收到此報文後進行gre 封裝,在封裝ip 報文頭後,裝置根據此ip 包的目的位址及路由表對報文進行**,從相應的網路介面傳送出去。

5、router a

根據封裝的

ip報文頭的目的位址,查詢路由表,對封裝後的報文進行**。

gre協議實際上是一種封裝協議,它提供了將一種協議的報文封裝在另一種協議報文中的機制,使報文能夠在異種網路中傳輸。異種報文傳輸的通道稱為tunnel(隧道)。

gre隧道不能配置二層資訊,但

可以配置ip位址。gre利用為隧道指定的實際物理介面完成**,**過程如下:

(1) 所有發往遠端vpn的原始報文,首先被傳送到隧道源端;

(2) 原始報文在隧道源端進行gre封裝,填寫隧道建立時確定的隧道源位址和目的位址,然後再通過公共ip網路**到遠端vpn網路。

gre封裝後的報文格式:

圖1.gre協議棧

圖2.gre封裝格式

gre解封裝過程:與加封裝過程相反

(1)routerb 從tunnel 介面收到ip報文

,檢查目的位址

(2)如果發現目的地是本路由器

,則routerb 剝掉此報文的ip 報頭,交給gre 協議處理(進行檢驗金鑰、檢查校驗和

及報文的序列號等)

(3)gre 協議完成相應的處理後,剝掉gre 報頭,再交由x 協議對此資料報進行後續的**處理。

注:gre

收發雙方的加封裝、解封裝處理,以及由於封裝造成的資料量增加,會導致使用

gre後裝置的資料**效率有一定程度的下降。

總結起來,gre的封裝過程如下:當報文需要經由隧道介面處理時,ip層的輸出函式呼叫tunnel介面的輸出函式進行加封裝處理。加封裝處理結束後,再進行ip**。gre隧道對端的解封裝過程如下:當ip層接收到gre報文,檢查到外層ip報文頭部中的協議號是47時(udp為17,tcp為6,icmp為1),那麼,ip層輸入入口函式會根據協議開關表,直接調

用gre的解封裝處理函式,對gre解封裝。解封裝完成後,再將原始資料報文送入ip輸入佇列中,以便進行進一步的傳輸。

**:參考:

資料報封裝解封裝過程

5.6 埠號的作用及常用的協議埠號有哪些 5.7 ip模組 5.8 基礎路由和交換技術 5.1 osi七層模式 osi七層模式 5.2 tcp ip協議棧 tcp ip協議棧 5.3 描述tcp協議狀態機及三次握手四次揮手過程 tcp協議狀態機及三次握手四次揮手過程 5.4 loopback網絡卡功...

OSI模型中的資料封裝與解封裝過程

資料封裝 data encapsulation 籠統地講,就是把業務資料對映到某個封裝協議的淨荷中,然後填充對應協議的包頭,形成封裝協議的資料報,並完成速率適配。同樣,會話層 傳輸層 網路層 假設用tcp傳輸,則是tcp資料 ip包頭 資料鏈路層 把上一層的tcp資料 ip包頭統一稱為幀資料,幀頭 ...

封裝與解封裝

封裝與解封裝 封裝動作 從高層往低層依次封裝,在每一層使用特定的協議,對資料進行處理,在資料前新增特定的協議報頭。封裝原則 1 每一層在上一層資料前新增協議報頭 2 新增完協議報頭的整體,就是該層的pdu 3 每一層的pdu對於下一層來說就是上層資料 每一層的上層資料就是上層的pdu pdu 協議資...