MSSの設定
割と忘れがちなので、メモ
【ip tcp adjust-mss】
TCP通信は最初に3wayハンドシェイクでコネクションを確立する。
その3wayハンドシェイク時にデータ長(MSS)のやり取りも行う。
PCは一般的にMTU 1500byteだから、3wayハンドシェイク時にはMSSを1460byteとして通知する。
「ip tcp adjust-mss」は、その3wayハンドシェイク時のmss長を変更する。
以下は、Ciscoルータで上記環境を検証
1、ルータにMSSの設定なし
PC-A → PC-BにTCP接続(今回はFTP)際のPC-B側のパケットキャプチャ結果
~~抜粋~~
Options: (20 bytes), Maximum segment size, No-Operation (NOP), Window scale, SACK permitted, Timestamps
Maximum segment size: 1460 bytes
→MTU1500byeからIPヘッダ&TCPヘッダの40byteを引いた値「1460byte」になってる
2、ルータにMSSの設定投入
a) PC-A側のIFに対し、「ip tcp adjust-mss 1400」を投入
b) PC-A → PC-Bに1同様の方法でのキャプチャ結果
~~抜粋~~
Options: (20 bytes), Maximum segment size, SACK permitted, Timestamps, No-Operation (NOP), Window scale
Maximum segment size: 1400 bytes
→「ip tcp adjust-mss 1400」で投入した1400byteに変更されている。
これ、Ciscoのshow系コマンドでも確認できないかなぁ・・・