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

Post on 22-Nov-2014

207 views 3 download

description

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

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

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

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

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

!

サイズによる分類

• PAN (Personal Area Network)

• LAN (Local Area Network)

• WAN (Wide Area Network)

インターネット

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

サービスの例

• Web (HTTP)

• Email (POP, IMAP, SMTP)

• FTP

• SSH

• SSL / TLS

ネットワークのイメージ

"

"

#Network"

#

ネットワークのイメージ

"

"

#"

#

$

階層構造のイメージ

&

階層構造のイメージ

'

(

&

'

(

&

(

プロトコル

• 通信するための約束

• 様々な組織で策定

• IETF (RFC (Request for Comments))

• IEEE

TCP/IP

Link Layer

Transport Layer

Application Layer

Internet Layer

TCP/IP

Ethernet / IEEE 802.11

TCP / UDP

Web / Mail / DNS

IP / ICMP

Application Layer

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

• この下に Transport Layer

Web (HTTP)

• HTTP (Hypertext Transfer Protocol)

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

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>

Email (SMTP)

• SMTP (Simple Mail Transfer Protocol)

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

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

• サーバー - サーバー間

Email (SMTP)

" #HELO client.example.com

220 smtp.example.com ESMTP Postfix

250 Hello client.example.com

Email (SMTP)

" #

MAIL FROM: <taro@example.com>

250 Ok

Email (SMTP)

" #

RCPT TO: <hana@example.com>

250 Ok

Email (SMTP)

" #

DATA

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

Email (SMTP)

" #

From: “Taro Camph” <taro@example.com> To: “Hana Camph” <hana@example.com> Date: Sat, 11 October 2014 18:00:00 +0900 Subject: Test Message

This is a test message. .

250 Ok

Email (SMTP)

" #

QUIT

221 Bye

DNS

• Domein Name System

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

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

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

Transport Layer

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

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

• TCP, UDP

ポート番号

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

• 16bit (0-65,535)

• 0~1,023: Well-known

• 1,024-49,151: Registered

• 49,152-65,535: Private

UDP

• User Datagram Protocol

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

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

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

TCP• Transmission Control Protocol

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

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

• フロー制御・輻輳制御

• HTTP, FTP などが利用

3ウェイハンドシェイク

" #

SYN (Synchronize)

SYN + ACK

ACK (Acknowledgement)

Internet Layer

• この上に Transport Layer

• IP (IPv4, IPv6), ICMP, IPSec

• この下に Link Layer

IP (Internet Protocol)

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

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

• IPアドレス

• IPV4, IPv6

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

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

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

• アドレスクラス

• NAT

ICMP

• Internet Control Message Protocol

• IPなどから利用

• Ping

• Echo Message / Echo Reply Message

Link Layer

• この上に Transport Layer

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

ARP

• Address Resolution Protocol

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