1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ざっくりとWeb技術の基本】プロトコルとポート番号の関連性(メモ)

Posted at

1.プロトコルとは

プロトコルは、コンピュータ同士が通信する際のルールです。

プロトコルという概念がない昔は異なるコンピュータ同士での通信をするためには、それ専用に変換装置やプログラムを作る必要がありました。

プロトコルは、IETFの団体がIPやTCP、UDPなどのインターネットプロトコルの仕様を定め、RFC(Request For Comments)として公開しています。

プロトコル RFC
Web通信 HTTP 91141
信頼性のある通信 TCP 793
宛先指定と配送 IP 791
高速で単純な通信 UDP 768
メール送信 SMTP 821
5321(最新版)
ファイル転送 FTP 959

2.ポート番号とは

ポート番号は、1つのコンピュータ(IPアドレス)上で動く複数の通信サービスを区別するための番号。0〜65535 まで存在し、特によく使われるものは「ウェルノウンポート(0〜1023)」と呼ばれます。

例えると「同じ住所にある家の部屋番号」のような役割を持ちます。

3.プロトコルとポート番号の関係

あるプロトコルは、通信を行うために「標準のポート番号(デフォルト)」が割り当てられています。代表例を挙げると。

プロトコル 用途 ポート番号
HTTP Web通信 80
HTTPS 暗号化されたWeb通信 443
FTP ファイル転送 20(データ転送), 21(制御)
SMTP メール送信 25
POP3 メール受信 110
IMAP メール受信 143
DNS 名前解決 53
SSH 安全なリモート接続 22

なぜポート番号が重要なのか

サービスを識別するため

コンピュータ1台には多数のアプリケーションやサービスが動いています。
ポート番号がなければ「このデータはWebサーバに渡すのか?それともメールサーバに渡すのか?」を区別できません。

セキュリティ制御のため

ファイアウォールやルーターは「特定のポートを許可/遮断」することでセキュリティを守ります。例えば、会社のネットワークでは、Web(80/443番)は許可するが、FTP(20/21番)は禁止する。もしポート番号がなければ、どの通信をブロックすべきか判断できません

通信のトラブルシュート

ネットワーク障害が起きたとき、どのポートで止まっているかを確認することで原因を特定できます。

  • ping で届く → IPレベルではつながっている
  • telnet example.com 25 でつながらない → メール用ポートが閉じている

補足

ポート番号は情報提供側において、設定できる。つまり、固定ではない。
例えばHTTPは通常80番ですが、管理者が設定すれば8080など別の番号でも動作可能。

ただし、標準ポート番号を使う方が一般的で、クライアントも自動でその番号を参照する仕組みがあります。

  1. HTTP/1.0 RFC 1945:初期の標準
    HTTP/1.1 RFC 2068 / RFC 2616:広く普及した仕様
    HTTP/1.1 (改訂) RFC 7230〜7235:モジュール化して再定義
    HTTP/2 RFC 7540, RFC 7541:高速化(多重化・圧縮)
    HTTP/3 RFC 9114:QUICベース

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?