자고일어나니코딩왕
자일코의 CODING
자고일어나니코딩왕
전체 방문자
오늘
어제
  • 분류 전체보기 (64)
    • [Linux]리눅스 (1)
    • [NETWORK]네트워크 (17)
    • [PS] 알고리즘문제풀이 (16)
    • [SQL] (13)
    • [ALGORITHM]알고리즘개념 (9)
    • [DATA_STRUCTURE]자료구조 (1)
    • [PYTHON]파이썬 (0)
    • [정보처리기사] (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ssh
  • virtualbox
  • 리눅스 #파일시스템 #디렉토리
  • BIOS #MBR #LILO #Kernel #init
  • 리눅스
  • 원격접속

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
자고일어나니코딩왕

자일코의 CODING

[NETWORK]#6-5. TCP RTT,TIMEOUT
[NETWORK]네트워크

[NETWORK]#6-5. TCP RTT,TIMEOUT

2020. 5. 19. 02:10

TCP round trip time , timeout

  • Q : how to set TCP timeout vale?(tcp timeout을 설정하는 방법은 무엇인가?)

  • A : round trip time(RTT)보다 길게 설정한다.

-tcp 의 timeout이 너무 짧다면 ? : premature 한 timeout이 설정되게 되고 불필요한 재전송이 많아진다.

-tcp의 timeout이 너무 길다면 ? : 세그먼트 손실에대한 리엑션이 너무 느리다.

-RTT를 츨정하는 방법은?

  • sampleRTT : 세그먼트를 송신하고 ACK를 받기까지 걸린 시간 (재전송은 무시한다.)

  • sampleRTT는 매우 다양하기때문에 EstimateRTT를 따른다.

-Q : Timeout 기간은 상대적으로 길다. Segment가 손실된다면 Timeout이 매우 길어질 수 있다. TCP는 NAK를 사용하지 않는다. 어떻게 이 문제를 해결할 수 있을까?

  • A : Duplicate ACK를 사용한다.

  • 발신자가 이미 받은 ACK를 다시 받는 경우

  • 만약 Tcp receiver가 예상되는 sequence number보다 큰 수를 받는다면 ACK를 받은 마지막 데이터의 바이트에 해당되게 다시전송한다.

TCP ACK Generation

  • 다음 세그먼트가 존재한다면 매번 ACK를 보낼 필요는 없다.

  • Ack delay 를 일부러 준다.

  • 순서가 바뀐다면 ACK 재전송을 통해 원래 순서를 받을 수 있다.

  • Event - 예상된 sequence number가 순차적으로 전달된다 모든 예상된 sequence number의 데이터들로부터는 이미 모두 ack를 전달 받았다.

    • TCP Receiver Action - 지연된 ACK, 올바른 segment의 도착을 위해서 500msec를 기다린다.만약 다음 순서에 맞는 ACK가 도착하지 않는다면 ACK를 보낸다.

  • Event - 예상된 sequence number가 순차적으로 전달된다. ACK 전송을기다리는 순서에 맞는 세그먼트가 있다.

    • TCP Receiver Action - 2개의 순서가 맞는 세그먼트들을 ACK 하기위해서 누적된 ACK 를 보낸다.

  • Event - 수신된 segment가 격차를 완벽하게 혹은 부분적으로 받는다.

    • TCP Receiver Action - 즉시 ACK를 보낸다.세그먼트의 격차가 최솟값에서 출발

  • Event - 예상된 sequence number보다 높은 순서에 어긋난 sequence number가 들어온다.

    • TCP Receiver Action - 즉시 duplicate ACK를 보낸다. 바로 다음에 와야했던 sequence number로(두값의 차이의 최솟값)

'[NETWORK]네트워크' 카테고리의 다른 글

[NETWORK]#6-4.TCP ARQ(STOP AND WAIT,GOBACKN)  (0) 2020.05.18
[NETWORK]#12.DHCP  (0) 2020.05.18
[NETWORK]#11.ICMP  (0) 2020.05.18
[NETWORK]#10.NAT  (0) 2020.05.18
[NETWORK]#9. 서킷스위칭(circuit switching)  (0) 2020.05.18
    '[NETWORK]네트워크' 카테고리의 다른 글
    • [NETWORK]#6-4.TCP ARQ(STOP AND WAIT,GOBACKN)
    • [NETWORK]#12.DHCP
    • [NETWORK]#11.ICMP
    • [NETWORK]#10.NAT
    자고일어나니코딩왕
    자고일어나니코딩왕
    열코!

    티스토리툴바