- PR -

ソケットでウィンドウ制御

投稿者投稿内容
thumbpull
会議室デビュー日: 2007/12/19
投稿数: 3
投稿日時: 2007-12-25 22:28
結局のところ、TCPはストリーム型プロトコルであり、扱うデータの最小単位は1バイト。
TCPを利用したソケットプログラミングでは、それを考慮しなければならない。ということに尽きるでしょうか?

MTUによる分割やウィンドウ制御はまた別の話のような気がしてきました。
blunder
ベテラン
会議室デビュー日: 2003/09/11
投稿数: 65
投稿日時: 2007-12-26 11:44
TCPはプロトコルとしてはパケット型(注)。
サービスとしてはストリーム型。

「TCPを利用したソケットプログラミング」では主にサービスを意識する。

プロトコルを意識するのは同一レイヤに属するピア間の話。TCPならピアTCP同士が
TCPプロトコルを意識し、IPならネクストホップのIP同士がIPプロトコルを意識する。

上位層と下位層の間ではサービスを意識する。上位層は下位層からサービスを受け、
下位層は上位層にサービスを提供する。

「TCPを利用したソケットプログラミング」ではTCPプロトコルは意識しない(レイヤ
が違う)が、TCPが提供するサービス(ストリーム)は意識する。

だと思います。

(注)アプリケーションが8バイトのデータを送ったとします。TCPは20バイトのヘッダと
8バイトのデータからなる28バイトのパケット(正確にはTCPセグメント)を作り、これを
ピアに送ります。
したがってピア間のやりとりはパケットですから、TCPは立派なパケット型プロトコルです。
しかしTCPが上位層に対して提供しているもの(サービス)はバイトストリーム型の通信です。

スキルアップ/キャリアアップ(JOB@IT)