SlideShare a Scribd company logo
インターネッツの繋がるしくみ
(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
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
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
SMTP
HTTPS
IMAP
トランスポート層
ネットワーク層
TCP
TCP
TCP
TCP
TCP
IP
IP
IP
IP
IP
物理層
データリンク層
ネットワーク層
トランスポート層
セッション層
プレゼンテーション層
アプリケーション層
←TCPはここ
HTTP
TCP
IP
TCPの役割のポイント
通信するポート番号が決まる
データが確実に届いたか確認
データ欠落などあれば再送
届いたデータの順序を整理
ポート番号
HTTP
サーバー
SSH
SMTP
HTTPS
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
おしまい

More Related Content

インターネッツの繋がるしくみ(TCP/IP編) #sa_study