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

PDF
DevSecOps: Taking a DevOps Approach to Security
PDF
DNS再入門
PDF
はじめてのDNS
PDF
ルーティングチュートリアル - AS間経路制御
PDF
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
PDF
netis WF2412無線橋接模式 – Repeater
PPTX
テスト計画セッション
DevSecOps: Taking a DevOps Approach to Security
DNS再入門
はじめてのDNS
ルーティングチュートリアル - AS間経路制御
Google Meet でもバーチャル背景を使いたい (WebRTC Meetup Online)
netis WF2412無線橋接模式 – Repeater
テスト計画セッション

What's hot (20)

PDF
インターネットの仕組みとISPの構造
PPTX
Bapp Storeを調べてみたよ!
PDF
Internet Week 2018 知っておくべきIPv6とセキュリティの話
PDF
WebRTCの技術解説 公開版
PPTX
STNSサーバーを書いてみた
PDF
劇的改善 CI 4時間から5分へ〜私がやった10のこと〜
PDF
CDNの仕組み(JANOG36)
PDF
知っているようで知らないPAMのお話
PPTX
Spring Cloud Data Flow で構成される IIJ IoTサービス
PDF
30分でわかる! コンピュータネットワーク
PDF
Open Vulnerability Assesment System (OpenVAS)
PDF
Vocalshifterの説明と歌ボとトークでの使い方
PDF
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
PDF
とある診断員とAWS
PDF
スマホ(Android・iPhone)でWebRTC
PDF
本当は楽しいインターネット
PDF
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
PDF
DS-LiteをFreeBSDで使う
PDF
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
PDF
CVE、JVN番号の取得経験者になろう!
インターネットの仕組みとISPの構造
Bapp Storeを調べてみたよ!
Internet Week 2018 知っておくべきIPv6とセキュリティの話
WebRTCの技術解説 公開版
STNSサーバーを書いてみた
劇的改善 CI 4時間から5分へ〜私がやった10のこと〜
CDNの仕組み(JANOG36)
知っているようで知らないPAMのお話
Spring Cloud Data Flow で構成される IIJ IoTサービス
30分でわかる! コンピュータネットワーク
Open Vulnerability Assesment System (OpenVAS)
Vocalshifterの説明と歌ボとトークでの使い方
B1-5 フィッシング詐欺についてフィッシングハンターが語らナイト!
とある診断員とAWS
スマホ(Android・iPhone)でWebRTC
本当は楽しいインターネット
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
DS-LiteをFreeBSDで使う
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CVE、JVN番号の取得経験者になろう!
Ad

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

PPT
20060520.tcp
PPTX
インターネッツの繋がるしくみ(物理層編) #sa_study
PPTX
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
PPTX
2011年度 新3年生向け
PPT
計算機理論入門08
PDF
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
PPT
システムと情報の数理・ネットワーク概論
PDF
第7回勉強会 ネットワークの基礎
PDF
TCP/IPの超キホン LT
PPTX
ネットワーク第4回目
PDF
コンピューターネットワーク入門
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
PPTX
PDF
ネットワークについて
PPT
悪のネットワークを倒そう
PPTX
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
PDF
[Basic 5] グラフ / コンピュータ ネットワーク基礎 / TCP/IP
PPTX
Web技術について~ネットワーク・http編~
PPTX
講習2日目
PDF
Hipとは?
20060520.tcp
インターネッツの繋がるしくみ(物理層編) #sa_study
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
2011年度 新3年生向け
計算機理論入門08
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
システムと情報の数理・ネットワーク概論
第7回勉強会 ネットワークの基礎
TCP/IPの超キホン LT
ネットワーク第4回目
コンピューターネットワーク入門
法政大学情報科学部 2012年度コンピュータネットワーク-第5回授業-Web公開用
ネットワークについて
悪のネットワークを倒そう
ミドクラ様講演 OpenStack最新情報セミナー 2014年4月
[Basic 5] グラフ / コンピュータ ネットワーク基礎 / TCP/IP
Web技術について~ネットワーク・http編~
講習2日目
Hipとは?
Ad

More from Shinichiro Yoshida (20)

PPTX
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
PDF
"Oculus Go" と "Gear VR" のチガイ #sa_study
PDF
自己紹介&このスライドのデザインの作り方 #sa_study
PDF
ルワンダの IT視察レポートだよ #sa_study
PDF
World Wide Web with Virtual Reality #sa_study
PPTX
React + FLUX + Redux + Redux Saga のお話
PPTX
実践 Redux Saga -Practical Redux Saga-
PPTX
インターネッツの繋がるしくみ(DNS編) #sa_study
PPTX
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
PDF
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
PDF
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
PDF
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
PDF
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
PDF
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
PDF
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
PDF
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
PDF
オープンソースカンファレンス2011 Kansai@Kobe
PDF
Osc2011 kobe 20110416_01
PDF
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
PDF
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
"Oculus Go" と "Gear VR" のチガイ #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study
ルワンダの IT視察レポートだよ #sa_study
World Wide Web with Virtual Reality #sa_study
React + FLUX + Redux + Redux Saga のお話
実践 Redux Saga -Practical Redux Saga-
インターネッツの繋がるしくみ(DNS編) #sa_study
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
オープンソースカンファレンス2011 Kansai@Kobe
Osc2011 kobe 20110416_01
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介

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