httpの場合は80番ポートがウェルノウンポート番号ですから,図7のようにOPEN DESIGNのページを
    http://www.cqpub.co.jp:80/od/
と指定してアクセスすることもできます.
 いわゆるサーバコンピュータでは,複数のサーバソフトウェアが同時に動作しています.しかし,それぞれのサーバが,それぞれのクライアントと通信できるのは,サーバプログラムの使っているポート番号が異なるためです.
 netstatコマンドでは,コンピュータの中で使われているポート番号の一覧を見ることができます.もしUNIXサーバが近くにあるようでしたら,シェルで次のコマンドを起動してみてください.
    shell% netstat -a
 あるサーバで実行したときの例を図8に示します.図8の中で,LISTENという状態の行が要求に備えて待機しているサーバプログラムのポートです.例では,TELNETサーバやメールサーバなどが待機しています.
 一方で,ESTABLISHEDという状態の行が,通信中のサーバプログラムのポートです.この例では,dokoka.jpというコンピュータの51967番ポートが割り振られたクライアントソフトウェアと通信中であることを示しています.
 ポート番号が違えば,複数のサーバソフトウェアを実行することができます.同じサービスであっても,ポート番号が異なれば複数実行することができます.
 例えば,1つはウェルノウンポート番号,もう1つは秘密のポート番号で,1つのコンピュータでWWWサーバを2つ実行させることもできます.
  〔図7〕コロンをつけてポート番号を指定できる

〔図7〕コロンをつけてポート番号を指定できる


  〔図8〕コンピュータの中で使われているポート番号の一覧の例(FreeBSDサーバ)

〔図8〕コンピュータの中で使われているポート番号の一覧の例(FreeBSDサーバ)


 ● まとめ
 今月は,1台のコンピュータの中で複数のソフトウェアが動いているとき,どのようにして通信を行っているのかを解説しました.
  • ソフトウェアには,ポート番号が割り振られる
  • IPアドレスとポート番号によって,通信の相手となるソフトウェアを指定する
  • サービスを提供するサーバソフトウェアとサービスを受けるクライアントソフトウェアがある
  • ウェルノウンポート番号があって,サーバソフトウェアは通常このポート番号を使う
  • ポート番号を知ることができれば,ウェルノウンポート番号でなくてもサーバソフトウェアと通信できる
  • URLで,ポート番号を知ることができる

*   *   *   *

 次回は,通信の信頼性とTCP/UDPについて解説する予定です.


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