きのう、産業技術大学院大学で@ibuchoの
仮想ネットワークの落とし穴
~秘匿されている致命的欠陥~
を聞いてきた。その内容をメモメモ
・前フリの話
内容は挑戦的ではない。
ここ1,2年SDNをdisるのは、タブーとなっている
これでやれるのは、伊勢さんとさくらインターネットの大久保さんくらい
秘匿:口に出せない。重大な秘密ではない
・伊勢さんの自己紹介
・仮想ネットワークのおさらい
ねーとわーくばーちゃりぜーしょん
定義:
ITU-T Y.3011について
図をかくとわかる
サービス
↑
↓
論理的に分割:りんぷ:ロジカルアイソレーション
↑
↓
仮想リソース層:集約
↑
↓
物理リソース
→コンピューティングリソースも含む
りんぷ:NTTが研究、未来的
IETF NVO3の定義
L3にトンネルオーバーレイするL2,L3ネットワーク
→ネットワーク
仮想的なデータセンター?
TESがサービスなどのエンドポイント
NVEが途中にいて、トンネリングする
今回はIETFのほうを対象
・仮想ネットワークの分類
エンドポイントモデル
NVO3の仮想ネットワークそのもの
ハイバーバイザーが物理ネットワークにつながっている
なんらかのトンネリングを張る
御三家
VXLAN
NVGRE
STT
ファブリックモデル
物理ネットワークを集約する
従来どおりのネットワークを集約→広帯域
御三家?2巨頭
MC-LAG
TRILL(とりる)
SPB:IEEE
スパニングツリー
→ラピッドスパニングツリー
→マルチスパニングツリー・・の後継
弱点はあるけど、致命的欠陥がない
TRILL:ブロケードさん
SPB:あばいやさん
→ブロケードさんVSあばいやさん?
・エンドポイントモデルは?
まだドラフト
実装が先行:引くに引けない
仕様に穴が多い
・VXLAN
去年人気高かった
VMWareとCiscoが押し、aristaは八方美人
フレームコンテナはUDP
アドレス解決:
ブロードキャストできない→マルチキャスト
(ほかのにも出てくる論点)
セグメントフィード(VLANIDに相当)VNIは
24ビット
いままで、最大のVLANは12ビット→4Kだった
VTEP:エンドポイントのハイパーバイザー
シンプルなヘッダ
それほどでもない問題
マルチキャストで解決
全てマルチキャスト設定
全てのポートにマルチキャスト:IGMP-Snooping
いきなりマルチキャスト・・?
非VXLANセグメント
→すべてのエンドポイントに影響
致命的問題(VXLANだけじゃないけど)
イーサネットフレームをカプセリングして、
イーサネットフレームを送る
→おおきさたりない。
→2つのパケットにわかれる→IPフラグメント
UDPだから問題ない
→ただし、パケット処理は2倍
→がんがん使うと、ネットワーク処理能力は1/2?
→ショートパケットは落ちないけど・・
フラグメントされなければいい?
→MTUを全部1400にすれば・・・
→って、すべてのマシンに?
VMware的には、物理ネットワークMTUを1600へ・・と・・
→そんな機械あるの?全部買いかえるの?
VXLANを導入
・ネットワーク処理低下(フラグメントで1/2)
・エンジニアのハート(MTU設定)
・機器を入れ替える(全部買い替え?)
・NVGRE
MS,Intelそしてありすた
ARP解決は詳しく書いてないけど、マルチキャスト?
セグメントフィードは24ビット(VSID)
プロトコルはGRE
致命的問題:フラグメント→かなり致命的
GREヘッダーのフラグ:間違えたら大変!
GREはチェックサムがあるところが・・・
→IPペイロードにチェックサムがない
くずれたら、わからない!!!
「NVGRPでは、なんぴとたりともGREペイロード
をフラグメントしてはいけない」
マイクロソフトの実装
MTU DF=1
ICPM エラー:データグラムがおおきいよ
これくらいにしてね!とMTUを送る
→NVE側がMTUを自動調整するのでOK!
→ってことは、仮想OSは、Hyper-V
クラウドコントローラーはSystem Center 2012
→ベンダーロックイン確定!
・STT
VMware(Niciraのひと)だけが押し
フレームコンテナーにTCP
セグメントフィールド(コンテキストID:CID)
最大ペイロード64KByte
NICが図に描いてある
イーサネットフレーム
→STTフレーム
→STTセグメント
→IPパケット
TCPのシーケンス番号、ACK番号をSTT用に使う
フォーマットは同じだけど、中身は違う
→STT以外だと、普通のTCPと思う
MTU問題は実はある
TCPの実装プログラム大変
FLAG若干違う
→処理負荷大きい:NICオフロード
→TCP/IP処理をNICで行うこと
ただし、エンド エンド間に、ファイヤーウォールとか
TCPを読むやつがいると・・・
わけのわからないフレームで落とされる
→TCPじゃないと判断してもらえば・・・
スルーする?
→IANAへ
ちょっとまて、
NIC オフロードはTCP6ばんじゃないいと
しょりしないお
パケットドロップを許容するか、NICオフロード断念
→ネットワーク性能は落ちる
本も書いてます
SDN/OpenFlowで進化する
仮想ネットワーク入門
仮想ネットワークの落とし穴
~秘匿されている致命的欠陥~
を聞いてきた。その内容をメモメモ
・前フリの話
内容は挑戦的ではない。
ここ1,2年SDNをdisるのは、タブーとなっている
これでやれるのは、伊勢さんとさくらインターネットの大久保さんくらい
秘匿:口に出せない。重大な秘密ではない
・伊勢さんの自己紹介
・仮想ネットワークのおさらい
ねーとわーくばーちゃりぜーしょん
定義:
ITU-T Y.3011について
図をかくとわかる
サービス
↑
↓
論理的に分割:りんぷ:ロジカルアイソレーション
↑
↓
仮想リソース層:集約
↑
↓
物理リソース
→コンピューティングリソースも含む
りんぷ:NTTが研究、未来的
IETF NVO3の定義
L3にトンネルオーバーレイするL2,L3ネットワーク
→ネットワーク
仮想的なデータセンター?
TESがサービスなどのエンドポイント
NVEが途中にいて、トンネリングする
今回はIETFのほうを対象
・仮想ネットワークの分類
エンドポイントモデル
NVO3の仮想ネットワークそのもの
ハイバーバイザーが物理ネットワークにつながっている
なんらかのトンネリングを張る
御三家
VXLAN
NVGRE
STT
ファブリックモデル
物理ネットワークを集約する
従来どおりのネットワークを集約→広帯域
御三家?2巨頭
MC-LAG
TRILL(とりる)
SPB:IEEE
スパニングツリー
→ラピッドスパニングツリー
→マルチスパニングツリー・・の後継
弱点はあるけど、致命的欠陥がない
TRILL:ブロケードさん
SPB:あばいやさん
→ブロケードさんVSあばいやさん?
・エンドポイントモデルは?
まだドラフト
実装が先行:引くに引けない
仕様に穴が多い
・VXLAN
去年人気高かった
VMWareとCiscoが押し、aristaは八方美人
フレームコンテナはUDP
アドレス解決:
ブロードキャストできない→マルチキャスト
(ほかのにも出てくる論点)
セグメントフィード(VLANIDに相当)VNIは
24ビット
いままで、最大のVLANは12ビット→4Kだった
VTEP:エンドポイントのハイパーバイザー
シンプルなヘッダ
それほどでもない問題
マルチキャストで解決
全てマルチキャスト設定
全てのポートにマルチキャスト:IGMP-Snooping
いきなりマルチキャスト・・?
非VXLANセグメント
→すべてのエンドポイントに影響
致命的問題(VXLANだけじゃないけど)
イーサネットフレームをカプセリングして、
イーサネットフレームを送る
→おおきさたりない。
→2つのパケットにわかれる→IPフラグメント
UDPだから問題ない
→ただし、パケット処理は2倍
→がんがん使うと、ネットワーク処理能力は1/2?
→ショートパケットは落ちないけど・・
フラグメントされなければいい?
→MTUを全部1400にすれば・・・
→って、すべてのマシンに?
VMware的には、物理ネットワークMTUを1600へ・・と・・
→そんな機械あるの?全部買いかえるの?
VXLANを導入
・ネットワーク処理低下(フラグメントで1/2)
・エンジニアのハート(MTU設定)
・機器を入れ替える(全部買い替え?)
・NVGRE
MS,Intelそしてありすた
ARP解決は詳しく書いてないけど、マルチキャスト?
セグメントフィードは24ビット(VSID)
プロトコルはGRE
致命的問題:フラグメント→かなり致命的
GREヘッダーのフラグ:間違えたら大変!
GREはチェックサムがあるところが・・・
→IPペイロードにチェックサムがない
くずれたら、わからない!!!
「NVGRPでは、なんぴとたりともGREペイロード
をフラグメントしてはいけない」
マイクロソフトの実装
MTU DF=1
ICPM エラー:データグラムがおおきいよ
これくらいにしてね!とMTUを送る
→NVE側がMTUを自動調整するのでOK!
→ってことは、仮想OSは、Hyper-V
クラウドコントローラーはSystem Center 2012
→ベンダーロックイン確定!
・STT
VMware(Niciraのひと)だけが押し
フレームコンテナーにTCP
セグメントフィールド(コンテキストID:CID)
最大ペイロード64KByte
NICが図に描いてある
イーサネットフレーム
→STTフレーム
→STTセグメント
→IPパケット
TCPのシーケンス番号、ACK番号をSTT用に使う
フォーマットは同じだけど、中身は違う
→STT以外だと、普通のTCPと思う
MTU問題は実はある
TCPの実装プログラム大変
FLAG若干違う
→処理負荷大きい:NICオフロード
→TCP/IP処理をNICで行うこと
ただし、エンド エンド間に、ファイヤーウォールとか
TCPを読むやつがいると・・・
わけのわからないフレームで落とされる
→TCPじゃないと判断してもらえば・・・
スルーする?
→IANAへ
ちょっとまて、
NIC オフロードはTCP6ばんじゃないいと
しょりしないお
パケットドロップを許容するか、NICオフロード断念
→ネットワーク性能は落ちる
本も書いてます
SDN/OpenFlowで進化する
仮想ネットワーク入門