ぶろゲ DCCP編にてDCCPを使う実装を触っていたのだが、その実装が期待通りに動かない。
その現象とは、DCCPでローカルループバックでは期待する動作をするのだが、別PC間で接続を行うときちんと動作しない。この差は、おそらく、パケットの消失があるか、ないかの違いだと思われる。
CCID2はデフォルトの状態で、CCID3は以下の設定を行い、実験を行った。(参考:DCCP – LinuxNet)
[code]
echo 3 > /proc/sys/net/dccp/default/rx_ccid
echo 3 > /proc/sys/net/dccp/default/tx_ccid
echo 10000 > /proc/sys/net/dccp/default/seq_window
echo 0 > /proc/sys/net/dccp/default/send_ackvec
[/code]
ttcpというDCCP検証に使えそうなスループット測定プログラムを走らせても期待通りにはならない(本プログラムではUDPも期待通りに動作しないため、損失を考慮しないと思われる)。
今回はDCCPによって、インターフェースで発生するだろうバッファ溢れを解消したい希望があり採用したのだが、それ以上に消失に対してセンシティブである印象を受ける。これはDCCPのカスタマイズ次第でどうにかなるだろうと現状では判断しているが、DCCPの仕組みを把握していないためにいまいち何処の設定を変更すればいいのか分からない。