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 
Application Layer 
Transport Layer 
Internet Layer 
Link Layer
TCP/IP 
Web / Mail / DNS 
TCP / UDP 
IP / ICMP 
Ethernet / IEEE 802.11
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) 
220 smtp.example.com ESMTP Postfix 
" HELO client.example.com # 
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 アドレス

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