• 検索結果がありません。

第1回 ネットワークとは

N/A
N/A
Protected

Academic year: 2021

シェア "第1回 ネットワークとは"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

8回 UDP・TCP

(2)

イーサネットデータ

L4

トランスポート層

データ

L4

ヘッダ

IPデータ

TCP

ヘッダ

IP

ヘッダ

イーサ

ヘッダ

ヘッダ

IP

ヘッダ

TCP

フレームデータ

最大長=MTU=1500 Byte

maximum transfer unit

L4 セグメント

L3 パケット

L2 フレーム

トレイラ

イーサ

セグメントデータ

最大長=MSS

maximum segment size

(3)

トランスポート層

エンドツーエンドのデータ送受信

送信元端末

⇔ 宛先端末

アプリケーションプログラム間

通信の多重化

IPでは提供されない機能

信頼性,到達順序,フロー制御

(4)

トランスポート層

UDP / User Datagram Protocol

コネクションレス型

TCP / Transmission Control Protocol

コネクション型

(5)

配送の多重化

ホスト上のプロセスを識別する情報

ポート

IPアドレス

ポート

ポート

ポート

プロセス

A

プロセス

B

プロセス

C

IPアドレス

ポート

ポート

ポート

プロセス

A

プロセス

B

プロセス

C

IP

アドレス

ポート番号

:通信相手のプロセスを指定(

ソケット

(6)

ポート番号

(port)

16ビット → 0 ~ 65535

Well Known Port

0 ~ 1023

Privileged(特権ポ

ート)

Registered Port

1024 ~ 49151

(1011111111111111)

登録済み

Dynamic and/or

Private Port

(Ephemeral)

49152 ~ 65535

自由に使用可能

IANA(http://www.iana.org/assignments/port-numbers)

/etc/services

古いBSD => 0~255 特権,256~1023 登録,1024~4999 短命 5001~65535

Windows => 0~1023 特権 1025~4999 短命

(7)

ソケット通信

バークレイソケット

BSD UNIX

IP アドレス+ポートのペア

プロセス

A

プロセス

B

プロセス

C

49160

49161

49162

Webサーバ

80

メールサーバ

25

200.0.0.1

160.2.4.21

Firefox

Thunderbird

sendmail

httpd

ソケットの管理・割り当て

OS

ソケット状態

LISTEN

ESTABLISHED

意味

接続待ち状態

接続中

Bind

bind→listen→accept

connect

close

close

(8)

代表的なポート番号

ポート

トランスポート層プ

ロトコル

アプリケーション

20,21

TCP

FTP

22

TCP

SSH

23

TCP

TELNET

25

TCP

SMTP

53

UDP, TCP

DNS

67,68

UDP

DHCP

80

TCP

HTTP

110

TCP

POP

123

UDP

NTP

443

TCP

HTTPS

/etc/services

(¥Windows¥system32¥drivers¥etc)

(9)

UDP データグラム

RFC 768

チェックサム

UDPデータグラム長

宛先ポート

送信元ポート

16bit

16bit

16bit

16bit

Protocol 番号17

DHCP, TFTP, SNMP, NFS, DNS

(10)

UDP

User Datagram Protocol

コネクションレス型

信頼性

エラーチェック

オーバーヘッド

プロトコル自体の処理時間

リアルタイム

(11)

TCPセグメント

RFC 793

(12)

TCP

Transmission Control Protocol

コネクション型

エンドツーエンドのコネクション確立

確認応答、再送

データの信頼性

データ順序の保証

フロー制御

(13)

TCPセグメント

RFC 793

送信元ポート

宛先ポート

シーケンス

番号

(32)

確認応答番号

(32)

ウィンドウ

サイズ

チェック

オプション

4オクテット毎

フラグ

(6)

ヘッダ長

(4)

4オクテット単位

(14)

コードビット

URG:

緊急

ACK:

応答確認

PSH: Push データプッシュ要求

RST: Reset 接続強制切断

Syn:

接続開始要求

FIN:

接続終了要求

(15)

3 Way Handshake

コネクション開始

Syn, Syn+Ack, Ack

Seq はそれぞれ独立でインクリメント

Ack は次に要求するSeqの値

(16)

SYN

SYN + ACK

ACK

SYN SENT

SYN RCVD

ESTABLISHED

ESTABLISHED

FIN

ACK

FIN

ACK

CLOSE WAIT

LAST ACK

FIN WAIT 1

FIN WAIT 2

TIME WAIT

CLOSED

CLOSED

送信側

受信側

(17)

seq5000, ack1500

data 1000

seq1500, ack6000

data 100

seq6000, ack1600, data 1000

seq1600, ack7000, data 100

seq : シーケンス番号 データの順番(オクテット)

ack:次に送信して欲しいシーケンス番号

(18)

seq5000, data 1000

ack6000

seq6000, data 1000

ack7000

seq : シーケンス番号 データの順番(オクテット)

ack:次に送信して欲しいシーケンス番号

seq7000, data 1000

seq7000, data 1000

×

送信側

受信側

(19)

ウィンドウ制御

ウィンドウサイズ

受信側

受信可能オクテット数を送信側へ

送信側

ウィンドウサイズ分だけ送信

そのあと、

ACKを待つ

MSS, MTU, RWIN

スロースタート(輻輳制御)

スライディングウィンドウ(受信側フロ

ー制御)

(20)

ウィンドウ制御

MSS, MTU, RWIN

MSS: 最大セグメントサイズ

パケット長

(フレーム長) MTU で決まる

RWIN

受信可能ウィンドウサイズ

輻輳制御・フロー制御

スロースタート

スライディングウィンドウ

(21)

S seq5000, ack1, size 1000

S seq1, ack6000, win 3000

S seq6000, ack2, size1000

S seq7000, ack2, size1000

S seq8000, ack2, size1000

S seq1, ack7000, win 3000

S seq1, ack8000, win 3000

S seq1, ack9000, win 3000

data

5000

6000

data

TCP

window

3000

5000

6000

送信側

受信側

(22)

S seq5000, ack1, size 1000

S seq1, ack6000, win 3000

S seq6000, ack2, size1000

S seq7000, ack2, size1000

S seq8000, ack2, size1000

S seq1, ack9000, win 3000

data

5000

6000

data

TCP

window

3000

5000

6000

送信側

受信側

(23)

S seq5000, ack1, size 1000

S seq1, ack6000, win 3000

S seq6000, ack2, size1000

S seq7000, ack2, size1000

S seq8000, ack2, size1000

S seq1, ack9000, win 1000

data

5000

6000

data

TCP

window

3000

5000

6000

S seq9000, ack2, size1000

S seq1, ack10000, win 2000

(24)

listening on em0, link-type EN10MB (Ethernet), capture size 96 bytes

12:17:08.835868 IP 172.21.39.138.56672 > 173.194.38.120.80: S 2339783770:2339783770(0) win 65535 <mss 1460,nop,wscale 3,sackOK,timestamp 288038936 0>

12:17:08.852417 IP 173.194.38.120.80 > 172.21.39.138.56672: S 3477156539:3477156539(0) ack 2339783771 win 14180 <mss 1430,sackOK,timestamp 1598516590 288038936,nop,wscale 6> 12:17:08.852424 IP 172.21.39.138.56672 > 173.194.38.120.80: . ack 3477156540 win 8330 <nop,nop,timestamp 288038953 1598516590>

12:17:08.852468 IP 172.21.39.138.56672 > 173.194.38.120.80: P 2339783771:2339783960(189) ack 3477156540 win 8330 <nop,nop,timestamp 288038953 1598516590> 12:17:08.868783 IP 173.194.38.120.80 > 172.21.39.138.56672: . ack 2339783960 win 239 <nop,nop,timestamp 1598516606 288038953>

12:17:08.912884 IP 173.194.38.120.80 > 172.21.39.138.56672: . 3477156540:3477157958(1418) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.912889 IP 173.194.38.120.80 > 172.21.39.138.56672: . 3477157958:3477159376(1418) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.912893 IP 172.21.39.138.56672 > 173.194.38.120.80: . ack 3477159376 win 7976 <nop,nop,timestamp 288039014 1598516650>

12:17:08.912895 IP 173.194.38.120.80 > 172.21.39.138.56672: . 3477159376:3477160794(1418) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.912899 IP 173.194.38.120.80 > 172.21.39.138.56672: P 3477160794:3477161375(581) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.912902 IP 172.21.39.138.56672 > 173.194.38.120.80: . ack 3477161375 win 8080 <nop,nop,timestamp 288039014 1598516650>

12:17:08.913015 IP 173.194.38.120.80 > 172.21.39.138.56672: . 3477161375:3477162793(1418) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.913018 IP 173.194.38.120.80 > 172.21.39.138.56672: . 3477162793:3477164211(1418) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.913022 IP 172.21.39.138.56672 > 173.194.38.120.80: . ack 3477164211 win 7976 <nop,nop,timestamp 288039014 1598516650>

12:17:08.913024 IP 173.194.38.120.80 > 172.21.39.138.56672: P 3477164211:3477165471(1260) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.913026 IP 173.194.38.120.80 > 172.21.39.138.56672: . 3477165471:3477166889(1418) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.913030 IP 172.21.39.138.56672 > 173.194.38.120.80: . ack 3477166889 win 7641 <nop,nop,timestamp 288039014 1598516650>

12:17:08.913032 IP 173.194.38.120.80 > 172.21.39.138.56672: . 3477166889:3477168307(1418) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.913034 IP 173.194.38.120.80 > 172.21.39.138.56672: FP 3477168307:3477169261(954) ack 2339783960 win 239 <nop,nop,timestamp 1598516650 288038953> 12:17:08.913038 IP 172.21.39.138.56672 > 173.194.38.120.80: . ack 3477169262 win 7345 <nop,nop,timestamp 288039014 1598516650>

12:17:08.913127 IP 172.21.39.138.56672 > 173.194.38.120.80: . ack 3477169262 win 8330 <nop,nop,timestamp 288039014 1598516650>

12:17:08.914129 IP 172.21.39.138.56672 > 173.194.38.120.80: F 2339783960:2339783960(0) ack 3477169262 win 8330 <nop,nop,timestamp 288039015 1598516650> 12:17:08.930248 IP 173.194.38.120.80 > 172.21.39.138.56672: . ack 2339783961 win 239 <nop,nop,timestamp 1598516668 288039015>

172.21.39.138

173.194.38.120

56672

TCP 接続

80

TCP flag

Sequence 番号

とサイズ

肯定確認応答番号

(25)

パケットアナライザ

スニファ

(sniffer)

(26)

TCP状態遷移

CLOSED LISTEN ESTAB SYN SENT SYN RCVD TCB削除 TCB削除 TCB生成とSYN送信 CLOSE CLOSE TCB生成 受動的OPEN ACK送信 SYN受信 SYN,ACK送信 SYN送信 SYN受信 SEND ACK送信 SYN,ACK受信 SYNのACK受信

FIN WAIT-1 CLOSE WAIT

FIN送信 FIN送信 ACK送信 CLOSE CLOSE FIN受信 CLOSING LAST-ACK FIN WAIT-2 TIME WAIT CLOSED FINのACK受信 FIN受信 CLOSE FIN送信 ACK送信 TCB削除 FIN受信 FINのACK受信 Timeout=2MSL FINのACK受信 ACK送信 CLOSED LISTEN ESTAB SYN SENT SYN RCVD TCB削除 TCB削除 TCB生成とSYN送信 CLOSE CLOSE TCB生成 受動的OPEN ACK送信 SYN受信 SYN,ACK送信 SYN送信 SYN受信 SEND ACK送信 SYN,ACK受信 SYNのACK受信

FIN WAIT-1 CLOSE WAIT

FIN送信 FIN送信 ACK送信 CLOSE CLOSE FIN受信 CLOSING LAST-ACK FIN WAIT-2 TIME WAIT CLOSED FINのACK受信 FIN受信 CLOSE FIN送信 ACK送信 TCB削除 FIN受信 FINのACK受信 Timeout=2MSL FINのACK受信 ACK送信

Established

LISTEN

SYN SENT

SYN RCVD

FIN_WAIT-1

FIN_WAIT-2

TIME_WAIT

CLOSE_WAIT

(27)

ソケットの状態確認

netstat –an

ポートの状態

(Listen, Established, etc.)

コネクションのソケットペア

sockstat (BSD系UNIX)

netstat –ano (Windows)

netstat –anp (Linux)

ソケットを使うプロセス

C:¥Users¥sshin>netstat -an アクティブな接続 プロトコル ローカル アドレス 外部アドレス 状態 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 192.168.1.44:139 0.0.0.0:0 LISTENING TCP 192.168.1.44:3389 192.168.1.35:3305 ESTABLISHED TCP 192.168.1.44:8969 192.168.1.11:51431 TIME_WAIT TCP 192.168.1.44:51167 192.168.1.101:445 CLOSE_WAIT TCP 192.168.1.44:52439 192.168.1.101:445 ESTABLISHED TCP 192.168.1.44:53578 192.168.1.100:22 ESTABLISHED TCP 192.168.1.44:53735 192.168.1.100:55550 ESTABLISHED TCP 192.168.1.44:60081 125.56.208.10:80 CLOSE_WAIT TCP 192.168.1.44:60124 69.192.227.51:443 CLOSE_WAIT

(28)

Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 48 192.168.1.100.22 222.229.72.5.12545 ESTABLISHED tcp4 0 55 192.168.1.101.3392 192.168.1.35.1038 ESTABLISHED tcp4 0 0 192.168.1.100.139 192.168.1.35.1026 ESTABLISHED tcp4 0 0 192.168.1.101.445 192.168.1.44.58489 ESTABLISHED tcp4 0 0 192.168.1.102.445 *.* LISTEN tcp4 0 0 192.168.1.101.3391 *.* LISTEN tcp4 0 0 192.168.1.101.445 *.* LISTEN tcp4 0 96 192.168.1.100.55550 192.168.1.100.18224 ESTABLISHED tcp4 0 0 192.168.1.100.18224 192.168.1.100.55550 ESTABLISHED tcp4 0 0 127.0.0.1.30022 *.* LISTEN tcp6 0 0 ::1.30022 *.* LISTEN tcp4 0 0 192.168.1.100.22 222.229.72.5.12543 ESTABLISHED tcp4 0 0 192.168.1.100.55550 *.* LISTEN tcp4 0 0 192.168.1.100.22 222.229.72.5.13521 ESTABLISHED tcp4 0 0 *.25 *.* LISTEN tcp4 0 0 *.22 *.* LISTEN tcp4 0 0 *.* *.* CLOSED tcp46 0 0 *.80 *.* LISTEN udp4 0 0 *.518 *.* udp4 0 0 *.512 *.* C:¥Users¥admin>netstat -ano アクティブな接続 プロトコル ローカル アドレス 外部アドレス 状態 PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3692 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 132 TCP 172.21.39.146:55472 199.47.217.172:443 CLOSE_WAIT 4240 TCP 172.21.39.146:55473 50.16.218.122:443 CLOSE_WAIT 4240 TCP 172.21.39.146:56113 199.47.217.177:443 CLOSE_WAIT 4240 TCP 172.21.39.146:56145 222.229.64.201:3128 ESTABLISHED 5728 TCP 172.21.39.146:56155 74.125.235.97:80 ESTABLISHED 5364 TCP 172.21.39.146:56156 74.125.235.99:80 ESTABLISHED 5364 TCP 172.21.39.146:56157 72.14.203.103:443 ESTABLISHED 5364 TCP [::]:49159 [::]:0 LISTENING 1828 TCP [::]:49160 [::]:0 LISTENING 788 UDP 0.0.0.0:443 *:* 3692

(29)

まとめ

トランスポート層

ソケット・ポート番号

UDP

TCP

3Way Handshake

Sequence & Acknowledge Number

Sliding Window

セグメント順序整列

確認&再送要求,

コネクション型

参照

関連したドキュメント

[r]

WAKE_IN ピンを Low から High にして DeepSleep モードから Active モードに移行し、. 16ch*8byte のデータ送信を行い、送信完了後に

(1) 送信機本体 ZS-630P 1)

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

This is demonstrated in establishing Theorem 6.1, a quenched version of the results of Cern´ ˇ y [8] and Cabezas [7] on the tail of the exit time distribution, and we then extend

Surveillance and Conversations in Plain View: Admitting Intercepted Communications Relating to Crimes Not Specified in the Surveillance Order. Id., at

操作は前章と同じです。但し中継子機の ACSH は、親機では無く中継器が送信する電波を受信します。本機を 前章①の操作で

・Syslog / FTP(S) / 共有フォルダ / SNMP