SCTPを試す

LTEや,LTE Advancedの制御信号の送受信に使われてたり,openflowでサポートされてたりと
最近何かと話題のSCTPを軽く試してみる.
プロトコルの仕様はまだ読み切っていないが,アサーションの生成とデータの送信,アサーションのシャットダウンまでを動かす.

環境:

 Ubuntu14.04 LTS 64bit (VMWare Player上で動作)

準備:

SCTPをコマンドライン上で動かすためのツールをインストールする.

$ apt-get isntall lksctp-tools
実行:

端末を2つ開いて,以下のコマンドを実行する.

  • server
$ sctp_darn -H 127.0.0.1 -P 2500 -l
  • client
$ sctp_darn -H 127.0.0.1 -P 2600 -h 127.0.0.1 -p 2500 -s

クライアント側の端末に,送信する文字列を入力する
f:id:kiri__n:20140528133753p:plain

確認:

wiresharkを用いてキャプチャしてみた.
f:id:kiri__n:20140528133819p:plain
f:id:kiri__n:20140528134049p:plain

アソシエーションの生成はパケットを2往復させる必要がある.
最初の送信データはCOOKIE ECHOと同時に送信される.以降はDATAフレーム単体で送信されるらしい.
切断時は,TCPのような半切断状態とかはなくなってるらしい.