OpenFlow中的GTP支持

时间:2016-06-07 08:13:40

标签: sdn tunneling openflow

我知道这不是典型的,法律 stackoverflow问题,但它似乎是一个非常艰难的问题,因为没有人有一个确切的答案。所以,回到主题,我知道在1.3 openflow版本中引入了 tunnel-id 元数据匹配字段,如果我没有弄错的话。但是,是否有任何支持隧道协议封装和解封装过程的操作,如GTP?我想有,因为隧道元数据存在于开放流匹配实现中,所以在这种情况下,具体的封装/删除操作是什么,以便在实际的隧道IP数据包上应用路由决策?

1 个答案:

答案 0 :(得分:1)

tunnel_id是一个通用字段,隧道协议的标识符应与之匹配(参见OpenFlow spec 1.5):

  

隧道ID字段中可选封装元数据的映射由逻辑端口实现定义,它取决于逻辑端口的类型,并且是特定于实现的。我们建议对于通过包含(32位)密钥的GRE隧道接收的数据包,密钥存储在低32位中,高位归零。我们建议对于MPLS逻辑端口,低20位表示MPLS标签。我们建议对于VxLAN逻辑端口,低24位代表VNI。

所以基本上,是的,如果某个设备会解析GTP标头,(可以)将 TEID 映射到tunnel_id字段以及所有这些似乎是直接在数据路径中完成 - 自动和 - 根据规范 - 没有任何可以/必须应用的进一步操作。

关于GTP:我不知道支持它的任何普遍可用的OpenFlow硬件(我很喜欢,我们有用例......)。