はじめに TCPの仕様やconnect、write、read等のソケット関連のシステムコールの振る舞いを正確に理解するのはとても難しい。 正常系はそうでもないが、「どの程度パケットは再送されるのか」、「〜状態で〜のシステムコールはどのerrnoを返すのか」など異常系が難しい。また、これらの情報はWEB上だと良質な情報が比較的少ないように思う。 ここでは、挙動の説明は諦め1、挙動を確認するためのコマンドやコード群を紹介したい。 なお、普通のバックエンドエンジニアをしている人間で、ネットワークのスペシャリストではないので間違っている可能性は多分にある。ただ、ここで説明することは全て動作確認はしている。動作確認した環境はこちらにある。 コマンド 説明 ss -tanpo tcp(t)の全状態(a)をポート番号のまま(n)プロセス情報(p)とタイマー情報付き(o)で表示する。 ssは継続的な状態確