• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SDN架構(gòu)的VXLAN網(wǎng)絡(luò)探索與實驗研究

      2022-04-21 21:13:20王飛
      時代金融 2022年4期
      關(guān)鍵詞:流表租戶交換機

      王飛

      摘要:近年來,隨著數(shù)據(jù)中心的不斷發(fā)展,實現(xiàn)了數(shù)據(jù)中心計算和存儲資源的虛擬化和按需分配,但網(wǎng)絡(luò)虛擬化一直受各種因素的限制,SDN技術(shù)的出現(xiàn),為有效整合現(xiàn)有數(shù)據(jù)中心網(wǎng)絡(luò)資源提供很好的解決方式。本文通過軟件仿真,對數(shù)據(jù)中心VXLAN的構(gòu)建、openflow流表的下發(fā)機制進行實驗和驗證,實現(xiàn)了SDN網(wǎng)絡(luò)集中規(guī)劃管理、控制面和數(shù)據(jù)面分離、網(wǎng)絡(luò)軟件化和網(wǎng)絡(luò)可編程等特性,為省級數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)升級轉(zhuǎn)型提供實踐經(jīng)驗。

      如今,數(shù)據(jù)中心計算和存儲資源的虛擬化和按需分配,已基本滿足各種軟硬件資源池化和信息系統(tǒng)整合重構(gòu)的要求,充分保障業(yè)務(wù)系統(tǒng)的連續(xù)性。但隨著數(shù)據(jù)中心的不斷發(fā)展壯大,網(wǎng)絡(luò)資源的有效整合利用一直被各種因素制約和限制,值得關(guān)注。

      一、數(shù)據(jù)中心網(wǎng)絡(luò)資源利用存在的問題

      (一)虛擬化環(huán)境下網(wǎng)絡(luò)配置的復雜度極大提升

      隨著數(shù)據(jù)中心計算及存儲資源不斷虛擬化,形成多個虛擬網(wǎng)絡(luò)共享底層物理網(wǎng)絡(luò)資源的情況;一方面物理層的故障將會影響虛擬網(wǎng)絡(luò)的可用性,導致網(wǎng)絡(luò)服務(wù)中斷;另一方面不同業(yè)務(wù)系統(tǒng)間虛擬網(wǎng)絡(luò)的增加,安全策略的不同,也進一步增加了網(wǎng)絡(luò)配置的復雜度,導致網(wǎng)絡(luò)運維極其困難。

      (二)虛擬化環(huán)境下大二層網(wǎng)絡(luò)不斷膨脹

      在虛擬化環(huán)境下,網(wǎng)絡(luò)虛擬機通過bridge方式接入,使得大二層網(wǎng)絡(luò)節(jié)點不斷增加;同時,為了實現(xiàn)虛擬機在不同物理服務(wù)器的自由遷移,將使得VLAN無法隔離廣播域、大二層網(wǎng)絡(luò)的不斷膨脹。以上兩種情況,導致整個數(shù)據(jù)中心被分割成相互獨立的多個業(yè)務(wù)網(wǎng)絡(luò),極大限制了虛擬機遷移的范圍和用戶網(wǎng)絡(luò)的擴展性;同時不斷的網(wǎng)絡(luò)冗余將帶來廣播包過多、交換機轉(zhuǎn)發(fā)表溢出、生成樹算法導致帶寬利用率低等問題。

      (三)多租戶網(wǎng)絡(luò)隔離難以很好的實現(xiàn)

      在目前云計算環(huán)境下,由于各業(yè)務(wù)系統(tǒng)共用一套核心交換機、路由器、防火墻等設(shè)備,數(shù)據(jù)中心存在大二層互通的需求, 為了讓大二層可以連通且區(qū)分不同租戶,通常采用VLAN技術(shù),其4k的理論數(shù)值遠不能滿足當前用戶的需求。同時,在傳統(tǒng)網(wǎng)絡(luò)基礎(chǔ)上,很難既滿足云數(shù)據(jù)中心對IP地址、VLAN、安全等網(wǎng)絡(luò)策略統(tǒng)一規(guī)劃,又實現(xiàn)各系統(tǒng)間的有效隔離,并支持其個性化要求。

      二、SDN技術(shù)與網(wǎng)絡(luò)虛擬化

      SDN(Software Defined Network)軟件定義網(wǎng)絡(luò),是網(wǎng)絡(luò)虛擬化的一種實現(xiàn)方式。SDN技術(shù)的核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備的控制面與數(shù)據(jù)面分離,從而實現(xiàn)集中管控和開放可編程,可實現(xiàn)靈活、快速、高效網(wǎng)絡(luò)配置。

      網(wǎng)絡(luò)虛擬化則是云計算和SDN發(fā)展到一定階段的產(chǎn)物。網(wǎng)絡(luò)虛擬化簡單來講是指把邏輯網(wǎng)絡(luò)從底層的物理網(wǎng)絡(luò)分離開來。當前,網(wǎng)絡(luò)虛擬化主要基于Overlay技術(shù)實現(xiàn),Overlay是一種將(業(yè)務(wù)的)二層網(wǎng)絡(luò)構(gòu)架在(傳統(tǒng)網(wǎng)絡(luò)的)三層/四層報文中進行傳遞的網(wǎng)絡(luò)技術(shù)。該技術(shù)實際上是一種隧道封裝技術(shù),主要有VXLAN、NVGRE、STT這三種技術(shù)。VXLAN是目前主流的Overlay技術(shù),將二層報文封裝到udp報文中,擴大二層網(wǎng)絡(luò)的范圍,將不同數(shù)據(jù)中心置于同一個大二層網(wǎng)絡(luò),滿足多數(shù)據(jù)中心虛擬機遷移和多租戶隔離的需求。

      SDN集中控制管理的方式,非常適合用于管理VXLAN多租戶、跨域的虛擬網(wǎng)絡(luò)。本文通過實驗,模擬利用SDN控制器實現(xiàn)對整個網(wǎng)絡(luò)的統(tǒng)一管理、規(guī)劃和控制,理解SDN控制平面和轉(zhuǎn)發(fā)平面分離的模式與openflow協(xié)議,檢驗網(wǎng)絡(luò)軟件化和網(wǎng)絡(luò)可編程化,進一步掌握SDN的openflow和VXLAN技術(shù)原理,為省級數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)升級轉(zhuǎn)型提供實踐經(jīng)驗。

      三、基于SDN架構(gòu)的VXLAN網(wǎng)絡(luò)實驗探索

      本文采用虛擬環(huán)境模擬兩個數(shù)據(jù)中心(DC)和SDN控制器,實現(xiàn)兩個數(shù)據(jù)中心之間VXLAN隧道的建立,不同數(shù)據(jù)中心同一租戶主機通過VXLAN實現(xiàn)基于三層網(wǎng)絡(luò)的二層連接,并隔離不同的租戶;通過SDN控制器下發(fā)網(wǎng)絡(luò)的VXLAN配置和open vswitch(ovs)的openflow流表,利用流表項控制數(shù)據(jù)的轉(zhuǎn)發(fā)。

      (一)總體規(guī)劃

      實驗采用三臺虛擬機,兩臺模擬數(shù)據(jù)中心(dc1、dc2),使用mininet構(gòu)建網(wǎng)絡(luò)拓撲,每個dc包括一臺ovs交換機和兩臺主機,兩臺主機分屬不同的租戶;第三臺虛擬機安裝OpenDaylight(odl)做為SDN控制器。三臺虛擬機分別安裝于不同的物理機,為模擬真實的網(wǎng)絡(luò)環(huán)境,通過路由器實現(xiàn)虛擬機之間三層網(wǎng)絡(luò)連通。

      (二)實現(xiàn)步驟

      1.構(gòu)建網(wǎng)絡(luò)拓撲。啟動三臺虛擬機,測試虛擬機之間的網(wǎng)絡(luò)連通性,三臺虛擬機分屬不同的網(wǎng)段,通過路由器實現(xiàn)三層互聯(lián),拓撲采用Python代碼預先定義,通過Mininet調(diào)用來構(gòu)建。數(shù)據(jù)中心一(dc1)的拓撲定義文件(dc1.py)主要配置內(nèi)容如下:

      #添加主機和交換機

      leftHost=self.addHost('hosta1',ip="192.168.200.1/24",mac="00:00:00:00:aa:01")

      rightHost=self.addHost('hostb1',ip="192.168.200.3/24",mac="00:00:00:00:bb:01")

      leftSwitch = self.addSwitch( 's1' )

      # 增加連接

      self.addLink( leftHost, leftSwitch )

      self.addLink( rightHost, leftSwitch )

      #在dc1虛擬機操作系統(tǒng)命令行輸入以下命令:

      sudo mn --custom dc1.py --topo mytopo

      --controller=remote,ip=10.160.141.35,protocols=OpenFlow13

      dc1的網(wǎng)絡(luò)拓撲構(gòu)建完成后,按同樣方法構(gòu)建dc2網(wǎng)絡(luò),dc2.py的對應參數(shù)根據(jù)網(wǎng)絡(luò)地址規(guī)劃做相應調(diào)整。

      啟動控制器,安裝必要的組件(feature):

      $> feature:install odl-l2switch-all odl-restconf-all odl-nsf-all odl-mdsal-apidocs

      $> feature:install odl-ovsdb-southbound-impl odl-ovsdb-southbound-impl-rest odl-openflowplugin-all-li

      將ovs openflow版本設(shè)為1.3并將交換機設(shè)為被動監(jiān)聽控制器模式,在dc1和dc2上mininet提示符下執(zhí)行:

      mininet> sh ovs-vsctl set bridge s1 protocols=OpenFlow13

      mininet> sh ovs-vsctl set-manager ptcp:6640

      2.配置VXLAN隧道。采用SDN集中控制的理念,利用odl的restconf南向API接口,通過控制器ovsdb模塊實現(xiàn)VXLAN的配置,配置命令如下:

      #將vswitch注冊到odl:

      http請求方法:PUT;

      URL:http://10.160.141.35:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1

      #請求body json使用ODL的YANG UI構(gòu)造,主要參數(shù):

      "topology-id": "ovsdb:1",

      "node-id": "mininet1",

      "remote-ip": "192.168.101.1",

      "remote-port": "6640"

      #創(chuàng)建VXLan隧道:

      http請求方法:PUT;

      URL:http://10.160.141.35:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/mininet1%2Fbridge%2Fs1/termination-point/vxlanport

      #請求body json使用ODL的YANG UI構(gòu)造,主要參數(shù):

      "tp-id": "vxlanport",

      "ovsdb:name": "vxlanport",

      "ovsdb:interface-type": "ovsdb:interface-type-vxlan",

      "option": "key",

      "option": "remote_ip",

      "ovsdb:ofport": "10",

      "ovsdb:ofport_request": "10"

      以上是針對dc1的配置,dc2的配置應修改相應的參數(shù)值。在mininet命令行執(zhí)行以下命令,檢查vtep是否添加成功:

      mininet> sh ovs-vsctl -- --columns=name,ofport list Interface

      3.下發(fā)openflow流表。上述步驟完成后,基于三層網(wǎng)絡(luò)的overlay已搭建完成,但此時ovs交換機中還沒有流表項,需要控制器下發(fā)流表才能完成數(shù)據(jù)的轉(zhuǎn)發(fā)。在下發(fā)流表前進行ping測試,實驗中4臺host互不連通。實驗中主要用到流表的匹配字段(match)和指令(instruction)字段,匹配字段類似acl,根據(jù)數(shù)據(jù)包入端口和包頭信息匹配符合條件的數(shù)據(jù)包,并按指令處理、轉(zhuǎn)發(fā)、丟棄、設(shè)置值或轉(zhuǎn)到下一流表。交換機S1流表項設(shè)計如下:

      table=0,in_port=1,actions=set_field:100->tun_id,resubmit(,1)

      table=0,in_port=2,actions=set_field:200->tun_id,resubmit(,1)

      table=0,actions=resubmit(,1)

      table=1,tun_id=100,dl_dst=00:00:00:00:aa:01,actions=output:1

      table=1,tun_id=200,dl_dst=00:00:00:00:bb:01,actions=output:2

      table=1,tun_id=100,dl_dst=00:00:00:00:aa:02,actions=output:10

      table=1,tun_id=200,dl_dst=00:00:00:00:bb:02,actions=output:10

      table=1,tun_id=100,arp,nw_dst=192.168.200.1,actions=output:1

      table=1,tun_id=200,arp,nw_dst=192.168.200.3,actions=output:2

      table=1,tun_id=100,arp,nw_dst=192.168.200.2,actions=output:10

      table=1,tun_id=200,arp,nw_dst=192.168.200.4,actions=output:10

      table=1,priority=10,actions=drop

      流表table0根據(jù)入端口為數(shù)據(jù)包設(shè)置不同的VNI,并跳轉(zhuǎn)到流表table1;流表table1根據(jù)VNI、目的MAC地址決定數(shù)據(jù)包轉(zhuǎn)發(fā)的出端口;對于arp請求,根據(jù)VNI和目的IP地址決定數(shù)據(jù)包轉(zhuǎn)發(fā)的出端口。dc2的交換機S2流表根據(jù)實際的mac和ip作相應調(diào)整。

      將以上流表內(nèi)容保存到名為flows的文本文件,可在mininet下用下述命令下發(fā)流表到交換機:

      mininet> sh ovs-ofctl add-flows –O openflow13 s1 'flows'

      為驗證odl流表下發(fā)功能,我們使用odl的restconf API,通過控制器來完成流表下發(fā),以第一條流表為例:

      http請求方法:PUT;

      URL:http://10.160.141.35:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0/flow/1

      Json請求body:略

      流表需要轉(zhuǎn)換為符合API要求的json請求body,可通過odl的YANG ui界面,輸入流表項參數(shù)后逐條生成,共12條。API調(diào)用可使用多種方法實現(xiàn),如在命令行使用curl命令、使用odl的YANG ui界面、Chrome瀏覽器安裝postman插件、使用編程調(diào)用API等。使用用前三種方法,每次只能下發(fā)一條流表規(guī)則;使用編程調(diào)用API,則可實現(xiàn)批量下發(fā),這也體現(xiàn)了SDN網(wǎng)絡(luò)可編程控制的特點。

      在mininet命令行執(zhí)行以下命令,檢查流表是否下發(fā)成功:

      Mininet> sh ovs-ofctl dump-flows -O openflow13 s1

      4.連通測試。測試dc1與dc2同一租戶主機網(wǎng)絡(luò)連通性:

      mininet> hosta1 ping 192.168.200.2

      PING 192.168.200.2 (192.168.200.2) 56(84) bytes of data.

      64 bytes from 192.168.200.2: icmp_seq=1 ttl=64 time=3.55 ms

      mininet> hostb1 ping 192.168.200.4

      PING 192.168.200.4 (192.168.200.4) 56(84) bytes of data.

      64 bytes from 192.168.200.4: icmp_seq=1 ttl=64 time=3.08 ms

      測試不同租戶主機網(wǎng)絡(luò)連通性:

      mininet> hosta1 ping 192.168.200.4

      PING 192.168.200.4 (192.168.200.4) 56(84) bytes of data.

      From 192.168.200.1 icmp_seq=1 Destination Host Unreachable

      mininet> hostb1 ping 192.168.200.2

      PING 192.168.200.2 (192.168.200.2) 56(84) bytes of data.

      From 192.168.200.3 icmp_seq=1 Destination Host Unreachable

      主機則被隔離,達到了實驗預期的目標。

      驗證分析:由于VXLAN是L2 over L4的封裝,以udp報文傳輸,因此僅抓取dc1(192.168.101.1)與dc2(192.168.102.1)之間往來的udp數(shù)據(jù)包,對實驗結(jié)果(如圖2)進行驗證和分析。

      從192.168.101.1到192.168.102.1的udp數(shù)據(jù)包,目的端口已顯示為VXLAN,將其數(shù)據(jù)載荷部分(data)按VXLAN解碼(如圖3):

      data部分被解析為VXLAN數(shù)據(jù)包,VNI值為100,是租戶A兩臺主機之間的icmp報文。租戶B主機的報文顯示VNI值為200,源地址為192.168.200.3,目的地址為192.168.200.4(如圖4)。

      分析可知,數(shù)據(jù)包進入交換機后,按流表規(guī)則加上VNI,并發(fā)送到vtep;vtep被封裝成udp報文,通過傳統(tǒng)三層網(wǎng)絡(luò)發(fā)送到對端vtep,去除udp報頭后按流表規(guī)則發(fā)送到目的端口。對于同租戶的兩臺主機,雖然位于兩個數(shù)據(jù)中心,但處于同一個虛擬的大二層,其連接是透明的,可以直接互通。

      四、小結(jié)

      通過模擬省級人民銀行真實網(wǎng)絡(luò)環(huán)境,旨在對相關(guān)原理和技術(shù)有更深入的理解和更直觀的認識,為省級數(shù)據(jù)中心網(wǎng)絡(luò)架構(gòu)升級轉(zhuǎn)型提供實踐經(jīng)驗。

      通過實驗,探索了openflow流表的設(shè)計應用,加深了對openflow規(guī)范的理解;VXLAN的構(gòu)建、openflow流表的下發(fā)均由控制器完成,從而將控制面和數(shù)據(jù)面分離在不同的設(shè)備中,使OpenFlow 控制器可同時控制多臺OpenFlow交換機。實踐了SDN網(wǎng)絡(luò)集中規(guī)劃管理、控制面和數(shù)據(jù)轉(zhuǎn)發(fā)面分離、網(wǎng)絡(luò)軟件化和網(wǎng)絡(luò)可編程等特性。下一步將依托實驗結(jié)果,探索雙活技術(shù)的實現(xiàn),將省級數(shù)據(jù)中心主中心雙活的兩臺存儲之一遷移至同城轉(zhuǎn)接中心,將兩數(shù)據(jù)中心系統(tǒng)融合為一個統(tǒng)一的虛擬化集群,實現(xiàn)兩中心應用級高可用。

      參考文獻:

      [1] 魏娜,基于SDN和VXLAN相結(jié)合的數(shù)據(jù)中心構(gòu)建.科技創(chuàng)新導報.2019年9期

      [2] 王穎,龐志鵬,基于SDN的云數(shù)據(jù)中心網(wǎng)絡(luò)[J].通訊世界,2017(16): 3-4.

      [3] 陳銳,謝人超,黃韜,等.基于SDN的CDN技術(shù)研究[J].電信技術(shù),2014,(6).18-21.

      [4] 盧志剛,姜政偉,劉寶旭.一種基于VXLAN的虛擬網(wǎng)絡(luò)訪問控制方法[J].計算機工程,2014,(8).86-90,95.doi:10.3969/j.issn.1000-3428.2014.08.016.

      作者單位:中國人民銀行天門市支行

      猜你喜歡
      流表租戶交換機
      基于時序與集合的SDN流表更新策略
      基于緩存策略的OpenFlow流表存儲優(yōu)化方案研究
      電子測試(2018年21期)2018-11-08 03:09:34
      修復損壞的交換機NOS
      簡析yangUI流表控制
      軟件定義網(wǎng)絡(luò)中一種兩步式多級流表構(gòu)建算法
      使用鏈路聚合進行交換機互聯(lián)
      基于MVC模式的多租戶portlet應用研究*
      PoE交換機雷擊浪涌防護設(shè)計
      租戶是大爺
      特別文摘(2014年17期)2014-09-18 01:31:21
      羅克韋爾自動化交換機Allen-Bradley ArmorStratix 5700
      自動化博覽(2014年9期)2014-02-28 22:33:16
      通榆县| 阜宁县| 阿鲁科尔沁旗| 云浮市| 桐梓县| 广安市| 洪洞县| 长泰县| 原阳县| 班玛县| 吉林市| 塔河县| 象山县| 磐安县| 许昌市| 泸定县| 梁河县| 张掖市| 泾源县| 资阳市| 汝阳县| 天全县| 静海县| 文成县| 云霄县| 南江县| 和林格尔县| 肇庆市| 渝北区| 洛川县| 清水县| 柘城县| 巍山| 古交市| 温州市| 石阡县| 三都| 高安市| 岳池县| 中西区| 简阳市|