講義資料

自律分散協調論
課題レビュー
第11回
村井純
課題
• 課題内容
– インターネットの理想と現実
・DNS root server operation
・BGP operation(BGP routing)
・End to end model(Broadband Application)
のうち2つを選び, 以下についてまとめなさい。
1) 要求の変化
2) 現状の問題点
- 自律分散協調, インターネットアーキテクチャの観点から
3)その問題に対する解決策
量は自由です。
– 57人中 2人が提出
加藤文彦さんのレポート
• RootDNS
– アメリカにほぼ全体重がのった現在のシステムは国際
政治的に問題になっている
– アメリカに10、他に3あるがアメリカの10個が機能しな
いと他の3つではインターネットを維持できない
– ルートサーバを増やすことで対応
• 数が増えることでアルゴリズムも変化
• End-toEnd
– 帯域格差の大きいネットワークが存在する
– エンドノードはネットワークの状態がわからない
– End-to-Endの一つ手前にアプリケーション の最適化を
行う機構を導入するのはどうか?
丸山武さんのレポート
• RootDNS
– アメリカに完全に依存したシステム
• テロなどがおこって遮断されたら、、、、、
rootDNSのオペレーション
– 国家に所属しない衛星に組み込んだら?
• BGP Operation
– ポリシなどはISP 間で交渉、人の手で作業
– 非営利団体にすべてをゆだねては?
1
ルートネームサーバ
• 理論上、最初に問い合わせがくるDNSサーバ
– ルートネームサーバ=RootDNS
• インターネット上の名前空間 の頂点
– 13台のルートネームサーバで運用
• 規模性への配慮
– キャッシュによるパフォーマンスの向上
日本のルートネームサーバ
• m.root-servers.net
– Spec
• PentiumIII 1GHz×2
• 256MB
– そろそろきついので、現在新しく構築中
• Athlon XP 1800+
• 512MB
– 実は全然すごいマシンではない
ルートネームサーバ:ハードウェア
• オペレーション方法
– リモートからではなくコンソールから
• 環境
– 鉄格子による防衛と無停電電源装置 による熱
暴走防止
• 接続性
– レイヤー1から3までは異なった経路でイン
ターネットへ接続
RootDNSのオペレーション(続き)
• BINDのバージョン
– 全てのRootDNS はBINDの最新版で動作している
• オペレータの連絡先情報
– それぞれのRootDNS のオペレータは(ハードコピーで)
他のオペレータの連絡先情報をもっている
– 安全なコミュニケーション を利用が前提
• 複数のレベルで人員を配置
– 複数のレベルでシステムを運用する仕組み
RootDNSのオペレーション
• バックアップ
– それぞれのRootDNS はゾーンファイルのコピーを持つ
• ハードウェア に冗長性を持たせる
– 全てのRootDNS はハードウェアに冗長性を持たせる
• Hot Spare(手動)
– 機器を動作させたまま交換できる必要がある
• Live Spare (自動)
– 機器を自動的に切り替えられなければならない
ゾーンファイル
• RootDNSの持つゾーンファイルに対する追加、
変更、削除申請
– 必要事項をテンプレートに沿って記入
http://www.icann.org/icp/icp1.htm
– [email protected]に記入したものを送る
– IANAなどによる申請者の技術、政治的な状況の確
認
– DoC(米商務省)に承認されPGP暗号化された文章が
IANAからVeriSignへと送られる
– RootDNS への変更通知
– ゾーンファイル及びwhoisの変更準備
2
ゾーンファイル の配布
• 定義
– マスター :配布元
• 一つのファイルによる情報供給
• 一つのデータベースから生成されるファイル
– スレーブ :マスターサーバの複製
• 変更箇所の検出
– プロトコルによる取得 (zone transfer と呼ぶ)
• SOAレコード
– シリアルナンバー
– 定期的 な更新
– 通知
• TSIG(Transaction SIGnature)による保護
– ファイルによる取得
• PGPサインされたメールがあるアドレス群に届くことで通知
ゾーンファイルの分配 – マスター (cont)
•
FTPサーバを通した分配
– ftp://rs.internic.net/domains
–
•
ftp://ftp.crsnic.net/domains (com/net/org のアカウントを持つ人向け)
マスターとa.root-servers.netへの分配
– 信頼できるインターフェースへの分配
– データロード前 のセキュリティチェック
• 信頼性
• 合法性
•
ゾーン変更を行う間の複数台のマシン利用
•
継続的な通知リストへのメッセージ送信
– a.root-servers.netあるいはj.root-servers.netならば最小の停止時間 で行う
オペレータ
• 異なった性格、異なった組織、異なった種類
の組織、異なった ...
• 強い社会ネットワーク
• 暗号化されたコミュニケーションチャンネルの
確立
ゾーンファイル の定義:マスター
• マスターファイル
– 供給データベースによる生成
– 災害に備えた複製
• データベース
• 分配プログラム
• 別所へのバックアップファイル
の保存
– 人の目による差分調査
– 鍵の調査
• SOAレコードのシリアルナン
バー
– 安全である要素
• ゾーンファイルを崩す
• 一つ一つのファイルに対
するGnuPG (PGP) 署名
• Md5sumサイン
– ステージングマシン へのイ
ンストール
• ログ確認
• DNSクエリー
• データ供給中に変 更が生 じた
場合の代表者への連 絡
ゾーンファイル の分配 – スレーブ
• 変更箇所の検出
• DNSプロトコルの使用
– メッセージの通知
– 継続的なチェックによる更新
• その他の方法
– PGPサインされたメール
– Cronjob
• 各ルートオペレータは正当性の確認に対する
責任がある
テクニカルガイドライン
• The Internet Engineering Task Force (IETF)の技
術開発に関する手続き
– Domain Name System Operations working group.
– Domain Name System Extensions working group.
• ルートオペレータはRFC 2870をガイドラインとし
て使用する
– "Root Name Server Operational Requirements"
– 新しいアイディアは次のバージョンのドキュメントの中
に盛り込まれる
3
現在の運用状況
• オペレーションを目的としたリモートから
のアクセスを制限している
• 運営場所は物理的に十分な防衛がなさ
れている
• 万一の場合に備えた防災計画
ICANNの規則
• 完全な変遷計画
– 新しいIANA規則に乗っ取ったセキュリティと
安定性
• MoUプロセス
– Btwnルートサーバオペレータ
• IANAファンクションのバックアップ
• 信頼できるエンジニアとオペレータ
ルートキャッシュを使った名前解決
ユーザ
1. root zone
(root server)
・
2. jp zone
(ns.nic.ad.jp)
jp
.jp
• 様々なUNIXを利用
– 7種類の異なるハードウェア
– 8種類の異なるUNIX
– 5種類の異なるベンダー
• 地理的に分散
• 地元の時間で運用(GMT含む)
www.sfc.keio.ac.jp
ac.jp
3. ac.jp zone
(ns.nic.ad.jp)
4. keio.ac.jp zone
(ns0. keio.ad.jp)
5. sfc. keio.ac.jp zone
(ns1.sfc.keio.ac.jp)
ルートネームサーバ: 分散システム
www.sfc. keio.ac.jp
ac
keio
sfc
k e io
ローカル
ネーム
サーバ
133.27.4.212
p
.ac.j
web ブラウザ
133.27.4.212
sfc
.k
eio
13
.ac
3.2
.jp
7.4
.21
2
• ルートキャッシュ
• 負荷分散
• akamai
アクセスされる ネームサーバ
運用の工夫
ルート
キャッシュ
TCP
IP
すべてのCNAME を解決し
てからA を聞く
akamai
• 負荷分散の仕組み
• DNSキャッシュのコピーを複数台つくる
• すべてのDNSクエリーをakamaiに送信する
– akamaizer
– 場所に応じて近いakamaiサーバに変更
• http://www.akamai.com/
4
運用問題
• ルートサーバの数
– 米国以外の3台では機能しない
• 攻撃のターゲットとなる
• ルールに準拠しない/設定ミスのあるサーバ
– repeated queries
– microsoft
– こわれたクエリー
• IPv6
ルートサーバの数
• 米国10、その他3
• 米国の10個がつながらない場合、名前解
決は機能しない
– アメリカに完全依存している
• 丸山 武さんの答え
– 国に属さない衛星にルートサーバを設置
DoSアタック
• 普段は一秒5000-10000回のクエリーがくる
• DoSアタック時は38000回を記録することが
ある
• RootDNSが機能しなくなる事はインター
ネット全体が機能しなくなる事と同じ
• 数が少なくあきらかなターゲットとなる
ルール違反や設定ミス
• Src.Portが0であるクエリー
• RootのZoneを書き換えようとするクエリ
– win2kは標準状態でDHCP でアドレス取得後
にルートサーバにDNSのアップデートを行おう
とする
– 日に120000件ほど来る事もある
ルール違反や設定ミス
• 壊れたクエリー
– DNSサーバが理解できないクエリー
• 全クエリーの14%にもおよぶ
– IP アドレスからIP アドレスを聞こうとする
• win2k、MacOSXは行うことがある
• 設定ミス
– プライベートアドレスのクエリー
ルール違犯や設定ミス
• Repeated queries
– 通常キャッシュされて短期間に何回もクエリー が来る
事はない
– しかし実際に何度も同じホストがしきりにクエリーを
送っている
4-minute trace 1M queries
8-minute
2M
1 hour
10-18M
2 hours
29M
62% repeats
69%
74%
85%
• この様なルール違犯や設定ミスはサーバの負荷
になっている、なくならない
5
ルートネームサーバ とIPv6
• 将来的にインターネットはIPv6になる
• DNSのIPv6対応とは、以下の異なる2つ
通信のIPv6対応
• 3種類の通信に関して対応が必要
権威サーバ
– レコードのIPv6対応
2.ネームサーバ間 の
問 い合 わせ
・
• AAAAレコード
• ip6.int逆引きツリー
ローカル
ネーム
サーバ
jp
– 通信のIPv6対応
ac
ac
クライアント
1.クライアントからの
問 い合 わせ
3.ゾーン転送
IPv4/IPv6
• 移行・過渡期の問題
– すべてのホストがIPv6で通信できるわけではない
– 移行末期では、すべてのホストがIPv4で通信できるわけではなく
なると予想される
– ネームサーバは、世界中のあらゆるホストと通信ができなければ
いけない
ルートへのAAAAの登録
• ルートネームサーバは13個
– サーバ1つにつきNSとAが1個づつ
• パケットサイズの制限
– 上限:512バイト 現在:444バイト 残り:68バイト
• レコードごとのサイズ
– NS:15バイト A:16byte AAAA:28バイト
→ ネームサーバは両方のサービスが必要
–
–
–
–
IPv4/IPv6両方の到達性
ソフトウェアのIPv4/IPv6両対応(OS/サーバ実装)
AAAAとAの両方を登録
いつv4をなくして良いかは難しい問題
• 選択肢としては…..
– IPv4ルートネームサーバは現在のまま
• 現存ルートネームサーバのうち2つを両対応に
• 両対応のネームサーバを1つ追加
– IPv4ルートネームサーバを減らす
– 512byte 以上使えるように拡張する(EDNS*)
BGPとは
BGP Operation
• Border Gateway Protocol
• AS間の経路交換に用いられる
– IBGP AS内でBGP の経路を伝播
– EBGP AS間
• 通常BGP4を利用
– 基本的に手動
6
ポリシールーティング
• BGP によって実現
• AS ごとのポリシーにしたがったルーティン
グ
– どの AS に経路を広告するか
– 他の AS の経路も広告するか
– 他 AS からの通信をTransit するか
ポリシとコンフィグのブラックホール
• 通常経路集約でプリフィックス数を減らす
• ポリシにより長いプリフィックスの経路をア
ナウンスしたい必要もある
• 場合によっては最適な経路が利用されなく
なる、ブラックホールが発生する
BGP Operationで起こる問題
•
•
•
•
ポリシとコンフィグのブラックホール
フラップとダンプイング
ネクストホップアドレスの解決
経路情報の変更
フラップとダンピング
• 転送されてくる 経路情報のなかには安定しない
ものもある
– 属性が変化する
– 消える、など
• 経路情報を交換するパケットが大量に発生
• ルータのCPUリソースを消費
• インターネット全体に影響をおこぼしかねない
ネクストホップアドレスの解決
経路情報の変更
• 管理者はIGPにおけるネクストホップとEGP
におけるそれとの 違いを意識しなければな
らない
• 経路情報の属性値などを変更した場合に
経路情報を読み込みなおす必要がある
• ピアをはった先と一度TCPのコネクションを
切る必要がある
– IGP ではとなりの ホスト
– BGP では
• EBGP----ピア接続された隣接ルータ
• IBGP---- 外部ASから学習したEBGP のネクストホッ
プ
– 対策としてルータ内のメモリーにキャッシュす
る方法がとられるようになった
– さらに最近ではTCP セッションを維持したまま
経路情報を読み直す機能もついた
7
パケット交換方式
–
データを小包(パケット)に小
分けにして転 送
–
データグラム
End-to-End
End-To-Endモデル
• エンドシステムが頑張る
– エンドシステムは雲の中(ネットワーク)がどうなってる
かを知らなくてもよい
ベストエフォート
• 中継システムは、データを“なるべく”努力
して転送しようとする
– インターネットでは、データが必ず相手に届く
保証はない
自律分散協調
• 中継システムの役目(IP)
– ベストエフォート(best effort)
– データを「
なるべく努力」し
て転送
• エンドシステムの役目(TCP/IP)
– 自分で責任をもってデータを転送
相手に確認を取る
もう一度送り直す
ペースダウンする
データを小さく分ける
End-toEndですべて解決か?
• 過去、相手までデータが送れる事が重要
だった
• 現在ではQoSへの要求が高まってきてい
る
8
QoS への要求
• 90 年代に入ってインターネットが爆発的に普及
– 最初はパケットが宛先まで届けばよかった
• リアルタイムアプリケーション の要求
– 音声、動画通信
• ビジネス向けの高品質サービスの要求
– インターネットを使ったビジネス
• 電話網に匹敵するQ o S の要求
– 電話網とIP 網の逆転現象
何故必要とされたか?くだいて
• 110番パケットは落ちて欲しくない
• 119番パケットは落ちて欲しくない
• 金払っている奴のパケットはそれなりの 待
遇して欲しい、かも知れない
• えらい人のパケットはそれなりの 待遇して
欲しい、かも知れない
• データ通信量が音声通信量を追い抜く現実
– 従来:電話網上にIP ネットワークを構築
– 今後:IP ネットワーク上に電話網を構築
インターネットQoS とは?
• 定量的に表現できる通信品質
– 帯域、遅延、ジッタ、パケット損失率
• 必要なだけの保証された帯域 (bandwidth)
• 少ない遅延 (delay)
– 現状での限界は光の速さぐらい
• 小さいジッタ(jitter)
– ジッタ:遅延のばらつき、ゆらぎ
• パケットロス率
ようは。。。。
• インターネットは様々なトラフィックが流れ
ているのが特徴
• それぞれが譲り合いながら通信をしている
• それなので、インターネットとQoSというの
は、実は相反するアーキテクチャな面もあ
る
– QoS系は、特定のトラフィックを優先する
– 特定のトラフィックの優先は、他のトラフィック
の犠牲により成り立つ
インターネットでのパケット転送
• Shared Network
– みんなで共有
– 色々なトラフィックが流れている
• Shared Bandwidth
– 限られた帯域をみんなで使う
– 90%以上がTCP
• 譲り合いの精神(
TCP)
では、QoSを実現するには?
• 回線を太くする
– RFC1633(Intserv)での反論(1994年)
• 帯域をじゃぶじゃぶ使うというのが最も安価な解法
になるとは 考えにくい
• どこもかしこもじゃぶじゃぶになるとは考えにくい
• 優先制御をする
– Intserv、Diffserv、その他の考え方
• この後に紹介
9
QoSは優先制御によって実現さ
れる
• 複数のコンポーネントの組み合わせ
Intserv(Integrated Services)
•
•
•
•
RFC1633(1994年)
帯域予約を行って,QoSを実現しよう
Flow毎に予約を行う
各ルータはそれぞれのFlowの状態(
state)
を見続ける
• 予約されているフローには、優先制御を行
う
– アドミション制御
• 動的な資源配分(帯域など)の判断
– クラシファイア (classifier)
• 到着パケットを対応するグループに分ける機構
– シェーピング(shaping)/ポリシング(policing)
• バーストを一定のレートにならす
• 規定以上の入力がないか監視
– パケット・スケジューラ(packet scheduler)
• 各グループに応じたパケットの送出
– バッファ管理
RSVP
(Resource reSerVation Protocol)
• Intserv 的な予約をルータに対して予約して回る
プロトコル
• Intserv パラメータをルータに配るプロトコル
• Intservと同時ぐらいに提案されて出てきた
RSVP
SRC
• ある送信アドレスからある受信アドレスまでの経
路に沿って予約をして行く
• フロー
• 受信者が予約要求 を出す
DST
RSVP
RSVP
SRC
RSVP対応ルータ:R
SRC
FLOW
RSVP PATH M S G
RSVP_HOP:R1
RSVP_HOP:SRC
DST:DST
DST
R1
DST
R2
10
RSVP
RSVP
RSVP対応ルータ:R
SRC
RSVP対応ルータ:R
SRC
RSVP PATH M S G
RSVP_HOP:R1
DST:DST
RSVP PATH M S G
R1
R1
DST
RSVP_HOP:R2
RSVP_HOP:R1
DST:DST
R2
RSVP
DST
R2
RSVP
RSVP対応ルータ:R
SRC
RSVP対応ルータ:R
SRC
RSVP PATH M S G
R1
RSVP RSV M S G
R1
DST
RSVP_HOP:R2
DST:DST
DST:R2
R2
R2
予約
RSVP
RSVP
RSVP対応ルータ:R
SRC
RSVP対応ルータ:R
SRC
RSVP RSV M S G
DST:R1
DST:R2
RSVP RSV M S G
R1
予約
R2
R1
R2
11
RSVP は,何故,受信者ベース
か?
マルチキャストの時の
RSVP PATHメッセージ
• RSVPは、マルチキャストを前提としている
• マルチキャストフローの送信者がPATHメッ
セージを出す
• 受信者が必要に応じてRESVメッセージを
出す
SRC
RSVP対応ルータ:R
R1
R2
Diffserv
(Differentiated Services)
Intserv問題点
• 各フローの状態(state)を持たなくてはならな
い
– ルータで管理する情報が膨大になる
– トラフィックが大量にあると破綻する
– ポリシ制御が明確でなかった
•
•
•
•
誰が予約して良いか
どれぐらいまで予約してよいか
最近になって、やっとCOPSというのが標準になった
でも、まだ実用的ではない面もある
• Intservの問題点を解決した手法
– ルータで持たなくてはならない状態(state)を大
幅に集約(aggregate)
• IPパケットヘッダのTOSフィールドを使う
– TOS → DS field に改名
– DSCP(DS Code Point)
– PHB(Per Hop Behavior)
DSCP
– ポリシ記述方法など
0
IntservとDiffservの差(簡易版)
Intserv
Diffserv
様々なフィールド
を見てフローを識別
フロー毎にSTATEを持つ
バックボーンルータではつらそう
DSCPだけを見てフローを識別
PHB毎にSTATEを持つ
バックボーンルータではIntserv より楽
7
DSCP のマーク方法
DSドメイン
Classifier
Marker
DSCP見るだけ
EDGE
CORE
Classifier
Marker
CORE
EDGE
CORE
12
現在、決まっているPHB
• あるレートのトラフィックを実現しましょう
• EF(Expedited Forwarding)
– Virtual Leased Line
– 101110b を使うことがRECOMMENDED
• AF(
Assured Forwarding)
– PHB Group
– 青、黄色、赤
– 4 class がある(詳しい説明は後ほど)
EF,
それだけだとわかりにくいので,,,
• バーチャルな専用線を提供する感じ
– 専用線内のトラフィックが少なければスカスカ
通る
– 専用線にトラフィックを流しすぎるとパケットが
落ちる
EF
普通 普通 普通 普通
EF(Expedited Forwarding)
優先Queueに入り、
先に出る
AF実際
• パケットロス率
– 赤>黄色>青
• どうやってやるか?
– RFCでは、REDを使うとできると書いてある
– RED(Random Early Detection)
– 他のトラフィックが大量にあっても大丈夫 にし
ましょう
• でも、サービスの与えすぎには注意しま
しょう
• EF PHB のDSCPは、101110b を使いま
しょう
AF(Assured Forwarding)
• AF1、AF2、AF3 、AF4の AF class が用意されている
– 各クラス内のフローは、赤、黄色、青に分けられる
• 赤、黄色、青
– 青パケットは落ちにくい
– 黄色パケットは青より落ちやすい
– 赤パケットはもっと落ちやすい
– 本当は、赤、黄色、青と分かれているわけではなくて、AF
class 1 の1番、2番、3番という風に書かれている
RED(Random Early Detection)
• ルータでの queue length の平均値を計算しつ
づける
• Random にパケットを落とす
• 平均 queue length が長くなるほどパケットを捨て
る確率が増加する
• RED
– QUEUEにパケットが溜まってきたらパケットを捨て
る
– パケットを捨てると,TCP が出す量を減らしてくれる
Avg Queue length
Max thresh
Min thresh
0%
100% パケット捨てる率
13
今週の課題
• SFCが慶應義塾大学から独立した場合、どのよ
うなことが起こるか説明してください。また独立す
ることによる利点、欠点について述べてください。
• 字数 800字程度
• SoIのシステムを使って提出
• 締め切り
– 7/7(日)23:59
14