SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
2017/9/28
佐々木 健
ネットワークの基本について学ぶ
第2回
プロトコル/NAT/HTTP通信の中身
この文書について
前回の勉強会で沢山お菓子をもらえて嬉しかったの
ですが、沢山のお菓子がいつの間にか減ってきた
ので、また勉強会をやる気になりました。
前回質問を受けたことに関して説明をする、という
内容になっています。
お願い
定時後の勉強会なので気楽に行きましょう。
飲食、雑談は自由にしてください。
みんなであれこれ雑談してくれるほうが私もおやつ
を食べやすいです。
わからないことがあったら遠慮せずに聞いてね。
#beginner-net-study というSlackチャンネルを
作ったので雑談に使ってくださいませ。
本日のタイムスケジュール(予定)
●
参加者の自己紹介(5分)
– 人数が少なかったら全員
– 人数が多かったら近くにいる5人に自己紹介
●
前回のおさらい(5分)
●
本編(15分)
●
質疑(5分)
自己紹介タイム
●
参加者の自己紹介(5分)
– 人数が少なかったら全員
– 人数が多かったら近くにいる5人に自己紹介
●
前回のおさらい(5分)
●
本編(15分)
●
質疑(10分)
前回のおさらい
説明したこと、疑問点のまとめ
パケット通信とは何か?
郵便でデータを運ぶイメージ
封筒には、宛先、差出元が書いてある
インターネットの基本アイディア
●
データをパケット通信で送る
●
パケットには宛先と差出元を書いておく
●
パケットを受けとった人は各自が適切に判断して
処理をする
●
宛先、差出元はユニーク(世界でひとつだけ)
疑問点1
●
宛先、差出元はユニーク(世界でひとつだけ)
いろいろなところで、同じIPアドレス
を使ってる気がするけど、、、、
192.168.xxx.xxx とか
具体的には
何が書いてあるの?
RFC:791
INTERNET PROTOCOL
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Example Internet Datagram Header
差出元
宛先
???
今日のお題1
プロトコルって何?
そもそも通信とは何か?
●
オブジェクトとオブジェクトが協調動作を行なうための
手段
●
情報をやりとりする
●
なにかを媒体としてやりとりする
●
なんらかの目的があって行なわれる
●
決まった手順、約束事に従って行なわれる
そもそも通信とは何か?
●
オブジェクトとオブジェクトが協調動作を行なうための
手段
●
情報をやりとりする
●
なにかを媒体としてやりとりする
●
なんらかの目的があって行なわれる
●
決まった手順、約束事に従って行なわれる
プロトコル
(例)ハンバーガーを買いに行こう!!
いらっしゃいませ
ご注文は何になさいますか?
ビッグマックセットで
お飲み物は何になさいますか?
オレンジジュース
600円にいただきます。
スイカで払います
ありがとうございました
(例)ハンバーガーを買いに行こう!!
目的:
ハンバーガーや飲み物を買いたい、売りたい
やりとりするもの:
買うもの、値段
媒体:
日本語、音声、空気
手順、約束事:
接客マニュアル、商品メニュー、
日本円決済、電子決済
通信条件が合わないと通信できない
いらっしゃいませ
ご注文は何になさいますか?
(私、セルクナム族!!)
(日本語良くわからない!!)
..........
プロトコルの階層構造
日本の社会常識
ハンバーガーの注文
日本語
通信を正しく行なうためには、
その通信を支えるプロトコルを
お互いに理解している必要がある
インターネットプロトコルの階層構造
TCP
HTTP
IP
Ethernet
Webを実現するためのHTTPの下には、
TCP、IP、Ethernet等の下位プロトコルがある
インターネットプロトコルの階層構造
TCP
HTTP
IP
Ethernet
前回説明したところ
今日のお題2
NATの仕組み
インターネットの基本アイディア
●
データをパケット通信で送る
●
パケットには宛先と差出元を書いておく
●
パケットを受けとった人は各自が適切に判断して
処理をする
●
宛先、差出元はユニーク(世界でひとつだけ)
具体的なパケットのイメージ
送信元IPアドレス
src IP
宛先IPアドレス
dest IP
データ
1990年代
●
宛先、差出元はユニーク(世界でひとつだけ)
●
アドレスの数足りなくね??
●
IPv6でアドレスの数を増やす
●
NAT技術で延命?
プライベートIPアドレス
●
プライベートネットワーク(外部から利用できな
い社内LANなど)のアドレスとして使うことがで
きる。
– 10.0.0.0〜10.255.255.255
– 172.16.0.0〜172.31.255.255
– 192.168.0.0〜192.168.255.255
NATの考え方
●
自分達の組織の中はプライベートアドレスを使
う。
●
外と通信するときだけグローバルアドレス(ユ
ニークに割り当てられたIPアドレス)を使う。
●
プライベートネットワークとグローバルネットワー
クの繋ぎ目にはルータを配置し、そこでアドレス
の変換を行なう。
良くある構成
IPアドレス
192.168.0.10
ウェブサーバルータ
IPアドレス
192.168.0.1
IPアドレス
198.51.100.1
IPアドレス
203.0.113.1
※ルータは複数のIPアドレスを持っている
クライアントPC
クライアントPCからウェブサーバへの通信を考える
※ルータは複数のIPアドレスを持っている
インターネットの基本アイディア(再掲)
●
データをパケット通信で送る
●
パケットには宛先と差出元を書いておく
●
パケットを受けとった人は各自が適切に判断して
処理をする
●
宛先、差出元はユニーク(世界でひとつだけ)
1.クライアントPCから送信
IPアドレス
192.168.0.10
IPアドレス
192.168.0.1
IPアドレス
198.51.100.1
IPアドレス
203.0.113.1
192.168.0.10
data
203.0.113.1
2.ルータが変換テーブルに記録
IPアドレス
192.168.0.10
IPアドレス
192.168.0.1
IPアドレス
198.51.100.1
IPアドレス
203.0.113.1
192.168.0.10
data
203.0.113.1
192.168.0.10 203.0.113.1
3.ルータがアドレスを書き換えて送信
IPアドレス
192.168.0.10
IPアドレス
192.168.0.1
IPアドレス
198.51.100.1
IPアドレス
203.0.113.1
192.51.100.1
data
203.0.113.1
192.168.0.10 203.0.113.1
4.サーバから返信(送信)
IPアドレス
192.168.0.10
IPアドレス
192.168.0.1
IPアドレス
198.51.100.1
IPアドレス
203.0.113.1
203.0.113.1
data
192.51.100.1
192.168.0.10 203.0.113.1
5.変換テーブルと付き合わせ
IPアドレス
192.168.0.10
IPアドレス
192.168.0.1
IPアドレス
198.51.100.1
IPアドレス
203.0.113.1
203.0.113.1
data
192.51.100.1
192.168.0.10 203.0.113.1
6.ルータがアドレスを書き換えて送信
IPアドレス
192.168.0.10
IPアドレス
192.168.0.1
IPアドレス
198.51.100.1
IPアドレス
203.0.113.1
203.0.113.1
data
192.168.0.10
192.168.0.10 203.0.113.1
実際に使われてるNAT
●
この資料で説明した、IPアドレスだけを変換す
る、原始的なNAT(Network Address
Translation)は現在はほとんど使われていない。
●
IPアドレスに加えて、ポート番号の変換を行な
う、NAPT(Network Address Port Transation)
を使うのが普通。今では、NATと言えばNAPTの
ことを指すのが一般的。
●
NAPTの説明は、ポート番号について説明してか
らのほうが良いかな。
今日のお題3
HTTP通信を見てみよう
Webの裏側を覗いてみる
Google Chrome の Developer Tools
F12
を押す!!
F12を押すとこうなる
Developer Tools(DevTools)
Webの中身がいろいろ見れる
今回は通信を見てみる
Networkを押す
DMMを見てみよう
URLを入力
どどどどっと出力される!!
Webページの表示の仕方
●
ブラウザからウェブサーバにHTMLを取りにいく
●
取ってきたHTML情報を元に、さらに必要なデー
タをウェブサーバに取りにいく
●
取ってきたデータを全部組み合わせて表示する
1ページを表示するだけでも、
沢山の通信が発生する
表示エリアの説明
全ての通信の様子
横軸は時間
並列で複数の通信がされている
表示エリアの説明
1つ1つの通信の羅列
ウェブの構成要素毎に通信が
行なわれていることがわかる
クリックすることで各通信の
詳細を確認できる
Web通信プロトコル、HTTPの概要
こういう情報ください
こういう情報あげるよ
Web通信プロトコル、HTTPの概要
こういう情報ください
こういう情報あげるよ
Request Header
Respons Header
+
データ本体
Request/Response Headerを見よう
DevToolsで
要素を選択して
Headersを押す
どのぐらい時間がかかっているか
Timingを選べばわかる
ゴチャゴチャしてきたら
Clearすれば消えます
インターネットプロトコルの階層構造
TCP
HTTP
IP
Ethernet
Chrome WebToolsで見ることができるのは
HTTPだけ
インターネットプロトコルの階層構造
TCP
HTTP
IP
Ethernet
全部見るツールもある
↓
Wireshark等
Wiresharkのデモ
質疑応答
拾った疑問への回答1
●
講義資料のイラストが手紙っぽい感じだったからボンヤリとEmail
の話なのかと感じていたけど、多分違う。
– うん、違う。
– メールは、SMTP等のメール用のプロトコルについて調べると良いんだけ
どいろいろと複雑なので、まったくもってもはや初心者向き教材にはなら
ないですw
●
差出人の情報はあまり要らないってコトだったけど、何かを送るっ
てことは、送りっぱなしじゃなくてレスポンス欲しいことが多くな
い?なのに不要?
– まったくその通りです。
– レスポンス用に使います。
– 不要ってのは言い過ぎでしたね。
拾った疑問への回答2
●
パケットを「送る」ことばっかり考えていたけど、
「受取る」こともあるよね?具体的に何を行うの
が「送る」で、何が「受取る」なのかな?
– 送信側はパケットを作って送る
– パケットを受けとったら適切に判断して処理する
– 実際の通信においては、双方でパケットを送信しあっ
て、双方で受けとって、うまいことやる感じです。

Contenu connexe

Tendances

Tendances (20)

閉域網接続の技術入門
閉域網接続の技術入門閉域網接続の技術入門
閉域網接続の技術入門
 
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるものISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるもの
 
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
作って(壊して?)学ぶインターネットのしくみ サイバーエージェントの実験用ASの紹介 / Introduce experimental AS in ...
 
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務
 
パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501パケットキャプチャの勘どころ Ssmjp 201501
パケットキャプチャの勘どころ Ssmjp 201501
 
HA環境構築のベスト・プラクティス
HA環境構築のベスト・プラクティスHA環境構築のベスト・プラクティス
HA環境構築のベスト・プラクティス
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
DNS再入門
DNS再入門DNS再入門
DNS再入門
 
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
 
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
OpenStack Neutronの機能概要 - OpenStack最新情報セミナー 2014年12月
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
 
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
Pacemaker + PostgreSQL レプリケーション構成(PG-REX)のフェイルオーバー高速化
 
MogileFSをバックエンドとしたPrivate S3の作り方
MogileFSをバックエンドとしたPrivate S3の作り方MogileFSをバックエンドとしたPrivate S3の作り方
MogileFSをバックエンドとしたPrivate S3の作り方
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
Fibre Channel 基礎講座
Fibre Channel 基礎講座Fibre Channel 基礎講座
Fibre Channel 基礎講座
 
3分でわかる Azure Managed Diskのしくみ
3分でわかる Azure Managed Diskのしくみ3分でわかる Azure Managed Diskのしくみ
3分でわかる Azure Managed Diskのしくみ
 
TCP 〜 ネットワーク勉強会資料
TCP 〜 ネットワーク勉強会資料TCP 〜 ネットワーク勉強会資料
TCP 〜 ネットワーク勉強会資料
 
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐO/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
 

Plus de Ken SASAKI

各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
Ken SASAKI
 

Plus de Ken SASAKI (20)

業務改善できるかな?
業務改善できるかな?業務改善できるかな?
業務改善できるかな?
 
ステマネのお仕事
ステマネのお仕事ステマネのお仕事
ステマネのお仕事
 
The Internet Situation in Myanmar
The Internet Situation in MyanmarThe Internet Situation in Myanmar
The Internet Situation in Myanmar
 
世界のインターネット ミャンマー編
世界のインターネット ミャンマー編世界のインターネット ミャンマー編
世界のインターネット ミャンマー編
 
さくらインターネット西新宿セミナールームと私
さくらインターネット西新宿セミナールームと私さくらインターネット西新宿セミナールームと私
さくらインターネット西新宿セミナールームと私
 
インターネットの仕組み enPiT資料
インターネットの仕組み enPiT資料インターネットの仕組み enPiT資料
インターネットの仕組み enPiT資料
 
通販チャレンジ ミャンマー編
通販チャレンジ ミャンマー編通販チャレンジ ミャンマー編
通販チャレンジ ミャンマー編
 
槓の光 for ssmonline #4
槓の光 for ssmonline #4槓の光 for ssmonline #4
槓の光 for ssmonline #4
 
リモートスクラム開発のノウハウ
リモートスクラム開発のノウハウリモートスクラム開発のノウハウ
リモートスクラム開発のノウハウ
 
私が好きなITコミュニティイベント
私が好きなITコミュニティイベント私が好きなITコミュニティイベント
私が好きなITコミュニティイベント
 
リモートスクラム開発やってみた
リモートスクラム開発やってみたリモートスクラム開発やってみた
リモートスクラム開発やってみた
 
Wi-Fiのイマ Internet Week 2019 発表資料
Wi-Fiのイマ Internet Week 2019 発表資料Wi-Fiのイマ Internet Week 2019 発表資料
Wi-Fiのイマ Internet Week 2019 発表資料
 
中国のネットワーク勉強会 JANOG44野良BoF資料
中国のネットワーク勉強会 JANOG44野良BoF資料中国のネットワーク勉強会 JANOG44野良BoF資料
中国のネットワーク勉強会 JANOG44野良BoF資料
 
ダイビングのすゝめ
ダイビングのすゝめダイビングのすゝめ
ダイビングのすゝめ
 
「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章「入門Kubernetes」輪読会資料 6章
「入門Kubernetes」輪読会資料 6章
 
監視 〜 ネットワーク勉強会資料
監視 〜 ネットワーク勉強会資料監視 〜 ネットワーク勉強会資料
監視 〜 ネットワーク勉強会資料
 
オーケストラと&オーケストレーション
オーケストラと&オーケストレーションオーケストラと&オーケストレーション
オーケストラと&オーケストレーション
 
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
各種ネットワーク機器と最近の技術動向 〜 ネットワーク勉強会
 
パケット通信とInternet Protocol
パケット通信とInternet Protocolパケット通信とInternet Protocol
パケット通信とInternet Protocol
 
データ処理の改善をどのように行なうか
データ処理の改善をどのように行なうかデータ処理の改善をどのように行なうか
データ処理の改善をどのように行なうか
 

プロトコル/NAT/HTTP通信の中身 〜 ネットワーク勉強会資料