opencontrail days 2014 spring めざせ超オンプレ(汗)
TRANSCRIPT
#define VROUTER_OVERLAY_LEN
20(ip) + 8(gre+key) + 4(mpls) * 3
40 2014/05/13 opencontrail days 2014 Spring 2
2014/05/13 opencontrail days 2014 Spring 3
IP MTU 1500
TCP MSS 1460 overhead 40
IP MTU 1460 TCP MSS 1420
物理層 contrail環境
MSSを1460 -‐> 1420に変更
おことわり
ユーザ事例という話ですが どちらかというとbug fix係です まだ本格的に導入出来ていません opencontrail contributorに感謝
2014/05/13 opencontrail days 2014 Spring 4
セルフサービスであれ
• システム部門がスピードの足かせ • 依頼とかでは遅くなるだけ • ミドルウエア等は使いたい者を使うべき
2014/05/13 opencontrail days 2014 Spring 8
ネットワークで何やるか
• クラウドと接続 – 流行ったらオンプレも活用を考える
• 既存資産の有効利用 – 残っている簿価との戦い – 廃棄や解約計画
2014/05/13 opencontrail days 2014 Spring 10
アドレスバッティング
オンプレ
クラウド1 172.31.0.0/16
クラウド2 172.31.0.0/16
リナンバが必要
2014/05/13 opencontrail days 2014 Spring 12
ミスオリジン
2014/05/13 opencontrail days 2014 Spring 14
クラウド1 x.x.0.0/16
クラウド2 x.y.0.0/16
オンプレ
接続予定だった
事故!!!
対応策
• NAT • インスタンスのルーティングでがんばる • クラウドのルーティングでがんばる? • ルーティングテーブルを分ける • 内部接続しない
2014/05/13 opencontrail days 2014 Spring 15
オンプレ
某社の現状の惨状
• シングルルーティングテーブル • ACLでがんばる現状
POP DC X
クラウド1
クラウドX
呍呍呍呍呍呍
1
X
2014/05/13 opencontrail days 2014 Spring 17
やりたいこと
クラウド 事業者
オンプレ
VRF
bare metal
VRF
bare metal
L3SW L3SW L3SW
bare metal
VM VM
クラウド 事業者
2014/05/13 opencontrail days 2014 Spring 18
L3VPN
L3VPN
• VRF内の経路を交換 – communityやroute targetでimport/exportする
2014/05/13 opencontrail days 2014 Spring 19
inet inet-‐vpn
GRT VRF A VRF B VRF X ・・・・・・
BGP
戦場を狭める
• キャリアさんの後ろを歩く – L3VPNはもう枯れているだろう
• 攻めるところは攻める – エッジオーバレイ本気でやりますか? – NFVを求めない限り必要ないかも? – 現状設備を活かすならやるしかない
2014/05/13 opencontrail days 2014 Spring 20
エッジオーバレイ技術への要求
• コントロールプレーン – ルータが使えるプロトコルでVPNの経路交換
• データプレーン – ルータがencap/decapできる方式で転送できる
• contrailは満たしている
2014/05/13 opencontrail days 2014 Spring 22
変更は最小限に
• ゲートウエイルータを設置 • L3VPNを構築しVRFを作る • クラウドとVRFを接続。センター間はL2。 • contrailを使ってインスタンスとVRFを接続
POP DC X
クラウド1
クラウドX L3SW L3SW
呍呍呍
ゲートウエイルータ
2014/05/13 opencontrail days 2014 Spring 24
経路制御のポリシー
• contrail配下の経路をaggregate routeで追加 – コントローラのピアが切れたら経路を消したい – aggregateがhiddenになることで消す
2014/05/13 opencontrail days 2014 Spring 25
/32 /32 /32 /32 /32
/22 gateway router
L3VPN側 contrail側
contrailとL3VPNの経路交換
• API経由で設定 • パラメータ – L3VPN側のroute target – 適用するcontrailのproject – import/export/双方
• 参考 – hcps://github.com/pedro-‐r-‐marques/opencontrail-‐netns/blob/master/opencontrail_netns/network_manage.py
2014/05/13 opencontrail days 2014 Spring 26
今後の展望
• 自社バックボーン全体でL3VPN対応したい – 自社の設備があればどこでもクラウド接続
• default + parfal – IRS21 サクラインターネット 大久保さんの発表 – Internet week 2013 S5 GREE 黒河内さんの発表 – 私の目的は、L3VPNを混ぜるリソースを得ること
• contrailを使ったNetwork Funcfonの提供
2014/05/13 opencontrail days 2014 Spring 27
修行にはちょうどいいかも
• ネットワークの復習に • モダンな開発システムを体験 – gerrit + jenkins – github
• ビルド・パッケージングの訓練 • ライブラリ等の依存解決 • ネットワーク機器メーカー様のつらさを体験
2014/05/13 opencontrail days 2014 Spring 29
vrouter/linux/vrouter_mod.cより /* * Overlay length used for TCP MSS adjust. For UDP outer header, overlay * len is 20 (IP header) + 8 (UDP) + 4 (MPLS). For GRE, it is 20 (IP header) * + 8 (GRE header + key) + 4 (MPLS). Instead of allowing for only one * label, we will allow a maximum of 3 labels, so we end up with 40 bytes * of overleay headers. */
#define VROUTER_OVERLAY_LEN 40 max_mss = dev-‐>mtu -‐ (VROUTER_OVERLAY_LEN + sizeof(struct vr_ip) + sizeof(struct tcphdr));
2014/05/13 opencontrail days 2014 Spring 31