ちょっと裏側を解説
閑話休題.ネットワークの話に戻ろう.基本的には,/net/tcp/*/ctlがコントロール用のファイル,/net/tcp/*/dataがデータ通信用のファイルになる./net/tcp/*以下を見ると,ctlとdata以外にも次のようなファイルが存在することがわかる.
%cpu ls /net/tcp/5 /net/tcp/5/ctl /net/tcp/5/data /net/tcp/5/err /net/tcp/5/listen /net/tcp/5/local /net/tcp/5/remote /net/tcp/5/status
そして,新たにコネクションを張るために,cloneファイルと呼ばれるファイルが存在する*1.TCPの場合は,/net/tcp/cloneがそれである./net/tcp/cloneをopenすると,新たなインタフェースが割り当てられ,そのctlファイルのファイル記述子が返される.つまり,先の"cat > /net/tcp/clone"は,/net/tcp/*/ctlへリダイレクトされる.そして,connectメッセージにより,コネクションが確立し,/net/tcp/*/dataを介して,データのやり取りが可能になる.