インターネットのアプリケー ション 情報ネットワーク 後藤(2) 教科書: 第8章 アプリケーション プロトコル pp
言葉の説明「プロトコル」 アプリケーション application という言葉 同窓会の出欠を電子メールで返事した ネット通販で書籍を注文した サークルの写真をサーバに upload した アプリケーション プロトコルという言葉 電子メール( )教科書 8.4, smtp:25, pop3:110, imap:143 WWW (World Wide Web) 教科書 8.5, ファイル転送( FTP ) 教科書 8.3, ftp-data: 20, ftp:21 対応するポート番号に注目 教科書 pp
OSI 参照モデルと アプリケーション(プロトコ ル) アプリケーション ソフトウェアは第 5層から第7層に 相当する機能を持 つ 第7層 アプリケーション 層 第6層 プレゼンテーショ ン層 第5層 セッション層 第4層 トランスポート層 第3層 ネットワーク層 第2層 データリンク層 第1層 物理層 (注意) OSI 参照モデルは、 元来は OSI プロトコルを整 理するための枠組として 提案された。 TCP/IP とは 完全には一致しない。 3 この事実は、正確に語ら れることが少ないので注 意
ポート番号に注目するべき ポート番号は TCP ヘッダ、 UDP ヘッダに含 まれる情報(教科書 p.227 および p.228 に一 覧) 参照: TCPヘッダ p.251, UDPヘッダ p.249 ☆ サーバ側はアプリケーションごとに標準 で 定められたポート番号( well-known とい う)を 使用する クライアント側はダイナミックに割当て られるポート番号を使用する( ephemeral という) ☆ これが本日の授業で一番大切な内容です 4
講義資料についての注意 次のスライドからは、教科書の 8.2 から 8.6 までのアプリケーション プロトコルの各 論を 取り上げます 教科書 pp.285—310 を参照してください 第 8 章の上の範囲よりも後のページは、後 の授業の中で別途に説明する機会があり ます 5
8.2 遠隔ログイン TELNET, port 23 クライアント側のホストが仮想端末にな る virtual terminal, virtual 仮想は架空ではない virtual は事実上の、実質の、という意味 TELNET のオプション( p.286 )は後日の授 業 ssh, port 22 TELNET はセキュリティの観点で問題あり teraterm, putty などのソフトウェアがある 6
8.3 ファイル転送 FTP は2つの TCP コネクションを利用する ポート番号が2つある 制御用, port 21 データ転送用, port 20 ※ 実際には port 20 ではないポート番号を 使うことが多い( → 情報理工学実験 C) ファイルの種類:バイナリ( bin )、 ASCII テキスト (ascii) の場合に改行コードを自動変 換 7 これが原因となりファイル の外観が変化する場合があ る
(FTPの補足説明) 改行 コード CR (carriage return) 0x0D LF (line feed) 0x0A LF のみ UNIX, Linux, MAC OS X など CR+LF Windows, MS-DOS CR のみ Apple II, MAC OS 9 まで インターネットの多くのプロトコルでは CR+LF を使用しているが、実際のソフト ウェアは LF にも対応している 友人からもらったファイル(メー ル)に余分な空行が含まれている時 には、この可能性を考慮してみる 8 0x は16進数を表 す hexadecimal
Dear TEIN Partners We are pleased to inform that UbuntuNet Alliance will be hosting its annual conference – UbuntuNet-Connect 2014 on November at Lusaka, Zambia. More information can be found at: Kindly also assist to disseminate this information to your members who may be interested. Thank you very much! Best regards Molly On behalf of TEIN*CC Dear TEIN Partners We are pleased to inform that UbuntuNet Alliance will be hosting its annual conference – UbuntuNet-Connect 2014 on November at Lusaka, Zambia. More information can be found at: Kindly also assist to disseminate this information to your members who may be interested. Thank you very much! Best regards Molly On behalf of TEIN*CC 9 例題: 左右のメッセージの内容は同一 であるが改行の表示が異なる
8.4 電子メール SMTP (Simple Mail Transfer Protocol), port 25 ただし昨今のスパムメール対策として 25 番 をブロックしている ISP がある, OP25B, p.298 * Outbound Port 25 Blocking POP (Post Office Protocol), port 110 受信のためのプロトコル IMAP (Internet Message Access Protocol), 143 受信のためのプロトコル、多彩な機能 日本語化された最初のプロトコル by Mark Crispin 10
電子メールの通信経路 利用者が直接に交信する訳ではない メールサーバ 送信者受信者 SMTPPOP, IMAP SMTP 送信受信 転送 11
8.5 WWW, World Wide Web プロトコル http: 80, https: 443 URI (Uniform Resource Identifier) リソース(資源)という用語 調べてみてく ださい 良く使われる URL (… Locator) よりも URI は広い 例題(教科書 pp.303—304) 記述言語 HTML (Hyper Text Markup Language) マークアップという考え方 参考: SGML 具体的にはタグ Standard Generalized… 12
HTTP のコマンドと応答 HTTP のコマンド OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE 応答メッセージは先頭の数字で分類される (詳細は教科書の pp.307—308) 100 情報の提供 200 肯定的な応答(つまり成功) 300 転送要求(リダイレクト) 400 クライアントからの要求内容のエラー 500 サーバー側のエラー 13
WWW: 動的なページ、情報の継続 JavaScript クライアント サイド アプリケーショ ン Web ブラウザ上で(利用者側で)動くプログラ ム CGI (Common Gateway Interface) サーバー側で 外部プログラムを呼び出す仕組み CGI を記述するプログラミング言語の例: Perl, PHP, Ruby, Python, C, C++ など クッキー Cookie サーバーが、クライアント側に情報を格納して、 後に確認する仕組み http は TCP の通信であり、一回ごとに異なる通 信の単位となる。 Cookie を使うと同一の利用者 かどうかが分かる。 14
ポート番号は誰が決める[標準 化] ポート番号はプロトコルの一部である プロトコルは誰が決める(教科書 1.4, pp.18— 19) IETF (Internet Engineering Task Force) デファクト標準 de facto 末尾に ”o” が付きます 情報通信の標準化は、 IETF だけではない ITU-T 国際電気通信連合 デジュール標準、デジュレ標準 de jure ※ ラテン語には標準的な発音がない 15