マスタリング TCP / IP 入門編 6章
こんにちは、 @kz_morita です。
以前から読んでいる マスタリング TCP / IP の 6章を読んだので,内容をまとめます.
目次 6 章は,トランスポート層のプロトコルである TCP と UDP についての話でした. 主に以下のような内容です.
トランスポート層の役割 ポート番号 UDP TCP トランスポート層の役割 インターネット層で,ホストまでデータ届けますが,その上でアプリケーションにデータを届けるのがトランスポート層の役割となります. どのアプリケーションにデータを渡すかを指定するために,ポート番号で識別します.
アプリケーションは,UNIX の場合だと サーバー上で動いているデーモンのことで,それあてにデータを届けます.( httpd とか,sshd とか)
UNIX デーモンには,inetd (インターネットデーモン) というスーパーデーモンがあり,それがサービスを受けると, forkし,sshd などを exec しますが,その際にport 番号が,22 だったら,sshd , 80 なら,httpd などといった形で振り分けます.
トランスポート層のプロトコルには,TCP と UDP があり,TCPは信頼性が高く,UDPはリアルタイム性を重視する場合や,(マルチキャスト,ブロードキャストに使われます.
TCPやUDPはを利用して通信するときはソケットという API が使われていて,アプリケーションはソケットを利用して通信相手のIPアドレスやポート番号を設定したりデータの送信や受信の要求をします.
ポート番号 ポート番号も,MACアドレスやIPアドレスと同様,通信相手を識別するためのアドレスで,以下のような役割になります.
MACアドレス データリンク内のコンピュータを識別するもの IPアドレス TCP / IPネットワーク上のホストやルーターを識別するためのもの ポート番号 同一のコンピュータ内で通信を行っているプログラムを識別するためのもの TCP / IP , UDP / IP による通信では,「宛先IPアドレス」「送信元IPアドレス」「宛先ポート番号」「送信元ポート番号」「プロトコル番号」の組で通信を識別します.