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

Download Report

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

第8章 アプリケーションプロコトル
まとめ
情報通信ネットワーク
4404088
Y.M
8.1 アプリケーションプロトコルの概要
■ はじめに
図8.1 OSI参照モデルとTCP/IPのアプリケーション
■ アプリケーションプロコトルとは
ネットワークを利用するアプリケーション
⇒ Webブラウザ、電子メール、遠隔ログイン、
ファイル転送、ネットワーク管理
アプリケーション特有の通信処理が必要
アプリケーションプロコトル
■ アプリケーションプロコトルとプロコトルの階層化
● ネットワークアプリケーションの機能を実現
⇒ アプリケーション間で通信する際の取り決め、
“アプリケーションプロコトル”が必要
● アプリケーション
⇒ トランスポート層以下の土台となる部分をそのまま利用でき
“ネットワークプロコトルの階層化”のおかげ
■ OSI参照モデル第5,6,7に相当するプロコトル
TCP/IPのアプリケーション層
⇒ OSI参照モデルの第5,6,7層の全ての機能が埋め込
められる
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)
8.3.1 インターネットブームの火付け役


www(World Wide Web)はインターネット上の情
報を、ハイパーテキスト形式で参照できる情
報提供システム。
提供される情報は文字情報だけでなく、静止
画、動画、音声、プログラムなど、さまざまで
ある。
8.3.2 wwwの基本概念



情報へのアクセス手段と位置の定義
→URL
情報の表現フォーマットの定義
→HTML
情報転送などの操作の定義
→HTTP
8.3.3 URL (Uniform Resource Locator)

インターネット上の資源の場所の表記法とし
て利用される。

次の書式で定義される。
スキーム//ホスト名/絶対パス
スキーム//ホスト名:ポート番号/絶対パス
8.3.4 HTML
(Hyper Text Markup Language)



Webページを記述するための言語。
ブラウザの画面に表示する文字や、文字の
大きさ、位置、色などを指定できる。
画像データや動画を画面に貼り付ける設定
や、音や音楽を鳴らす設定ができる。
8.3.5 HTTP
(Hyper Text Transfer Protocol)


要求コマンドに“GET”などのASCII文字列が
利用される。
それに対する応答は数字を3文字のASCII文
字列で表したものが利用されている。
8.4 電子メール
8.4.1 電子メールの仕組み

SMTP[Simple Mail Transfer Protocol]



電子メールサービスを提供するためのプロトコル
トランスポートプロトコルとしてTCPを利用
3つの要素から構成



電子メールアドレス
データ形式
転送プロトコル
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)が付加され
る

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)
遠隔ログイン(TELNET)

遠隔ログインとは?

TELNETの仕組み

TELNETクライアント
遠隔ログインとは?


メインフレームと端末の関係をコンピュータ
ネットワークに応用したもの
ルーターや高機能スイッチ等のネットワー
ク機器にログインしてその設定を行うとき
にも利用
A さん
ホストA
ログイン
ホストB
A さん
TELNETの仕組み 1



TCPコネクションの1つ利用する
コマンドが文字列として送信
→相手のコンピューターで実行
TELNETのサービス・・・


ネットワーク仮想端末の機能
オプションのやり取りをする機能
TELNETの仕組み 2
アプリケーション
7
telnet
クライアント
5 シェルからコマンドの出力を受け取る(OS経由)
6 行モード、透過モードなどのモード処理をしてTELNETクライアントへを送信す
る
7 NVTの設定に従い画面へ出力する
ネットワーク仮想
端末の機能
1
OS
OS
6
4
オプションのやり
取りをする機能
2
1 キーボードから文字列が入力される
アプリケーション
2 行モード、透過モードなどのモード処理をしてtelnetdへ文字列を送信する
3 シェルにコマンド文字列を送信する(OS経由)
4 シェルからコマンドを解釈して、プログラムを実行して、結果を得る。
5
シェル
telnetd
3
OSを貝殻のように包み、OSが提供する機能をユーザーが利用し
やすくしてくれるユーザーインタフェース
オプション 1


ユーザーが入力した文字以外にオプション
をやり取りする機能
2つのモード


行モード
透過モード
オプション 2
クライアントA
サーバーA
1行分
データ
行モード:改行キーが入力されるごとに一行分のデータをまとめて送る
クライアントA
サーバーB
S
L
透過モード:クライアントAで入力された1文字ごとにサーバーBに送信
TELNETクライアント


TELNETを利用して遠隔ログインするとき
のクライアントプログラム
通常は23番のポート番号




25番→SMTP
80番→HTTP
110番→POP3
TCP/IPのアプリケーションを
開発するときのデバッグに利用
8.6 ファイル転送 (FTP)
FTP(File Transfer Protocal)
1 FTPとは
異なったコンピュータ間でファイル転送を行うプロトコル
TELNET同様、FTPでもログインをしてから操作を行う
2 FTP サーバのサービス
・特定ユーザに対するサービス……プロバイダと契約してホームペー
ジをアップロードするなど。
・不特定多数に対するサービス……無償ソフトの配布など
誰もがログインできるFTPサーバー(anonymous ftpサーバー)
ログインするためには
 user名
「anonymous」または「ftp」等が一般的
 password
「メールアドレス」が最近では一般的
FTPでのファイル転送のイメージ
User
○○○○
OK!
Password
******
です!
ログアウト
ホストA
ログイン
ホストB
FTPの仕組みと概要
1 制御用TCPコネクション
・ログイン時のユーザ名やパスワード認証
・転送するファイル名や転送する方法の指示
・ポート番号は21番
・コマンドのやりとりはHTTPやSMTPのコマンドと同様だ
が、SMTPとは違いFTPでは制御用のコネクションで
デー
タ転送は行わない。
8.6.5 FTPの仕組みと概要の図
FTPサーバ
FTPクライアント
FTP
制御用
データ
転送用
データ
転送用
TCP
TCP
IP
IP
データ転送用TCPコネクション
制御用TCPコネクション
制御用
8.6.6 FTPの主なコマンド
8.6.7 FTPの主な応答メッセージ
8.7 NFS(Network File System)
NFSとは?



ネットワークに接続されたコンピュータ間で、
ファイルを共有するためのプロトコル
現在はデファクトスタンダードとしてUNIX
ワークステーションでサポートされている
ネットワーク上の各機器に接続するハード
ディスクを他の機器からも同様な操作で運
用する事ができるアプリケーション
NFSとは?(2)


CADやソフト開発など、複数の人員や機
器を使い作業する場合などで活躍
ある人がファイルを更新すると他のユー
ザーにも情報が反映
NFSの図
階層モデル
アプリケーション層
NFS
プレゼンテーション層
XDR
セッション層
RPC
トランスポート層
UDP or TCP
ネットワーク層
IP
NFSの特徴





TCPとUDPどちらでも動作する
UDPでも信頼性のある通信可能
ウェルノウンポート番号は割り当てられて
いない→ポートマップ機構により割り当て
られる
アプリケーションレベルで信頼性を提供
高速データ転送
8.8 ネットワーク管理
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/mrt
g/mrtg.html
MRTGによるトラフィック量のグラ
フ化
8.9 LDAP
(Lightweight Directory Access
Protocol)
8.9.1 LDAPとは?

Lightweight Directory Access Protocolの略
注:LDAPは「エルダップ」と発音する


ディレクトリサービスにアクセスするための
プロトコル
X.500の機能の一部をTCP/IPに対応させ
たもの
8.9.2 ディレクトリサービス


ネットワーク上に存在している様々な資源
に関するデータベース的な情報提供を行う
サービス
ネットワーク上の資源の管理サービス
8.9.3 X.500 (ディレクトリサービスの標準化)

X.500とは?


1988年、ISOがディレクトリサービスの標準と
して規定したディレクトリサービスプロトコル
X.500の一部をTCP/IPに対応させたものが
LDAPである
8.9.4 LDAPの具体的な機能

ディレクトリサーバー上での操作

ディレクトリ情報の作成、変更、削除、検索など
例)電子メールアドレスの検索

レプリケーション機能
サーバー間でのディレクトリ情報の交換

セキュリティー機能