第8章 アプリケーションプロコトル まとめ

第8章 アプリケーションプロトコル
4406042 杉山 廣祐
8.1 アプリケーションプロトコル
の概要
アプリケーションプロトコルとは
• OSI参照モデルの第5層、第6層、第7層に相当
する上位層のプロトコル
• アプリケーションが下位層を使ってどのような通
信を行うかを決める
• アプリケーション特有の通信処理を行う
アプリケーション層
アプリケーション層
含まれるプロトコル群
物理層
トランスポート層、
インターネット層
以下による土台
HTTP、SMTP
TELNET、FTP
SNMP、MIME
HTML、MIB
RPC
OSI参照モデル
TCP/IPの階層モデル
プレゼンテーション層
セッション層
トランスポート層
~
ネットワークアプリケーションとネットワークプロトコル
ネットワークアプリケーション
ネットワークプロトコル
Webブラウザ
HTTP、HTML、XML、URL
メーラー
SMTP、MIME、POP、IMAP
ネットワークアプリケーション ≠ アプリケーションプロトコル
アプリケーションプロトコルとプロトコルの階層化
• ネットワークアプリケーションの開発者はトラ
ンスポート層以下の土台部分をそのまま利用
できる。
• OSI参照モデルの5,6,7層の機能をTCP/IP
ではアプリケーション層が備える
8.2 DNS (Domain Name System)
DNSとは何か?
• ホスト名とIPアドレスを対応させるシステム
IPアドレスは人間には覚えにくいため
イメージ・・・電話帳
例.東京理科大学
www.tus.ac.jp → 133.31.180.210
DNS登場の背景(1)
• ARPANETではhostsと呼ばれるデータベースファイ
ルを利用
• SRI-NIC(ネットワークインフォメーションセンター)での一括管理
• コンピュータは定期的にセンターからデータベース
をダウンロードして利用する
ネットワークの拡大に対応できなくなった
DNS登場の背景(2)
• DNSでは、ホストを管理している組織が、データの設定
や変更を行うことができる
• ユーザーがホスト名を入力すると、IPアドレスが登録さ
れているデータベースサーバーを検索する
• ホスト名の追加変更削除の際、そのホスト名を管理す
るデータベースサーバーのみで処理すればよい(他の
機関に報告や申請をする必要がない)
例.理科大生のためのコンピュータ利用案内(神楽坂)
www.ed.kagu.tus.ac.jp
ドメイン名の構造(1)
• ドメイン名の分類
– gTLD (generic Top Level Domain)
→ com、net、org、edu、info、biz、name
– ccTLD (country code Top Level Domain)
→ jp、uk、kr
• jpドメイン下の分類
→ac、co、go、or、ad、ne、gr、ed、lg
汎用jpドメイン
ドメイン名の構造(2)
• ドメイン名の構造
tus.kagu.ac.jp
-tus 東京理科大学
-kagu 神楽坂キャンパス
-ac 大学
-jp 日本
ドメインの構造(3)
(root)
org
ccTLD
com
jp
gTLD
co
uk
ac
ne
tus
noda
kagu
ed
kuki
rs
DNSによる問い合わせ(1)
• ネームサーバ・・・ドメイン名を管理している
ホストやソフトウェア
– ルートネームサーバ 全世界に13個存在
• リゾルバ・・・DNSに問い合わせを行うホス
トやソフトウェア
DNSによる問い合わせ(2)
ルートネームサーバ
jpのDNS Server
yahoo.comの
DNS Server
www
tus.ac.jpの
DNS Server
リゾルバ
DNSはインターネット上に広がる分散データーベース
• ホスト名からIPアドレスを検索するだけではない
メールアドレスと、そのメールを受信するメールサー
バーのホスト名の対応情報など
8.3
WWW(World Wide Web)
4406042
杉山廣祐
8.3.1
インターネットブームの火付け役
• WWW
インターネット上の情報をハイパーテキスト形
式で参照できる提供システム
• Webブラウザ
WWWの情報を画面に表示するソフト
• WWWページ(Webページ、ホームページ)
Webブラウザに表示されるイメージ全体
(文字列、静止画、動画、音声、プログラム)
8.3.2
WWWの基本概念
• 情報へのアクセス手段と位置の定義
URI(Uniform Resource Identifier)
• 情報表現フォーマットの定義
HTML(HyperText Markup Language)
• 情報の転送などの操作の定義
HTTP(HyperText Transfer Protocol)
8.3.3
URI(Uniform Resource Identifier)
• 資源をあらわす表記法(識別子)
http://www.ed.kagu.tus.ac.jp/~takkyuu1/
• http://tuspress.jp
http://ホスト名/パス/
• メールや電話番号などで利用も可能
8.3.4
HTML(HyperText Markup Protocol)
• Webページを記述するための言語
文字の大きさ、位置、色やメディアファイルの
挿入
• ハイパーテキスト
リンクをクリックすると別のページにアクセス
• アーキテクチャの異なるコンピュータでもほぼ
同様に表示
→アプリケーション層が違うと多少異なる
8.3.5
HTTP(HyperText Transfer Protocol)
• ユーザーがブラウザにWebページのURIを入
力すると処理を開始
8.3.6
JavaScript、CGI、クッキー
• 動的に表示するためのプログラム処理
クライアント(サーバー)サイドアプリケーション
• JAVA
HTMLに埋め込めるプログラミング言語
・入力ミスチェック、動的にスタイル変更
• CGI
外部プログラムを呼び出す
・掲示板、情報を動的に処理
• クッキー
ユーザー情報の識別
8.3.7
TLS/SSLとHTTPS
• クレジットの暗証番号や口座番号を情報とし
て送る際に他人に読み取られることがないよ
うに暗号化して送る
• TLS/SSL
HTTP通信を暗号化
• HTTPS
TLS/SSLを使ったHTTP通信
8.4 電子メール
4406074 古谷 友磨
8.4.1 電子メールの仕組み
• SMTP[Simple Mail Transfer Protocol]
– 電子メールサービスを提供するためのプロトコル
– トランスポートプロトコルとしてTCPを利用
• 3つの要素から構成
– 電子メールアドレス
– データ形式
– 転送プロトコル
初期の電子メール
• ホストからホストへ直接TCPのコネクションによ
り配送
• 両方のパソコンが常に電源が入り、インター
ネットに接続されてなくてはならない
現在の電子メール
• メールソフトの設定に従い、メールサーバーAに
メールが配信される
• DNSのMXレコードを引き、メールサーバーB に
メールが送信される
• メールソフトの設定に従い、メールサーバーBか
らメールを受信する
8.4.2 電子メールアドレス
•
•
•
•
電子メールを使用する時に用いるアドレス
郵便でいえば住所と氏名に相当(名前@住所)
住所の部分はドメイン名と同じ構造
電子メールの配送先の管理はDNSで行われる。
DNSには、メールアドレスとそのメールアドレス宛の
メールを送信すべきメールサーバーのドメイン名を
登録できる
→MX [Mail Exchange]レコード
8.4.3 MIME
[Multipurpose Internet Mail Extensions]
• Internetで幅広く使えるようにメールのデータ形式
を拡張したもので、WWWやNetNewsでも利用され
る
テキスト形式→静止画・動画・音声・プログラムファイル
etc..
• データの書式を規定
→OSI参照モデルではプレゼンテーション層
8.4.3 MIME
[Multipurpose Internet Mail Extensions]
• ヘッダ+本文の2つの部分から構成
– 空行から後ろが本文
– ヘッダの”Content-Type”で本文のデータタイプを示
す
• 1つのMIMEデータを複数のMIMEデータの集合とし
て定義できる
→マルチパート
MIMEの代表的なContent-Type
Content-Type
内容
Text/Plain
通常のテキスト
Message/Rfc822
MIMEと本文
Multipart/Mixed
マルチパート
Application/Postscript
Postscript
Application/Octet-stream
バイナリファイル
Image/Gif
GIF
Image/Jpeg
JPEG
Audio/Basic
AU形式の音声ファイル
Video/Mpeg
MPEG
Message/External-Body
外部にメッセージがある
8.4.4 SMTP(Simple Mail Transfer Protocol)
• 電子メールを配送するアプリケーションプロトコル
• TCPポート番号は25番
• 1つのTCPコネクションを確立
→制御、データ転送
• クライアントはテキストコマンドで要求を出し、サー
バーは3桁の数字で応答
• 各コマンド、応答の最後に改行(CR,LF)が付加され
る
SMTPの主なコマンド
HELO<domain>
通信開始
RSET
初期化
EHLO<domain>
通信開始(拡張版)
VRFY
ユーザーの確認
MAIL
FROM:<reversepath>
送信者
EXPN
メーリングリスト名
をユーザー名へ展
開
RCPT TO:<forwardpath>
受信者の指定
NOOP
応答の要求
DATA
電子メールの本文
の送信
QUIT
終了
8.4.5 POP(Post Office Protocol)
• 電子メールを受信するためのプロトコル
– クライアント側で電子メールを管理する
– 1つのTCPコネクションを確立して制御転送を行う
• クライアントはASCII文字列で要求を出す
• サーバーは正常なら”+OK”、エラーなら”-ERR”で応答
– クライアントが好きな時間にメールを受信できる
8.4.6 IMAP(Internet Message Access
Protocol)
• POPと同様、電子メールなどを受信するため
のプロトコル
• IMAPはサーバー側で管理を行う⇔POPは
メールの管理をクライアント側で行う
• サーバー上のメールの全てをダウンロードし
なくても読むことが可能
• メールの未読・既読情報や、仕分けなどの管
理もサーバーで行ってくれる
8.5.遠隔ログイン(TELNETとSSH)
阿部
遠隔ログインとは
• 自分のコンピュータから、汎用コンピュータや
UNIXワークステーションなどのアプリケーショ
ンを利用したり、システムの環境設定が可能
になるアプリケーション。
• ログインしたいコンピュータに自分のログイン
名とパスワードが登録されている必要がある。
8.5.1.TELNETの仕組み
• TCPのコネクションを通じて、コマンドが文字列
として相手のコンピュータに送信され、相手の
コンピュータで実行される。
• TELNETの基本サービスには、ネットワーク仮
想端末の機能と、オプションのやり取りの機
能がある。
オプション
• TELNETではユーザーが入力した文字以外の
オプションをやり取りできる。
• 例1:NVTを実現する画面制御情報はオプショ
ン機能を利用して送信される。
• 例2:行モードと透過モードの設定は、オプショ
ン機能を利用して設定される。
8.5.2.SSH
•
•
•
暗号化された遠隔ログインシステムのこと。
盗聴されても不正侵入される危険性が低い。
SSHの便利な機能
① より強固な認証機能を利用することができる。
② ファイルの転送ができる。
③ ポートフォワード機能が利用できる。
※ポートフォワード機能とは、特定のポート番号に届け
られたメッセージを他のIPアドレス。ポート番号に転送す
る仕組み。
8.6 ファイル転送 (FTP)
4406020
金子周平
41
FTP(File Transfer Protocal)
1 FTPとは
異なったコンピュータ間でファイル転送を行うプロトコル
TELNET同様、FTPでもログインをしてから操作を行う
2 FTP サーバのサービス
・特定ユーザに対するサービス……プロバイダと契約してホームペー
ジをアップロードするなど。
・不特定多数に対するサービス……無償ソフトの配布など
誰もがログインできるFTPサーバー(anonymous ftpサーバー)
ログインするためには
 user名
「anonymous」または「ftp」等が一般的
 password
「メールアドレス」が最近では一般的
42
FTPでのファイル転送のイメージ
User
○○○
○
Passwor
d
******
です!
OK!
ログアウト
ホストA
ログイン
ホストB
43
FTPの仕組みと概要
1 制御用TCPコネクション
・ログイン時のユーザ名やパスワード認証
・転送するファイル名や転送する方法の指示
・ポート番号は21番
・コマンドのやりとりはHTTPやSMTPのコマンドと同様だ
が、SMTPとは違いFTPでは制御用のコネクションで
デー
タ転送は行わない。
44
FTPの仕組みと概要
2 データ転送用TCPコネクション
① 制御用(ポート番号21)のTCPコネクションでGET、
PUT、LISTなどのコマンドが実行されると、そのたび
にデータ転送用TCPコネクションが確立される。
② そのコネクションを使ってデータ転送が行われる。
③ データ転送が終わるとデータ転送のコネクションは
切断される。
45
FTPの仕組みと概要の図
FTPサーバ
FTPクライアント
FTP
制御用
データ
転送用
データ
転送用
TCP
制御用
TCP
IP
データ転送用TCPコネクション
IP
制御用TCPコネクション
46
FTPの主なコマンド
47
FTPの主な応答メッセージ
48
8.7 ネットワーク管理
4406087
8.8.1 SNMP
(Simple Network Management Protocol)
• TCP/IPではネットワーク管理にSNMPが利用
される
管理する側:マネージャ
管理される側:エージェント
• この二つの間の通信のやり取りを決めたもの
がSNMPである。
• MIBと呼ばれるデータベースの値を見ること、
新しい値をセットすることができる。
8.8.1 SNMP
8.8.1 SNMP
8.8.2 MIB
(Management Information Base)
• SNMPでやり取りされる情報のことである。
• SNMPのプレゼンテーション層と言える。
• ツリー型の構造を持ったデータベースで、そ
れぞれの項目には数字がつけられている。
• 標準MIBと拡張MIBがある。
MIBツリーの例
8.8.3 RMON
(Remote Monitoring MIB)
• RMON→接続されるネットワークの回線を監
視するパラメータ群から構成される。
(MIB→ネットワーク機器のインタフェースを監
視するパラメータ群から構成される。)
ネットワークを効果的に監視することを可能に
する
– 例)統計情報を知ることができる
• ネットワークの拡張時、変更時に有意義な情
報を取得することが可能になる
8.8.4 SNMPを利用したアプリケーションの
例
SNMPを利用しているフリーウェアをひとつ紹介する。
MRTGと呼ばれ、ルーターのトラフィック量の情報を
定期的に収集してグラフ化してくれるツール。
入手先は↓
http://eestaff.ethz.ch/~oetiker/webtools/mrtg/mrt
g.html
8.8マルチメディア通信
4406073 広畑
マルチメディア通信を実現する技術
以前の発表「マルチメディアにはUDPがいい」
→それ以外に必要なもの
• 呼制御
– H.323
– SIP(Session Initiation Protocol)
• RTP(Real-Time Protocol)
• デジタル圧縮技術
注:呼制御とは通信相手の呼び出しおよび通信形式を決定する仕組み
H.323
ITUにより策定されたIPネットワーク上で音声や映
像をやり取りするためのプロトコル体系。
もとはISDN網とIPネットワーク上の電話網を接続
するための規格。
•
•
•
•
ターミナル 利用端末
ゲートウェイ 圧縮方法の違いなどを調節
ゲートキーパー 電話帳の管理、呼制御の実行
マルチコンポーネントユニット
複数の末端からの同時利用を可能にする
SIP(Session Initiation Protocol)
H.323より後に開発され、比較的簡単な構成
•
•
マルチメディア通信に必要な下準備を行う(実際
の通信はRTPによる)。
端末間だけではなく、サーバーを介しての転送も
できる。
• VoIP以外にもさまざまなアプリケーションに応用さ
れている。
RTP(Real-Time Protocol)
UDP通信ではパケットが無くなったり順番が
入れ替わったりする。
パケットに送信時刻と番号をつけることによっ
て、データの並び替えや喪失したパケットの
把握ができるようになる。
デジタル圧縮技術
データを鑑賞に堪えるレベル内で劣化させ、デー
タ量を大きく減らす技術。
• MPEG(Moving Picture Experts Group)
ISO/IECで策定されたデジタル圧縮の規格
– MPEG1(VideoCD)
– MPEG(DVD,デジタルテレビ放送)
– MP3(音楽)
ITU-Tでは、H.323で規定されるH.261,H.263,MPEGと共同
で作業したH.264がある。
8.9 LDAP
(Lightweight Directory Access Protocol)
4406069
63
LDAPとは?
• Lightweight Directory Access Protocolの略
注:LDAPは「エルダップ」と発音する
• ディレクトリサービスにアクセスするための
プロトコル
• X.500の機能の一部をTCP/IPに対応させ
たもの
64
ディレクトリサービス
• ネットワーク上に存在している様々な資源
に関するデータベース的な情報提供を行う
サービス
• ネットワーク上の資源の管理サービス
65
X.500 (ディレクトリサービスの標準化)
• X.500とは?
– 1988年、ISOがディレクトリサービスの標準と
して規定したディレクトリサービスプロトコル
– X.500の一部をTCP/IPに対応させたものが
LDAPである
66