본문 바로가기

TIL

TCP 송/수신 원리 - 전 편에 이어서

반응형

 

TCP의 전송 효율성을 최대화 하기 위한 방법

  1. 윈도우 크기 조정(Window Scaling)
    TCP는 윈도우 기반 흐름 제어를 사용하여 한 번에 전송할 수 있는 데이터 양을 제어한다. 송신자는 수신자의 윈도우 크기에 따라 데이터를 전송하며, 수신자는 처리할 수 있는 데이터 양을 조절하기 위해 윈도우 크기를 조정한다. 따라서 네트워크 혼잡 상태나 수신자의 처리 능력에 따라 동적으로 데이터 전송량을 조절 할 수 있다.

  2. 지연된 ACK(Delayed ACK)
    수신자가 즉시 ACK를 보내지 않고, 짧은 시간 동안 여러개의 패킷을 수집한 후 하나의 ACK로 응답하여 네트워크 트래픽을 줄이는 방법이다. 네트워크의 부하를 줄이고, 효율적인 대역폭 사용을 가능하게 한다. 하지만 지연 시간이 증가할 수 있으므로 적절한 지연 시간 설정이 중요하다.

  3. Nagle 알고리즘
    소량의 데이터 패킷들을 하나의 큰 패킷으로 모아서 전송하는 방법이다. 작은 패킷들로 인한 오버헤드를 줄이고 전송 효율을 높이는데 도움이 된다. 하지만 실시간성이 중요한 어플리케이션에서는 지연이 문제가 될 수 있다.

  4. 빠른 재전송(Fast Retransmit)
    수신자가 중복된 ACK를 송신자에게 보내면, 송신자가 해당 패킷의 분실을 감지하고 네트워크 지연 없이 즉시 재전송 하는 방법이다. 이를 통해 패킷 손실에 더 빠르게 대응하여 전송 효율을 개선한다.

  5. 선택적 ACK(Selective Acknowledgment)
    수신자가 받은 패킷들 중 특정 segment만 선택적으로 ACK하여, 송신자가 누락된 패킷만을 재전송하도록 하는 기법이다. 데이터 전송 효율을 크게 향상시킬 수 있는 방법으로 TCP의 신뢰성 있는 데이터 전송과 네트워크 효율성을 동시에 보장하기 위한 방법이다. 어떤 데이터 segment가 성공적으로 수신되었는지 명시하고 송신자는 누락된 segment만 재전송 할 수 있다. 
반응형

'TIL' 카테고리의 다른 글

HTTP - 로그인 상태 판단  (1) 2024.03.05
TCP/IP - OSI 7Layers  (0) 2024.03.01
TCP 송/수신 원리  (1) 2024.02.28
면접 준비 14 - Java의 Exception?  (0) 2023.08.01
면접 준비 13 - JPA N+1 문제 원인과 해결방안  (0) 2023.08.01