2016-06-07 82 views
1

我知道這不是典型的,合法的 stackoverflow問題,但它似乎是一個非常艱難的,因爲沒有人有一個確切的答案。所以,回到主題,我知道有一個隧道ID元數據匹配字段,它是在1.3 openflow版本中引入的,如果我沒有弄錯的話。但是,在支持隧道協議的封裝和解封裝過程中是否有任何行動,比如GTP?我猜想,由於隧道元數據存在於openflow匹配實現中,所以在這種情況下,爲了將實際隧道ip包的路由決策應用於特定的encap/decap操作,具體是什麼?OpenFlow中的GTP支持

回答

1

tunnel_id是一個通用的字段,其中隧道協議標識符應當匹配(參見OpenFlow spec 1.5):

在隧道ID字段中的可選封裝元數據的映射是由邏輯端口定義實現,它依賴於邏輯端口的類型,並且是實現特定的。我們建議對於通過包含(32位)密鑰的GRE隧道接收的數據包,密鑰存儲在較低的32位中,高位爲零。我們建議對於MPLS邏輯端口,低20位表示MPLS標籤。我們建議對於VxLAN邏輯端口,低24位表示VNI。

因此,基本上,是的,如果一些設備將解析GTP報頭,它應該(可能)的TEID映射到tunnel_id領域,這一切似乎是直接在數據路徑內完成 - 自動並且 - 根據規範 - 沒有任何可以/不得不採取的進一步行動。

關於GTP:我不知道在任何支持它的普遍可用的OpenFlow硬件(我很喜歡,我們有這方面的用例..)。

+0

我對自己的GTP事情有了更多的瞭解,簡短的回答是NO,在當前的OpenFlow實現中,由於GTP本身不是交換機定義的,所以gtp頭中的TEID不會被識別。 – pa5h1nh0