TCPについて調べると全二重可能という説明が出てきます。
全二重とは通信している両者が同時に送信できることのようです。
しかしTCPプロトコルを調べるとシーケンス番号や応答確認番号は相手が送信したバイトシーケンスのサイズに依存した値が設定されます。
そのため両者がデータを送信し続けた場合、適切な値を設定できません。送信処理中に相手から届いた合計バイト数が増え続けるからです。
「TCPは全二重可能」の意味は何でしょうか?
1)TCP接続を複数作成する事で両者が同時送信可能という意味?
2)ウィンドウサイズの変更パケット等応答確認番号等に影響を出さない制御パケットを受信中に送信できるという意味?
1個のTCP接続における通信は、リクエスト/レスポンスの要領でやる、つまり相手からのデータを受信しきってから自分のデータを送信するというイメージを持っています。この認識は合っているんでしょうか?
No.4ベストアンサー
- 回答日時:
>しかしTCPプロトコルを調べるとシーケンス番号や
>応答確認番号は相手が送信したバイトシーケンスの
>サイズに依存した値が設定されます。
単にウィンドウの空き状況とデータ欠落検出のための
情報交換です。
データは応答を待たずにウィンドウが開いている範囲で
連続送信可能です。物理的な全2重を阻むようなものでは
ありません。
No.3
- 回答日時:
「TCPは全二重可能」というのは、TCPの内部動作のハナシではありません。
TCPを使うアプリが送信の衝突を考慮せずに勝手に送信できると言うことです。実際に使う物理回線が半二重であっても、プロトコルにより隠蔽されてしまうのです。No.2
- 回答日時:
全二重通信が可能
データ伝送を行う際に、経路が二本あれば、方向の違うものを同時に送受信することが可能ですが、経路が一本だと、同時に流すことはできません。この経路が二本ある状態のことを全二重通信といい、片方しかない経路のことを半二重通信といいます。
TCPは全二重通信が可能なため、半二重通信のように途中でぶつかったりすることがなく、同時に二つの信号をスムーズに流すことができます。
No.1
- 回答日時:
おそらく全二重と半二重を誤解していると思います。
そもそも半二重と全二重のどこが違うのか、という点について理解しておく必要がありますね。
半二重というのは、信号が衝突する可能性があるので衝突を避けるために送信動作を見合わせたり、衝突したら回復処置を講じる、というように、衝突を意識して送信動作を制御することを指します。
全二重というのは,衝突しないので、衝突することを考慮せず送信動作を行います。
つまり、送信動作と受信動作を同時併行して実行するかどうかではなく、送信動作を実行するときに、衝突を意識して動くのが半二重,衝突を意識しないのが全二重だということです。
TCPが全二重だというのはこの意味です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- UNIX・Linux iptablesを設定するとメール送信処理が遅くなる!? 6 2022/06/07 01:11
- ルーター・ネットワーク機器 YAMAHAルータ設定について 1 2022/09/03 16:31
- iPhone(アイフォーン) 皆さんiPhoneは、機能が少な過ぎますか?? iPhoneには、なぜ僕がAndroid合計3台持ち 2 2022/07/12 19:59
- ファイアウォール ポート開放で利用可能なTCP一覧の中に利用したいTCPが入ってない場合どうすればいいのでしょうか? 2 2022/09/12 10:31
- Android(アンドロイド) iPhoneには、なぜ僕が合計3台持ちしているGalaxy A22やXperiaXZ1、arrows 4 2022/07/12 18:42
- Gmail gmailで独自ドメインアドレスのメールが届かない件 1 2023/08/25 23:24
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
TCP/IP のパケットの分断と結合...
-
PC98で232c送信winndowで受信で...
-
VC++メッセージの送受信につい...
-
VBのMSCommコントロールを使っ...
-
「TCPは全二重可能」の意味
-
UDP受信時の通信異常検知について
-
PIC-PCシリアル通信プログラム
-
Outlookの「受信日時」「送信者...
-
TCPのプログラミングで質問…と...
-
シリアル通信時のデータ受信方法
-
パソコンに詳しい方教えて下さ...
-
バッチファイルでディレクトリ...
-
java.lang.NumberFormatExcepti...
-
Windows上のファイル操作の履歴...
-
excel vba で 実行時エラー13...
-
別のフォルダにファイルを移動...
-
Zipファイルをエクセルに指定変...
-
postfixの.forwardでメールの転...
-
バックアップの用語
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Outlookの「受信日時」「件名」...
-
Outlookの「受信日時」「送信者...
-
TCP/IP のパケットの分断と結合...
-
シリアル通信時のデータ受信方法
-
UDP受信時の通信異常検知について
-
RS232cを用いた送信プログラム
-
C#にてCTI。RS232Cの受信と送信...
-
VC++メッセージの送受信につい...
-
DHCPOFFERの受信について
-
TCPのプログラミングで質問…と...
-
ネットワークでの受信バイト数
-
パケット受信 recvfrom( )につ...
-
ASP.NET C#でPOST受信
-
recv関数の戻り値について
-
TCPでパケットロス?
-
PC98で232c送信winndowで受信で...
-
VB2005でTCP/IPソケット通信で...
-
「TCPは全二重可能」の意味
-
vb2005でUDP受信時にフォームが...
-
VBのMSCommコントロールを使っ...
おすすめ情報
このシーケンス図を見て考えているんですが。
https://www.infraexpert.com/study/tcpip9.html
>次に、3ウェイハンドシェイクにより確立したコネクション上でデータをやりとりする時の流れを見てみます。
全二重らしい同時送信というより相手からのデータを受信しきってから自分のデータを送信している半二重に見える。
しかも確認応答番号の数値は受信したデータのサイズに依存して決まっているので、受信しきってからじゃないと正しい値を設定できないように思う。