RXマイコンで動くTCPを作り始めた
RXマイコンで自由自在にUDPが動くようになったので、こんどはTCPを作っています。
そこで、ちょっと不可解な現象を発見しました。
RX62Nから、こういうイーサフレームを送ります。
※イーサネットのフレームのダンプなので、先頭にはMACアドレスと0800がついています
[Send packet]
0000 00 0d 02 e7 9e 6d 02 00 00 00 00 01 08 00 45 00 .....m.. ......E.
0010 00 28 00 05 00 00 80 06 33 88 c0 a8 01 03 31 d4 .(...... 3.....1.
0020 13 c4 27 10 00 17 00 00 00 00 00 00 00 00 50 02 ..'..... ......P.
0030 04 00 7d 78 00 00 ..}x.... 1...Q...
これは、TCPのSYNフラグをONにして、CONNECTしようとしているときのパケットです。
ちなみに、意味は src port= 2710, dest port= 0017, seq=00000000, ack=00000000, window size=0400のつもりです。「50 02」というのが、TCPヘッダのサイズが5*32ビットであることを示しているので、TCPヘッダのオプション部分はないはずです。
しかし、tokudenサーバに届いたものをTCPダンプで見てみると・・
17:49:17.755215 IP (tos 0x0, ttl 115, id 5, offset 0, flags [none], proto TCP (6), length 44)
○○○○○○○ > www1402ub.sakura.ne.jp.telnet: Flags [S], cksum 0xe620 (correct), seq 0, win 1024, options [mss 1414], length 0
0x0000: 4500 002c 0005 0000 7306 c0ba xxxx xxxx E..,....s...=|..
0x0010: 31d4 13c4 2710 0017 0000 0000 0000 0000 1...'...........
0x0020: 6002 0400 e620 0000 0204 0586 `...........
なんと、ヘッダ長を示すデータオフセットの部分が50から60に増えていて、オプションフィールド「0204 0586」が増えているではないですか!この増えた「0204 0586」の意味は[mss 1414]のようです。
自宅の回線はADSLなので、ルータが勝手に付け加えてくれたのかもしれません。
| 固定リンク


コメント