NAT

インターネットコミュニ
ケーション
第二回
重近 範行
今日のテーマ

音声・画像・動画の種類
 デジタル音声・画像・動画の仕組み・種類

Firewall/NAT
 FirewallとNAT
 Peer


to Peer
Firewall/NATを越える
実習:Peer to Peerアプリケーション
 Skype
/ VoIP(IP電話)
 Net meeting/Polycom
デジタル音声・画像・
動画の
仕組み
デジタル化の手順
音声のデジタル化を例に
アナログ情報
サンプリング
量子化
数値
符号化
PCM符号
デジタル情報
サンプリングと量子化
5 3 2 1 0 1 3 5 7 10 11 8 10 13 9 3 0 1 6 10 10 7 7 9 11 10 7 6 8 10 11 12 12 9
サンプリング(標本化)
時間軸 t
サンプリング(標本化)
時間軸
サンプリング(標本化)
量子化
変化量
5
0
1
1
0
0
2
3
3
3
4
1
1
3
3
2
3
3
2
3
4
4
2
サンプリング周波数の例

一般電話
 11KHz

8bit
VoIP(G.711)
 8KHz

8bit
ラジオ
 22KHz

単位
8bit
CD
 44.1KHz
16bit
Hz = 1秒間の振幅数を表す単位
bit = 2種類を識別できる情報量の単位
デジタルカメラの有効画素数

メガピクセル
 mega
pixel
解像度による違い
4x3 (12 pixel)
20x15 (300 pixel)
40x30 (1200 pixel)
80x60 (4800 pixel)
160x120 (19200 pixel)
320x240 (76800 pixel)
640x480 (307200 pixel)
デジタル画像と動画の基本

画像(一枚の絵)
 サンプリング
 碁盤の目


白黒ドット絵
深さ


Depth(色)
ドット絵の色を示す
Height
動画
 パラパラ漫画
 1枚ずつの画像をフレームと言う
Width
品質の指標

画像の品質
 解像度(碁盤の目の数・画像の細かさ)
横×縦
 色数(1マス毎の色階調) 8/16/24/32bit color

動画の品質
 画像の品質は当然関係する
 フレームレート
Frame Per Sec(FPS)
1秒間に何枚の絵を入れ替えるか
 動きの細かさ

FPS (Frame Per Second)

1秒間に表示される画像の数
 映画
24fps
 テレビ 29.97fps
粗い
滑らか
1sec
符号化
数値をある一定の規則に基づいて符号に変
換すること
 例:文字列の符号化

0x41
0x61
ASCIIコード表

日本語の符号化方式
 EUC-JP
 ISO-2022-JP(JIS)
 Shift_JIS
いろいろな符号化
楽譜
半音上げる
00
半音下げる
01
警察署
000
元の音に戻す
10
消防署
001
全音上げる
11
保健所
010
郵便局
011
病院
100
神社
101
寺
110
高校
111
音楽プレーヤー
再生
00
停止
01
一時停止
10
ミュート
11
地図
※実際にこの数値が使われているわけではないです
圧縮符号化
データ圧縮のしくみ(2)ハフマン法
テキストデータ
出現頻度の高い要素に短いコードを、
出現頻度の低い要素に長いコードを
対応させることで圧縮
The Mississippi is the longest river in the United States.
圧縮前のデータ量:57文字 × 8ビット= 456ビット
左表の対応コードを使って各文字を
置き換えた時のデータ量:248ビット
出展 情報機器と情報社会のしくみ素材集
非圧縮フォーマット

サンプリングしたままの画像の紙芝居
 ビットマップ画像
 データ量
= 解像度 × 色数 × フレーム数
データ量が多い
 扱いが簡単

圧縮と伸張

可逆圧縮(圧縮率低)
 圧縮前と同じデータに伸張(復元)できる
 画像だと非圧縮ビットマップに戻せる

不可逆圧縮(圧縮率高)
 圧縮前のデータに戻せない
 圧縮率は高い
不可逆圧縮

人間の目には分からない部分をごまかす
 減色(似ている色は同じ色に)する

圧縮前のデータに戻せない
 解像度を落とす(4マスを1マスにしてみたり)
フレーム間圧縮フォーマット

動画の変化しない部分に着目
 画像の差分で動画が作れる


背景のデータは前と同じだから不要
前後のフレームから動きを予測する
 口元の動きだけを計算

Encodeの際の遅延が高め
単体で画像になる
単体で画像にならない
前後の差分から予測・生成される画像
1
2
3
4
5
ここはまったく動かない
フレーム内圧縮フォーマット
(フレーム間非圧縮フォーマット)

動画のすべてのフレームが複合可能
 高速紙芝居

動きが多い時に強い
 画面全体の絵が頻繁に変わる

Encodeの際の遅延は低め
単体で1枚の画像になる
1
2
3
4
5
代表的な規格

フレーム間圧縮フォーマット
 MPEG-(1,2,4)
 前回使ったWindows


Media Video
MPEG-4ベース
フレーム内圧縮フォーマット
 DV
 Motion
JPEG(2000)
メリット・デメリット

フレーム間圧縮フォーマット
 データ量が少ない(転送にも有利)
 規格が多い(モバイル通信端末用やDVD用など)
 激しい動きがぎこちない(予測を使うから)
 CPUの計算量が多い

フレーム内圧縮フォーマット
 激しい動きも滑らか
 編集やVCR制御(早送りとか)に有利
 CPU計算量が少ない
 データ量が多い
品質とデータ(音楽)


アルバム1枚分(74分)の音楽の場合
音楽CD
x 74min ≒ 650MByte
1.17Mbit/秒 x (74 x 60秒)= 5194.8Mbit = 649.35Mbyte
 1.17Mbps

MP3(CD品質)
 192Kbps

x 74min(74 x 60) ≒ 106MByte
一般電話
 64kbps
x 74min(74 x 60) ≒ 35MByte
品質とデータ量(映像)


二時間の映画(SD品質)の場合
非圧縮
解像度 )x( 色 )x(1秒当たりの画像数) x (時間)
 (720×480)×(24bit)×(30fps)×(2hour)≒223GByte
(

MPEG2(DVD用)
 9.8Mbps

× 2hour(2x60x60) ≒ 8.82GByte
DV
 25Mbps
x 2hour(2x60x60) ≒ 18GByte
格納メディアとデータ量

DVD
 通常:
4.7GByte
 片面二層メディア: 9.4GByte(4.7x2)
 MPEG2(DVD用)二時間の映画が入る

CD
– 700MByte
 音楽CDアルバム1枚(74分程度)が収まる
 650MByte
実習その1
NetmeetingとPolycom
授業のWebページへ
NetMeetingの起動方法
ちょっと復習
あて先の指定

ドメイン名を使う方法
 shonan.sfc.wide.ad.jp
 mail.sfc.keio.ac.jp
 www.asahi.com

IPアドレスを使う方法
 203.178.128.150
 133.27.4.200
インターネットとIPアドレス

IPアドレス
 インターネット上における識別子
電話の世界での電話番号みたいなもの
 あるコンピュータを識別する世界で唯一の数字

 数字で表現される
133.27.4.127とか
 3桁(0-255)までの数字の羅列4つで表現

IPアドレスとDNS

友達の携帯電話番号覚えてる?
 電話帳の名前から番号を調べる

IPアドレス(数字)を覚えるられる??
 数字の羅列を覚えるのは大変
 IPアドレスはコンピュータにやさしい

人間は名前の方が覚えやすい
 IPアドレスの代わりに名前をつけよう
 “133.27.4.127”は“web.sfc.keio.ac.jp”と名付
けると、人間に優しくて覚えやすい
ドメイン名

名前の付け方のルール
 “ドット”で意味の区切りがある
 階層構造がとられている

後ろから順番に読んでいく
SFCにある
大学で
web . sfc . keio . ac . jp
webと言う名前
のコンピュータ
慶応の
日本の
サーバ・クライアントモデル
サーバ
情報の保持
1.情報のアップロード
2.リクエストの送信
3.情報の配信
・・・・・・
クライアント
ピュアP2P

Gnutella, Winnyなど
情報の保持
情報の保持
情報の保持
ファイル検索
情報の保持
ファイル転送
各通信モデルの利点・欠点

サーバ・クライアントモデル
 常に同じコンピュータに接続すればよい
 アクセスが集中するとサーバは大変

P2Pモデル
 アクセスの分散
 各コンピュータの住所を各々が知っている必要が
ある

これを解決しているのがハイブリッドP2P
Firewall / NAT
サービス電話の場合を
考えると・・・
サービスの種類
番号
情報のやり取り(約束事)
関東地方の天気を教えて
天気が知りたい
177
関東は晴れです
日本の現在時刻教えて
時刻が知りたい
117
日本は現在10時20分です
サービス要求側
お店の電話番号
が知りたい
○○の番号教えて
104
○○○-○○○です
・特定の番号にかけると、求める情報が適切に
返ってくる(約束事が決まっている)
サービス提供側
コンピュータ通信と電話サービス
時間を知りたい
177
現在の日本時間を教えて
177
現在の日本時間は10:20
Network Time Protocol
時間がわかるサービス
Port番号 123
ntp.sfc.keio.ac.jp
現在の日本時間を教えて
ntp.sfc.keio.ac.jp
現在の日本時間は10:20
プロトコルとは?

コンピュータ同士が通信を行う上で、相互に
決められた約束ごと
例

HTTP (Hyper Text Transport Protocol)


FTP (File Transfer Protocol)


Webを見るとき
ファイルを転送するとき
SMTP (Simple Mail Transfer Protocol)

メールを送るとき
コンピュータ通信で必要なこと

お互いの場所を知る
 ホスト名=IPアドレス

どのサービスのやり取りかを識別
 ポート番号
http 80番 (Webを見るとき)
 ftp 21番 (ファイルと転送したいとき)
 smtp 25番 (メールを送りたいとき)

firewallというもの

パケットフィルタリング
 送られてくるパケットを調べ、ルールから外れて
いたら破棄
 ルールは様々な定義が出来る
ポート番号(アプリケーション)
 宛先・送り元の IP Address (≒ドメイン)

 いろいろなレベルでフィルタできるため、簡易なも
のから高機能なものまで
firewall (1/2)
意図しないパケットを遮断する
 フィルタするルールは様々

133.27.6.143
 IPアドレス
 ポート番号
宛先
133.27.6.143
8488ポート
許可するポート番号
25
80
443
firewall (2/2)

フィルタする場所は様々
 ネットワークの出入り口
 手元のPC
「このネットワークは
オレが守る!」
80番以外は通さない
「特定のアプリケーショ
ン以外が通信すること
は許さない!」
自分がどのようなネットワークを使っているのか把握しておこう
グローバルIPアドレス
プライベートIPアドレス

(グローバル)IPアドレス
 世界で一意のコンピュータを示す識別子
 外線電話番号みたいなもの

プライベートIPアドレス
 特定ネットワーク内で、コンピュータを示す識別子

家の中だけとか、会社の中だけとか
 他のネットワークから識別不可能
 内線電話番号みたいなもの
内線・外線電話番号
03-3333-5555
からの電話だ
03-3333-4444
100
03-3333-5555
03-3333-5555
の内線100へ
転送するとか
工夫が必要
101
102
03-3333-4444
に電話しよう
NAT
(Network Address Transration)


プライベートIPアドレスをグローバルIPアドレ
直接AとDは通信できない
スに変換
NATで内線・外線のアドレ
外と内を繋ぐ
スを覚えておいて変換する

内線と外線の出入り口 Dから見るとCと通信してる
ように見えている
Private Network
Internet
AからDへ
A
DからAへ
B
NAT
CからDへ
C
DからCへ
D
NATのメリット

グローバルIPアドレスの節約が可能


一つのグローバルアドレスを使って、複数のノードが外部と通信できる
アクセス制御・匿名性


外部から内部ネットワークが隠蔽される
擬似的な匿名性を確保できる
NATによって隠蔽され、外から見えない
Internet
NAPTの内側
NAT-Box
133.27.24.254:2932
133.27.24.254:2949
192.168.0.4:2181
192.168.0.5:2911
NATのデメリット

プロトコルによってはNAT/NAPTを通過できない



例:FTP,H.323系のVoIP,NetMeeting
アドレス変換時に、アプリケーションデータも書き換
える必要
外部アクセスを受けるアプリケーションが利用し
にくい

外部からも接続が行われるアプリケーション



例:ネットワークゲーム,P2P
複数の動的なセッションを利用するアプリケーション
例:FTP, NetMeeting
NAT/Firewallを超え
て
ハイブリッドP2P

Napster, WinMXなど
ユーザリスト
ファイルリスト
1.ログイン&ファイルリスト送信
2.ファイル検索
情報の保持
情報の保持
3.ファイル転送
情報の保持
Messengerの仕組み
サインイン時の通信
ファイルの送受信
メッセージの送受信
サーバー
•セッションの開始
•コンタクトリスト
•メッセージ
•ファイルの転送
•サインインしたよ
実習
Peer to Peerアプリ
ケーション
スーパーノード型P2P

KaZaA, Skypeなど
スーパーノードクラスター
2.ファイル検索
1.ファイル検索要求
3.ファイル転送
情報の保持
情報の保持
情報の保持
P2P IP電話 “Skype”

Skypeの技術的特長
 VoIPとP2Pの融合



P2P 話し相手を見つけ出し、接続を維持する
VoIP 通話手順(通話プロトコル)を決める
P2P(Peer to Peer)
 不特定多数の個人間で直接情報のやり取りを行なうイン
ターネットの利用形態

VoIP(Voice over Internet Protocol)
 TCP/IPをネットワークで音声データを送受信する技術
Skypeの場合

ノード



スーパーノード(リレーノード)




NATやファイアウォールによって内向きの接続ができないこともある
スーパーノードへ接続することでP2Pネットワークへ接続する
スパーノード同士で通信し、ユーザー情報を同期する
P2Pネットワークトポロジーの形成
Firewall/NATでノード同士の直接通信ができない場合の中継役中継
NMS(Network Management Server)



唯一、Skype(Skypeを作ってる団体)が管理する
スーパーノードの紹介
ネットワークの最適化・ネットワークの品質管理
Skype通話の仕組み
スーパーノードの条件
•グローバルIPアドレス
•マシン性能が良い
•回線速度が速い
•Skype起動時間が長い、など
2、BのスーパーノードがIPアドレスを返信
1、BのIPアドレス問い合わせ
A
B
3、通話の開始
NAT / Firewall対策(1)
片方がプライベートアドレス
 もう片方がグローバルアドレスの場合

プライベートアドレス
1.定期的にパケット
を送信
2.相互に通話
UDP Hole Punching
内側から通信を開始することに
よってポートを利用可能に
グローバルアドレス
NAT / Firewall対策(2)

両方ともプライベートアドレスの場合
プライベートアドレス
プライベートアドレス
2、Aのポート番号通知
A
1、パケット送信
B
5、相互に通信
4、Bのポート番号通知
3、パケット送信
NAT / Firewall対策(3)

両方がFirewall等により直接通信できない場合
スーパーノードがリレー
今日のまとめ

映像・音声の品質
 データ量と品質

インターネット上の障壁
 NAT/Firewall

NAT/Firewallを超えて
 P2Pアプリケーションの工夫