8.1 アプリケーションプロトコルの概要

8.1 アプリケーションプロトコル
の概要
4407010 榎本健太
アプリケーションプロトコルとは
• OSI参照モデルの第5層、第6層、第7層に相当
する上位層のプロトコル
• アプリケーションが下位層を使ってどのような通
信を行うかを決める
• アプリケーション特有の通信処理を行う
アプリケーション層
プレゼンテーション層
アプリケーション層
セッション層
トランスポート層
OSI参照モデル
TCP/IPの階層モデル
~
物理層
トランスポート層、
インターネット層
以下による土台
含まれるプロトコル群
HTTP、SMTP
TELNET、FTP
SNMP、MIME
HTML、MIB
RPC
アプリケーションプロトコルとプロトコルの階層化
• ネットワークアプリケーションの開発者はトラ
ンスポート層以下の土台となる部分をそのま
ま利用できる。
• OSI参照モデルの5,6,7層の機能をTCP/IP
ではアプリケーション層が備える
8.2 DNS (Domain Name System)
4407010 榎本健太
DNSとは何か?
• ホスト名と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)
440742 丹野 雅弘
1. Webブラウザ
• WWWの情報を画面に表示するクライアント
ソフトウェア。
• これを利用することで、情報の場所を意識す
ることなく、様々な情報にアクセスできる。
• Webブラウザの画面に表示されるイメージ全
体は「WWWページ(Webページ)」と呼ばれ
る。
1. Webブラウザ(2)
2. WWWの基本概念
・URI(Uniform Resource Identifier)
情報へのアクセス手段と位置の定義
・HTML(HyperText Markup Language)
情報の表現フォーマットの定義
・HTTP(HyperText Transfer Protocol)
情報の転送などの操作の定義
3. URI
• 資源を表わす表記法として利用される。
• URLが表す枠組みをスキームという。
次の書式で定義される。
スキーム//ホスト名/絶対パス
スキーム//ホスト名:ポート番号/絶対パス
4. HTML
• Webページを記述するための言語(データ形
式)です。
• ブラウザに表示する文字や、文字の大きさ、
位置、色などの指定や画像、動画を張り付け
たり、音楽を流すことができる。
• ハイパーテキストは、リンクをクリックすると別
のページにアクセスできる機能。
• データ表現の共通のプロトコルでアーキテク
チャの異なるコンピュータでもほぼ同様に表
示。(アプリケーション層が違うと多少異なる)
5. HTTP
要求コマンドに“GET”などの
ASCII文字列が利用される。
それに対する応答は数字を
3文字のASCII文字列で表し
たものが利用されている。
6. JavaScript, CGI, クッキー
• JavaScript
・HTMLに埋め込めるプログラミング言語
・サーバー側で動くクライアントサイドアプリケー
ションとして多くの種類のWebブラウザ上で起動
する。
・ ユーザーの入力のチェック処理
・ DOMを操作し、表示する情報やスタイルを動的
に変更する。
・Ajaxと呼ばれるWebサイト作成手法も近年でてき
た。
6. JavaScript, CGI, クッキー(2)
• CGI
外部プログラムを呼び出すサーバーサイドア
プリケーションの仕組み。
掲示板などの情報を動的に処理する。
• クッキー
ユーザー情報を識別する。
Webサーバーがクライアント側に情報を格納
するために使用する。
6. JavaScript, CGI, クッキー (3)
7. TLS/SSLとHTTPS
・TLS/SSL
HTTP通信を暗号化
・HTTPS
TLS/SSLを使った
HTTP通信
8.4 電子メール(E-mail)
4407402 丹野 雅弘
1. 電子メールの仕組み
• SMTP[Simple Mail Transfer Protocol]
– 電子メールサービスを提供するためのプロトコル
– トランスポートプロトコルとしてTCPを利用
• 3つの要素から構成
– 電子メールアドレス
– データ形式
– 転送プロトコル
2. 初期の電子メール
3. 現在のインターネットの電子メール
4. メールアドレス
• 電子メールを使用する時に用いるアドレス
• 郵便でいえば住所と氏名に相当(名前@住
所)
• 住所の部分はドメイン名と同じ構造
• 電子メールの配送先の管理はDNSで行われ
る。DNSには、メールアドレスとそのメールア
ドレス宛のメールを送信すべきめーるサー
バーのドメイン名を登録できる
→MX [Mail Exchange]レコード
5. MIME
(Multipurpose Internet Mail Extensions)
• Internetで幅広く使えるようにメールのデータ形式を拡
張したもので、WWWやNetNewsでも利用される
テキスト形式→静止画・動画・音声・プログラムファイル
etc..
• データの書式を規定
→OSI参照モデルではプレゼンテーション層に相当
• ヘッダ+本文の2つの部分から構成
– 空行から後ろが本文
– ヘッダの”Content-Type”で本文のデータタイプを示
す
• 1つのMIMEデータを複数のMIMEデータの集合として定
義できる
→マルチパート
6. SMTP
(Simple Mail Transfer Protocol)
• 電子メールを配送するアプリケーションプロト
コル
• TCPポート番号は25番
• 1つのTCPコネクションを確立
→制御、データ転送
• クライアントはテキストコマンドで要求を出し、
サーバーは3桁の数字で応答
• 各コマンド、応答の最後に改行(CR,LF)が付
加される
7. POP(Post Office Protocol)
• 電子メールを受信するためのプロトコル
– クライアント側で電子メールを管理する
– 1つのTCPコネクションを確立して制御転送を行う
• クライアントはASCII文字列で要求を出す
• サーバーは正常なら”+OK”、エラーなら”-ERR”で応
答
– クライアントが好きな時間にメールを受信できる
8. IMAP
(Internet Message Access Protocol)
• POPと同様、電子メールなどを受信するための
プロトコル
• IMAPはサーバー側で管理を行う
⇔POPはメールの管理をクライアント側で行う
• サーバー上のメールの全てをダウンロードしな
くても自分の読みたいものだけダウンロードで
きる。
• メールの未読・既読情報や、仕分けなどの管
理もサーバーで行ってくれる
8.5 遠隔ログイン
(TELNETとSSH)
4407036 榊原 悠
遠隔ログインとは?
• メインフレームと端末の関係をコンピュータ
ネットワークに応用したもの
• ルーターや高機能スイッチ等のネットワーク
機器にログインしてその設定を行うときにも利
用
A さん
ホストA
ログイン
ホストB
A さん
TELNETの仕組み
• TCPコネクションの1つ利用する
• コマンドが文字列として送信
→相手のコンピューターで実行
• TELNETのサービス・・・
– ネットワーク仮想端末の機能
– オプションのやり取りをする機能
TELNETの仕組み
アプリケーション
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が提供する機能をユーザーが利用し
やすくしてくれるユーザーインタフェース
SSH
• 暗号化された遠隔ログインシステムで通信内容の
暗号化。
• 便利な機能
– より強固な認証機能を利用
– ファイルの転送
– ポートフォワード機能を利用できる
• ポートフォワード・・・特定のポート番号に届けられた
メッセージを特定のIPアドレス、ポート番号に転送す
る仕組み。セキュリティを確保した安定した通信を可
能にする。
8.6 ファイル転送(FTP)
4407036 榊原 悠
FTP(File Transfer Protocal)
1 FTPとは
異なったコンピュータ間でファイル転送を行うプロトコル
TELNET同様、FTPでもログインをしてから操作を行う
2 FTP サーバのサービス
・特定ユーザに対するサービス……プロバイダと契約してホームペー
ジをアップロードするなど。
・不特定多数に対するサービス……無償ソフトの配布など
誰もがログインできるFTPサーバー(anonymous ftpサーバー)
ログインするためには
 user名
「anonymous」または「ftp」等が一般的
 password
「メールアドレス」が最近では一般的
40
FTPでのファイル転送のイメージ
User
○○○○
OK!
Password
******
です!
ログアウト
ホストA
ログイン
ホストB
41
FTPの仕組みと概要
1 制御用TCPコネクション
・ログイン時のユーザ名やパスワード認証
・転送するファイル名や転送する方法の指示
・ポート番号は21番
・コマンドのやりとりはHTTPやSMTPのコマンドと同
様だが、SMTPとは違いFTPでは制御用のコネク
ションでデータ転送は行わない。
42
FTPの仕組みと概要
2 データ転送用TCPコネクション
① 制御用(ポート番号21)のTCPコネクションでGET、
PUT、LISTなどのコマンドが実行されると、そのたび
にデータ転送用TCPコネクションが確立される。
② そのコネクションを使ってデータ転送が行われる。
③ データ転送が終わるとデータ転送のコネクションは
切断される。
43
FTPの仕組みと概要の図
FTPサーバ
FTPクライアント
FTP
制御用
データ
転送用
データ
転送用
TCP
制御用
TCP
IP
データ転送用TCPコネクション
IP
制御用TCPコネクション
44
FTPの主なコマンド
45
FTPの主な応答メッセージ
46
8.7 ネットワーク管理
4407036 榊原 悠
SNMP
(Simple Network Management Protocol)
• TCP/IPではネットワーク管理にSNMPが利用
される
管理する側:マネージャ
管理される側:エージェント
• この二つの間の通信のやり取りを決めたもの
がSNMPである
• MIBと呼ばれるデータベースの値を見ること、
新しい値をセットすることができる
SNMP
SNMP
MIB
(Management Information Base)
• SNMPでやり取りされる情報のことである
• SNMPのプレゼンテーション層と言える
• ツリー型の構造を持ったデータベースで、そ
れぞれの項目には数字がつけられている
• 標準MIBと拡張MIBがある
MIBツリーの例
RMON
(Remote Monitoring MIB)
• RMON→接続されるネットワークの回線を監視する
パラメータ群から構成される。
(MIB→ネットワーク機器のインタフェースを監視する
パラメータ群から構成される。)
ネットワークを効果的に監視することを可能にする
– 例)統計情報を知ることができる
• ネットワークの拡張時、変更時に有意義な情報を取
得することが可能になる
SNMPを利用したアプリケーションの例
• SNMPを利用しているフリーウェアをひとつ紹介する
• MRTGと呼ばれ、ルーターのトラフィック量の情報を定期的
に収集してグラフ化してくれるツール
• 入手先は↓
http://eestaff.ethz.ch/~oetiker/webtools/mrtg/mrtg.html
8.8 マルチメディア通信
4407036 榊原 悠
マルチメディア通信を実現する技術
以前の発表「マルチメディアには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がある。