URLのポート番号について!働きや種類を紹介

皆さんこんにちは。ポート番号という言葉を聞いたことはあるでしょうか?

ポート番号は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のポート番号について良く知らないという方の役に立つと嬉しいです。

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?