アプリケーション層 - SEGAWA`s Web Site

アプリケーション層
ネットワークシステム
第11回
基 本 機 能 (2)


4つの機能が
モジュール化され,右
図のように
層をなしている
(階層化)
今回はアプリケーショ
ン層
第6回
アプリケーション層は

我々が実際に使うものは,アプリケーション


多種多様,続々新しいものが登場
アプリケーションは
 下位にあるトランスポート層を使う
 通信の具体的な方法とは独立
 開発者に大きなメリット
クライアント サーバモデル(1)
第3回

サービスを提供するサーバ(server)

サービスを受けるクライアント(client)

サーバとクライアントで構成されるシステム

ハードを指す場合とソフトを指す場合がある
注

意
インターネットで従来から使われていたプロトコ
ルでは
データはそのまま(平文で)転送される
ものがほとんどである

つまり,盗聴されると筒抜けになる

現在は,データを暗号化するものがある
代表的なアプリケーション
基本的な?
HTTP
WWW
World Wide Web
HTTP

http://www…

HyperText Transfer Protocol

HTMLで記述されたデータの転送(要求)

サーバは,ポート番号80で待つ
H T T P S (1)


HyperText Transfer Protocol Security
SSL(Secure Sockets Layer)による暗号化機能
をHTTPに加えたもの

サーバとクライアントの通信を暗号化する

ポート番号 443
H T T P S (2)

HTTPSで通信中 (ブラウザにより,異なる)
HTTPではなく,HTTPS
“鍵”が表示
H T T P S (3)

鍵をクリックする
H T T P S (4)
H T T P S (5)



通信が暗号化される
相手が,自分のアクセスしたいサーバかどうか
チェックできる
最近は,いろいろな手で利用者を騙そうとする場
合があるので注意
SMTP・POP
電子メール
S M T P (1)

Simple Mail Transfer Protocol

元々は,メールサーバ間のメール転送プロトコル

一般の利用者がメールソフトから,メールサーバ
へメールを送信する際にも使う

通信は平文

ポート番号 25
S M T P (2)



サーバ側で,メールを送ってきた者を確認しない
(認証しない)
誰(本来の利用者以外)でも,サーバを使って,
メールを送ることができる
 悪用される可能性
現在は,何らかの制約を課している
POP

Post Office Protocol

メールサーバから,メールを読み出すプロトコル

利用者の認証をパスワードにより行う

通信は平文


パスワードもメール本文も

現在は,いろいろな対策
ポート番号 109又は110
SMTP・POPの関係
メールの送信
SMTPで相手のメールサーバへ
メール作成
SMTPで自分のメールサーバへ
POPで自分のメールサーバから読み出す
メールの受信
IMAP




Internet Message Access Protocol
メールサーバからメールを読み出す
 POPと同様。ただし,メールはサーバに残す
一人でPC,タブレットなど複数のクライアントで
メールを扱うとき便利
 POPでは,読み出したメールは,サーバから
削除される(残すことも可能)
ポート番号 143
TELNET・SSH
遠隔ログイン
遠隔ログイン


ネットワーク経由で,離れたコンピュータにログイ
ンする
離れた場所から,コンピュータを管理するような
場合に使う
TELNET




TELetypewriter NETwork
ネットワーク経由でコンピュータにログインするた
めプロトコル
通信は平文
 ログイン時のパスワードも
ポート番号 23
SSH

Secure SHell

通信を暗号化する

ポート番号 22
FTP
ファイル転送
F T P (1)

File Transfer Protocol

ファイル転送プロトコル

ファイルのダウンロードだけでなく,アップロード
にも使われる

通信は平文

ポート番号 20と21
F T P (2)

手元で,Webページを作成

それをWebサーバに送るときにFTPを使う

状況により,転送できないことがある
 ファイアウォールが設定されている場合など。
FTPの設定変更で対応可能
アプリケーションとポート番号
アプリケーション層での通信
ポー トによる通信(2) 第10回

クライアントは,サーバのIPアドレス,ポート番号,
ここでは,
プロトコルでアクセス
終点及び始点ポート番号
だけを考える
 自分が通信に使うポート番号(サーバからの
返事を受けるポート番号 49152~)を決めて,
サーバに送る
 アソシエーション
終点IPアドレス
始点IPアドレス
終点ポート番号
始点ポート番号
プロトコル番号(TCP・UDP)
サーバでは

クライアントからのサービス要求を受けるポート
番号を決める(決まっている)
 ここでは,80番とする
クライアントでは

サーバからの返事を受けるポート番号を決める
 その時点でクライアン側で使っていない番号。
OSに決めてもらうことが多い
 ここでは,2000番とする
クライアントから
80
2000
2000から80への
パケット
サーバから
80
2000
80から2000への
パケット
サーバで複数のソフト

1台のサーバ(ハード)
 ポート番号 80 を使うソフトA
 ポート番号 25 を使うソフトB
サーバのソフトが複数
終点ポート番号
だけを考える
80へのパケット
25へのパケット
クライアントで複数の要求


例えば,Webとメール
それぞれ,異なるポート番号で返事を受ける
 Webを使う時に,使っていないポート番号を使
う
 さらにメールを使う場合は,使っていないポー
ト番号を使うので,別の番号になる
サーバのポート番号

一般に公開するサーバのポート番号は,決まっ
ていないとクライアントが困る
ポート番号とアプリケーション



トランスポート層は,ポート番号で待っているアプ
リケーションにデータを渡すだけ
ポート番号80を使うサーバは,すべてWebサーバ
Webサーバは,ポート番号80を必ず使う
と,言うことはできない
まとめ
アプリケーション層



トランスポート層の上位
アプリケーションは,トランスポートの機能を使っ
て,通信する
通信のための詳細な事項は,アプリケーション開
発に不要
 階層に分けた理由でもあり,メリット
ポ ー ト 番 号(1)


サーバ側は,通信に使うポート番号を決める(決
まっている)
クライアント側は,OSが決める(ことが多い)
ポ ー ト 番 号(2)

クライアントは,サーバのポート番号を指定して
アクセスすることができる
 例 http://サーバのURL:ポート番号/