TCP/IPのTCP通信の3ハンドシェイク通信に関して質問なのですが、インターネットを使ったある端末でセンターのサーバーと6秒に1度程度3ハンドシェイク通信を行ってインターネット回線が正常かどうかを判定する機能を持っているそうなのですが、その時に1回の通信でどの程度のパケットをやり取りしているのかということを質問してみたら、約1.2kbyte程度のパケットをやり取りしていると業者の方が言っていました。
ちょっと興味があってWireSharkでこの端末とサーバ間のパケット通信をのぞいてみたところ、端末が1.2kbyte送信していたのですが、サーバからのACKと思われるパケットが1.2kbyteのパケットを返してきていて、再度端末が60バイト程度のパケットをサーバのIPアドレスに送信していました。
私はてっきり、端末とサーバー間のこの3ウェイハンドシェイクのパケットの総量が1.2kbyteだと思っていたのですが、これだと1.2k + 1.2k + 60 = 2.46kbyteとなると思うのですが、パケットのやり取りとしては正しいのでしょうか?
サーバー側が受信したら同じ容量の1.2kbyteのデータをACKとして返してきているように思うのですが、Wiresharkで見ても全く同じデータでは無いようでした。サーバはデータを受け取ったら、ちゃんと受信したという1 or 0のデータみたいなものを返せばよいだけだと思うのですが、理由はあるのでしょうか?
No.2ベストアンサー
- 回答日時:
TCPのAckは、「ここまでのデータを受信したよ」という信号なので、ペイロード(アプリケーションデータ)が乗っている必要はありません。
もちろん、相互にデータをやりとりするようなアプリケーションであればAckのパケットにデータをつけて送信することもありますが、FTPなどでデータをダウンロードする場合などデータが一方向しか流れない場合は、AckはTCPのヘッダだけ流れることもよくあります。
開発はやったことがないので、実際のプログラムでどのように作るかまでは知識が無く、お答えできません。
> Wiresharkでモニタできるデータというのは”あくせとめでぶ”の”あくせ”の層ぐらいまでしか確認できないみたいなことを聞いたことがありました。
Wiresharkは時々使用しますが、データリンク層のプロトコルまでしっかり拾えますが。データリンク層が拾えないなんて言うのは何かの間違いでしょう。
# 余談ですが、「あくせとめでぶ」は「あぷせとねでぶ」の間違いでは?
# http://ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85% …
回答頂きありがとうございました。
私も憶測でいろいろと発言してしまい大変申し分けありません。いろいろな状況でACKに乗せるデータもいろいろみたいですね。いろいろなことを勝手に勘ぐってしまっています。確かなことはACKは応答の意味だから、”ちゃんと届いたよ”ということを受けた方が送信した側に返せば大方役目を果たしてますね。
私は勝手に送信側が出したデータが受信側に届くと、受信側が”ちゃんと届いたよ、だって、あなたが送ったデータってこれでしょ! ほら”みたいに全部のデータを送り返すようなやり方はちょっと非効率ですね。別にそこまでしなくてもTCP通信ってデータのチェックサム機能にCRCチェックを行っていたと思うし、かなり厳しいことをやったりしてましたよね、確か。遅れてなければ、TCPなら再送のをWireSharkで見たことがありますし、2,3重のデータの正確性を重んじていることはなんとなくわかります。
”め”と”ね”は大変申し訳ありません。ありがとうございました。
”め”ってなに?ってかんじですね。
周りにWireShark仲間がおらず勝手に勘ぐりながら使わせて頂いているような状態です。物理層以外はすべて表示されるというのは知りませんでした。今後ともよろしゅう。
No.1
- 回答日時:
TCPの3way handshakeであれば、通常 SYN, SYNACK, ACKのいずれもペイロードを乗せることは通常有りません。
なので、パケットサイズとしてはIP+TCPで40byteくらい(イーサネットのフレームヘッダ入れたらもう少し大きい)のはずです。もし1.2kbyte程度のデータを持っているのであれば、TCPレベルではなくてアプリケーションレベルで何らかのセッション確認をしているものと推測します。こうなるとアプリケーションの仕様などを知らないと何ともいえませんね。
回答頂きありがとうございました。
アプリケーションレベルで何らかの確認をしているということですね。そうすると、そのやり取りはあくまでユーザ側のプログラムでの取り決めだからそこはユーザの仕様によるということなのですね。
私はTCPというプロトコルは、自分がクライアントで送ったデータが1.2kbyteあったら、サーバ側でACKとして返信している1.2kbyteは、ちゃんとサーバ側にクライアントが送信してきたデータがちゃんと届いているということを確認させるためにわざわざそれと同じものを送ってきて、”ほら、ちゃんと届いているでしょ”と確認させるために同じものを送ってきていて、クラアント側もそのデータとチェックサムを確認して、最後は60byte”OK! 了解”って感じで最後のデータを送信しているように感じていたのですが、
別にこれはTCPの物理層に近いプロトコルのやり取りというわけではないのですね。たぶんMicrosoftのVC++とかで作ったプログラムではVC++のTCP/IP通信のソケットプログラムのモジュールに、アプリケーション層のデフォルトの仕様として入っている可能性は十分に考えられますね。
そういえば、Wiresharkでモニタできるデータというのは”あくせとめでぶ”の”あくせ”の層ぐらいまでしか確認できないみたいなことを聞いたことがありました。私の勘違いかも
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 固定IP スマホやPCのIPアドレスについて教えてください。 5 2023/07/07 19:53
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- docomo(ドコモ) ドコモの114サービスで、パケット通信中となるのは 電話の時以外もありますか? 先日主人の携帯を調べ 2 2022/12/08 11:28
- 格安スマホ・SIMフリースマホ 日本通信Simで通信量を使い切り、低速制限を受けていますが、この間にパケット使用量は発生しますか? 4 2023/07/07 16:18
- 格安スマホ・SIMフリースマホ 【楽天モバイル】楽天モバイルはパケット通信料が減らない低速モードに切り替えられる公式 3 2022/12/21 07:48
- VPN 無料のwifiはなぜ危険性高い? VPN プライベートDNSモードにすれば安全? 2 2022/06/04 18:23
- ネットワーク 通信量を見たい 3 2023/03/01 07:47
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
高速シリアル通信での大容量の...
-
ワード ある日突然 文書の表...
-
結局、ノートパソコンはいつ買...
-
パソコンって家電製品だと思い...
-
「ちょっと」ってどのくらいだ...
-
MozBackup 日本語版
-
youtuberの方が解説に使用して...
-
テレビのレコーダーを使って録...
-
wordの文書をPC画面中央に表示...
-
ドライブレコーダーの記録を見...
-
社内ネットワークで、ログアウ...
-
デジタルカメラの取扱説明書を紛失
-
ネットワーク上のコンピュータ...
-
データを書き込んだCDやDVDにコ...
-
Skypeで映像が送れないです
-
動画サイトのダウンロード保存...
-
20年後 パソコンはどうなって...
-
CRAVING EXPLORERは安全ですか?
-
他人にパソコンを貸すことについて
-
ラジオ聴く時何してる?何をし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ペイロードって何ですか?
-
Winsock 受信について
-
パリティビットはわかるけど、...
-
セル、データグラム、パケット...
-
高速シリアル通信での大容量の...
-
UDPでマルチスレッドは可能か
-
配列内に通番(文字列)を挿入し...
-
ローカルプロキシの作り方を教...
-
同期速度とは
-
TCP/IP通信3ハンドシェイクにつ...
-
HTTP POST送信のヘッダの書き方
-
スマホでauなどの大手キャリア...
-
リピータHUBでコリジョンが認識...
-
TCP/IPのデータ送受信の"確実性...
-
ワード ある日突然 文書の表...
-
結局、ノートパソコンはいつ買...
-
wordの文書をPC画面中央に表示...
-
av4と言うエ○サイトって動画を...
-
FTPソフト filezillaのキューフ...
-
2台のPCでRS-232C接続でファイ...
おすすめ情報