コンピューターネットワーク入門

34
CAMPHOR- 土曜講座 コンピューターネットワーク入門 2014/10/11 (Sat) @CAMPHOR- HOUSE Yusuke Miyazaki

description

2014/10/11 18:00- CAMOHOR-HOUSE で行った, CAMPHOR- 土曜講座 コンピューターネットワーク入門のスライドです.

Transcript of コンピューターネットワーク入門

Page 1: コンピューターネットワーク入門

CAMPHOR- 土曜講座 コンピューターネットワーク入門

2014/10/11 (Sat) @CAMPHOR- HOUSE Yusuke Miyazaki

Page 2: コンピューターネットワーク入門

コンピューターネットワークとは?

!

Page 3: コンピューターネットワーク入門

サイズによる分類

• PAN (Personal Area Network)

• LAN (Local Area Network)

• WAN (Wide Area Network)

Page 4: コンピューターネットワーク入門

インターネット

• TCP/IP の標準規格に基づいて世界中のコンピューターネットワークを接続したもの

Page 5: コンピューターネットワーク入門

サービスの例

• Web (HTTP)

• Email (POP, IMAP, SMTP)

• FTP

• SSH

• SSL / TLS

Page 6: コンピューターネットワーク入門

ネットワークのイメージ

"

"

#Network"

#

Page 7: コンピューターネットワーク入門

ネットワークのイメージ

"

"

#"

#

$

Page 8: コンピューターネットワーク入門

階層構造のイメージ

Page 9: コンピューターネットワーク入門

&

階層構造のイメージ

'

(

&

'

(

&

(

Page 10: コンピューターネットワーク入門

プロトコル

• 通信するための約束

• 様々な組織で策定

• IETF (RFC (Request for Comments))

• IEEE

Page 11: コンピューターネットワーク入門

TCP/IP

Link Layer

Transport Layer

Application Layer

Internet Layer

Page 12: コンピューターネットワーク入門

TCP/IP

Ethernet / IEEE 802.11

TCP / UDP

Web / Mail / DNS

IP / ICMP

Page 13: コンピューターネットワーク入門

Application Layer

• Web (HTTP), Email (POP, IMAP, SMTP), SSH, Telnet, FTP, DNS

• この下に Transport Layer

Page 14: コンピューターネットワーク入門

Web (HTTP)

• HTTP (Hypertext Transfer Protocol)

• Web ブラウザとサーバーの間でのデータの送受信

Page 15: コンピューターネットワーク入門

Web (HTTP)

" #

GET /index.html HTTP/1.1 Host: www.example.com

HTTP/1.1 200 OK Content-Type: text/html

<html><head>~~~</head><body>~~~</body></html>

Page 16: コンピューターネットワーク入門

Email (SMTP)

• SMTP (Simple Mail Transfer Protocol)

• メールを “転送” するプロトコル

• クライアント - サーバー間

• サーバー - サーバー間

Page 17: コンピューターネットワーク入門

Email (SMTP)

" #HELO client.example.com

220 smtp.example.com ESMTP Postfix

250 Hello client.example.com

Page 18: コンピューターネットワーク入門

Email (SMTP)

" #

MAIL FROM: <[email protected]>

250 Ok

Page 19: コンピューターネットワーク入門

Email (SMTP)

" #

RCPT TO: <[email protected]>

250 Ok

Page 20: コンピューターネットワーク入門

Email (SMTP)

" #

DATA

354 End data with <CR><LF>.<CR><LF>

Page 21: コンピューターネットワーク入門

Email (SMTP)

" #

From: “Taro Camph” <[email protected]> To: “Hana Camph” <[email protected]> Date: Sat, 11 October 2014 18:00:00 +0900 Subject: Test Message

This is a test message. .

250 Ok

Page 22: コンピューターネットワーク入門

Email (SMTP)

" #

QUIT

221 Bye

Page 23: コンピューターネットワーク入門

DNS

• Domein Name System

• ドメイン名と IP アドレスの相互変換

• ドメイン名 -> IP アドレス: 正引き

• IP アドレス -> ドメイン名: 逆引き

Page 24: コンピューターネットワーク入門

Transport Layer

• この上の Application Layer のデータをパケットにして 下の Internet Layer に渡す

• 通信の多重化 (ポート番号)

• TCP, UDP

Page 25: コンピューターネットワーク入門

ポート番号

• 通信先のプロセスを識別するための番号

• 16bit (0-65,535)

• 0~1,023: Well-known

• 1,024-49,151: Registered

• 49,152-65,535: Private

Page 26: コンピューターネットワーク入門

UDP

• User Datagram Protocol

• ヘッダ (ポート番号, データ長, チェックサム) + データ

• 送りっぱなし (届いたかどうかチェックしない) 順番も気にしない

• NTP, DNS, ストリーミングなどで利用

Page 27: コンピューターネットワーク入門

TCP• Transmission Control Protocol

• ヘッダ (ポート番号, データ長, チェックサム, フラグ, ウィンドウサイズ, シーケンス番号など) + データ

• 3ウェイハンドシェイク

• フロー制御・輻輳制御

• HTTP, FTP などが利用

Page 28: コンピューターネットワーク入門

3ウェイハンドシェイク

" #

SYN (Synchronize)

SYN + ACK

ACK (Acknowledgement)

Page 29: コンピューターネットワーク入門

Internet Layer

• この上に Transport Layer

• IP (IPv4, IPv6), ICMP, IPSec

• この下に Link Layer

Page 30: コンピューターネットワーク入門

IP (Internet Protocol)

• ネットワークを跨るパケットの転送 (ルーティング)

• パケット = ヘッダ (IPアドレスなど) + ペイロード

• IPアドレス

• IPV4, IPv6

Page 31: コンピューターネットワーク入門

IP アドレス• IP で機器を判別するためのアドレス

• IPv4: 32bit (約42億), IPv6: 128bit (約340澗)

• IPv4 では (aaa.bbb.ccc.ddd) (0-255 の10進数を . で区切って表示)

• アドレスクラス

• NAT

Page 32: コンピューターネットワーク入門

ICMP

• Internet Control Message Protocol

• IPなどから利用

• Ping

• Echo Message / Echo Reply Message

Page 33: コンピューターネットワーク入門

Link Layer

• この上に Transport Layer

• ARP, PPP, MAC (Ethernet, IEEE 802.11)

Page 34: コンピューターネットワーク入門

ARP

• Address Resolution Protocol

• IP アドレス -> MAC アドレス