コンピューターネットワーク入門
-
Upload
yusuke-miyazaki -
Category
Internet
-
view
207 -
download
3
description
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)
" #
DATA
354 End data with <CR><LF>.<CR><LF>
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
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 アドレス