《云数据中心网络与SDN:技术架构与实现》——1.12.3 STT

举报
华章计算机 发表于 2019/06/06 13:35:50 2019/06/06
【摘要】 本书摘自《云数据中心网络与SDN: 技术架构与实现》——书中第1章,第1.12.3节,作者是张晨。

1.12.3 STT

STT(Stateless Transport Tunnel,RFC Draft)是Nicira提出的数据中心虚拟化技术,是一种MACinTCP的隧道,其封装格式如图1-38所示。之所以设计STT,是因为希望利用网卡的TSO(TCP Segment Offload)功能在隧道两端进行分片以支持巨型帧的传输,提高端到端的通信效率。

虽然用到了TCP头,但是STT修改了里面的Seq字段和Ack字段的含义,不再用于重传和滑动窗口,是一种无状态的隧道。准确地说,STT使用的是一种类TCP的Header,只是为了伪装成TCP段来进行TSO。Src Port可用来做ECMP,DST Port为7471Ack用来标识STT帧,Seq的高16位用于标识STT帧的长度,低16位用于标识当前帧的偏移量。STT帧被分片后,各片的Ack和Seq的高16位均相同,而Seq的低16位各不相同,隧道出口设备上的网卡用之进行分片重组。TCP Flag和Urgent Pointer都不再具有意义。Version现为0,Flags标识了内层数据的类型与相关信息,L4 Offset标识了STT帧的末位到内层数据Layer 4(TCP/UDP)的偏移量,MSS为最大的分片长度,PCP为传输优先级,VLAN ID用于与VLAN网络互通,租户标识为64位的VN Context。STT的外层的报头可以为IPv4或者IPv6。

image.png

图1-38 STT封装格式

和NvGRE一样,STT也没有规定地址学习机制,同样要配合SDN控制器完成转发。STT支持与VLAN Trunk的互通,不支持伪广播,也没有内生的MTU发现机制,RFC中建议了对DSCP和ECN的支持。

STT有一个致命的缺陷——它的TCP是无连接的,并不进行三次握手,也没有对于状态的维护。虽然网卡做TSO时不关心这个问题,但防火墙、负载均衡器这些盒子可就不买账了,因此STT在实际部署时会受到很大的限制。Nicira被VMware收购后,STT在NSX中(在4.1节中会详细介绍)只被用来做Hyper-Hyper的隧道,打通物理网络还是要用VxLAN。在NSX最新的版本NSX-T中,STT已经被Geneve所取代,STT在IETF中Draft的状态也成了Expired,STT就此成为历史,不过其独特的技术思路还是给Geneve提供了一些借鉴。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。