Webエンジニアのブログ

「マスタリングTCP/IP 入門編」要約 第8章「アプリケーションプロトコル」


マスタリングTCP/IP 入門編 第5版」の第8章の要約。

この章ではアプリケーションプロトコルについて説明する。

TCP/IPにおけるアプリケーション層は、OSI参照モデルの5~7層にあたる。これより下位層にあたるプロトコルは汎用性の高いものだったが、このアプリケーション層ではアプリケーション特有の通信処理を行う。

遠隔ログイン(TELNET, SSH)

遠隔ログインにはTELNETやSSHなどのプロトコルがある。

TELNETはTCPコネクションを確立し、コマンドを文字列として相手に送信して相手のコンピュータで実行される。TELNETではパスワードなどが暗号化されずに送られるため、不正侵入の危険性がある。

SSHは暗号化された遠隔ログインシステムでり、通信内容は暗号化される。SSHにはファイル転送機能やポートフォワード機能などが備わっている。ポートフォワードは、特定のポート番号に届けられたメッセージを、特定のIPアドレスとポートに転送する仕組みのことである。

ファイル転送(FTP)

FTPは異なるコンピュータ間でファイルを転送するときに使われるプロトコル。FTPでは2つのTCPコネクションが利用され、1つは転送ファイル名などを制御するものとして使われ、もう1つはデータの転送用で使われる。

電子メール(E-Mail)

電子メールにはSMTP(Simple Mail Transfer Protocol)というプロトコルが利用されている。インターネット初期の頃は受信側とTCPコネクションを確立して送受信を行っていたが、今ではメールサーバーを経由するようになっており、受信側がメールサーバーから電子メールを受け取るPOP(Post Office Protocol)というプロトコルが標準化されている。

メールアドレス(例:yourname@example.com)の送信先メールサーバーを特定するためには、example.comのMXレコードからたどってメールサーバーのIPアドレスを取得する。

MIME

長い間、電子メールではテキスト形式しか扱えなかったが、現在はMIME(Multipurpose Internet Mail Extensions)によって静止画や動画、音声、ファイルなどを送信できるようになっている。

MIMEはヘッダと本文(データ)の2つから構成され、ヘッダと本文は空行によって別れている。MIMEヘッダのContent-TypeMultipart/Mixedを指定し、boundary=の後に書いた文字列で仕切ると、1つのMIMEメッセージを複数のMIMEメッセージの集合として定義することができる。これをマルチパートという。

WWW(World Wide Web)

WWWはインターネット上の情報をハイパーテキスト形式で参照できる情報提供システムのこと。一般的にWebと呼ばれ、WWWの情報を画面に表示するクライアントをWebブラウザと呼ぶ。

URI/URL

URI(Uniform Resource Identifier)はその名の通り、資源を表す識別子として使われる。http://localhost:8080/はURL(Uniform Resource Locator)と呼ばれるもので、URLはしばしばインターネットの場所を表す俗称として使われる。URLが狭い概念であるのに対して、URIはあらゆるものに定義できる広い概念である。

ネットワーク管理(SNMP)

TCP/IPのネットワーク管理では、SNMP(Simple Network Management Protocol)が必要な情報の取得などを行うために利用されている。SNMPはUDP/IP上で動作するプロコトル。

SNMPではMIB(Management Information Base)という情報がやり取りされる。MIBはツリー型の構造になっているデータベースで、それぞれの項目に番号が付けられている。 通常のMIBがインターフェイス(点)を監視するのに対し、RMON(Remote Monitoring MIB)は接続されるネットワークの回線を関しするパラメータ群から構成されている。RMONによってネットワークを効率的に監視することが可能になり、通信トラフィックの統計情報なども取得できるようになった。

その他のアプリケーションプロトコル

マルチメディア通信

リアルタイム性が求められるマルチメディア通信ではUDPが利用されている。UDPを利用すればそれだけで通信が可能になるわけではなく、相手を探してどのような形式でデータをやり取りするかなどを決める必要がある。そういった役割を持っているのがSIP(Session Initiation Protocol)である。 またRTP(Real-Time Protocol)は、信頼性がないUDPにおいてパケットの順番を表すシーケンス番号を付けたり、パケットの送信時刻を管理したりする役割を持っている。

P2P(Peer To Pear)

ネットワーク上に存在する各ホストがサーバーなどを介さずに1対1で通信を行う形態をP2Pと呼ぶ。P2Pでは各ホストがクライアントとサーバーの両方の機能を持ち、対等な関係でサービスを提供し合う。例えばSkypeはP2Pの機能を利用している。

LDAP

LDAP(Lightweight Directory Access Protocol)は、ディレクトリサービスというデータベース的な情報提供を行うサービスにアクセスするためのプロトコルである。

第8章 終わり

以上がアプリケーションプロトコルについての説明。


{ "name": "hareku", "job": "Software Engineer" }