Upload
shinichiro-yoshida
View
1.302
Download
0
Embed Size (px)
Citation preview
インターネッツの繋がるしくみ
( TCP/IP 編)
スタジオ アルカナ 吉田 紳一郎・2016/03/17( 木 )
SA Study #4
(免責事項)全体を通して悪ふざけが
混じっているように感じる方もいるかもしれませんが意識は低めでお願いします
前回の勉強会のおさらい
http://www.slideshare.net/yossy222/ss-59015751
無線 LANアクセスポイント
スイッチングハブ
おわりました( IEEE802.3 )
ノートパソコン
おわりました( IEEE802.11 )
スイッチングハブ
ルーター
今日はここ
データリンク層
ネットワーク層
トランスポート層
アプリケーション層
インターネッツの繋がるしくみ( TCP/IP 編)
物理層
プレゼンテーション層
セッション層
インターネッツの繋がるしくみ( DNS/HTTP 編)
ここ
インターネッツの繋がるしくみ(物理層編)
今回もネットワークのお話です
あ、
ハッシュタグは
#sa_studyらしいです
さて
前回はMAC アドレス
について学びました
パソコン A パソコン B
スイッチングハブ
MAC アドレスを頼りにして機器同士の識別を行い通信する
B8-F6-B1-00-00-99
B8-F6-B1-00-00-44
B8-F6-B1-00-00-88
B8-F6-B1-00-00-11
MAC アドレスってIP アドレスとは
何が違うんだろう?
IP(Internet Protocol)
RFC 791という仕様
※ RFC :Request for Comments
RFC は、 IETF というインターネットで利用される
技術の標準化を策定する組織が発行する文書
※ IETF: Internet Engineering Task Force
ちょっとRFC 791
を覗いてみましょう
(日本語) http://srgia.com/docs/rfc791j.html
インターネットプロトコル
DARPA :アメリカ国防高等研究計画局
RFC791
1981 年 9 月生まれ( 34 歳)
※ https://www.ietf.org/rfc/rfc791.txt
(わたし (32 歳 ) より年上のセンパイ…!)
インターネットはDARPA( アメリカ国防高等研究計画局 )
で生まれた技術なのです
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
OSI 参照モデルでいうと、
7
6
5
4
3
2
1
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
←IP はここ
IP では、各コンピュータにIP アドレスという
機器を判別するための番号を割り振って通信します。
スイッチングハブ
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
スイッチングハブ
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
IP アドレス
IP アドレスIP アドレス
IP アドレス
IP では、コンピュータ同士が直接通信できる範囲を
セグメントと呼びます。
スイッチングハブ
IP では、コンピュータ同士が直接通信できる範囲を
セグメントと呼びます。
セグメント
スイッチングハブ
同一セグメント内ではEthernet で通信できる
( MAC アドレスがあれば宛先がわかる)
IP では、セグメントが違うと、
セグメント①
セグメント②
IP では、セグメントが違うと、直接通信はできません。
セグメント①
セグメント②
どうやったら通信ができるのでしょう?
セグメント①
セグメント②
?
ここで
ルーター
ルーターのでばん!
ルーターを経由することでセグメントを超えた通信ができます
セグメント①
セグメント②ルーター
でも、セグメントの範囲ってどう決まるんだろう?
セグメントの範囲はパソコンに割り当てられた
IP アドレスとサブネットマスクによって決まります。
これ
ipconfig / ifconfig の
例えば、次のように設定されたパソコンがあった場合
スイッチングハブ
IP アドレス: 192.168.1.1サブネットマスク: 255.255.255.0
192.168.1.2
192.168.1.3
192.168.1.4
これを例にしましょう
IP アドレスとサブネットマスクを
計算することでセグメントが決まります。
やってみましょう
IP アドレス: 192.168.1.1サブネットマスク: 255.255.255.0
まず、 2 進数に変換します
IP アドレス: 192.168.1.1サブネットマスク: 255.255.255.0
IP アドレス: 192.168.1.1サブネットマスク: 255.255.255.0
IP アドレス11000000.10101000.00000001.00000001 (192) . (168) . (1) . (1)
サブネットマスク11111111.11111111.11111111.00000000 (255) . (255) . (255) . (0)
サブネットマスクに注目
IP アドレス11000000.10101000.00000001.00000001
サブネットマスク
11111111.11111111.11111111.00000000
IP アドレス11000000.10101000.00000001.00000001
サブネットマスク
11111111.11111111.11111111.00000000
1 の部分と 0 の部分に分けます
IP アドレス11000000.10101000.00000001.00000001
サブネットマスク
11111111.11111111.11111111.00000000
↑ネットワーク部
↑ホスト部
と呼びます
IP アドレス11000000.10101000.00000001.00000001
サブネットマスク11111111.11111111.11111111.00000000
IP アドレスのうちネットワーク部が同じだった場合が
同じセグメント
ネットワーク部
IP アドレス11000000.10101000.00000001.00000001 (192) . (168) . (1) . (1)
サブネットマスク11111111.11111111.11111111.00000000
なので、この場合は192.168.1.1 ~ 192.168.1.254の IP アドレスが同じセグメント
ネットワーク部
スイッチングハブ
IP アドレス
192.168.1.1サブネットマスク
255.255.255.0
192.168.1.2
192.168.1.3
192.168.1.4
スイッチングハブ
IP アドレス
192.168.1.1サブネットマスク
255.255.255.0
192.168.1.2
192.168.1.3
192.168.1.4
同一セグメント
ちなみに
IP アドレス: 192.168.1.1サブネットマスク: 255.255.255.0
サブネットマスク11111111.11111111.11111111.00000000
24 ビット
192.168.1.1/24という書き方をすることもあります。
( CIDR( サイダー ) 記法と言います)
※ CIDR: Classless Inter-Domain Routing
セグメントが同じだと直接通信ができるけど、
セグメントが違う場合はどうなっちゃうの?
セグメントが違う場合は、デフォルトゲートウェイへデータを届けます。
これ
ipconfig / ifconfig の
多くの場合、ルーターがデフォルトゲートウェイ
の役割を果たします
セグメント①
セグメント②ルーター
こいつがデフォルトゲートウェイ
ルーターにはルーティングテーブル
というリストがあります
ルーター 宛先 インターフェイス ホップ数
192.168.1.0/24 if1 1
192.168.2.0/24 if2 1
192.168.3.0/24 if3 1
ルーティングテーブルの宛先を確認し、どのセグメントにデータを送るかが決まります
ルーター 宛先 インターフェイス ホップ数
192.168.1.0/24 if1 1
192.168.2.0/24 if2 1
192.168.3.0/24 if3 1
セグメント192.168.1.x
セグメント192.168.2.x
セグメント192.168.3.x
if1
if2 if3
IP アドレスと MAC アドレスの対応はどうやって調べるのでしょう?
IP アドレスと MAC アドレスはARP(Address Resolution Protocol) というプロトコルで確認できます。
B8-F6-B1-00-00-11
192.168.1.1 192.168.1.2
192.168.1.3
192.168.1.4
B8-F6-B1-00-00-22
B8-F6-B1-00-00-44
B8-F6-B1-00-00-33
arp コマンド
IP アドレス MAC アドレス
arp コマンドを使うと、 IP アドレスに対応するMAC アドレスの情報を得ることができる。
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
MAC アドレス
IP アドレスルーター
スイッチングハブ
ARP
(出展) https://ja.wikipedia.org/wiki/ ルーター
さて、ここでテストです。
2 台の PC に IPv4 アドレスを割り振りたい。サブネットマスクが 255.255.255.240 のとき,両 PC の IPv4 アドレスが同一ネットワークに所属する組合せはどれか。
192.168.1.14 と 192.168.1.17
192.168.1.17 と 192.168.1.29
192.168.1.29 と 192.168.1.33
192.168.1.33 と 192.168.1.49
ア
イ
ウ
エ
(出典)基本情報技術者 平成 24 年秋期 午前問 36
サブネットマスク11111111.11111111.11111111.11110000 (255) . (255) . (255) . (240)
IP アドレス11000000.10101000.00000001.00001110 (192) . (168) . (1) . (14) 11000000.10101000.00000001.00010001 (192) . (168) . (1) . (17) 11000000.10101000.00000001.00011101 (192) . (168) . (1) . (29) 11000000.10101000.00000001.00100001 (192) . (168) . (1) . (33) 11000000.10101000.00000001.00110001 (192) . (168) . (1) . (49)
ア
ウ
イ
エ
2 台の PC に IPv4 アドレスを割り振りたい。サブネットマスクが 255.255.255.240 のとき,両 PC の IPv4 アドレスが同一ネットワークに所属する組合せはどれか。
192.168.1.14 と 192.168.1.17
192.168.1.17 と 192.168.1.29
192.168.1.29 と 192.168.1.33
192.168.1.33 と 192.168.1.49
ア
イ
ウ
エ
(出典)基本情報技術者 平成 24 年秋期 午前問 36
IPv4 に絞って説明しましたがIPv6 というバージョンもあります
(今日は割愛)
無線 LANアクセスポイント
スイッチングハブ
おわりました( IEEE802.3 )
ノートパソコン
おわりました( IEEE802.11 )
ルーター
おわりました( Internet Protocol )
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
スイッチングハブ、無線 LAN アクセスポイント(ブリッジモード)
LAN ケーブル、無線 LAN の電波
ルーター、無線 LAN アクセスポイント(ルーターモード)
サーバー、パソコン
7
6
5
4
3
2
1
おさらい
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
MAC アドレスで機器を識別して通信する
物理的な媒体を経由して電気信号で通信する
IP アドレスで機器を識別して通信する
サーバー、パソコン
7
6
5
4
3
2
1
おさらい
とりあえず、 IP まで知っていればコンピュータ同士が繋がる
仕組みは把握できたようなものです。
つぎ
TCP( Transmission Control Protocol )
RFC 793という仕様
※ RFC :Request for Comments
TCP
DARPA :アメリカ国防高等研究計画局
RFC793
1981 年 9 月生まれ( 34 歳)
※ https://www.ietf.org/rfc/rfc793.txt
IP と一緒に設計されたので時期はほとんど同じ
TCP は、アプリケーションと IP の中間で
通信サービスを提供します
HTTP
アプリケーション層
SSH
SMTPHTTPS
IMAP
トランスポート層
ネットワーク層
TCP
TCP
TCP
TCP
TCP
IP
IP
IP
IP
IP
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
←TCP はここ
HTTP
TCP
IP
TCP の役割のポイント
通信するポート番号が決まる
データが確実に届いたか確認
データ欠落などあれば再送
届いたデータの順序を整理
ポート番号
HTTP
サーバー
SSH
SMTPHTTPS
IMAP
サーバーでは様々なプログラムが動作している
HTTP
サーバー
SSH
SMTPHTTPS
IMAP
TCP パケットが届いたとき、どのプログラムに渡せばよいの?
TCP
?
TCP では、コンピュータ上の送受信アプリケーションを識別
するために、ポート番号を使う。
HTTP
サーバー
SSH
SMTPHTTPS
IMAP
例えば、 HTTP サーバーの場合は一般的に 80 番ポートを使う
:80
HTTP
サーバー
SSH
SMTPHTTPS
IMAP
TCP には宛先ポート番号の情報が含まれているため、そのポートへ
データをお届け。
:80
TCP:80
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
MAC アドレスで機器を識別して通信する
物理的な媒体を経由して電気信号で通信する
IP アドレスで機器を識別して通信する
7
6
5
4
3
2
1
TCP の役割
ポート番号でアプリケーションを識別して通信する
(出展) https://ja.wikipedia.org/wiki/ ルーター
さて、ここでテストです。
TCP/IP のネットワークにおいて, TCP のコネクションを識別するために必要な情報の組合せはどれか。ここで,必要な情報は "○" で表し,不要な情報は "×" で表す。
ア
イ
ウ
エ
(出典)基本情報技術者 平成 25 年春期 午前問 35
宛先MAC
アドレス
送信元MAC
アドレス
宛先IP
アドレス
送信元IP
アドレス
宛先TCP
ポート番号
送信元TCP
ポート番号
× × ○ × ○ ×
× × ○ ○ × ×
× × ○ ○ ○ ○
○ ○ ○ ○ ○ ○
TCP/IP のネットワークにおいて, TCP のコネクションを識別するために必要な情報の組合せはどれか。ここで,必要な情報は "○" で表し,不要な情報は "×" で表す。
ア
イ
ウ
エ
(出典)基本情報技術者 平成 25 年春期 午前問 35
宛先MAC
アドレス
送信元MAC
アドレス
宛先IP
アドレス
送信元IP
アドレス
宛先TCP
ポート番号
送信元TCP
ポート番号
× × ○ × ○ ×
× × ○ ○ × ×
× × ○ ○ ○ ○
○ ○ ○ ○ ○ ○
TCP に絞って説明しましたがUDP というプロトコルもあります
(今日は割愛)
ということで
Web ブラウザ
Web サーバー
なにかすごそうなもの
Web ブラウザ
Web サーバー
こんな仕組みで繋がっていたのです
LAN ケーブル 無線 LAN電波
Ethernet
IP
TCP
あれ…?でも、ブラウザに入力する URL って
IP アドレスじゃなくてドメイン名を入力するけど、どうなっているんだろう?
DNS( Domain Name System )
… という話しに入りたかったんですが
今日はここまで。
データリンク層
ネットワーク層
トランスポート層
アプリケーション層
物理層
プレゼンテーション層
セッション層
インターネッツの繋がるしくみ( DNS/HTTP 編)
へつづく…
もっとくわしく!な方へ
www.amazon.co.jp/dp/4873114438 www.amazon.co.jp/dp/4822283119 www.amazon.co.jp/dp/4274068765
おしまい