(14) ポート番号 (Port Number)


IPアドレスはコンピュータの住所であり、ポート番号は、マンションやアパートでいう部屋番号にあたります。

時々「ポート番号を開ける」や「ポート番号を閉める」といった言葉が出てきますが、アパートの部屋の入り口を開けるのが「ポート番号を開ける」ことであり、
逆にアパートの入り口を閉めてカギをかけるのが「ポート番号を閉める」ということになります。



一般のユーザーはルーターを経由してインターネットに接続しています。
最近はモデムにルーターを内蔵することが多く、別にルーターを買う必要もなくなっています。

ルーターを介してインターネットにつなぐとき、グローバルIPはルーターに割り当てられます。
LANの中のパソコンはプライベートIPが割り振られ、インターネットに接続するときはルーターがグローバルIPとプライベートIPの変換を行ってくれます。

ここで問題になるのが、外部からLANの中のサーバーへ接続しようとしたときです。
外からグローバルIPでサーバーにアクセスしようとしても、ルーターはLANの中のどのパソコンを呼び出せばいいのか分からない。
だから、何も設定しないと外部からのアクセスはルーターで止まってしまうのです。

そこで必要になるのが「ポートを開ける」という作業です。
特定のポート番号に対して外部から接続があったとき、指定しておいたプライベートIPのパソコンに接続を中継することになります。



利用するポート番号はアプリケーションごとに決まっています。
ウェブサーバーを公開するなら「80」、メールサーバーなら「25」「110」、FTPサーバーなら「20」「21」というように、
公開するサーバーの種類に応じて設定を追加していくようにします。



                                                                                                        その他のポート

ポートの開放手順

ここでは、NTTのフレッツ光回線用として広く使われている「RT-2400KI」を例に設定方法を説明します。

ルーターの設定画面を開く。ブラウザに「192.168.1.1」と入力すると設定画面が開きます。
左側の「詳細設定」メニューの中から「ルータ設定」→「NAPT設定」を選択します。右側にポート開放画面が表示されます。

マックアドレス及び固定設定したIPを元にポート開放設定を行います。

以下の静的NAPT設定(ポート転送規則)項目全てに入力します。



▲割り当てWAN側受信ポート範囲 5631番を開放する場合 「5631」~「5631」を指定
広範囲に指定する場合は「5631」~「5632」 この様にすると5631から5632まで開きます。
さらに開放が必要な場合は細かく追加指定してください。

▲プロトコル種別 TCP 又は UDP を選択します。
サーバ関係ファイル転送関係は概ねTCPを指定 ゲーム関係の場合はUDPも併せて開放する場合もあります。
それぞれ細かく追加設定します。

▲LAN側転送ポート 割り当てWAN側受信ポート範囲で指定したポート番号を指定します。
例:5631
入力出来ましたら【追加】をクリックします。

複数ポート設定したサンプルです。
もし間違いがある場合は【変更】や【削除】を選択し、設定を修正、削除の上再度設定します。

最後に設定を反映させます。
確認→送信→反映 をクリックしルータを再起動します。




ポート番号 port number

ポート番号とは、インターネット上の通信において、複数の相手と同時に接続を行なうためにIPアドレスの下に設けられたサブ(補助)アドレスのことです。

例えば、1台のコンピューター上で複数のアプリケーションが動いている場合、IPアドレスだけでは、通信相手となるアプリケーションを特定できません。
そこで、アプリケーションごとに便宜的な数字を1個割り当て、受け取ったパケットをどのアプリケーションに引き渡すべきかをコンピューターに判断させます。
この時割り当てられる番号が「ポート」、または「ポート番号」です。

ポートの指定には0から65535までの数字が使われます。
IPアドレスとポートを組み合わせたネットワークアドレスを「ソケット」と呼び、実際にはデータの送受信はソケット単位で行われます。
この時、Webサーバーは80番といった具合に、代表的なネットワークアプリケーションのポート番号はIANAによって定められています。

よく知られているのは HTTP の80、FTP の21、SMTP の25、POP3 の110などです。
これらは「well-known port (よく知られたポート)」と言われ、事実上の標準となっています。
プロトコル名とポート番号の対応は、UNIX なら /etc/services にあります。
Windows なら C:\windows\servicesにあります。
ここに載っているプロトコルはほとんど「well-known port」です。

なお、ポート番号は1から65535までの値しか指定することができません。

これは、TCP セグメント (パケット) の中の、ポートを表す領域が 16 bit しかないからです。

HTTP を例にあげると…HTTP サーバ (Webサーバ) はポート80番を常に見張っています。
クライアント(ブラウザ)は、/etc/service のポート対応表を見て HTTP のポート番号が80であることを知り、指定されたホストのポート 80 番に接続 (connect) します。
そしてクライアントは HTTP サーバに「このURLのデータを送ってくれ」というリクエストを送ります。
HTTP サーバは指定のデータを送り返し、ブラウザはそれを画面に表示するわけです。

注意したいのは、OS が面倒を見るのはサーバへの接続とデータのやりとりだけであることです。
OS はクライアントとサーバの間で通信されるデータの内容には干渉しません。
ゆえに通信内容や通信の手順については、クライアントとサーバの間で事前に決めておかなくてはなりません。
この取り決めをプロトコルと言います。
例えば HTTP サーバとデータのやりとりをする場合、HTTP プロトコルについて知らなくてはなりません。



主要なポート番号

ポート プロトコル 概 要
 20 TCP FTサーバによるデータ送受信(FTPDATA)
 21 TCP FTPサーバ制御プロトコル(FTP)
 22 TCP SSHによる安全な遠隔操作・ファイル転送
 25 TCP SMTP(メールの送受信)
 53 TCP/UDP DNS(ドメイン名とIPアドレスの変換)
 80 TCP HTTP(暗号化なしのWebページ閲覧)
 110 TCP POP3(メールの受信)
 123 UDP NTP(パソコンの時刻同期)
 137 UDP NetBIOS ネームサービス(パソコンの名前とIPアドレスを紐付ける)
 137 TCP NetBIOS ネームサービス(まれにTCPも使用される)
 138 UDP NetBIOS データグラムサービス(ブラウジングや通信の確立)
 139 TCP NetBIOS セッションサービス(古いファイル共有・プリンタ共有)
 143 TCP IMAP(サーバー上でのメール管理・受信)
 443 TCP HTTPS(暗号化された安全なWebページ閲覧)
 445 TCP SMB(Windowsのファイル・フォルダ共有)
 587 TCP Submission(メールソフトからの暗号化送信)
 3389 TCP RDP(Windowsリモートデスクトップ接続)








Home Page