[[ネットワーク用語]] > ポート番号

* ポート番号 [#jde9d1b7]

ポート番号 = port number

[[ポート番号 - Wikipedia>http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7]]
>ポート番号(ポートばんごう)とは、コンピュータがデータ通信を行う際に通信先のプログラムを特定するための番号のことである。

>''概要''
ネットワーク上でコンピュータ同士がデータを交換するプロトコルの一つであるTCP/IPにおいては、IPアドレスにより通信相手のコンピュータを指定するが(IP・ネットワーク層)、そのコンピュータ上で動いている複数のプログラムのうちの一つを通信相手として指定するために、ポート番号を用いる(TCPやUDP・トランスポート層)。
指定できる番号の範囲はTCPやUDPなどの通信の種類毎にそれぞれ 0 から 65535(16ビット符号無し整数)と定められている。
これらの番号と、TCPやUDPなどの通信プロトコルの指定の組み合わせで特定される、論理的な通信の口をポートと呼ぶ。
 
&color(red){IPアドレスを建物の住所にたとえるなら、ポート番号は部屋番号に相当する。};

>''ポート番号の種類''
ポート番号は大別して 3 種類に分けられる。

| 種類 | 範囲 | 内容 |h
| WELL KNOWN PORT NUMBERS | 0番 - 1023番 | 一般的なポート番号 |
| REGISTERED PORT NUMBERS | 1024番 - 49151番 | 登録済みポート番号 |
| DYNAMIC AND/OR PRIVATE PORTS | 49152番 - 65535番 | 自由に使用できるポート番号 |

>TCP/IPの実装するWELL KNOWN PORT NUMBERは、Internet Assigned Numbers Authority (IANA) が管理している。
REGISTERED PORT NUMBERSに関しては、IANAが利便性を考慮して公開している。
なお、クライアント側に割り当てられるポート番号など、ユーザが自由にポート番号を使用する場合は、49152番以降を使用する。
クライアントのポート番号は俗にエフェメラルポート(短命なポート)と呼ばれる。
 
1992年まではWELL KNOWNポート番号は1~255までだった。
256~1023はUNIX特有サービスを提供するポート番号だったため現在でも256~1023はUNIXのみに提供されており、他のOSでは使用できない(代表的なプロトコルにインターネット共通サービスのTelnetとUNIX特有サービスのrloginがある。rloginは1980年代始めにポート番号513番が当てられた)。
 
ただし、これはあくまで指針であり強制力はない。
これに従わず勝手なポート番号を用いて通信することも一応は可能であるが、混乱を招くであろう。
 
なお、UNIX系のOSでは、0~1023のポート番号を使用するには、root権限が必要である。
これは予約ポートと呼ばれいくつかのアプリーケーション(特にrlogin)で認証作業の一部として利用される。

>''ポートフォワード''
一つのIPアドレスを複数のコンピュータで使い回すということが行われている。
 
この際、「電子メールの受信サービスを行うのはAというコンピュータ」「WWWのサービスを行うのはBというコンピュータ」というように、サービス毎に処理をするコンピュータが違うようにするためには、「ポート番号25番の通信はAへ」「ポート番号80番の通信はBへ」というようにポート番号毎に通信先を振り分ければよい。このポート番号による通信コンピュータの振り分けの機能を「ポートフォワード (port forward)」と呼ぶ。
 
一般に、ポートフォワードはNAPT(ルータによるIPアドレス/ポート変換)やパケットフィルタの機能の一部として実現される。

** リンク [#d0197d06]
[[ソケット]]

Lesson2:3回のやりとりで相手とつながる,アプリはポート番号で指定する - 図解で学ぶネットワークの基礎 TCP編:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070703/276587/

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS