
Windowsのネットワーク接続などを行うときによく出てくるワード「ポート番号」ですが、このポート番号についてあまりよく理解していない人が多いと思います。今回はこの「ポート番号」についてちょっと説明していきたいと思います。
1.そもそも「ポート」とは?
コンピュータをネットワークで接続する場合、IPアドレスなどを使って各端末を認識します。このIPアドレスを使ってどの端末を通信を行うかという処理を行いますが、IPアドレスで端末を見つけても、端末内のどのプログラムに通信パケットを届けるかは、 IPアドレスだけでは決定できません。どのプログラムに通信パケットを渡すのかを決定するためにポート番号を使用します。こののポート番号はいわばコンピュータ内部で通信の「門の番号」であり、通信元の出口の「門」の番号と通信先の入口の「門」番号が一緒でなければデータを通すことができません。
例えばインターネットを閲覧する場合、http接続では「80番」を使用しています。これはブラウザのアドレスに「http:~」と入力すると、ブラウザは自動的に80番の「門」を通した通信を選択し、接続します。インターネットサーバーはブラウザから80番の門を通った通信と認識したため、自分の80番の「門」を開け、インターネットの通信を行います。
もし、インターネットサーバーがインターネットの場合65番の門と設定していたとすれば、ブラウザで通信を行ってもインターネットの通信はできません。
このように通信はIPアドレスとポート番号をセットで用いて通信を行います。
2.ポート番号の管理
では、ポート番号は勝手にむやみに決めて使ってよいのか?と思いますが、ポート番号の用途はきちんと管理されており、個人や団体で決められた範囲外のポートは勝手に使うことはできません。IANAという団体により管理されており、きちんとした用途で決められております。これによってWindows・Linux・Androidなど異OS通しでも通信できることができます。
ポート番号には、下記のような三つの種別があります。
ウェルノウンポート番号
0番~1023番
登録ポート番号
1024番~49151番
ダイナミック/プライベートポート番号
49152番~65535番
代表的なポート番号は次の通りです。
- TCP 20 : FTP (データ)
- TCP 21 : FTP (制御)
- TCP 22 : SSH
- TCP 23 : Telnet
- TCP 25 : SMTP
- UDP 53 : DNS
- UDP 67 : DHCP(サーバ)
- UDP 68 : DHCP(クライアント)
- TCP 80 : HTTP
- TCP 110 : POP3
- UDP 123 : NTP
- TCP 443 : HTTPS
ウェルノウンポート番号は「よく知られているポート番号」意味でメジャーなサービスやプロトコルが利用するために予約されているポート番号です
登録ポート番号は特定のアプリケーションなどが使用するポートでIANAの登録制となっており、登録されたアプリケーションは公開されています。
ダイナミック/プライベートポート番号はユーザが自由にとりあつかえるポート番号で登録する必要がありません。
3.ポートの開放
通常基本的なポート番号以外のポートは閉められて鍵がかかっている状態です。この鍵を監視しているのが「ファイヤーウォール」です。これはポートをすべて開放していると、鍵のかかっていない家と同じ状態になり、泥棒(ウィルス)が勝手に出入りできるため、非常に危険な状態になります。ポートはファイヤーウォールを通じて開放することはできません。もし、アプリがそのポートを使用するために開放したい場合はファイヤーウォールに開放依頼をし、使用ユーザーが許可をすることによって初めて開放することができます。
4.ファイヤーウォール設定での「TCP UDP」とは?
ファイヤーウォールを設定したことがある人は見たことがあるかと思いますが、ファイヤーウォールの設定の中に「TCP」「UDP」というのがあります。この「TCP」「UDP」について簡単に説明します。
「TCP」「UDP」はどちらもOSI参照モデルにおけるトランスポート層と呼ばれる層で通信を行っています。通常、通信はIPアドレスを設定して行いますが、データ間の通信を行っている方式がTCPです。そのため、IPアドレスの接続の場合「TCP/IP」という表記をします。TCP接続は相手側と双方で通信状態の正しいデータであることをお互いに確認しながら行います。TCPの場合データの誤りの確認などを行っているため、処理速度が低いという欠点があります。
「UDP」は高速の通信を目的とした方式であり、通信速度を優先するためTCPのようにデータの誤りの確認などを行わず、受け取ったデータが正しいことを前提にデータを送り続ける方式となります。そのため、データの信頼性が必要とするメールの受信やファイル転送には使用されておらず、Web会議や動画配信など、データの信頼性が低くてもよい通信に使用されます。要はデータを相手に投げっぱなしにするといったイメージです。
5.外部の特定のポート番号の通信(WAN)を家庭のネットワーク(LAN)の特定の端末に指定して通信したい場合
例えば自宅でWebサーバーやFTPなどのデータサーバーなどを設置して、外部からアクセスした場合そのサーバーと通信をおこなう場合は、どうしたらよいでしょうか?
その場合、ルーターの機能に「ポートフォワード・ポート転送」という機能があります。これは特定のポートの通信を特定のパソコン・サーバーに直接通信(転送)させるという機能です。設定方法はルーター
によって異なるため、説明書を読んでください。
コメント