真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

TungstenFabric入門(mén)寶典丨關(guān)于服務(wù)鏈、BGPaaS及其它

Tungsten Fabric入門(mén)寶典系列文章 ,來(lái)自技術(shù)大牛傾囊相授的實(shí)踐經(jīng)驗(yàn),由TF中文社區(qū)為您編譯呈現(xiàn),旨在幫助新手深入理解TF的運(yùn)行、安裝、集成、調(diào)試等全流程。如果您有相關(guān)經(jīng)驗(yàn)或疑問(wèn),歡迎與我們互動(dòng),并與社區(qū)極客們進(jìn)一步交流。更多TF技術(shù)文章,請(qǐng)點(diǎn)擊公號(hào)底部按鈕>學(xué)習(xí)>文章合集。

作者:Tatsuya Naganawa  譯者:TF編譯組

成都創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)的網(wǎng)站制作公司,提供的服務(wù)包括:品牌網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),我們是一家專(zhuān)業(yè)網(wǎng)絡(luò)公司,做網(wǎng)站,我們是認(rèn)真的。我們是成都網(wǎng)站制作,成都網(wǎng)站建設(shè)的先行者,一切以客戶(hù)的利益為設(shè)計(jì)方向,能夠?yàn)椴煌袠I(yè)的客戶(hù)提供全面、長(zhǎng)期、深入的網(wǎng)絡(luò)解決方案。 成都創(chuàng)新互聯(lián)公司根據(jù)客戶(hù)的具體需求,提供從策劃、創(chuàng)意、制作、執(zhí)行等服務(wù)。



   服務(wù)鏈

盡管有很多用例,但NFVI將成為T(mén)ungsten Fabric最突出的用例之一,這是由于NFVI許多獨(dú)特的功能,使其成為實(shí)現(xiàn)軟件的基礎(chǔ)。

其中最著名的功能就是服務(wù)鏈(service-chain),該功能可在不更改VNF IP的情況下管理流量,從而可以實(shí)時(shí)插入和刪除VNF。

由于vRouter可以在內(nèi)部包含VRF,因此它可以在VNF的每個(gè)接口上都具有VRF,并且可以通過(guò)虛假的下一跳處理流量,例如發(fā)送給下一個(gè)VNF。

Tungsten Fabric的服務(wù)鏈?zhǔn)峭ㄟ^(guò)這種方式實(shí)現(xiàn)的,因此一旦創(chuàng)建服務(wù)鏈,你將看到很多個(gè)VRF被創(chuàng)建,并且將插入下一跳,將流量發(fā)送到服務(wù)鏈中的下一個(gè)VNF。

  • VRF(在control的術(shù)語(yǔ)中是routing-instance)被命名為domain-name:project-name:virtual-network-name:routing-instance-name。在大多數(shù)情況下,virtual-network-name和routing-instance-name是相同的,但是服務(wù)鏈?zhǔn)窃撘?guī)則的一個(gè)例外


要設(shè)置一個(gè)服務(wù)鏈?zhǔn)纠?,可以按照以下視頻中的步驟進(jìn)行操作:

  • https://www.youtube.com/watch?v=h6qOqsPtQ7M


之后,你可以看到左側(cè)virtual-network具有右側(cè)virtual-network的前綴,并帶有更新的下一跳,該前綴指向VNF的左側(cè)接口,對(duì)于右側(cè)virtual-network反之亦然。

注意:據(jù)我所知,在使用服務(wù)鏈v2時(shí),僅使用“左”和“右”接口進(jìn)行服務(wù)鏈計(jì)算,而“管理”和“其它”接口則被忽略

   L2, L3, NAT

有許多具有不同流量類(lèi)型集的VNF,因此NFVI的SDN也需要支持多種流量類(lèi)型。

為此,Tungsten Fabric服務(wù)鏈支持三種流量類(lèi)型,即l2,l3,nat。

l2服務(wù)鏈(也稱(chēng)為透明服務(wù)鏈)可以與透明VNF一起使用,透明VNF與網(wǎng)橋具有相似的功能,并基于arp響應(yīng)發(fā)送報(bào)文。

盡管vRouter始終使用相同的mac地址(00:01:00:5e:00:00),

  • https://github.com/Juniper/contrail-controller/wiki/Contrail-VRouter-ARP-Processing#vrouter-mac-address


但這種情況是該規(guī)則的例外,VNF左側(cè)的vRouter使用dest mac: 2:0:0:0:0:2發(fā)送流量,而VNF右側(cè)的vRouter使用dest mac 1:0:0:0:0:1發(fā)送流量。因此,bridge-type的VNF會(huì)將流量發(fā)送到其接口的另一側(cè)。

請(qǐng)注意,即使使用l2 vnf,左側(cè)virtual-network和右側(cè)virtual-network也需要具有不同的子網(wǎng)。這可能有點(diǎn)反常,但是由于vRouter可以進(jìn)行l(wèi)3路由,因此可以使用vRouter - L2VNF - vRouter,就像router - L2VNF – router是可以接受的一樣。

另一方面,l3服務(wù)鏈(也稱(chēng)為in-network服務(wù)鏈)將在不更改mac地址的情況下將流量發(fā)送到VNF,因?yàn)樵谶@種情況下,VNF將根據(jù)其目標(biāo)IP進(jìn)行路由(類(lèi)似于路由器的行為)。除mac地址外,其行為與l2的情況幾乎相同。

Nat服務(wù)鏈類(lèi)似于l3服務(wù)鏈,因?yàn)樗M鸙NF根據(jù)目標(biāo)IP進(jìn)行路由。一個(gè)很大的區(qū)別是,它將右側(cè)virtual-network的前綴復(fù)制到左側(cè)virtual-network,但是不會(huì)將左側(cè)virtual-network的前綴復(fù)制到右側(cè)virtual-network!

  • 因此左/右接口需要仔細(xì)選擇,因?yàn)樵谶@種情況下它是不對(duì)稱(chēng)的


這種服務(wù)鏈形式的典型用例是,在用于Internet訪問(wèn)的SNAT等情況下,VNF的左側(cè)接口具有私網(wǎng)IP,而右側(cè)接口具有全局IP。由于私網(wǎng)IP無(wú)法導(dǎo)出到Internet,在這種情況下,左側(cè)virtual-network的前綴無(wú)法復(fù)制到右側(cè)virtual-network。

   ECMP,多VNF

服務(wù)鏈功能還支持ECMP設(shè)置,用于規(guī)?;渴稹?/section>
  • 配置基本相同,但需要將多個(gè)端口-元組分配給一個(gè)服務(wù)實(shí)例。


在這之后,你會(huì)發(fā)現(xiàn),流量將根據(jù)5個(gè)數(shù)據(jù)包的5元組進(jìn)行負(fù)載平衡。

多VNF也可以設(shè)置,如果將多個(gè)服務(wù)實(shí)例分配到一個(gè)網(wǎng)絡(luò)策略上,則可以設(shè)置多VNF。

當(dāng)使用l3服務(wù)鏈時(shí),雖然可能會(huì)有反直覺(jué),但需要將兩個(gè)VNF分配給同一個(gè)虛擬網(wǎng)絡(luò)。

  • 因?yàn)樗衼?lái)自VNF的數(shù)據(jù)包都會(huì)在服務(wù)鏈的獨(dú)立VRF中,所以它們可以有相同的子網(wǎng)。


也支持同時(shí)使用l2和l3,不過(guò)在這種情況下,需要將l2 vnf分配到不同的虛擬網(wǎng)絡(luò)中,其中一個(gè)網(wǎng)絡(luò)政策是附加的。

  • 在這篇博文中描述了設(shè)置示例: https://tungsten.io/building-and-testing-layer2-service-images-for-opencontrail/


   子接口

這也是NFVI中使用的功能,因此這里我也要提一下。

VNF會(huì)基于各種原因發(fā)送帶標(biāo)簽的報(bào)文。在這種情況下,如果vlan標(biāo)簽不同,則vRouter可以使用不同的VRF。

  • 類(lèi)似于Junos術(shù)語(yǔ)“set routing-instances routing-interface-name interface xxx”中的子接口


這里描述了具體操作:
https://www.youtube.com/watch?v=ANhBQe_DS2E

   DPDK

vRouter具有使用DPDK與物理NIC交互的功能。

它將經(jīng)常用于NFV類(lèi)型的部署,因?yàn)榛诩僉inux kernel的網(wǎng)絡(luò)堆棧,要獲得與典型VNF(本身可能使用DPDK或類(lèi)似技術(shù))相當(dāng)?shù)霓D(zhuǎn)發(fā)性能仍然不容易。

  • https://blog.cloudflare.com/how-to-receive-a-million-packets/


要通過(guò)ansible-deployer啟用此功能,需要設(shè)置這些參數(shù)。

bms1:
  roles:
    vrouter:
      AGENT_MODE: dpdk
      CPU_CORE_MASK: “0xe”  ## coremask for forwarding core ( Note: please don't include first core in numa to reach optimal performance :( )
      SERVICE_CORE_MASK: “0x1”  ## this is for non-forwarding thread, so isolcpu for this core is not needed
      DPDK_CTRL_THREAD_MASK: “0x1”  ## same as SERVICE_CORE_MASK
      DPDK_UIO_DRIVER: uio_pci_generic  ## uio driver name
      HUGE_PAGES: 16000  ## number of 2MB hugepages, it can be smaller

當(dāng)設(shè)置為AGENT_MODE: dpdk時(shí),ansible-deployer將會(huì)安裝一些容器,例如vrouter-dpdk——這是一個(gè)針對(duì)物理NIC運(yùn)行PMD的進(jìn)程。因此在這種情況下,將基于DPDK實(shí)現(xiàn)從vRouter到物理NIC的轉(zhuǎn)發(fā)。

注意:

1. 由于vRouter鏈接到PMD的數(shù)量有限,因此要使用某些特定的NIC,可能需要重新構(gòu)建vRouter

  • https://github.com/Juniper/contrail-vrouter/blob/master/SConscript#L321


2. 對(duì)于某些NIC(例如XL710),不能使用uio_pci_generic。在這種情況下,需要改用vfio-pci

  • https://doc.dpdk.org/guides-18.05/rel_notes/known_issues.html#uio-pci-generic-module-bind-failed-in-x710-xl710-xxv710


由于在這種情況下,vRouter的轉(zhuǎn)發(fā)平面不在kernel空間中,因此無(wú)法使用tap設(shè)備從VM獲取報(bào)文。為此,QEMU具有“vhostuser”的功能,用于在用戶(hù)空間中將報(bào)文發(fā)送到dpdk進(jìn)程。當(dāng)vRouter配置為AGENT_MODE: dpdk時(shí),nova-vif-driver將自動(dòng)創(chuàng)建vhostuser vif,而不是創(chuàng)建用于kernel vRouter的tap vif。

  • 從VM方面看,它看起來(lái)仍然像virtio,因此可以使用常規(guī)的virtio驅(qū)動(dòng)程序與DPDK vRouter進(jìn)行通信。


一個(gè)警告是,當(dāng)QEMU將要連接到vhostuser界面時(shí),qemu還需要為此提供巨大的支持。使用OpenStack時(shí),此knob將為每個(gè)VM分配大量頁(yè)面。

Tungsten Fabric入門(mén)寶典丨關(guān)于服務(wù)鏈、BGPaaS及其它

為了達(dá)到最佳性能,kernel和dpdk進(jìn)程本身都有很多調(diào)整參數(shù)。對(duì)我來(lái)說(shuō),在kernel方面以下兩篇文章是最有幫助的。

  • https://www.redhat.com/en/blog/tuning-zero-packet-loss-red-hat-openstack-platform-part-1

  • https://www.redhat.com/en/blog/going-full-deterministic-using-real-time-openstack

  • cat /proc/sched_debug也可用于查看核心隔離是否運(yùn)行良好


而在vRouter方面,這一點(diǎn)可能需要注意。

1. vRouter將使用基于5-tuple的核心負(fù)載均衡,因此為了獲得最佳性能,可能需要增加流的數(shù)量

  • https://www.openvswitch.org/support/ovscon2018/6/0940-yang.pptx


注意:當(dāng)使用vrouter-dpdk時(shí),使用untagged數(shù)據(jù)包可能會(huì)帶來(lái)更多的吞吐量(這意味著在不使用--vlan_tci的情況下提供vrouter-dpdk)

   BGPaaS

BGPaaS也是Tungsten Fabric中比較獨(dú)特的功能,該功能用于在VNF中插入VRF的路由。

  • 從某種意義上說(shuō),它有點(diǎn)類(lèi)似于AWS VPN網(wǎng)關(guān),因?yàn)樗鼤?huì)自動(dòng)從VPC路由表中獲取路由


從操作角度來(lái)看,使用vRouter的網(wǎng)關(guān)IP和服務(wù)IP,vRouter中的VNF將具有IPV4 bgp對(duì)等方。

一個(gè)值得注意的用例是設(shè)置ipsec VNF,它可以通過(guò)VPN網(wǎng)關(guān)連接到公共云。在這種情況下,VPC的路由表將被復(fù)制到VNF,并將通過(guò)BGPaaS復(fù)制到vRouter的VRF,因此,當(dāng)在公共云的VPC中新添加修改的子網(wǎng)時(shí),所有前綴均會(huì)被正確分配。

   Service Mesh

Istio運(yùn)行良好,多集群也是其中很有趣的主題。

  • https://www.youtube.com/watch?v=VSNc9qd2poA


  • https://istio.io/docs/setup/kubernetes/install/multicluster/vpn/





Tungsten Fabric入門(mén)寶典系列文章——


  1. 首次啟動(dòng)和運(yùn)行指南

  2. TF組件的七種“武器”

  3. 編排器集成

  4. 關(guān)于安裝的那些事(上)

  5. 關(guān)于安裝的那些事(下)

  6. 主流監(jiān)控系統(tǒng)工具的集成

  7. 開(kāi)始第二天的工作

  8. 8個(gè)典型故障及排查T(mén)ips

  9. 關(guān)于集群更新的那些事

  10. 說(shuō)說(shuō)L3VPN及EVPN集成


 Tungsten Fabric 架構(gòu)解析 系列文章——


  • 第一篇: TF主要特點(diǎn)和用例

  •   第二篇: TF怎么運(yùn)作

  •    第三篇:詳解vRouter體系結(jié)構(gòu)

  •    第四篇: TF的服務(wù)鏈

  •   第五篇: vRouter的部署選項(xiàng)

  •    第六篇: TF如何收集、分析、部署?

  •    第七篇: TF如何編排

  •   第八篇: TF支持API一覽

  •   第九篇: TF如何連接到物理網(wǎng)絡(luò)

  •   第十篇: TF基于應(yīng)用程序的安全策略

Tungsten Fabric入門(mén)寶典丨關(guān)于服務(wù)鏈、BGPaaS及其它

Tungsten Fabric入門(mén)寶典丨關(guān)于服務(wù)鏈、BGPaaS及其它


文章題目:TungstenFabric入門(mén)寶典丨關(guān)于服務(wù)鏈、BGPaaS及其它
文章位置:http://weahome.cn/article/popogp.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部