二つのクライアント環境を直接接続させる機構の設計と実装

松田 駿一  中山 泰一  
(システム開発論文)

誌名
電子情報通信学会論文誌 D   Vol.J93-D   No.10   pp.2231-2239
発行日: 2010/10/01
Online ISSN: 1881-0225
DOI: 
Print ISSN: 1880-4535
論文種別: 特集論文 (システム開発論文特集)
専門分野: ネットワーク
キーワード: 
Simultaneous TCP Open,  Peer-to-Peer,  NATトラバーサル,  ActionScript,  JavaScript,  

本文: PDF(472.5KB)
>>論文を購入


あらまし: 
TCPにおける例外的な接続手法であるSimultaneous TCP Openは,接続を仲介するサーバなどを用いて,同時にSYNパケットをお互いに向けて送信することで,接続する双方のノードのいずれもがLISTEN状態を経由せずに,コネクションを確立させることができる.この手法を使う場合は,通常はbind()を利用してポートを明示的に割り当てる必要がある.しかしながら,クライアント利用を主目的とするような環境ではbind()がない場合がある.本研究では,エンドポイントのアドレスやポート番号といった情報を調査して接続の仲介を行うサーバを用意した上で,Simultaneous TCP Openを利用してconnect()のみを使った二つのエンドポイント間の直接接続を実現する機構を作成した.その実例としてlisten()bind()といった,サーバとして動作するための機能をもたない処理系である,Adobe Flash及びJavaScriptの拡張プラグインのJNEXTを使い,TCPによる二つのクライアント間での直接接続を実現し,複数のOSやネットワーク環境において実験を行い,その評価をまとめた.