ボードの仕事上の2019 SDN二回目

ボードの仕事上の2019 SDN二回目

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

  • トポロジの作成

mytopo.pyスクリプトを確立

コードは以下の通りであります:

from mininet.topo import Topo
class Topo2( Topo ):
    def __init__( self ):
        # Initialize topology
        Topo.__init__( self )

        # add switches  
        s1 = self.addSwitch('s1')
        s2 = self.addSwitch('s2')

    # add hosts  
        h1 = self.addHost('h1')
        h2 = self.addHost('h2')
        h3 = self.addHost('h3')
        h4 = self.addHost('h4')
        h5 = self.addHost('h5')
        h6 = self.addHost('h6')

        # add links
        self.addLink(h1,s1,1,1)
        self.addLink(h2,s1,1,2)
        self.addLink(h3,s1,1,3)
        self.addLink(s1,s2,4,4)
        self.addLink(h4,s2,1,1)
        self.addLink(h5,s2,1,2)
        self.addLink(h6,s2,1,3)

topos = { 'mytopo': ( lambda: Topo2() ) }

コマンドラインを入力し、ビューのトポロジにネットtopologyコマンドを作成して使用するためのスクリプトを実行します

sudo mn --custom ./sy2_topo.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6653 --switch ovsk,protocols=OpenFlow13

すべてのノードの接続の最初のコマンド状態を検出する使用pingall

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

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

参考:要約の使用とOVSよく使用するコマンド

OVSフローテーブルコマンドが発行され

  • S1
//将主机h1、h2、h3发送给交换机s1的数据包打上不同的vlan tag,并从s1的端口4向交换机s2转发
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098-\>vlan_vid,output:4
//将发送给交换机s1端口4的数据包去除vlan tag,并根据不同的标签发送给相对应的主机
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output:1
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output:2
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=2,actions=pop_vlan,output:3
  • S2
//将主机h4、h5、h6发送给交换机s2的数据包打上不同的vlan tag,并从s2的端口1向交换机s1转发
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098-\>vlan_vid,output:4
//将发送给交换机s2端口1的数据包去除vlan tag,并根据不同的标签发送给相对应的主机
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output:1
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=1,actions=pop_vlan,output:2
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=2,actions=pop_vlan,output:3

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

sudo ovs-ofctl -O OpenFlow13 dump-flows s1
sudo ovs-ofctl -O OpenFlow13 dump-flows s2

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

接続テストホストの結果から分かるように、ホストは、ホストのH1 H4との通信のみができる、H2ホストは、ホストH5と通信することができ、H3ホストは、ホストH6、ホストの残りの部分とのない通信との通信のみができます。

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

  • wiresharkのインストール

  • スタートwiresharkの

  • 他の端末が開始WIRESHARK開き、Wiresharkのにキャプチャされたパケットのためのコマンド端子確立pingallトポロジは、ICMPパケットフィルタによって選択することができる実行する、ホスト間の通信情報を参照してください

6.実験の概要

最初の実験コマンド「sudoのMN --custom mytopo.py --topo mytopo」との実験時間の接続性を確認し、スクリプトのビルドトポロジを実行するための開始時にすべてのホストが一緒に通信を開始することを発見しました。戻る "$ sudoをMN --custom ./sy2_topo.py --topo mytopo --controller =リモート、IP = 127.0.0.1、ポート= 6653 --switch ovsk、プロトコル= OpenFlow13" に、使用openflow1.3ためのプロトコル相互接続開始トポロジを作成するために、フローテーブル方式を発行しました。この実験を通じて、オープンのvSwitchの予備的な理解がpingallホストとどのようにコマンドを確認する方法を分析することにより、ワイヤーシャークを使用するの効果を検出するための接続テストをキャプチャし、このツールを使用するヘア流量計を学習し、テーブルビューを流すOVS特定のメッセージ。

おすすめ

転載: www.cnblogs.com/JokerLSJ/p/11825268.html