
誰か知っていましたら御教示ください。
TCPヘッダのヘッダ長は,通常5または6を使用するものだと考えてました
7を使用するのは,どのような場合でしょうか?
なぜこのような質問するかは,以下のことをおこなって専用制御装置とPCでTCP/IPの通信が出来なくなっためです。
(1)PC側のOSを winNT→2Kへ変えたところ専用制御装置との通信断となりました。
(2)イーサアナライザで解析したらPCからのSYN送信にてTCPヘッダにおけるヘッダ長がNTの時は,6(24バイト)なのにwin2Kでは,7(28バイト)になった
(3)専用制御装置側はTCPヘッダのヘッダ長7は,エラーと判定し通信しない設計になってました
(4)PCのアプリはwinsockの単なるソケット通信
そのため,TCPヘッダを書き換えることはできません
(5)おそらくOSがwin2Kになったことが原因だと思います。
win2KでwinNTの時のように SYN送信でTCPヘッダのヘッダ長を6にする方法は,あるのでしょうか?
大変恐縮ですが誰か御回答ください。
No.4ベストアンサー
- 回答日時:
NTになくて2000にあるものとして、RFC 1323のTCP Window Scale Optionっていうのがあり、
これが3バイトのオプション(パディングして4byte)でSYNで送信されるらしいので、これが原因と思われます。
本来は制御装置側でこのオプションを無視すればそれで済むと思うんですが。
で、対処ですが、#3の方の回答にあるドキュメントにも記述がありますので、調べて見て下さい。
レジストリのTcpWindowSize,Tcp1323Optsあたりの変更とか、プログラムを修正可能ならsetsockopt()あたりで制御できそうな感じです。
まずはTcp1323Opts を 0 にして試してみては。
しかし、オプションって普通に使ってたんですね。
だいたいどこ見てもTCPヘッダのオプションとしか書いてなくて具体例まで書いてないから、普通に使われているとは思わなかった(^^;;
この回答への補足
他の方々も含めて早々の御回答ありがとうございます
レジストリの修正は,内容が完全に理解できず
他の機能に影響することも考えると最後の手段だと考えます。
また TCPヘッダ長 7における内容がRFC1323に書いてある内容に当てはまらないような気がします。
できればだれか以下のoption内容教えてくれないでしょうか?
Time = 20:51:26-314 Length = 62
MAC: Destination Address: 00-00-87-60-E9-AD
MAC: (Hitachi)
MAC: Source Address: 00-00-87-9A-B5-99
MAC: (Hitachi)
MAC: Ethernet Type: 0800
MAC: (DOD Internet Protocol (IP))
IP: Version: 4, Header Length: 20, Total Length: 48
IP: Service Type:
IP: Precedence: 0
IP:
IP: Delay: 0
IP: Throughput: 0
IP: Reliablitiy: 0
IP: Low-cost: 0
IP:
IP: Flagmentation Control:
IP: Identification: 0x13DD
IP: ( reserved ) bit: 0
IP: do not fragment bit: 1
IP: more fragments bit: 0
IP: Fragment Offset: 0
IP:
IP: Time To Live: 128 (Seconds/Hops)
IP: Protocol: 0x06(TCP)
IP: Header Checksum: 25999
IP: Source Address = 192.168.0.10
IP: Destination Address = 192.168.0.1
TCP: Source Port: 1046 ( - )
TCP: Destination Port: 7000 (dos)
TCP: Sequence Number: 875199157
TCP: Acknowledgement Number: 0
TCP: Header Length: 28
TCP:
TCP: Code Bits
TCP: URG: 0
TCP: ACK: 0
TCP: PSH: 0
TCP: RST: 0
TCP: SYN: 1
TCP: FIN: 0
TCP:
TCP: Window: 16384
TCP: Checksum: 62325
TCP: Urgent Pointer: 0
TCP:
TCP: Options: (8bytes)
0000( 0) 020405B4 01010402 ........ ← ここの内容 先頭4byteはkind 2 MSS 1460バイト。後半4バイトの意味は?
またsetsockopt()で変更する場合,できれば使用方法を教えていただけないでしょうか?
(MSDNをみているのですがどれなのかがよくわかりませんでした)
No.6
- 回答日時:
#1です。
今自分のパケットを見たら確かに、
オプション指定がありました。
Etherealというパケットアナライザを専らしようしていますが、
オプションもデコードして意味がわかるようにしてくれます。
下手な市販ソフトより高機能ですよたぶん。
参考URL:http://www.ethereal.com/
No.5
- 回答日時:
TCP オプションの種類、長さ、名前、内容
>http://support.microsoft.com/default.aspx?scid=k …
から判断して,
01010402
は、kind = 1 の No Operation(パディング用) と、 kind = 4 の TCP SACK permittedのようです。
# SACK (Selective ACK - RFC 2018)
で、参考URLの解説によると、レジストリの SackOpts でしか無効に出来ないように書かれてますね。
設定変えてもNT4.0と同じ様になるだけで、エラー時のパフォーマンスが落ちるだけでしょうから,
諦めてレジストリをいじるしか無いように思いますが。
参考URL:http://support.microsoft.com/default.aspx?scid=k …
No.3
- 回答日時:
詳細について明確に回答する事は出来ないのですが、下記 Microsoftサイトで入手出来る資料(ホワイトペーパー)の3ページ目に、各 Windows製品における TCP/IPの機能比較表というのがあります。
http://www.microsoft.com/japan/windows2000/techi …
これによりますと、NTと 2000の間にはかなりの機能差があり、これがヘッダ長に反映されている可能性があるのではないか、と考えられます。
また、ホワイトペーパーの付録には、レジストリエディタで設定可能な TCP/IPパラメータなどが掲載されており、問題解決の足がかりになるかも知れません。
参考URL:http://www.microsoft.com/japan/windows2000/techi …
No.2
- 回答日時:
専用制御装置側の切り替えはできないのでしょうか?
メーカーに問い合わせすれば解決策が見つかるのかもしれません。
もしくはWin2K対応版みたいな製品があるのかも。
No.1
- 回答日時:
普通のTCPヘッダ長は0x5で20Byteだと思います。
それが、0x6や0x7ということは
オプションがついてるということですよね。
そのオプションの内容によって
どういった設定の変更が必要かが
もしかしたらわかるかも知れません。
(わからないかもしれませんが。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- ファイアウォール ポート開放で利用可能なTCP一覧の中に利用したいTCPが入ってない場合どうすればいいのでしょうか? 2 2022/09/12 10:31
- JavaScript JSON について 1 2022/06/09 18:17
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- UNIX・Linux iptablesを設定するとメール送信処理が遅くなる!? 6 2022/06/07 01:11
- 固定IP Win11 アダプター設定変更にイーサネットが表示されない 1 2022/12/03 18:31
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの「塗りつぶし」の色...
-
MicrosoftOfficeOutlookが開か...
-
メールに記載のリンク先が開か...
-
nihongoganyuuryokudekimasen
-
起動時の日本語入力
-
エクセルでのみ句読点「。」が...
-
メール設定の仕方がわかりません
-
壁紙の設定の仕方
-
ワード ページ設定
-
wordに常に赤字で訂正を入れる方法
-
ブラウザの設定でクッキーを使...
-
IE「自動構成スクリプトを使用...
-
RAM
-
IEのDL設定で…
-
Wordで文字を入力すると点線の...
-
ワードでローマ字数字を入力す...
-
①~⑳は記号で変換できますが、...
-
Wordの入力中と確定後の文字の...
-
エクセルで、文字を打ち込むと...
-
パワーポイント 文字の太さを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの「塗りつぶし」の色...
-
wordに常に赤字で訂正を入れる方法
-
エクセルでのみ句読点「。」が...
-
スペースキーで変換ができません
-
RAM
-
ワードで等幅フォント句読点を...
-
IE「自動構成スクリプトを使用...
-
BUFFALO エアナビゲーターを削...
-
サウンド設定が消えてしまいま...
-
Access2010 メール送信が出来ない
-
IMEを使ったExcel での日本語入...
-
句読点、マルを優先変換にしたい
-
(1)パソコン立ち上げたとき最初...
-
IME2007では、変換した文字をバ...
-
音声認識ができないで困っています
-
原稿用紙の設定
-
ワードで200字詰にはどうし...
-
Googleカレンダー 詳細時刻指定...
-
IME Standard 2002 と Natural ...
-
第3者に情報が送られる恐れが...
おすすめ情報