IP - biocomputing.cc

情報メディアとインターネット⑤
2013年5月20日
サーバとの通信
• 宛先IPアドレス/送信元IPアドレス
• 宛先ポート番号/送信元ポート番号
– 「宛先IPアドレス:宛先ポート番号」にデー
タ(リクエスト)を送信
– 「送信元IPアドレス:送信元ポート番号」に
返事(レスポンス)が返ってくる
• 送信元ポート番号
– 49152∼65535の間でランダム
NAT
• Network Address Translation
– プライベートアドレスをグローバルアドレス
に変換
– NAPT(Network Address Port Translation,
IPマスカレード)で活用
• ポート番号とアドレスを組み合わせて一つのグ
ローバルアドレスで複数のプライベートホストを
接続可能に
• 一般的なブロードバンドルータ(ISDNルータも)
にはNAPT機能がある
ローカルは1台のみ。サーバから返ってくる通信の届け先がわからなくなる
書き換え前のIP
&ポートが書き
換え後のポート
と1対1で対応
ローカルは複数台可。サーバーからの通信はIP・portの組み合わせで判別可能
ポートフォワーディング
• 静的NAT・静的IPマスカレードとも言う
• NAPTに際して、プライベート側のIPアド
レスとポートを固定する仕組み
– 不正侵入される危険性もある
• 内部ネットワークからも分離されたネットワーク
(=DMZ)を使うと比較的安全
• 「UPnP」はポートフォワーディングを自
動的に設定する仕組み
DNSサーバ
• IPアドレスとドメイン名の関係を記録したサーバ
– ドメインごとに存在する
• ルートドメインを起点に検索
– ルートドメインを担当するのは全世界に13台
– 最初に自分が情報を持っていないかどうかを調べ、持っていなけ
ればドメイン名の右側から担当するDNSサーバに次々に問い合わ
せを行い(再帰的な名前解決)、結果をクライアント(PC)に返す
• リゾルバ
– 通常OSに搭載されている、ドメイン名からIPアドレスを取得する
機能。キャッシュ機能を持つ場合もある
• 代理DNS機能
– ブロードバンドルータが問い合わせをDNSサーバに中継
最初に自分が情報を
持っていないかどうか
を調べ、持っていなけ
ればドメイン名の右側
から担当するDNS
サーバに次々に問い合
わせを行い(再帰的な
名前解決)、結果をク
ライアント(PC)に返す
②ルートDNSに.jpの
担当サーバを尋ねる
④.jp DNSに.co.jpの
担当サーバを尋ねる
⑥.co.jp DNSに
yyy.co.jpの担当サー
バを尋ねる
⑧.yyy.co.jp DNSに
xxx.yyy.co.jpのIPア
ドレスを尋ねる
レコード
• NS:ネームサーバ
• A:正引きIPアドレス(ドメイン名→IPv4)
• AAAA:正引きIPアドレス(ドメイン名
→IPv6)
• PTR:逆引きIPアドレス(IP→ドメイン名)
• MX:メールサーバ
• CNAME:別名
メールサーバ
• SMTP
– 送受信・中継
– 古くはサーバで直接メールを読み書きしたのでこれだけでよ
かった
• POP
– SMTPサーバに届いたメールを取り出す仕組み
– クライアント(PC)にいったん取り込んで利用
• IMAP
– SMTPサーバに届いたメールを取り出す仕組み
– サーバに置いたまま利用するのが一般的
• Webメール
– Webサーバの後ろではSMTP/POP/IMAPサーバが働いている
添付ファイル
• Content-Type: multipart/mixed; boundary=“文字列”
• Content-transfer-encoding: 7bit
– テキスト
– 受信したメールクライアントでそのまま表示
• Content-transfer-encoding: Base64
– バイナリファイルをBase64エンコードしたテキスト
– 受信したメールクライアントでBase64デコードしてバイナリファ
イルに戻される(のが一般的)
– Base64
• バイナリデータをA-Z, a-z, 0-9, +, /の64文字と=を使って符号化
• 76文字ごとに改行
• データ量は137%(6bit→8bitで133%+改行コード分)
Content-Type
•
•
•
•
•
•
•
•
•
•
•
text/plain
text/html
text/xml
image/bmp
image/jpeg
video/mpeg
application/pdf
application/octet-stream
message/rfc822
multipart/mixed
multipart/alternative
テキスト(テキスト形式)
テキスト(HTML)
テキスト(XML)
画像(BMP)
画像(JPEG)
動画(MPEG)
アプリケーション(PDF)
アプリケーション(任意)
ヘッダを含むメッセージ
マルチパート(異なる内容)
マルチパート(同一内容)
WWW
• 1989年CERNのTim Berners-Leeが考案
– 「HTML」で記述
• 1993年画像表示可能なNCSA Mosaicが登
場
– Netscape Navigator, Internet Explorer
• 現在はW3C(World Wide Web
Consortium)が規格(HTMLの文法など)を
制定
– HTML 2.0→HTML 5
Webサーバ
• Webブラウザから要求を受け取り(リクエ
スト)、要求されたコンテンツを返す(レス
ポンス)
• ブラウザとサーバ間の通信プロトコルが
HTTP
– HTTPサーバとも言う
• 要求に応じて動的にコンテンツを作成し
て返す仕組みもある
– CGI、SSIなど
HTML
• 「タグ」を使い文章を構造化
• 他の文書に「ハイパーリンク(リンク)」できる
– <a href="リンク先URL">キーワード</a>
• 画像を埋め込むことができる
– <img src="画像のURL" alt="画像の説明">
• 構造
– 文書型宣言部
– ヘッダ部
– ボディ部
• デザインはCSSの利用が推奨
HTMLの基本
• ヘッダ部とボディ部は
– <html>∼</html>
• ヘッダ部は
– <head>∼</head>
– 文書に関する情報(タイトルなど)を記述
• ボディ部は
– <body>∼</body>
– 文書本文を記述
– 段落は<p>∼</p>、見出しは<h1>∼</h1>
コンテンツ作成時の注意点
• W3Cで非推奨のタグは利用しない
• 文書構造を明確にし、情報にあったタグを利用
する
• 表をデザインに使用しない
• 見栄えにはCSSを利用する
• 画像にはALT属性で説明を付ける
• 色遣いや文字の大きさに考慮する
• リンクは、リンク先や内容をはっきりとわかる
ようにする
XML
• W3Cが定めた文章構造記述言語
• タグを独自に定義可能
• XTHML
– XMLに準拠したHTML
• SVG
– ベクトル画像記述言語
• RDF
– 何もかも表現し分類や検索を効率化
– 応用例:RSS
• 見出しや要約
Webブラウザの技術
• プラグイン
– 動画・音声・画像など
• Active X
– IEのみ
• Javaアプレット
– ブラウザのみで動作する特殊なJavaプログラム
• スクリプト
– JavaScript, VBScriptなどWebブラウザの動作を制
御する
クッキー(Cookie)
• Webサーバからの要求に応じてクライアント側
に情報を保存する仕組み。必要に応じてサーバ
に送信される
– 有効期限やドメイン名などの付加情報を設定可能
• サーバからの指示によりクライアントがローカ
ルディスクに書き込む
• クッキーを送信したサーバにのみ返信
– セキュリティ上の理由
• ユーザー識別やセッション管理に使う
FTP(File Transfer Protocol)
• 制御用とデータ用にそれぞれTCP接続を用いる
– 制御用:TCP21←ログインはこちら
– データ用:TCP20(アクティブモード時)
• データ用コネクションの方法により2つのモード
– アクティブモード
• サーバのTCP20からクライアントが指定したTCPポートに
向けてTCP接続(NAPT時に特別な処理が必要)
– パッシブモード(PASV)
• クライアントの任意のポートからサーバが指定したTCPポー
トに向けてTCP接続(通常のTCP接続と同様なのでNAPT時
に問題なし)
– データ用コネクションはデータ転送の度に接続する
ファイル転送の形式
• Binaryモード
– 変更を加えず転送
• ASCIIモード
– テキストファイルとして転送
– 改行コードを自動的に変換
• CR+LF (Windows)
• LF (UNIX/Linux)
• CR (Mac OS X)
コンテンツ配信
• ストリーミング再生
– Windows Mediaなど
– ダウンロードと並行して再生を行うことがで
きる
• IPマルチキャスト
– 複数のコンピュータに対して同一のデータを
送信する仕組み
文書ファイル
• テキスト
– 英数字、漢字など人間が読むことができる文字のみ
で記述されたファイル
– メモ帳で編集ができる
– 拡張子は.txtなど
• PDF
–
–
–
–
Adobeの文書フォーマット
印刷情報をほぼ正確に再現
Adobe Readerで読むことができる
拡張子は.pdf
画像ファイル
•
•
•
JPEG(.jpg, .jpeg)
– 静止画フルカラー
– 非可逆圧縮でファイルサイズを小さく
– 自然画像向き
– プログレッシブJPEG(だんだん見えてくる)
GIF(.gif)
– 静止画256色まで
– 透過色設定可能
– LZW圧縮
PNG(.png)
– 静止画フルカラー
– 可逆圧縮
– 透明度設定可能
– Zip圧縮
マルチメディアファイル
• コンテナ形式の中に動画データと音声データが入る
• 主なコンテナ形式
–
–
–
–
–
–
–
–
–
–
AIFF(.aiff):音声(Apple)
WAV(.wav):音声(Microsoft)
AVI(.avi):Microsoftが開発
ASF(.asf):AVIの後継
MP4(.mp4):ISO/IEC
3GPP(.3gp):携帯電話向け
Ogg(.ogg):オープンソース
QuickTime(.mov):Appleが開発
RealMedia(.rm):あまり使われなくなった
FlashVideo(.flv):YouTube・ニコニコ動画
動画形式
• MPEG:ISO/IEC。DVDはMPEG-2
• H.263:ITU-T。テレビ電話
• H.264(MPEG-4 AVC):ISO/IEC&ITU-T。携
帯電話からハイビジョンまで
• WMV(VC-1):MPEG-4のMicrosoft拡張
• DivX:MPEG-4のDivX拡張
• Theora:オープンソース
• RealVideo:リアルネットワークス
音声形式
•
•
•
•
•
•
•
MP3:MPEG-1 Layer 3
AAC:ISO/IEC
WMA:Microsoft
AC-3:ドルビー
FLAC:オープンソース。可逆圧縮
Vorbis:オープンソース
RealAudio:リアルネットワークス
リッチコンテンツファイル
• 動きのあるコンテンツのデータファイル
• Flash(.swf)
– ストリーミング再生可能
– Flash Player
• Shockwave(.dcr)
– インタラクティブな動画
– Shockwave Player
• Silverlight(.xaml)
– 動画やアニメーション
– Silverlightプラグイン
ファイル圧縮
• 可逆圧縮
– 元に戻せる
– 文書ファイルやプログラムに使用
• 非可逆圧縮
– 元に戻せない
– 画像データや音声データにおいて、人間が感じられないデータを削除
してデータを小さくする
• 圧縮方法
– ランレングス
• 連続する個数で表現
– ハフマン
• データのパターンを符号で置き換え
– LZ法
• 「辞書」を使って置き換え
• GIFで使われるLZWの元
主な圧縮形式
•
•
•
•
•
•
Zip(.zip)
– Windowsでは世界標準
LHA(.lzh)
– 日本国内が多い
GZIP/GNU zip(.gz)
– UNIXで標準的
自己伸張形式
– 圧縮解除プログラムを圧縮ファイルに組み込んだもの
RAR(.rar)
– 圧縮率が高い→P2Pネットワークでの利用が多い
JAR(.jar)
– Javaのデータやファイルを一つのファイルにまとめたもの
– 圧縮に使われているのはzip
P2P
• サーバを利用せず、PC同士がファイルをやりと
りする仕組み
– ピュアP2P
• サーバを使わない
• Gnutella(LimeWire、Cabos)
– ハイブリッドP2P
• どこになにがあるかの情報はサーバに
• BitTorrent
– ファイルをピースに分割して共有
• 暴露ウイルスによる情報漏洩が社会的問題に
– P2Pネットワークに流れた情報は回収できない