作業ブログリンクします。http://edu.cnblogs.com/campus/fzu/fzusdn2019/homework/10017
1.解凍インストールOpenDayLightコントローラ(ベリリウムバージョンのこの実験一貫して使用)
- OpenDayLightは、javaが達成され、そのために必要な[構成するJava環境]
- その後、抽出するために、JDKのインストールパッケージをダウンロードしてください
- 環境変数を設定します
- ターミナルでの設定が成功したかどうかをチェックするためのjava -version javaの環境を入力します。
2.スタートとプラグインをインストールします
/distribution-karaf-0.4.4-Beryllium-SR4/binファイルアドレスを入力し
、端末が./karafのコマンドを実行開く
プラグインをインストールするには実行機能
opendaylight-user@root>feature:install odl-restconf
opendaylight-user@root>feature:install odl-l2switch-switch-ui
opendaylight-user@root>feature:install odl-openflowplugin-all
opendaylight-user@root>feature:install odl-mdsal-apidocs
opendaylight-user@root>feature:install odl-dlux-core
opendaylight-user@root>feature:install odl-dlux-node
opendaylight-user@root>feature:install odl-dlux-yangui
3.ビルドOpenDayLight接続Pythonスクリプトコントローラとトポロジー
- Pythonスクリプトは、以下のように
from mininet.topo import Topo
class Mytopo(Topo):
def __init__(self):
Topo.__init__(self)
sw=self.addSwitch('s1')
count=1
for i in range(3):
host = self.addHost('h{}'.format(count))
self.addLink(host,sw,1,count)
count = count + 1
topos = {'mytopo': (lambda:Mytopo())}
スクリプトを実行し、トポロジ接続の状態を確認する
コマンドを実行sudoのMN --custom /ホーム/ジョーカー/デスクトップ/mytopo.py --topo mytopo --controller =リモート、IP = 127.0.0.1、ポート= 6633 --switch ovsk、プロトコル= OpenFlow13
その後、pingall
- オープンODL場合は、ウェブサイトのhttp:// localhostに移動:8181 / index.htmlを
アカウント管理者
パスワードadmin リロードトポロジ接続状態の確認
次にどこにも表内のH2 20SピングH3は、pingに設けられたWEB UI ODLフロー制御を適用4.
ウェブ> Opendaylightインベントリ>設定>ノード>テーブル>フローの陽UIコントローラ
- ノード/ OpenFlowの:1 //数スイッチ
- テーブル/ 0 //ストリーム番号テーブル
- フロー/これ以上1024以下、競合がエントリ番号を流れていないことはできません
- 毛流れPUT用に変更するテーブルの下に、クエリフローテーブルをGET
設定が一致
- ID =:フローエントリID、任意の値、できないコンフリクト
- INポート:ポート番号はH1示し義務に対応するポートへのフローテーブルエントリを、マッチング
- イーサネットタイプ:イーサネットタイプ0x0800では、イーサネットフレームがIPプロトコルであることを示しています
- レイヤ3試合:IPv4のマッチ3試合のマッチのIPv4
- IPv4のソース:(唯一の着信パケットは、それがH2を埋めることができない送信することができるので、ここではポート2)のソースパケットは、IPと一致します
- IPv4の宛先:パケットの宛先IPと一致
設定手順
- これは、データパケットに実行される命令ストリームに一致する命令リストエントリであります
- オーダー=:0命令ID0
- 命令=:適用-アクション・ケースの実行動作
- 新しいアクションリスト=:
- アクション、ドロップアクションの場合の損失操作
構成情報の流れ
- フロー名のエントリ名を流れ、記入しません
- 優先優先フローエントリは、デフォルトでODLテーブルによって送達される流れよりも大きい、最大65535が設けられています
- ハード、ハードタイムアウトが満了し、フローエントリの長さの開始後に発行されました
- (16進数16を埋めるために)OVSフローエントリで成功を見つけるために、より簡単に発行されたクッキーは、値0x02のを見つけるのは簡単として提供することができる記入ありません
- table_idがデフォルトフローテーブルID 0
H2ピングH3 mininetターミナルで実行し、Web UIに送信テーブルの毛の流れをクリックしてください
- H2ピングH3発行されたフローテーブル後、パケットは、図の変調からシーケンス番号を有するであろう4-> 25
北OpenDayLightが、その後OpenDayLight北ビューを使用してフローテーブルはインタフェースに発行された、インターフェースに発行されたフローテーブルを用いて5ポストマン。
ビューは、ちょうどだけ発行されたストリームのテーブル項目がノードID、テーブルID、フローIDを通じて見つけることができない場合(ODLでコマンドを送信するために転送されますが、インターフェイスに北JSONデータを呼び出すことができ、フローエントリのプレビューJSON形式によって発行されました、戻ってくるGET、当時)のプレビューを見ることがGET、PUTボタンボタンに切り替え
- アーカイブポストマンを抽出ダウンロード
- cdコマンドポストマンの実行/
- ファイル名を指定して実行./Postman
、郵便配達を開き、アドレスバーにURLでプレビューをコピーし、道にメッセージをPUTを選択し、IPはPCが配置されているIPコントローラで、タイプODLログインアカウントとパスワードは、管理されている基本認証のユーザー名とパスワードを選択
- メッセージフォーマットの体をJSONに設定されている、生へのアップロード
、パラメータの内部に見ることができるテキストボックスに取り付けられたメッセージのプレビューがODLを回避するために設定されたフローエントリIDを削除する前に、表2又は毛髪を流れるように、ODLの一致の前に発行しましたアイテム
のメッセージが2に変更されている一方で、URLにフローIDのIDを変更し、それ以外の場合はエラーが表示されます、クリックし正常に発行送ります
- GETだけ発行ビューストリームにエントリを送信するために正常に変更され、送信した後