コネクション型とコネクションレス型通信

コネクション型通信とコネクションレス型通信の違いを説明します

通信の種類特徴人同士の通信に例えると
コネクション型
ストリーム型
通信の信頼性が保証される 電話に似ている
コネクションレス型
データグラム型
通信の信頼性が保証されない 手紙に似ている

コネクションレス型通信(データグラム型通信)

コネクションレス型通信は、情報を今から伝えるということを 相手に知らせずにデータを送信します。相手が受け取る準備が できているかにかかわらず,いきなり送信するので、 コネクションレスという名前は適切です。 またこの通信においては、データをあたかも何かに書きとめて、 その書き留めたものを送るのに似ているのでデータグラム (-gramという接尾語はtelegram(電報)に見られるように、何かを 書き留めたものをあらわす場合がある)型通信とも呼ばれます。

この通信では、情報が確かに相手に届くことは保証されませんし、 届いたとしても到着順は保証されません。

このコネクションレス型通信は、手紙でおこなう通信に似ています. 手紙で情報を伝える場合、手紙の到着順は保証されませんし、 手紙が届かなくても、相手は送られた事実を知ることができません。 もしかしたらそのようなことも起こり得るので、 「信頼性のない通信」と呼ばれます.

UDPはこのデータグラム通信を提供しますが、IPパケットは 間違いなく届くことが保証されていない上,相手があて先の ポート で待っていない可能性があっても通信を始めます。 それで、相手にデータが届かない場合があるのです。

コネクション型通信(ストリーム型通信)

コネクション型接続における通信では、送信したデータが通信の 相手に間違いなく届き、かつデータを送信した順にデータが 受け取られることが保証されます。

これを実現するために、通信の相手にデータが到着したことを 確認しながら通信を行うので、相手に通信を開始することを、 告げて、相手から応答があって、相手が間違いなく存在し 受信できる状態であることを確認してから通信を始めるので コネクション型通信と呼ばれます.

TCPはこのストリーム型通信を提供しますが、コネクションが 確立された時点で通信しようとする ポートに 相手が存在することが確認されており、 相手が受け取る準備ができていることが保証されています。

また、相手に情報が伝わっていることを確認しながら 通信を行うので,データが途中欠落することなく、 正しい順番で相手に届きます。 このようにデータが一つの流れを成して届くのでストリーム型とも呼ばれます.

この通信は電話で接続しているのに例えることができます。 手紙と違って、電話で情報を伝える場合、話し手が伝える 情報が伝わっていることは、相手のあいづちでわかりますし, 相手に情報が伝わらなかった場合、相手は聞き直しますから, 再度同じ情報を伝えなおすことができます。

こうして「信頼性のある」通信を実現しているのです。

ストリームソケットとデータグラムソケット

バークレーソケットでは、コネクション型通信を行うためにTCPを使う ストリームソケット(Stream Socket),コネクションレス型通信を行うために UDPを使うデータグラムソケット(Datagram Socket)を提供します。

これらのソケットの実装について以下で説明します.

 
FC Lab logo Copyright(c) 2001Takeshi FUJIKI All right reserved