Presentation is loading. Please wait.

Presentation is loading. Please wait.

제 22 장 TCP Persist Timer.

Similar presentations


Presentation on theme: "제 22 장 TCP Persist Timer."— Presentation transcript:

1 제 22 장 TCP Persist Timer

2 Contents Introduction TCP Persist Timer Silly Window Syndrome Summary

3 Introduction Window를 기반으로 한 TCP 흐름 제어 TCP의 Dead Lock 상태
데이터 패킷 전송 시 수신 가능한 Window Size를 지정(Receiver) Window Size가 “0” 이면? 데이터 전송을 중지하고 대기 상태(Sender) TCP의 Dead Lock 상태 Sender/Receiver 모두 대기 상태 데이터 패킷에 대한 Ack 메시지가 분실될 경우 발생 Ack 패킷에 대한 응답확인패킷이 없음

4 TCP Persist Timer 정의 Window Probes 특성
Receiver의 Window Size 증가 여부를 확인하기 위해 일정 간격으로 Sender 측에서 구동하는 Timer Window Size가 0 인 패킷을 수신할 때 동작 Window Probes 특성 Persist Timer 종료 후 Window 증가 여부 확인 패킷을 전송(Window Probing) 1 byte의 데이터 포함 Window Size가 증가 될 때까지 반복(재전송 Timeout과 다른점)

5 TCP Persist Timer 예(1) bsdi % sock -i -s -P

6 TCP Persist Timer 예(2)

7 Spacing of Window Probes
약 5, 6, 12, 24, 48, 60 초 간격으로 전송 TCP는 500ms 타이머에 의존 다음 클럭 주기까지 시간 : 500ms - 응답시간(4ms) Persist Timer 계산 : TCP의 지수 backoff 사용 항상 5~60초 사이에 Timeout LAN Connection의 timeout : 1.5초( 2,4,8 배수로 계속)

8 Silly Window Syndrome 정의 CASE
full-sized segment 대신에 적은 양의 data가 connection을 통해 교환되는 현상 CASE Receiver: 작은 Window를 통지 Sender : 적은 양의 데이터를 송신

9 Avoidance of Silly Window Syndrome
Receiver는 small segment를 통보해서는 안됨. Window가 one-full-sized segment로 증가할 때 통보 Receiver의 buffer space의 1/2로 증가 할 때 통보 Sender는 다음 조건을 만족할 때 data를 전송함. Full-sized segment를 전송할 수 있을 때 Receiver에 의해 통보된 maximum sized window의 1/2 이상을 전송할 수 있을 때 모든 데이터를 전송할 수 있고 Ack를 기대하지 않을 때 Nagle algorithm이 enable 되어 있는 상태가 아닐 때

10 SWS 회피를 위한 데이터 전송 시나리오(1)  sun % sock -i -n6 bsdi 7777
bsdi % sock -i -s -P4 -p2 -r sun.1069 PSH 1:1025(1024) ack 1, win 4096 PSH 1025:2049(1024) ack 1, win 4096 bsdi.7777 PSH 2049:3073(1024) ack 1, win 4096 PSH 3073:4097(1024) ack 1, win 4096 ack 4097, win 0 1 2 3 4 5 4097:4098(1) ack 1, win 4096 6 ack 4098, win 0 7 4098:4099(1) ack 1, win 4096 8 ack 4099, win 0 9 4099:4100(1) ack 1, win 4096 10 ack 4100, win 1533 11 0.0 (0.0020) (0.0017) (0.0016) (0.1649) (4.9815) (0.0185) (4.9813) (0.0187) (4.9812) (0.0188)

11 SWS 회피를 위한 데이터 전송 시나리오(2)  sun.1069 bsdi.7777 12 13 14 15 16 17 18 19
20 21 4100:5124(1024) ack 1, win 4096 ack 5124, win 509 5124:5633(509) ack 1, win 4096 ack 5633, win 0 5633:5634(1) ack 1, win 4096 ack 5634, win 1279 FIN, PSH 5634:6145(511) ack 1, win 4096 ack 6146, win 767 ack 6146, win 2816 FIN 1:1(0) ack 6146, win 4096 ack 2, win 4096 22 sun.1069 bsdi.7777 (0.0017) (0.1983) (4.7815) (0.0185) (4.9809) (0.0191) (0.0015) (0.0026) ( ) ( ) (0.0009)

12 Receiver에 의한 SWS 회피 Event

13 Sender에 의한 SWS 회피 Event

14 Silly Window Syndrome Avoidance
Receiver에 의한 silly window syndrome avoidance 세그먼트 7에서 receiver는 window를 0으로 advertise 함 Receiver는 full-sized segment 혹은 그 buffer의 1/2을 위한 공간을 가지고 있지 않기 때문이다. Sender에 의한 silly window syndrome avoidance 세그먼트 13에서 window size가 509 byte인데 바로 전송하지 않음 Sender는 Persist Timer가 종료된 후 14번 segment에서 509byte를 전송 (window를 계속 open 할 것인가를 확인하기 위해 약 5초간 대기)

15 Summary Window를 기반으로 하는 TCP에서 데이터 흐름 제어를 원활하게 하기 위해 receiver가 zero-sized window를 advertise할 때 set된다. Sender는 retransmission interval을 이용해서 closed window probing을 계속한다. Silly window syndrome 회피는 TCP가 small window를 advertise하거나 small segment를 전송하는 것을 방지한다.


Download ppt "제 22 장 TCP Persist Timer."

Similar presentations


Ads by Google