SCTPにおける アドレス選択ポリシーを定義できる IPアドレス自動更新機能の設計 丸山伸 小塚真啓 岡部寿男 130.54.XXX.XXX VPN 研究の背景 • フリーアドレスの普及 – 無線LANの基地局が切り替わる • 移動に伴いアドレスが次々に変化する – 組織全体を1つのL2で統一することは困難 • 通常のTCP通信では毎回接続をやりなおす – うれしくない。めんどくさい。 • 何らかの移動通信技術が必要 • 次世代のトランスポートプロトコル SCTP を使ってみる SCTP と モビリティ • SCTPはTCPと異なり、複数のアドレスを用いる – 信頼性の確保 – 本来はモビリティー用途ではない • 動的なアドレス変更 (ADD-IP 拡張)によって モビリティも実現しうる – こういうときにSCTPを使うと何が起こるか? SCTPにおける自動アドレス取得 • SCTPの動的アドレス変更はADD-IP というアドレ ス更新機構を用いる • ADD-IPのAUTO ASCONF(アドレス自動更新機構) は新たに取得したアドレスをassociationに登録す る しかし…. • プライベートアドレスを拾ってしまうと問題 – SCTPはNATに弱い – プライベートを拾った後、PPTPとかを張れば問題ない のに・・・ 研究の目的 • 通信に用いるアドレス – NATのないアドレス – PPTP認証後に得られるアドレス • 通信に用いないアドレス – プライベート – あきらかに他組織のアドレス • このようなポリシーに基づいてアドレスを取捨選 択する機構が必要 自動アドレス更新機構の問題点 • 古いADD-IP (Draft under 15)では、プライベー トアドレスを拾うと通信を継続できない – Cumulative ASCONFを提案した • 新たなアドレス変更を通知できるようになった • 16以上でも、プライベートアドレスを拾ってし まうと、 – 新しいアドレスの通知は、タイムアウトを待つ – 新しいアドレスの通知が遅れる どうしよう? 使いたくないアドレス • 組織内から出先への移動 – 移動しても接続を維持したい • しかし – 途中で拾ったアドレスは用いない – 出先からは、PPTP等のVPNを用いて得た会社の アドレスだけを使う 130.54.XXX.XXX 130.54.1.11 130.54.11.22 212.12.3.4 192.168.0.3 VPN 172.16.1.3 130.54.211.5 そこで。 ようするに提案。 • SCTPのアドレス自動更新機構にアドレスを 取捨選択するためのポリシーを導入 – Positive なポリシー – Negative なポリシー • 例 – グローバル(Positive)、プライベート(Negative) – 組織内(Positive)、組織外(Negative) 実装の概要 • 自動更新機構がアドレス変化を検出したとき、 – ポリシーにマッチした場合 → 通常処理 – ポリシーにマッチしない場合 → 破棄 • FreeBSD 6.2 RELEASE + SCTP.org の実装を ベース – Cumulative ASCONF – 自動更新ポリシー (Auto ASCONF) 正常に動作することを確認した 実装 • 自動更新のポリシーはソケット作成時にプロ セスの環境変数から取得 – socketシステムコール内にはプロセスの情報が渡 る • 取得したポリシーをSCTP PCB (Protocol Control Block) へ保存 Int socket (struct thread *td, struct socket_args *uap); Struct thread Struct proc Struct proc *td_proc Struct sysentvec * p_sysent Struct sysentvec Struct ps_strings Struct ps_strings *sv_psstrings Char **Ps_envstr Int ps_nenvstr 結論 • SCTPにおける接続で Auto ASCONF を使う際 には、 – アドレスを取捨選択するためのポリシーを与える 機構が必要 • 一般にSCTPとNA(P)Tの相性は悪いといわれ るが、 – ポリシーを導入することにより、NA(P)Tの下から でもSCTPを利用できる可能性がある を示した 今後の展開 • ポリシーの与え方についてさらに検討 • 自宅までの移動中は Freeze すれば良いはず • 実装を安定させる • SCTP Interop @ 京大 (8/19~24) にて実装を デモ • 標準化を目指す
© Copyright 2024 ExpyDoc