Skip to content

Commit

Permalink
章へのリンク切れを修正
Browse files Browse the repository at this point in the history
refs #75
  • Loading branch information
yasuhito committed Oct 1, 2015
1 parent e804c6b commit 6d9fa3e
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions learning_switch.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ OpenFlowの世界では、コントローラとしてソフトウェア実装し
- 学習:ホストから出たパケットに含まれる、ネットワーク上でのホストの位置情報を学習する
- 転送:今まで学習してきた位置情報を使って、パケットを宛先のホストまで転送する

この「学習し、転送する」というラーニングスイッチの仕組みは応用が広く効きます。たとえば第??章で紹介するいくつかのデータセンターネットワークも、基本はラーニングスイッチと同じく「学習し、転送する」という動作をします。このように、自宅ネットワークであろうが最新鋭のデータセンターであろうが、その基本的な考え方は同じなのです。
この「学習し、転送する」というラーニングスイッチの仕組みは応用が広く効きます。たとえば本書の後半で紹介するいくつかのデータセンターネットワークも、基本はラーニングスイッチと同じく「学習し、転送する」という動作をします。このように、自宅ネットワークであろうが最新鋭のデータセンターであろうが、その基本的な考え方は同じなのです。

このおかげで、ラーニングスイッチを作れるようになれば、それをベースに改造することでいろいろなアプリケーションを作れるようになります。

- トラフィックモニタ(<<traffic_monitor,第8章>>で紹介
- ルータ (<<router_part1,第12章>>, <<router_part2,第13章>>で紹介)
- ルーティングスイッチ(<<routing_switch,第15章>>で紹介
- スライス機能つきルーティングスイッチ(<<sliceable_switch,第16章>>で紹介
- トラフィックモニタ(<<traffic_monitor,第8章>>)
- ルータ (<<router_part1,第12章>>, <<router_part2,第13章>>)
- ルーティングスイッチ(<<routing_switch,第15章>>)
- スライス機能つきルーティングスイッチ(<<sliceable_switch,第16章>>)

ではさっそく、ネットワークの基本部品であるラーニングスイッチをTremaで実装してみましょう。まずは一般的なハードウェアスイッチの動作原理を理解し、次にOpenFlowでの実現方法を見ていきます。

Expand Down Expand Up @@ -236,7 +236,7 @@ send_packet_out(
)
----

この場合コントローラからスイッチへのパケットデータのコピーが起こらないため、若干のスピードアップが期待できます。ただし、○○のコラムで説明したとおり、バッファの中身は予測不能でデータがいつ消えるかわからないため、この方法は推奨しません。
この場合コントローラからスイッチへのパケットデータのコピーが起こらないため、若干のスピードアップが期待できます。ただし、<<cbench,第3章>>のコラムで説明したとおり、バッファの中身は予測不能でデータがいつ消えるかわからないため、この方法は推奨しません。

==== スイッチのバッファを使わずにPacketOutする場合

Expand Down Expand Up @@ -282,4 +282,4 @@ optionsに指定できる主なオプションは次のとおりです。
- コントローラは、Packet Inメッセージから送信元ホストのMACアドレスとホストのつながるスイッチポート番号をFDBに学習する
- Packet Inの転送先がFDBからわかる場合、Flow Modで以降の転送情報をスイッチに書き込みPacketOutする。FDBで決定できない場合は、入力ポート以外のすべてのポートにPacket Outでフラッディングする

続く章ではさっそくこのラーニングスイッチを少し改造してトラフィック集計機能を加えます。第○章で紹介した「フローでできる4つのこと」のうち、"流量を調べる"の実装例です
続く章ではこのラーニングスイッチを OpenFlow 1.3 のマルチプルテーブル機能を使って実装します。処理ごとにフローテーブルを分けることで、コントローラをすっきりと設計できます

0 comments on commit 6d9fa3e

Please sign in to comment.