2019 SDNマシン第二の仕事CWC

1.オープンフロー1.3プロトコル、ホスト名、および正しいに対応したスイッチポートの名前mininet必要なトポロジのサポートを使用してトポロジを作成し、与えてくださいトポロジMininet結果は、接続ポートを表示

 

Pythonスクリプトを使用してトポロジを作成します。

mininet.topoインポートトポから
mininet.netインポートMininetから
mininet.nodeインポートリモートコントローラから、CPULimitedHost 
mininet.linkインポートTCLinkから
mininet.utilインポートdumpNodeConnectionsのから

クラスMyTopo(TOPO):
    「単純なトポロジの例」

    デフ__init __(自己):
        トポ.__ INIT __(自己)
        = []スイッチ
	
	#1追加スイッチ(S1およびS2)
        の範囲でiについて(2):
            。SW = self.addSwitch( "S {}"形式(I + 1) )
            switches.append(SW) 
アドインホストおよびリンク
        = 1カウント
        スイッチでSWのために: 
            iについての範囲(3):
                。H = self.addHost( "H {}"形式(カウント)) 
                self.addLink(SW、H)
                カウント+ = 1つの

	#は、2つのスイッチ間のリンク追加
    	self.addLink(スイッチ[0]、スイッチ[1])

トポス= { "mytopo":(ラムダ:myTopo())}

  

スクリプトの実行

sudoのMN --custom newtopo.py --topo mytopo - スイッチ ovsk、プロトコル= OpenFlow13

 

接続性チェック

 

ポートの正しさを確認してください

 

2. vSwitchがVLANの仮想ネットワークでは、次のセグメントを得るために、フローテーブルに直接作られた、箇条書きにしてくださいフローテーブルの意味が発行され

  • H1 - H4の交換
  • H2 - H5交流
  • H3 - H6交流
  • どこにもホストの休息

別のターミナルを開き

須藤のOVS-ofctl -O OpenFlow13追加フローS1優先順位= 1、IN_PORT = 1、アクション= push_vlan:0x8100、SET_FIELD:4096 - \> vlan_vid、出力:4 
須藤OVS -ofctl -O OpenFlow13追加フローS1優先順位= 1、IN_PORT = 2、アクション= push_vlan:0x8100、SET_FIELD:4097 - \> vlan_vid、出力:4 
須藤OVS -ofctl -O OpenFlow13追加フローS1優先順位= 1、IN_PORT = 3、アクション= push_vlan:0x8100、SET_FIELD:4098 - \> vlan_vid、出力:4

ポート4に転送S2を介して、積層VLANタグの同じVLAN、パケットS1外層に設けられたH1、H2、H3:意味の。

   前記SET_FIELD = 4096 + VLAN_ID。H1、H2、H3をそれぞれ0、1、2 VLAN_ID。

 

須藤OVS-ofctl -O OpenFlow13加算流れS1優先順位= 1、dl_vlan = 0、アクション= pop_vlan、出力:1 
須藤OVS -ofctl -O OpenFlow13追加フローS1優先順位= 1、dl_vlan = 1、アクション= pop_vlan、出力:2 
須藤OVS -ofctl -O OpenFlow13追加フローS1優先順位= 1、dl_vlan = 2、アクション= pop_vlan、出力:3

意味:送信されたS1、S2、受信したデータグラムを、ポート1、2、3転送し、次にdl_vlanによれば、VLANタグをポップ。

 

須藤のOVS-ofctl -O OpenFlow13追加フローS2優先順位= 1、IN_PORT = 1、アクション= push_vlan:0x8100、SET_FIELD:4096 - \> vlan_vid、出力:4 
須藤OVS -ofctl -O OpenFlow13追加フローS2優先順位= 1、IN_PORT = 2、アクション= push_vlan:0x8100、SET_FIELD:4097 - \> vlan_vid、出力:4 
須藤OVS -ofctl -O OpenFlow13追加フローS2優先順位= 1、IN_PORT = 3、アクション= push_vlan:0x8100、SET_FIELD:4098 - \> vlan_vid、出力:4

意味:同じVLAN上に設けられたH4、H5、H6を、外部VLANタグメッセージS2に及び4つの転送をS1ポートを介して積層。

   前記SET_FIELD = 4096 + VLAN_ID。H4、H5、H6 VLAN_IDの0、1、2です。

 

須藤OVS-ofctl -O OpenFlow13加算流れS2優先順位= 1、dl_vlan = 0、アクション= pop_vlan、出力:1 
須藤OVS -ofctl -O OpenFlow13追加フローS2優先順位= 1、dl_vlan = 1、アクション= pop_vlan、出力:2 
須藤OVS -ofctl -O OpenFlow13追加フローS2優先順位= 1、dl_vlan = 2、アクション= pop_vlan、出力:3

意味:送信S2、S1受信データグラムを、ポート1、2、3転送し、次にdl_vlanによれば、VLANタグをポップ。

 

オープンvSwitchのフローテーブルビューの実装3.直接の結果は、コマンドを提出OVS

S1、S2、現在のフローテーブルを使用して説明書をご覧ください。

sudo OVS-ofctl -O OpenFlow13 dump- 流れS1 
のsudo OVS -ofctl -O OpenFlow13ダンプは、流れS2

 

結果

 

ホスト接続テストの結果は、フローテーブルの妥当性を検証提出4.

以下の手順は、以前の端末を使用して実行します

5. Wiresharkのキャプチャ、検証するために、特定のパケットを分析します

パケットをフェッチS1-eth2のポートを選択します。

データの最下部以下のスクリーンショットは、パケットのハイライト部分を示します。

H2とH5が通信することができますので、我々はスクリーンショットでH5からのメッセージを見ることができます。

 

おすすめ

転載: www.cnblogs.com/willofficial/p/11809220.html