文章編號: 241251 - 上次校閱: 2007年2月28日 - 版次: 2.2

VPN 通道-GRE 通訊協定 47 封包說明和使用

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

結論

一般路由封裝 」 (GRE) 通訊協定是建立虛擬私人網路 (VPN) 用戶端之間或用戶端和伺服器之間使用點對點通道通訊協定 (PPTP) 一起使用。

其他相關資訊

其中一個受歡迎的實作是使用 Microsoft 的 VPN 技術,如下所示,針對 LAN LAN 路由,設定的兩個路由及遠端存取服務 (RRAS) 伺服器之間:
Lclient           L-RRAS ===== VPN ===== R-RRAS           Rclient
    |      IP      |  |      Internet     |  |      IP      |
     --------------    -------------------    --------------
				
若要進一步瞭解使用 GRE 來建立及使用 VPN,很有幫助瞭解封包結構。PPTP 控制項之後建立工作階段,GRE 用來封裝資料或內容以安全的方式。取得更多資訊有關 PPTP 按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
241252? (http://support.microsoft.com/kb/241252/EN-US/ ) VPN 通道-PPTP 通訊協定封包說明和使用
GRE 封包格式,Microsoft 使用來封裝資料有下列的一般形式:
   +-----------------------------------+
   | Data Link (D/L) Header            | 
   +-----------------------------------+
   | IP Header                         | 
   +-----------------------------------+
   | GRE Header                        | 
   +-----------------------------------+
   | PPP Header                        | 
   +-----------------------------------+
   | Encrypted PPP Payload             | 
   +-----------------------------------+
   | Data Link Trailer                 | 
   +-----------------------------------+
				
設定點對點通訊協定 (PPP) 標頭並再放在 GRE 封包內的資料或即將要通過通道的內容。GRE 封包會沿用將兩個通道結束點的資料。GRE 封包已經抵達最終目的地 (通道端點) 之後會被捨棄,並且封裝的封包再傳輸到最終目的地。

使用 [此區段上方的 [圖表],Lclient 從一個網際網路通訊協定 (IP) 封包是第一次傳送至 L RRAS 伺服器。IP 封包是加密、 提供額外的 PPP 標頭,然後放在 GRE 封包內。因為 PPP 標頭也加密與資料一併如下圖說 「 PPP 虛設常式"和不"PPP 標頭 」。雖然它不能看到它,GRE 通訊協定均設定為 [知道 PPP 標頭的存在。GRE 封包,以封裝和加密的資料會傳送透過網際網路與最終目的地的 R RRAS 伺服器。R RRAS 伺服器刪除關閉 GRE 標頭和 PPP 標頭,並會傳輸至 Rclient 解密的資料 (IP 封包)。
Lclient           L-RRAS ===== VPN ===== R-RRAS           Rclient
    |      IP      |  |      Internet     |  |      IP      |
     --------------    -------------------    --------------
    D/L header             D/L header            D/L header
    IP header              IP header             IP header
    Payload                GRE header            Payload
                           PPP stub
                           Payload (encrypted)
				

通訊協定標頭

若要瞭解 GRE 通訊協定為壓縮的通訊協定的運作方式,您需要檢閱的通訊協定標頭格式。GRE 封包標頭實作時由 Microsoft 具有下列形式:
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |C|R|K|S|s|Recur|A| Flags | Ver |         Protocol Type         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Key (HW) Payload Length    |       Key (LW) Call ID        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  Sequence Number (Optional)                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Acknowledgment Number (Optional)                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
				
的下列表格列出每個欄位與詳細解釋它的函式以及可用的參數。
+-----------------------------------------------------------------------+
| C     | (Bit 0) Checksum Present. Set to zero (0).                    | 
+-----------------------------------------------------------------------+
| R     | (Bit 1) Routing Present. Set to zero (0).                     | 
+-----------------------------------------------------------------------+
| K     | (Bit 2) Key Present. Set to one (1).                          | 
+-----------------------------------------------------------------------+
|       | (Bit 3) Sequence Number Present. Set to one (1) if a payload  |
| S     | (data) packet is present. Set to zero (0) if payload is not   |
|       | present (GRE packet is an Acknowledgment only).               | 
+-----------------------------------------------------------------------+
| s     | (Bit 4) Strict source route present. Set to zero (0).         | 
+-----------------------------------------------------------------------+
| Recur | (Bits 5-7) Recursion control. Set to zero (0).                | 
+-----------------------------------------------------------------------+
|       | (Bit 8) Acknowledgment sequence number present. Set to one (1)| 
| A     | if packet contains Acknowledgment Number to be used for       |
|       | acknowledging previously transmitted data.                    | 
+-----------------------------------------------------------------------+
| Flags | (Bits 9-12) Must be set to zero (0).                          | 
+-----------------------------------------------------------------------+
| Ver   | (Bits 13-15) Must contain 1 (enhanced GRE).                   | 
+-----------------------------------------------------------------------+
|=======================================================================|
+-----------------------------------------------------------------------+
| Protocol Type           | Set to hex 880B (for PPP).                  | 
+-----------------------------------------------------------------------+
| Key (HW) Payload Length | (High 2 octets of Key) Size of the payload, |
|                         | not including the GRE header.               | 
+-----------------------------------------------------------------------+
| Key (LW) Call ID        | (Low 2 octets) Contains the Peer's Call ID  |
|                         | for the session to which this packet        | 
|                         | belongs.                                    |
+-----------------------------------------------------------------------+
| Sequence Number         | Contains the sequence number of the payload.|
|                         | Present if S bit (Bit 3) is one (1).        | 
+-----------------------------------------------------------------------+
|                         | Contains the sequence number of the highest |
| Acknowledgment Number   | numbered GRE packet received by the sending |
|                         | peer for this user session. Present if A bit|
|                         | (Bit 8) is one (1).                         | 
+-----------------------------------------------------------------------+
				

增強功能

GRE 通訊協定有幾個值得注意的增強功能。這些是來自要求的註解 (RFC) 2637年。
  • 一個通知編號] 欄位中。這用來判斷一個特定的 GRE 封包或封包一組已經抵達通道遠端結尾處。這項通知功能不會使用配合任何重新傳輸的使用者資料封包。它是而用來判斷使用者資料封包是以指定的使用者工作階段,透過通道傳輸的速率。
  • 通道可攜性。承載區段包含 PPP 資料封包而不需特定媒體的框架中的任何項目。
  • 序列數字的追蹤。涉及的序列數字是每個封包序列數字。每個使用者工作階段的序號會設定為零在工作階段啟動時。針對給定的使用者工作階段,包含裝載 (而且有設定為其中一個 [S 位元或位元 3) 傳送的每個封包會指派下一個連續的序號為該工作階段。
  • 承載認可的使用方式。此通訊協定允許執行與資料的認可,並讓整體更有效率可通訊協定輪流需要較少緩衝的封包。

「 網路監視器追蹤

當您查看網路監視器追蹤,您應該注意幾件事。旗標摘要組成的第一個 16 位元十六進位值。在範例封包下面的中,旗標摘要是 12,417 或 0x3081h。Microsoft 網路監視器剖析器不能代表標幟位元欄位中的版本號碼,但它是有。比方說假設下列的範例封包:
GRE: Flags Summary = 12417 (0x3081)
          GRE: 0............... = Checksum Absent
          GRE: .0.............. = Routing Absent
          GRE: ..1............. = Key Present
          GRE: ...1............ = Sequence Number Present
          GRE: ....0........... = Strict Source Route Absent
          GRE: ........1....... = Acknowledge Sequence Number Present
      GRE: Recursion Control = 0 (0x0)
      GRE: Ver = 1 (0x1)
      GRE: Protocol Type = 0x880B
      GRE: Key Length = 90 (0x5A)
      GRE: Key Call ID = 32768 (0x8000)
      GRE: Sequence Number = 16 (0x10)
      GRE: Ack Number = 15 (0xF)
				
的第一個 8 個位元是 00110000,用來表示十六進位數值 30。 接下來的 8 位元是 81 的 10000001,用來表示的十六進位值。 因此,旗標摘要是 0x3081h 或十進位格式 12,417。

這篇文章中的資訊適用於:
  • Microsoft Windows NT Server 4.0, Terminal Server Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows NT Server 4.0 Standard Edition
關鍵字:?
kbmt kbinfo kbnetwork KB241251 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:241251? (http://support.microsoft.com/kb/241251/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。