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