Principles of congestion control (2)

이태곤·2023년 10월 30일
0

컴퓨터망

목록 보기
16/32
post-thumbnail

1. TCP CUBIC

  • Congestion 발생시에 cwnd를 감소시키고 해당 사이즈를 선형적으로 증가시키는 것이 아닌, curve(곡선) 모양을 따라서 사이즈를 증가시킨다.
    • congestion이 발생하면 cwnd를 급격하게 증가
      → 네트워크 대역폭을 더 효과적으로 활용할 수 있어, 데이터 전송 속도가 빠르게 증가하고 네트워크 성능을 최적화할 수 있다.
    • congestion이 발생한 부분에서는 cwnd가 linear 보다 느리게 증가하여 최적의 높은 rate을오래 유지할 수 있게 된다.
      → 최적의 대역폭을 오래 활용할 수 있으므로 성능↑

2. Delay-based congestion control

  • RTT를 기반으로 congestion을 탐지 및 제어하는 기법
    • 혼잡이 발생 전의 이상적인 RTT을 구해놓고 매 데이터 전송마다 RTT를 측정하여 이상적 RTT와 비교한다.
      • 현재 측정 RTT가 이상적인 RTT 값과 유사: congestion이 발생하지 않았으므로, cwnd를 linear하게 증가
      • 현재 측정 RTT가 이상적인 RTT 값보다 현저하게 낮다면: congestion 발생을 간주하고 cwnd를 감소

3. Explicit Congestion Notification (ECN)

  • 네트워크 라우터의 도움을 받아 혼잡을 감지하고 제어하는 메커니즘
    1. IP 헤더의 ECN 필드: IP 패킷 헤더의 ECN 필드가 '10' 또는 '01'로 설정되어 있으면 ECN을 지원한다.
      네트워크 라우터가 혼잡을 감지하면 ECN 필드를 '11'로 수정하여 데이터 패킷에 이 정보를 표시한다.
    2. 수신자: 수신자는 해당 패킷 헤더의 ECN 필드 값을 확인하고 혼잡이 발생하고 있다는 것을 인지한다.
      그런 다음 TCP 헤더의 ECE 필드를 1로 설정하여 송신자에게 혼잡 발생을 송신자에게 알린다.
    3. 송신자: 송신자는 수신자의 메시지를 받고 혼잡 제어 알고리즘을 통해 데이터 전송량을 감소시킨다.

4. TCP fairness

  • 만약 k개의 TCP 세션이 R의 대역폭을 공유하고 있을 때, 각각의 TCP 세션은 k/R 만큼의 대역폭을 공평하게 나누어 사용해야 한다.

    • 검정색 점선: connection 1, 2가 대역폭 R을 동일하게 나누어 사용하는 경우 수렴양
    • 파란 선: 대역폭 R
      → 파란 선보다 위에 존재하는 경우 congestion 발생
    • 빨간 점: connection 1이 connection 2에 비해 더 많은 대역폭을 사용하고 있다.
      • 해당 상태로 cwnd를 증가시키다가 파란 선을 넘게 되면 cwnd를 절반으로 감소시킨다.
      • 해당 과정을 반복하면 검은 점선에 수렴하는, 대역폭을 동일하게 나누어 갖는 상태가 된다.
  • fairness index: 여러 TCP 연결 사이에서 대역폭을 얼마나 공평하게 분배하는지를 나타내는 지표
    → 만약 모든 long-lived TCP 연결이 bottleneck router에서 rate를 동일한 비율로 차지한다면, fairness index는 1에 가까워진다.

  • TCP Fairness

    • UDP: UDP와 같이 혼잡제어를 제어하지 않는 프로토콜에서는 공평성이 지켜지기 어렵다.
    • Multi-TCP: 하나의 프로세스가 여러 개의 TCP connection을 가지면, 해당 프로세스가 더 많은 대역폭을 할당받을 수 있다.
      • 만약 100개의 프로세스가 1개의 연결을 가지고 다른 하나의 프로세스가 100개를 열면 100/200 절반을 하나의 프로세스가 할당 받게 된다. → 공평 하지 않음

5. Evolution of transport-layer functionality

  • HTTP/3: HTTP/1.1 및 HTTP/2와는 다르게 QUIC 프로토콜을 기반으로 동작한다.

    • QUIC: UDP 위에서 동작하며, QUIC은 혼잡 제어 및 데이터 전송을 관리하며 한 번의 handshaking으로 강력한 보안 기능을 가진 연결을 설정할 수 있다.
  • 무선 네트워크는 유선 네트워크에 비해서, 노이즈에 취약하다.

    • 무선 네트워크에서 노이즈 등으로 인한 패킷 손실 및 손상인데 이를 혼잡이 발생했다고 오인할 수 있다.
      → 무선 네트워크의 특성에 맞는 TCP 변형이 필요하다.

0개의 댓글