通信の主体を区別するポート番号
 IPアドレスを使うと,コンピュータを特定できることがわかりました.
 しかし,コンピュータの中では,同時に複数のプログラムを動かすことができます.もし,これら複数のプログラムが,同時に通信を行いたいとしたら,通信をどのようにして区別したらよいでしょうか.
 図3(a)は,先ほども登場した郵便の例です.郵便では,あて先として住所と受け取り人の名前を書きます.
同じ住所に複数の人が住んでいたとしても,名前を使って区別することができます.このために,手紙には住所と名前を書いて,最終的に受け取ってもらいたい人を指定します.
 郵便は,人がある人に対して手紙を送りたいという要求を満たすためのシステムで,通信を行おうとする主体が人間であるからです.  もし自治会の回覧板のように,その家の人のだれかに読んでもらいたい場合は,回覧先として,住所だけを指定すればよいことになります.
 では,インターネットの場合はどうでしょうか.図3(b)のように,インターネットにおける通信を行おうとする主体は,コンピュータの中で動いているプログラムです.
 あるプログラムが,別のプログラムに対してデータを送りたいという要求を満たすのが,インターネットです.ですからインターネットにおいては,プログラムに対して番号を割り振ります.これをポート番号といいます.ポート番号は16ビットの整数で,1つのコンピュータの中で動いているプログラムに対しては,すべて別の値が割り振られます.
 まとめると,
 (1)コンピュータの住所にあたるIPアドレス
 (2)プログラムの名前にあたるポート番号
を指定することで,インターネット上では通信の相手を完全に決定することができます.
 図4では,IPアドレス100.0.0.10というコンピュータ上で,ポート番号80が割り振られたプログラム1とポート番号25が割り振られたプログラム2が動いています.
 このとき,インターネット上のコンピュータからそれぞれのプログラムに対して,パケットが届いたようすです.パケットには送り先IPアドレスと送り先ポート番号がヘッダとして付けられており,これをTCP/IPソフトウェアが理解して,目的とするプログラムにデータを送り届けます.

〔図3〕通信の相手方を特定するには?

〔図3〕通信の相手方を特定するには?


〔図4〕ポート番号によるプログラムの指定

〔図4〕ポート番号によるプログラムの指定


 CQ出版 TOP OPENDESIGN TOPOPENDESIGN Online目次に戻る
  
Copyright CQ Publishing Co.,Ltd. 1997-2001