Internet Week 2013 S7 IPv4 アドレス枯渇後の選択 ~IPv4 アドレス移転と共有技術の最新動向 ~ IPv4 アドレス共有技術設計 法とネット ワークデザイン上の注意点 NTT コミュニケーションズ西塚要 2013/11/28 Copyright 2013 NTT Communications. All Rights Reserved. 1
紹介 塚要 2006 年 NTT コミュニケーションズ 社 2006 OCN(AS4713) エッジ NW 設計 開発 2008 他社 ISP(AS****) 提案 運 2012 IAC( 先端 IP アーキテクチャセンタ ) にて CGN 関連技術の IETF 標準化活動等 社外活動 JANOG28 実 委員 JANOG30 会場運営委員 など Copyright 2013 NTT Communications. All Rights Reserved. 2
CGN/LSN とは? CGN/Carrier Grade NAT( あるいは LSN/Large Scale NAT) とは? Common Requirements for Carrier-Grade NATs(CGNs) [RFC6888:BCP127] 通常の NAT と異なるキャリア網 NAT としての要求条件 セッション上限機能 Fullcone NAT 機能 ポート割当 法 ( 動的 / 静的 ) セッション保持時間 NAT Log の記録 標準化とともに CGN の実装は洗練されてきました これからどのように展開するかが重要なフェーズです Copyright 2013 NTT Communications. All Rights Reserved. 3
Agenda <Agenda> 1. CGN(Carrier Grade NAT) をめぐる背景 2. 想定する NW 3. CGN 設計レシピ アドレス設計編 ログ編 アプリケーション編 性能評価編 ルーティング編 4. IPv6 化によるトラフィックオフロード 5. まとめ Copyright 2013 NTT Communications. All Rights Reserved. 4
1.CGN をめぐる背景 IPv4 枯渇に対する最終的な解決策は IPv6 への移 です しかし 現実的に進 する IPv4 枯渇に対する暫定解として IPv4 アドレス共有技術 ( 特に CGN) が選択され始めています Copyright 2013 NTT Communications. All Rights Reserved. 5
1.CGN をめぐる背景 2013.05.07 UQ ではデフォルトのサービスをプライベートアドレスに移 グローバルアドレスはオプションで 追加 100 円 / が必要 Copyright 2013 NTT Communications. All Rights Reserved. 6
1.CGN をめぐる背景 2013.05.03 BT でも CGN のトライアルを開始 BT forum ではアプリケーションへの影響が懸念されるという論調 Copyright 2013 NTT Communications. All Rights Reserved. 7
1.CGN をめぐる背景 2013.07.22 MVNO 事業者のワンコイン SIM も プライベートアドレスで提供 Copyright 2013 NTT Communications. All Rights Reserved. 8
1.CGN をめぐる背景 CGN を取り巻く状況は 数年前と きく変わってきています 要因 機器実装の洗練価格の低廉化 Web 利 状況および Web 技術の変化 CGN をいざ導 するとなったときに 慌てないために 設計のための 要所 を本 はお伝えします Copyright 2013 NTT Communications. All Rights Reserved. 9
2. 今回の発表で想定する NW コアルータ プロバイダ網 コアルータ < 条件 > 1 中 規模のプロバイダ ( あるいは 規模プロバイダの 1 エリア ) 2 左記 POI 配下に 15 万ユーザ 3 現状 IPv4 ユーザのみ エッジルータ L3 GW ebgp アクセス網 エッジルータ L3 GW CGN の導 <Question> 1 どれだけアドレスが必要か 2CGN 周辺システム ( ログ等 ) はどのくらい必要か 3 アプリケーションへの影響は 4CGN の性能はどのくらい必要か 5 どこに CGN を れるか どのようにルーティングするか Copyright 2013 NTT Communications. All Rights Reserved. 10
3.CGN 設計レシピ 1 アドレス設計編 どれだけアドレスが必要か Copyright 2013 NTT Communications. All Rights Reserved. 11
3.CGN 設計レシピ アドレス設計編 CGN のアドレッシング ソースアドレスがグローバル IPv4 アドレスの通信 Home /Office インターネット (IPv4/IPv6) CGN 提供エリア CGN ソースアドレスが共 IPv4 アドレスの通信 CPE CPE CPE CPE プライベートアドレス空間 グローバル IPv4 アドレス数は 11 ユーザアドレスあたりのポート使 数 2 ポート割当 法 ( 動的か静的か ) によって決まります 共 IP アドレス空間は 100.64.0.0/10 アドレスを配布します [RFC6598] 提供エリア内の設備アドレスは グローバルを いた が良いと思います Copyright 2013 NTT Communications. All Rights Reserved. 12
3.CGN 設計レシピ アドレス設計編 11 ユーザアドレスあたりのポート使 数について SPDY/WebSocket などの次世代 Web 技術によってセッションが重畳されるため 1 ユーザあたりのポート使 数に変化が起きています SPDY Google Map は複数ポートを利 するアプリケーションの象徴として使われてきましたが 現在はほとんどポートを消費しません (10 15) Copyright 2013 NTT Communications. All Rights Reserved. 13qq
3.CGN 設計レシピ アドレス設計編 Google MAP 閲覧時の同時セッション数 80 SPDY(IE10) vs SPDY(firefox21.0) [ 同時セッション数 ] 70 60 50 40 IE10.pcap firefox.pcap 30 20 3 分の 1 以下 10 0 [sec] 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113 120 127 134 141 148 155 162 169 176 183 190 197 204 211 218 225 232 239 246 253 260 Copyright 2013 NTT Communications. All Rights Reserved. 14
3.CGN 設計レシピ アドレス設計編 代表的なウェブサイトやアプリケーション オンラインゲーム等のセッション数をそれぞれ測り 通常の利 シーンなどを想定しながら 1 ユーザ当たりのセッション数を明らかにします < 法 > パケットキャプチャによって TCP/UDP セッション数を計測 クライアント : Windows7 ( 最新の chrome/firefox) サイト : 本の Top100 サイトおよび有名サービスから抽出 対象サイト / サービス ( 抜粋 ) Webmail 映像 / テレビ系 映像 / テレビ系 (adult) portal EC blog 検索 Online PC game Online Banking gmail, yahoo mail, hot mail ustream, youtube, ニコニコ動画, Hulu, daily motion, daum, qq fc2, dmm.co.jp, xvideos yahoo.co.jp rakuten, amazon.com, apple.com livedoor blog, ameba blog google aeria games, ameba pig, nexon, 777town, hangame みずほ銀行, DCカード Copyright 2013 NTT Communications. All Rights Reserved.
3.CGN 設計レシピ アドレス設計編 各サービス分類における平均セッション数 100 90 80 70 60 50 40 30 20 TCPセッション数内 )port 80 内 )port 443 内 ) その他 DNS クエリ数 10 0 メジャーなサイトの https 対応および省セッション化の傾向が反映 Copyright 2013 NTT Communications. All Rights Reserved.
3.CGN 設計レシピ アドレス設計編 11 ユーザアドレスあたりのポート使 数 ( 観測に基づく仮定 ) 平均セッション数 ( 許容 ) 最 セッション数 1ユーザ当たり 100 1000 2 ポート割当 法 ( 動的か静的か ) 動的割り当て 1 ユーザあたりの平均ポート利 数 (=100) が key factor 1 グローバルアドレスあたり約 600 ユーザ 静的割り当て 1 ユーザの最 ポート利 数 (=1000) が key factor 1 グローバルアドレスあたり約 60 ユーザ 15 万ユーザ収容の場合 動的割り当て静的割り当てプールアドレス数 250 2500 Copyright 2013 NTT Communications. All Rights Reserved. 17
3.CGN 設計レシピ 2 ログ編 CGN 周辺システム ( ログ等 ) はどのくらい必要か Copyright 2013 NTT Communications. All Rights Reserved. 18
3.CGN 設計レシピ ログ編 NAT ログの 積もり Jan 29 16:00:45 sp-ax3000-1 NAT-TCP-C: 100.64.16.1:58622 -> 133.4.40.146:58622 to 133.4.48.65:2000 時刻 CGNホスト名 TCP/UDP 種別 送信元アドレス : ポート番号変換後送信元アドレス : ポート番号 送信先アドレス : ポート番号 ASCII format: 120byte/record Binary format: 26byte/record (20 25%) 15 万ユーザ収容の場合 1 1 か 2 年 NAT ログ量 1TB 30TB 720TB NAT ログの収集はストレージ価格の低廉化によって 現実的なレベルではありません また ポートブロック割り当てなど ログの量を軽減する 法も発達しています Copyright 2013 NTT Communications. All Rights Reserved. 19
3.CGN 設計レシピ ログ編 要注意 静的割り当ておよびポートブロック割り当てでは 警察対応できないケースがあります 通信先サーバがポート情報を保持 (RFC6302 対応 ) していない場合 CGN で通信先サーバ情報をログ取得しないとユーザの特定が不可能 P:aʼ を通知 ユーザ A を同定可能 送信元ユーザ A アドレス : ポート =A:a 変換後 P:aʼ プールアドレス P 通信先サーバ X(RFC6302 対応 ) 送信元ユーザ B B:b 変換後 P:bʼ 通信先サーバ Y( 対応 ) P のみを通知 CGN で宛先サーバを記録していれば ユーザ B を同定可能 送信元ポート情報のない申告に対して法的対応をするには 送信先ログの取得が必要となります しかし 送信先ログを取得しようとすると 静的割り当てやポートブロック割り当ての旨みは出ません Copyright 2013 NTT Communications. All Rights Reserved. 20
3.CGN 設計レシピ 3 アプリケーション編 アプリケーションへの影響は? Copyright 2013 NTT Communications. All Rights Reserved. 21
3.CGN 設計レシピ アプリケーション編 以下に挙げたタイプの挙動をするアプリケーションは CGN を超えることができません VPN 型 P2P 型 SIP 型 代表的アプリケーション CGN(NAT) を超えられない理由 L2TP/IPsec, PPTP TCP/UDP のポート番号も暗号化されるため NAT でポート変換ができない skype, P2P file share NAT 外部から不特定多数の接続を待ち受けるアプリケーションであり NAT テーブルが存在しないため VoIP(050plus 等 ) IP アドレス情報がペイロードに含まれており NAT で変換されないため CGN 側対策実装 ALG Fullcone NAT ALG アプリケーション側対策実装 IPsec NAT トラバーサル (UDP カプセル ) STUN/UDP hole punching, TURN TURN ALG (Application Level Gateway) : CGN においてアプリケーションごとに NAT 越えをサポートする機能 Copyright 2013 NTT Communications. All Rights Reserved. 22
3.CGN 設計レシピ アプリケーション編 <VPN 型 > L2TP は クライアント側の IPsec NAT トラバーサル (UDP カプセル ) の実装が進んでおり NAT 越えができるケースが多い PPTP に関しては 例えば Docomo SP モード網は ALG を OFF にしているとみられる <P2P 型 /SIP 型 > CGN を Fullcone NAT で動作させることによって STUN/UDP hole punching を利 した P2P 通信をすることが可能になる しかし アプリケーション側の作りによっては Fullcone NAT であっても P2P 通信を利 せずに TURN( サーバ経由通話 ) にフォールバックする (Skype の例 ) CGN にはトランスペアレンシを めるために ALG や FullconeNAT の機能が実装されています しかし 処理が 常に重く 救済対象とするアプリケーションを選択しなければなりません Copyright 2013 NTT Communications. All Rights Reserved. 23
3.CGN 設計レシピ 4 性能評価編 CGN の性能はどのくらい必要か? Copyright 2013 NTT Communications. All Rights Reserved. 24
3.CGN 設計レシピ 性能評価編 <CGN の性能評価 > 仮想マシン群から ISP 規模 :1 万 100 万 を模したトラフィックを 成し 負荷をかけた CGN の性能値を測定した DNS サーバについて 複数の設置パターンを構成し DNS クエリが CGN に与える影響を調べた 障害を模擬した切替実施により HA(High Availability) 構成の有効性を確認した 仮想マシンを利 した基盤により 規模ユーザを模したトラフィックを 成する アプリケーション アプリケーションサーバ DNS サーバ A DNS サーバ B DNS サーバの設置場所の変更による CGN に対する影響を計測 2 台の CGN を い HA の構成を作る ユーザY Copyright 2013 NTT Communications. All Rights Reserved. 25
3.CGN 設計レシピ 性能評価編 < 検証構成 > クライアント側 StarBED DNS サーバ B.125 End-to-End 測定 PC syslog セグメント 192.168.0.0/24 2510 DNS サーバ A.124 サーバ側 StarBED.1 100.64.0.0/20.2.126.1 VRF.2 VIP.4.3 CGN-1 CGN-2.2 VIP.4.3 syslog サーバ群.1.126 VRF.1 133.4.48.0/26.2 100.64.16.0/20 133.4.48.64/26....64.5 CGN-3.5....64 100.67.240.0/20 2501 2502 2503 2504 133.4.63.192/26 100.100.1.0/25 100.100.10.0/28 133.4.16.0/28 133.4.17.0/25 Pool Address 133.4.32.0/20 Copyright 2013 NTT Communications. All Rights Reserved. 26
3.CGN 設計レシピ 性能評価編 < 顧客規模と発 セッションについて > 顧客の契約数から最 同時セッション数の導出は 実際のネットワークごとの特徴があり観測が必要となるが 以下の仮定に基づいて 検証で発 させる負荷を算出した 契約数 Active 率 (25%) 同時セッション数 (400) = ネットワーク上で想定される最 のセッション数 検証想定数 検証ケース ユーザ数 アクティブユーザ数 同時セッション数 小規模 ISP 10000 2500 1000000 中規模 ISP 100000 25000 10000000 大規模 ISP 1000000 250000 100000000 同時セッション数 100M 10M 規模 ISP 中規模 ISP 規模 ISP 1M 1 万 10 万 100 万 契約数 Copyright 2013 NTT Communications. All Rights Reserved. 27
3.CGN 設計レシピ 性能評価編 A10 AX3000-11 を例として性能評価の結果を記載する AX3000-11 では 16M セッション (=16 万ユーザを想定 ) で限界を迎えた 右の表は実証実験で いた装置のカタログスペックである 実際には 16M セッション 20K セッション / 秒程度で性能限界に達することがわかった CGNカタログスペック 同時セッション数 67M (67 万ユーザ規模 ) セッション / 秒 440K 16 万ユーザ規模を想定したセッション (16M セッション ) を CGN 装置に印加した場合 全てのセッションを確 することができた (16 万ユーザ規模は収容可能 ) CPU 使 率は 80% 程度 26 万ユーザ規模を想定したセッション (26M セッション ) を CGN 装置に印加した場合 20M セッションで限界となった (26 万ユーザ規模は収容不可能 ) CPU 使 率は 90% 程度 ( 閾値超過の警告発 ) Copyright 2013 NTT Communications. All Rights Reserved. 28
3.CGN 設計レシピ 性能評価編 以下の 3 パターンについて 同 の負荷を印加し CGN の性能への影響を検証した パターン1 パターン2 パターン3 ユーザに配布するDNS サーバ CGNの外側に置かれた DNSサーバ CGNの内側に置かれたDNS サーバ CGNの内側に置かれたDNS サーバ 新規 DNSの設置についてなし CGN 配下のドメインに新規に DNSサーバを設置 CGN 配下のドメインに新規に DNSサーバを設置 内側 外側の - CGNを通る CGNを通らない DNSサーバ間通信 通過するクエリ 全てのDNSクエリがCGN を通過する 第三者の運用するDNSを利用しているユーザのDNSクエリ フォワーダからフルリゾルバへの DNSクエリ + 第三者 DNSを利用しているユーザのDNSクエリ パターン 1 パターン 2 パターン 3 アプリケーション DNSサーバA フルリゾルバ アプリケーション DNSサーバA フルリゾルバ アプリケーション DNSサーバA フルリゾルバ アプリケーションサーバ アプリケーションサーバ アプリケーションサーバ DNS サーバ B DNS サーバ B フォワーダ フォワーダ Copyright 2013 NTT Communications. All Rights Reserved. 29
3.CGN 設計レシピ 性能評価編 A10 AX3000-11 を例として DNS クエリの影響の評価を記載する AX3000-11 では DNS クエリの影響がほとんどないことがわかった 負荷トラフィックとして 16M 同時セッションとなる TCP 通信 (port80) に加えて ホスト名を解決するための 16M クエリの UDP 通信 (port53) を発 させた パターン 1 とパターン 2 を 較すると った影響は られなかった AX3000 では DNS のセッション保持時間のが 3 秒と短いため 最 でも 40K セッションしかセッションエントリを消費しなかった パターン 1 とパターン 3 の 較では 実際にキャッシュ効果により CGN を通る DNS パケット数が減少することが確かめられた この場合でも DNS クエリによる負荷の増 は られなかった パターン 1 パターン 2 パターン 3 Copyright 2013 NTT Communications. All Rights Reserved. 30
3.CGN 設計レシピ 性能評価編 < 冗 構成検証 > トラフィックを印加した状態で HA 構成の 2 台 へ通信を切り替える 切り替えによっても通信影響が発 しないことを確認する 多くの CGN は Act-Sby 構成で動作しセッション情報の同期を う 16 万ユーザ規模のセッションを印加し 0 系の CGN をダウンさせ 1 系側にセッションを移す アプリケーション アプリケーションサーバ Heart Beat 線を接続し セッション情報をやり取りして共有している Copyright 2013 NTT Communications. All Rights Reserved. 31
3.CGN 設計レシピ 性能評価編 A10 AX3000-11 を例として Act-Sby の切替の結果を記載する HA 切替によって 30msec 程度の遅延が発 することが確認された 切り替えの前後でセッション数が減少しないのは セッション同期が われているため これは CPU 使 率の推移からもわかる 切り替えの前後で パケットロスは発 しなかったが 若 の遅延が発 した しかしながら サービスに きな影響を与えるものではなく CGN で HA 構成をとることは ISP が安定してサービスを提供する上で 選択し得るソリューションとなる 切り替え実施 切り替え実施 Copyright 2013 NTT Communications. All Rights Reserved. 32
3.CGN 設計レシピ 5 ルーティング編 どこに CGN を れるか どのようにルーティングするか Copyright 2013 NTT Communications. All Rights Reserved. 33
3.CGN 設計レシピ ルーティング編 性能評価の結果より 10 数万ユーザ程度を集約する階層にも設置が可能 考慮すべき点 ebgp や ibgp といったダイナミックルーティングができない CGN が多いため 以下の部分には設置できない ebgp の境界 ibgp が動作するルータの間 ネットワーク設計例 エッジルータのルーティングを論理的に分割し この間に設置する ( ダイナミックルーティングをエッジルータで終端できる ) 2 台 1 セットにする (HA 構成を取り 耐障害性を める ) L3 GW L3 GW Copyright 2013 NTT Communications. All Rights Reserved. 34
4.IPv6 化によるトラフィックオフロード CGN を提供する際には IPv6 サービスと抱合せて提供することを推奨します IPv6 が提供されていれば 1 ユーザ当たりの CGN に対する負荷は軽減されます さもなくば 暫定解である CGN への依存が継続し コスト ( なおかつ低スペック ) なサービスであり続けることになります Copyright 2013 NTT Communications. All Rights Reserved. 35
5. まとめ CGN を含む全てのアドレス共有技術は暫定解 アプリケーションへの影響をゼロにはできないため 暫定解として極 使える 技術を選択したい NAT444+IPv6 DS-lite 464xlat MAP-E 特に CGN はベンダの実装が進み アプリケーションへの影響も詳しく調べられており 対処できるものが進んでいる CGN の適材適所 CGN 設計指針となる 連の流れを紹介しました Copyright 2013 NTT Communications. All Rights Reserved. 36
謝辞 This research and experiment are conducted under the great support of Ministry of Internal Affairs and Communications of Japan. 本研究は H24 年度 IPv4 アドレス枯渇に伴う情報セキュリティ等の課題への対応に関する実証実験 において総務省からの 援を基に った成果です Copyright 2013 NTT Communications. All Rights Reserved. 37