ネットワークって。。。#19(TCPとUDP)

今回から、第6章に入ります。

今までは、ネットワークって。。。#4で述べたレイヤでいうところのレイヤ1(物理層)、レイヤ2(データリンク層)、レイヤ3(ネットワーク層)について書いてきましたが、今回からしばらくは、レイヤ4(トランスポート層)の話になります。

 

f:id:thmat:20200620153151j:plain

 

トランスポート層の役割

TCP/IPには、TCPUDPという2つのトランスポートプロトコルがあって、TCPは信頼性のある通信、UDPは信頼性がなく、同報通信などで使われます。 

 

トランスポート層とは

トランスポート層は、下位層(レイヤ3:ネットワーク層からTCPUDPか指定されて、送られてきたデータを見て、更に上位層(レイヤ5:セッション層)のどこに送るかを判断し、送るという役割を果たします。

 

例えば、手紙。。。

届いた手紙を受け取った家の人は、宛名を見て、家族の誰かを判断し、その人に渡しますよね、

そんな感じです。。。

 

通信の処理 

で、上位層のどこに送るかを判断するのが、ポート番号になります。

ポート番号については、ネットワークって。。。#2ネットワークって。。。#5で軽く触れました。

httpが80番で、メール送信が25番で。。。

ってやつです。

 

TCP/IPのアプリケーションプロトコルは、一般的にクライアント/サーバモデルで作られています。

サーバはサービス提供者クライアントはサービス利用者(お客さん)を意味します。

サーバ側のアプリケーションはあらかじめ起動されていて、クライアントアプリケーションからの応答を待っていなければいけません。

例えば、今ご覧のこのページ。。。

はてなブログのWebサーバが起動されていないと、このページは見る事ができません。

レストランが開いていないと、お客さんは、レストランに入って食事をできないのと一緒です。。。多分笑

 

サーバ側のアプリケーションは、UNIXの世界では、デーモンと呼ばれます。

 

      

 

いや、違います。。。笑

 

     

 

いやいや、もっとちゃいます。。。笑

 

例えば、Webサーバは、httpd(httpデーモンっていいます)というサーバアプリケーションが動いています。

ftp(ファイル転送プロトコルは)はftpd(ftpデーモン)、ssh(セキュアシェル)はsshdsshデーモン)が動いています。

 

ただ、ftpdとか、sshdとかが、常に動いていると、サーバに負荷がかかったりするという事もあり、UNIXでは、デーモン起動の為のデーモンとしてinetdっていうのがあります。

inetdは、クライアントから要求があった時にだけ、該当のデーモン(ftpdとかsshdとか)を起動させる事ができます。

 

例えば、クリスマスツリーとか、鯉のぼりとか、雛人形とか、ずっと出していてもいいんですが。。。あっ、雛人形は早い目に片付けないとダメか笑

必要な時に出して、季節が終わったら片付ける。。。

まあ、そんな感じです。。。ちょっと苦しいけど笑

 

2つのトランポートプロトコルTCPUDP

ネットワークって。。。#4で述べた、コネクション型通信とコネクションレス型通信で、コネクション型通信TCPコネクションレス型通信UDPとなります。

 

ネットワークって。。。#4でも書きましたが、コネクション型がお互いに会話し合う電話(確実に相手に伝わる)、コネクションレス型は、一方通行の手紙みたいなもの(本当に届いたか確認できない)です。

 

TCPUDPの使い分け

TCPは信頼性があって、UDPは信頼性がないので、TCPの方が優れている?

これは間違いです。

 

TCPUDPは目的に応じて使い分けられています。

 

TCPは、信頼性のある通信を実現する必要がある場合に使われます。

例えば、銀行の通信システム。。。全銀協標準プロトコルという全国銀行協会で、標準化されたものの中に、全銀TCP/IPとかインターネット全銀と呼ばれるものがありますが、これらは全て、TCPでの通信となります。

 

UDPは、高速性やリアルタイム性を重視する通信で利用されます。

例えば、IP電話とか、今はやりのWeb会議とかに使われています。

IP電話やWeb会議にTCPを使うと、ネットワークの一部データが失われた場合(パケットロスっていいます)に再送したり、リトライしたりするので、スムーズに機能しない可能性が出てきます。なので、UDPが使われています。

一時的に、音声が途切れたり、画像が乱れたりしても、いちいちリトライして、つながりにくくなるよりはマシですよね。

それに、音声や画像が途切れても、人が聞き返したり(リトライ)、言い直したり(再送)できますもんね笑

 

 

まとめ

  1. TCP/IPには、TCPUDPという2つのトランスポートプロトコルがあって、TCPはコネクション型通信で信頼性のある通信で、UDPコネクションレス型で信頼性がない通信で使われる。 
  2. トランスポート層は、下位層送られてきたデータを、上位層のどこに送るかをポート番号で判断し、送信する。
  3. クライアント/サーバモデルのサーバはサービス提供者、クライアントはサービス利用者を意味する。
  4. サーバ側のアプリケーションは、UNIXの世界では、デーモンと呼ばれる。
  5. TCPは、信頼性のある通信を実現する必要がある場合に、UDPは、高速性やリアルタイム性を重視する通信で利用。

 

今回は、以上になります。

 

最後まで読んで頂き、ありがとうございました。

 

【参考書籍】

 

 

 

 

 

 

すまっとネット - にほんブログ村

にほんブログ村 教育ブログ プログラミング教育へ にほんブログ村 IT技術ブログ IT技術メモへ
PVアクセスランキング にほんブログ村
にほんブログ村

 
人気ブログランキングへ