http:は Hypertext Transfer Protocol の略でウェブページへのアクセス手順を示す有名なプロトコルですが、インターネットにはもっと大切なプロトコルがあります。TCP/IPです。IPは Internet Protocol の略で通信相手へパケットを届けるための手順の取り決めです。TCPは Transmission Control Protocol の略で一部のパケットが届かなかったときに再送などのエラー訂正機能などを定めたものです。インターネットの通信のためにはもっと多くの様々なプロトコルがRFCにより決められていますが、TCP/IPはその総称として使われます。
この下層で通信を支えるプロトコルの上に、httpなどのアプリケーション層のプロトコルがあるのです。
名前 | 名前の由来 | 説明 | WellKnownPort |
---|---|---|---|
SMTP | Simple Mail Transfer Protocol | 簡易メール転送プロトコル | 25/587 |
POP3 | Post Office Protocol Version 3 | ユーザーがメールサーバから自分のメールを受け取るためのプロトコル | 110 |
IMAP4 | Internet Message Access Protocol version 4 | メールサーバ上のメールにアクセスし操作するためのプロトコル | 143 |
HTTP | HyperText Transfer Protocol | ウェブページの閲覧のためのプロトコル | 80 |
FTP | File Transfer Protocol | ファイル転送プロトコル | 20,21 |
Telnet | Telecommunication network | 端末間およびプロセス間の通信プロトコル | 23 |
SSH | Secure Shell | 暗号化された通信プロトコル | 22 |
DNS | Domain Name System | ドメイン名とIPアドレスとの対応づける分散型データベースシステム。プロトコルとして見るとクライアントからの問い合わせに対してDNSサーバが応答を返すだけなので単純。仰々しくプロトコルと言うことはあまりない。複数のサーバーが連携してデータベースを作っている方に関心があり「システム」と呼ばれる。 | 53 |
ソフトウェアの中で上記のプロトコルで他のコンピュータがアクセスしてくるのを待ち、要求に応じて何かをする役割をするものをサーバーという。またそのようなソフトウェアを稼働させているコンピュータもサーバーと呼ばれる。そのコンピュータが他のコンピュータから要求されてする仕事をサービスという。また、サービスを受けようとするコンピュータをクライアントという。
サーバーに要求を出すときFQDNまたはIPアドレスを使用して相手を特定するが、これだけではサーバー役のコンピュータに複数のサービスをさせることができない。そこでポート番号でサービスを区別する。ポートの元々の意味は港である。
サービスを提供するソフトウェアはポート番号を決めてアクセスを待ち受ける。クライアントはIPアドレスでサーバーを特定し、ポート番号でアクセスするサービスを特定する。
どのサービスに何番のポートを割り当てるかはサーバー側で決めてよいが、クライアントもその番号を知っている必要があるので、勝手に決められても困る。そこで主要なサービスには標準のポート番号が割り振られている。これをWell Known Port(ウェルノウンポート)という。
サービスをするソフトウェアの作り方がまずいと外部から意図しないプログラムを実行させられることがある。この様な時は不正に侵入されたといったり、ソフトウェアに脆弱性(ぜいじゃくせい)があるなどという。
このようなことを起こさないためには脆弱性がないことが検証されていないソフトウェアを動かさないことが第一歩だが、必要なポートだけから通信を受け付けるようにするとさらに安心ができる。この様な対策を「不要なポートを閉じる」という。
さらに通信を監視して通信をしてくる相手のIPアドレスや、通信が自分と相手のどちらから始まったものかで受け付けるかどうかを判断したり、頻繁過ぎるアクセスを無視したりする専用コンピュータゃソフトウェアを導入することもある。このようなものを「ファイヤーウォール」とか「パケットフィルタ」などとよぶ。ファイヤーウォールは防火壁の意味である。
聖愛中学高等学校