View
49
Download
0
Category
Preview:
DESCRIPTION
제 20 장. TCP 대용량 데이터 흐름. 목 차. 개요 일반적인 데이터 흐름 슬라이딩 윈도우 윈도우 크기 PUSH 플래그 저속 출발 대용량 데이터 처리율 긴급모드. 1. 개요. 슬라이딩 윈도우 프로토콜 PUSH 플래그 저속시작 (slow start) 대용량 데이터 처리율. 2. 일반적인 데이터 흐름. 두가지의 전송예제 및 전송절차 고속송신자 , 저속송신자. bsdi. .7777. svr. .1056. SYN 1305814529:1305814529(0). 0.0. - PowerPoint PPT Presentation
Citation preview
1Computer Network Lab.
제 20 장
TCP 대용량 데이터 흐름
2Computer Network Lab.
목 차 개요 일반적인 데이터 흐름 슬라이딩 윈도우 윈도우 크기 PUSH 플래그 저속 출발 대용량 데이터 처리율 긴급모드
3Computer Network Lab.
1. 개요
• 슬라이딩 윈도우 프로토콜
• PUSH 플래그
• 저속시작 (slow start)
• 대용량 데이터 처리율
4Computer Network Lab.
2. 일반적인 데이터 흐름
• 두가지의 전송예제 및 전송절차
• 고속송신자 , 저속송신자
5Computer Network Lab.
svr .1056 bsdi .7777
SYN 1305814529:1305814529(0)
win 4096,<mss 1024>
SYN 1367249409:1367249409(0)
ack 1305814530,win 4096<mss 1024>
ack 1, win 4096
PSH 1:1025(1024) ack 1, win 4096
PSH 1025:2049(1024) ack 1, win 4096
PSH 2049:3073(1024) ack 1, win 4096
ack 2049, win 4096
ack 6145, win 4096
1
2
7
8
3
4
5
9
PSH 4097:5121(1024) ack 1, win 4096
PSH 2049:3073(1024) ack 1, win 4096
ack 3073, win 3072
PSH 3073:4097(1024) ack 1, win 4096
PSH 5121:6145(1024) ack 1, win 4096
PSH 6145:7169(1024) ack 1, win 4096
ack 4097, win 4096
FIN 1:1(0) ack 8194, win 4096ack 8194, win 4096
FIN 8193:8193(0) ack 1, win 4096
Ack 2, win 4096
15
20
19
18
17
16
PSH 7169:8193(1024) ack 1, win 4096
Ack 8193, win 4096
10
13
12
11
0.0
0.002185 (0.0022)
0.007295 (0.0051)
0.017868 (0.0106)
0.022699 (0.0048)
0.027650 (0.0050)
0.027799 (0.0001)
0.031881 (0.0041)
0.034789 (0.0029)
0.039276 (0.0045)
0.044618 (0.0053)
0.050326 (0.0057)
0.055286 (0.0050)
14 0.055441 (0.0002) 0.061742 (0.0063)
0.066206 (0.0045)
0.066850 (0.0006)
0.068216 (0.0014)
0.069358 (0.0011)
0.075414 (0.0061)
6
Timer 작동
6Computer Network Lab.
전송절차1. 송신자는 먼저 3 개의 데이터 세그먼트 (4 부터 6) 를 전송2. 3 개의 세그먼트 4, 5, 6 은 차례로 도착하여 , 수신된 순서대로 IP 의
입력 큐에 놓여진다3. TCP 가 세그먼트 4 를 처리할 때 연결은 지연된 ACK 를 생성하기
위해 표시4. TCP 는 다음 세그먼트 (5) 를 처리하고 , 이 시점에서 , TCP 에는 2
개의 해결되지 않은 세그먼트를 가지고 있으므로 2049 의 응답이 생성 ( 세그먼트 7) 되고 이 연결에 대한 지연된 ACK 플래그는 해제 .
5. TCP 가 다음 입력 세그먼트 (6) 을 처리하고 , 연결은 다시 지연된 ACK 를 위해 표시
6. 세그먼트 9 가 도착하기 전에 ACK 타이머가 작동하여 3073 에 대한 ACK( 세그먼트 8) 가 생성
7Computer Network Lab.
7. 세그먼트 8 은 3072 바이트의 윈도우를 광고한다 . 이것은 TCP 수신 버퍼에 응용이 아직 읽지 않은 1024 바이트의 데이터가 남아있다는 것을 의미
8. 세그먼트 11, 12, 13 이 도착해서 IP 입력 큐에 놓여진다 .
9. 세그먼트 11 이 TCP 에 의해 처리될 때 연결은 지연 ACK 에 대해 표시 10. 세그먼트 12 가 처리될 때 , 세그먼트 11 과 12 의 ACK 가
생성되고 ( 세그먼트 14), 이 연결을 표시하는 ACK 플래그는 해제11. 세그먼트 13 은 다시 연결의 지연 ACK 를 설정하지만 , 타이머가
작동하기 전에 세그먼트 15 가 처리되고 , 이것에 의해 즉시 ACK가 송신된다 ( 세그먼트 16).
전송절차 ( 계속 )
8Computer Network Lab.
6
1
2
3
4
5
7
8
9
10
11
12
13
14
15
16
ack7169, win 4096
ack8194, win 409617
18
19
svr4.1057 bsdi .8888
0.0
0.002159 (0.0022) 0.007097 (0.0049)
0.017558 (0.0105)
0.022519 (0.0050)
0.027456 (0.0049)
0.027595 (0.0001)
0.035231 (0.0076)
0.040258(0.0050)
0.040402 (0.0001)
0.046791 (0.0064)
0.046930 (0.0001)
0.055466 (0.0085)
0.060522 (0.0051)
0.060662 (0.0001)
0.066479 (0.0058)
0.067878 (0.0014)
0.068994 (0.0011)0.087556 (0.0186)
9Computer Network Lab.
고속 송신자 , 저속 수신자
• 고속 송신자 (sparc 시스템 )와 저속 수신자 (80386 과 저속 이더넷 ) 간의 전송
10Computer Network Lab.
17
16
15
14
FIN 1:1(0) ack 8194, win 4096
ack 8194, win 4096
ack 8194, win 0
13
12
11
10
9
8
ack 4097, win 4096
ack 4097, win 0
7
6
5
4
3
2
1win 4096,<mss 1460>
SYN 690560000:690560000(0)
sun.1181 bsdi .siscard
0.0
0.002238 (0.0022)
0.003020 (0.0008)
0.006806 (0.0038)
0.008838 (0.0020)
0.010490 (0.0017)
0.012057 (0.0016)
0.038562 (0.0265)
0.055994 (0.0174)
0.057815 (0.0018)
0.059777 (0.0020)
0.062992 (0.0016)
0.061439 (0.0017)
0.071915 (0.0089)
0.074313 (0.0024)
0.076439 (0.0007)
0.075746 (0.0014)
윈도우 갱신(window update)
11Computer Network Lab.
3. 슬라이딩 윈도우
1 2 3 4 5 6 7 8 9 10 11 ...
송신됐지만확인 응답되지 않은
제공된 윈도우(수신자가 광고 )
이용가능하지 않는 윈도우
송신되고확인 응답된 즉시 송신가능
송신할 수 없다윈도우가 이동될때 까지
12Computer Network Lab.
3. 슬라이딩 윈도우 ( 계속 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
닫힘 열림줄어듬
13Computer Network Lab.
1 1024 1025 2048 2049 3072 3073 4096 5121 61444097 5120 7169 81926145 7168
세그먼트 2에서 광고된 윈도우
세그먼트 4, 5, 6 에서송신된 데이터
세그먼트 7에서 광고된 윈도우세그먼트 7에서 확인응답
세그먼트 8에서 광고된 윈도우세그먼트 8에서
확인응답세그먼트 9에서
송신된 데이터
세그먼트 10에서 광고된 윈도우세그먼트 10에서
확인응답세그먼트 11, 12, 13 에서
송신된 데이터세그먼트 14에서
확인응답세그먼트 14에서 광고된 윈도우
세그먼트 15에서
송신된 데이터
세그먼트 16에서
확인응답
14Computer Network Lab.
4. 윈도우 크기
• 수신 프로세스에 의해 제어• 4.2BSD : 2,048 BYTE • 4.3BSD : 4,096 BYTE• SunOS 4.1.3, BSD/386,
SVR4 : 4,096 BYTE• Solaris 2.2, 4.4BSD,
AIX3.2 :8192 ~ 16,384 BYTE
15Computer Network Lab.
5. PUSH 플래그
• 버퍼에 저장된 데이터가 MSS 보다도 작아도 TCP 는 데이터를 전송
• 수신측에서도 이 데이터를 신속하게 응용 프로세스에게 전달
• 오늘날에는 사용하지 않는다 .
16Computer Network Lab.
6. 저속출발
• 다른 LAN 상의 호스트간 데이터 전송시
• 또다른 하나의 윈도우가 필요 : 밀집 윈도우
• 밀집 윈도우는 송신자에 의한 흐름 제어
• 밀집윈도우는 기하급수적으로 증가
17Computer Network Lab.
sun.1118 vangogh .discard
1
2
3
4
5
6
7
8
9
10
11
12
13
ack 2, win 8192
14
15
16
17
18
cwnd = 5
cwnd = 1
cwnd = 2
cwnd = 3
cwnd = 4
cwnd = 6
0.0
0.716330 (0.7163)
0.716967 (0.0006)
0.717640 (0.0007)
1.466086 (0.7484)
1.466778(0.0007)
1.467425 (0.0006)
1.947350 (0.0006)
1.946065 (0.4786)
1.946709 (0.0006)
2.576084 (0.6287)
2.576294 (0.0002)
2.576841 (0.0005)
2.906014 (0.3292)
3.085978 (0.1800)
3.326275 (0.2403)
3.356106 (0.0298)3.356543 (0.0004)
18Computer Network Lab.
7. 대용량 데이터 처리율시간 8 :
수신자
수신자
송신자
수신자
수신자
ack 3ack 2
ack 2 ack 3
ack 3ack 2
ack 2
ack 1
ack 1
ack 1
ack 1수신자
시간 7 :
시간 14 :
송신자
시간 15 :
시간 13 :
시간 6 :
시간 5:
수신자
시간 12 :
시간 11 :
시간 4:
시간 3:
시간 10 :
시간 9 :
송신자
송신자송신자
시간 2:
시간 1:
시간 0:
3
3 21
2
23
3 2
1
1
1
19Computer Network Lab.
시간 24 :
수신자
수신자
송신자
수신자
수신자
ack 9ack 8
ack 8 ack 9
ack 9ack 8
ack 8
ack 4
ack 4
ack 4
ack 4수신자
시간 23 :
시간 30 :
송신자
시간 31 :
시간 29 :
시간 22 :
시간 21:
수신자
시간 28 :
시간 27 :
시간 20:
시간 19:
시간 26 :
시간 25 :
송신자
송신자송신자
시간 18:
시간 17:
시간 16: 4
ack3송신자
45
456
ack 7송신자
ack 5 ack 6
송신자ack 6 ack 7
송신자송신자
ack 7
수신자
수신자수신자
ack 10
송신자
송신자
송신자
송신자
수신자수신자
송신자
ack 10 ack 11수신자
ack 5 ack 6 ack7
수신자수신자
ack 5 ack 6
ack 5
수신자수신자
8
89
8910
11 10 9 8
9101112
4567
567
10111213
11121314
67
7
12131415
20Computer Network Lab.
대역폭 - 지연 산출
• 파이프 용량 ( 비트 ) = 대역폭 ( 비트 / 초 ) x 왕복시간 ( 초 )
• 문제- 미국지역 (RTT 는 약 60ms) 을 연결하고 있는 T1 전화회선 (1,544,000 비트 / 초 ) 의 대역폭 - 지연 산출은 ?
• 해답 - 11,580byte = T1(1,544 비트 / 초 ) x 0.06( 초 )
21Computer Network Lab.
대역폭 - 지연 산출 ( 계속 )
2배의 RRT
RRT
1 2 3 4
1 2 3 4 5 6 7 8
RRT
4321
4321
• RTT 와 파이프용량 관계
• 대역폭과 파이프용량 관계
22Computer Network Lab.
밀집 (Congestion)
송신자
송신자
수신자라우터 R1
라우터 R2
라우터 R3
라우터 R4ack 3 ack 5ack 4 ack 6
20 19 18 17 16 15병목현상
14 13 12 11
10 9
ack 1 ack 2 ack 7 ack 8
수신자
• 큰파이프에서 작은 파이프로 보내질때 발생
23Computer Network Lab.
긴급모드
• 일반 데이터 스트림에 긴급 데이터를 보내는 것
- telnet, rlogin 으로서 대화식 사용자가 인터럽트 키를 눌렀을때 (26 장 )
- ftp 로서 인터럽트 키가 파일 전송을 중지시킬때 (27 장 )
24Computer Network Lab.
긴급모드 ( 계속 )
15 16
20 바이트
0 31
16 비트 발신지 포트 번호 16 비트 목적지 포트 번호
32 비트 순서 번호
4비트 헤더 길이
32 비트 확인 응답 번호
예약됨(6 비트 )
URG
ACK
PSH
RST
SYN
FIN
16 비트 윈도우 길이
16 비트 TCP 검사합
옵션 ( 만약 있다면 )
데이터 ( 만약 있다면 )
16 비트 긴급 포인트
25Computer Network Lab.
긴급모드 ( 계속 )
sun % sock -v -i -n6 -S8192 -U5 bsdi 5555SO_SNDBUF = 8192TCP_MAXSEG = 1024wrote 1024 byteswrote 1024 byteswrote 1024 byteswrote 1024 byteswrote 1 bytes of urgent datawrote 1024 byteswrote 1024 bytes
26Computer Network Lab.
긴급모드 ( 계속 )
1 sun.1035 > bsdi.5555: P 1:1025(1024) ack 1 win 40962 sun.1035 > bsdi.5555: P 1025:2049(1024) ack 1 win 40963 sun.1035 > bsdi.5555: P 2049:3073(1024) ack 1 win 40964 bsdi.5555 > sun.1305: . ack 3073 win 10245 sun.1035 > bsdi.5555: P 3073:4097(1024) ack 1 win 4096
6 sun.1035 > bsdi.5555: . ack 1 win 4096 urg 40987 sun.1035 > bsdi.5555: . ack 1 win 4096 urg 40988 sun.1035 > bsdi.5555: . ack 1 win 4096 urg 40989 sun.1035 > bsdi.5555: . ack 1 win 4096 urg 409810 sun.1035 > bsdi.5555: . ack 1 win 4096 urg 4098
11 bsdi.5555 > sun.1305: . ack 4097 win 012 sun.1305 > bsdi.5555: . ack 1 win 4096 urg 4098
13 bsdi.5555 > sun.1305: . ack 4097 win 204814 sun.1305 > bsdi.55555: . 4097:5121(1024) ack 1 win 4096
urg 409815 sun.1305 > bsdi.55555: . 5121:6145(1024) ack 1 win 409616 bsdi.5555 > sun.1305: . ack 4097 win 4096
긴급모드로 들어갈때
마지막 2 개의 세그먼트를 쓴 후
종단의 연결을 종료할때
4 번째줄의 ACK 에 대한
수신에 의해 생성
27Computer Network Lab.
긴급포인트
쓰기 쓰기 쓰기 쓰기 쓰기 쓰기
순서 번호 #
세그먼트 세그먼트 세그먼트 세그먼트 세그먼트 세그먼트
1 1024 1025 2048 2049 3072 3073 4096 4097 4098 5121 5122 6145
긴급모드 ( 계속 )
Recommended