皆さんこんにちは。ポート番号という言葉を聞いたことはあるでしょうか?
ポート番号はURLを形成する要素の一つで、あるサーバーのどのようなサービスにアクセスするかを決めるものです。ただ普段目にする機会が少ないのもあり、あまりよくわからないという方も沢山いらっしゃるのではないでしょうか。
そこでここではURLのポート番号について詳しく紹介していきます。
目次
URLのポート番号とは
ポート番号はURLを構成している要素の一つです。そのためポート番号は何かについて知るためにはまずURLとは何かについて理解しておく必要があります。
URLの仕組みについて
URLはインターネット上である情報がどこにあるかを表しているものです。ネットワーク上の住所というとわかりやすいかもしれないですね。
仮にこんなURLがあるとします。
http://www.papipupepo.com/network/index.html
- http://→プロトコル名 通信プロトコルを指定する箇所。httpsの場合もある。
- www→ホスト名 アクセスしようとしているデータがあるサーバーの場所を表す
- papipupepo.com→ドメイン名 アクセスしようとしているデータがあるサーバーの場所を表す
- network→ディレクトリ名 サーバー内でアクセスしようとしているデータがある場所
- index.html→ファイル ディレクトリの中にあるアクセスしようとしているデータファイルの名前
このようにURLでWEBサイトがあるサーバーやサーバー内のデータの場所まで指定することで、見たいWEBサイトにアクセスできるようになっているんですね。
ポート番号のURL内の場所と機能
上で紹介したURLを見てポート番号がどこにもないじゃないかと思ったかもしれません。実はポート番号は隠れていることが多いんです。
上で紹介したURLでもう一度確認していきましょう。
http://www.papipupepo.com:80/network/index.html
この中の「:80」がポート番号です。なぜ隠れているのかと言うとhttpの場合のポート番号は80と決まっているから。
ポート番号が示すのは、サーバー内にあるどのアプリケーションにアクセスするかです。httpから始まるWEBサイトのポート番号が80であるように、メールの送受信やhttpsで始まるURLのWEBサイトなど一般的によく使われるサービスのポート番号は大体決まっています。
URLの中でホスト名とドメイン名はサーバーの場所を表し、ポート番号はそのサーバーで機能しているそれぞれのアプリケーションのなかのどれにアクセスするかを指定するものと考えていただくとわかりやすいのではないでしょうか。
ポート番号は3種類ある
ポート番号は3種類に分けられます。
・ウェルノウンポート番号(0番から1023番)
・レジスタードポート番号(1024番から49151番)
・自由に使用できるポート番号(49152番から65535番 )
ここではそれぞれのポート番号について一体どんな違いがあるのか詳しく見ていきましょう。
ウェルノウンポート番号(0番から1023番)
一般的によく使われるサービスにあらかじめ割り当てられている番号のことをウェルノウンポート番号といいます。ウェルノウンポート番号で決められている用途は絶対で、該当しないサービスに割り当てることはできません。
例えば80番はWEBサイトでのみ使うことができます。このルールを決めているのはIANAというアメリカの団体です。ただウェルノウンポート番号が割り当てられているサービスを別の番号で運営することは理論上は可能です。
レジスタードポート番号(1024番から49151番)
レジスタードポート番号というのは名前の通りソフトウエア開発会社等がIANAに申請し、どのようなサービスで使うのか登録されたポート番号のことです。アプリケーションやOSごとに割り当てられています。
番号の中にはまだ登録されていないポート番号もあります。
自由に使用できるポート番号(49152番 – 65535番)
自由に使用できるポート番号はIANAに管理されていない、フリーのポート番号です。一時的な通信でクライアント側に割り当てられるエフェメラルポートとして使われる他、個人がテストやカスタムなどで使うこともできます。
主要なウェルノウンポート番号一覧
エンジニアを目指すなら主要なポート番号を頭に入れておきたいですね。ここでは特によく使われるポート番号をまとめてみました。
ポート番号 | TCP | UDP | 該当するサービス | 説明 |
20 | 〇 | 〇 | File Transfer [Default Data] | FTPデータの送信 |
21 | 〇 | 〇 | File Transfer Protocol [Control] | FTPのコントロール |
37 | 〇 | 〇 | Time | 時刻の調整 |
67 | 〇 | Bootstrap Protocol Server | IPアドレスを自動で取得する(サーバー) | |
68 | 〇 | Bootstrap Protocol Client | IPアドレスを自動で取得する(クライアント) | |
80 | 〇 | 〇 | World Wide Web HTTP | WEBサイトの表示(http) |
443 | 〇 | 〇 | http protocol over TLS/SSL | SSL通信によるWEBサイトの表示(https) |
587 | 〇 | 〇 | Message Submission | SSL通信によるメールの送信 |
631 | 〇 | 〇 | ipp | ネット回線を利用したプリンター操作 |
993 | 〇 | imap4 protocol over TLS/SSL | SSL通信によるメールの受信 |
この表にあるTCPとUDPというのはネットワークプロトコルのことで、ポート番号にはTCPとUDP両方に割り当てられているものと一方でしか使えないものがあります。
TCPの特徴はセキュリティ重視の通信で、データ送信元と受信元で送信がうまくいったかどうかを確認しながらやり取りします。ネット上で市場によく使われている通信方法でもあります。
UDPはデータを高速でやり取りできる通信方法です。TCPと違いデータ送信元と受信元で相互通信をするのではなく、データ送信元はただデータを送信し続けます。セキュリティはTCPより劣るものの大きなデータを高速で遅れるため、動画サイト等でよく使われます。
URLのポート番号を変更する時の注意点
WEBサイトやメールアドレスなど一般的によく利用されるアプリケーションのポート番号はあらかじめ決められたボート番号が自動的に割り当てられます。ポート番号が決まっているがゆえに、例えばWEBサイトにアクセスする時にURLから80という番号を省略してもきちんと表示されるんですね。
そのため一般に広く公開するサービスの場合はウェルノウンポート番号をそのまま使う方が便利です。ただ同じサーバーに既に同じポート番号のアプリケーションが入っている場合など、ウェルノウンポート番号がそのまま使えないケースもあるでしょう。またSSHサーバーはセキュリティ強化のためウェルノウンポート番号を変更することが推奨されています。
このようにどうしてもポート番号を変更しないといけない場合は、次のことに気を付けて変更を行ってください。
・変更後のポート番号にはウェルノウンポート番号以外の番号を選ぶ
・同じサーバー内で使われていないポート番号から選ぶ
・WEBサイトの場合ウェルノウンポート番号以外の番号を使うとURLで省略できないので、顧客などにポート番号を入れたURLを通知する
万が一サーバーでポート番号が競合してしまった場合は、速やかに再変更するようにしてください。
まとめ
いかがでしたか?今回は、URLのポート番号とは一体何なのかについて詳しく紹介しました。
ネットを使うユーザー側はあまり意識することのない番号ですが、サーバーを構築するエンジニアにとっては必須の知識です。IT業界で働くことを考えているなら頭の中に入れておきたいですね。
この記事がURLのポート番号について良く知らないという方の役に立つと嬉しいです。