Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全流程。如果您有相关经验或疑问,欢迎与我们互动,并与社区极客们进一步交流。更多TF技术文章,请点击【TF中文社区】公号底部按钮>学习>文章合集。
作者:Tatsuya Naganawa 译者:TF编译组
服务链
尽管有很多用例,但NFVI将成为Tungsten Fabric最突出的用例之一,这是由于NFVI许多独特的功能,使其成为实现软件的基础。
其中最著名的功能就是服务链(service-chain),该功能可在不更改VNF IP的情况下管理流量,从而可以实时插入和删除VNF。
由于vRouter可以在内部包含VRF,因此它可以在VNF的每个接口上都具有VRF,并且可以通过虚假的下一跳处理流量,例如发送给下一个VNF。
Tungsten Fabric的服务链是通过这种方式实现的,因此一旦创建服务链,你将看到很多个VRF被创建,并且将插入下一跳,将流量发送到服务链中的下一个VNF。
- VRF(在control的术语中是routing-instance)被命名为domain-name:project-name:virtual-network-name:routing-instance-name。在大多数情况下,virtual-network-name和routing-instance-name是相同的,但是服务链是该规则的一个例外
要设置一个服务链示例,可以按照以下视频中的步骤进行操作:
- https://www.youtube.com/watch?v=h5qOqsPtQ7M
之后,你可以看到左侧virtual-network具有右侧virtual-network的前缀,并带有更新的下一跳,该前缀指向VNF的左侧接口,对于右侧virtual-network反之亦然。
注意:据我所知,在使用服务链v2时,仅使用“左”和“右”接口进行服务链计算,而“管理”和“其它”接口则被忽略
L2, L3, NAT
有许多具有不同流量类型集的VNF,因此NFVI的SDN也需要支持多种流量类型。
为此,Tungsten Fabric服务链支持三种流量类型,即l2,l3,nat。
l2服务链(也称为透明服务链)可以与透明VNF一起使用,透明VNF与网桥具有相似的功能,并基于arp响应发送报文。
尽管vRouter始终使用相同的mac地址(00:01:00:5e:00:00),
- https://github.com/Juniper/contrail-controller/wiki/Contrail-VRouter-ARP-Processing#vrouter-mac-address
但这种情况是该规则的例外,VNF左侧的vRouter使用dest mac: 2:0:0:0:0:2发送流量,而VNF右侧的vRouter使用dest mac 1:0:0:0:0:1发送流量。因此,bridge-type的VNF会将流量