본문 바로가기
네트워크

네트워크 정리 9. 네트워크 계층의 혼잡(Congestion), 혼잡 제어(Congestion Control) 정리

by 호놀롤루 2022. 4. 12.

1. 개요

네트워크 계층의 혼잡이란 네트워크에서 처리 가능한 양을 넘어선 통신이 이루어지며, 서버가 다운되거나

제대로 전송이 되지 않는 상태를 말한다.

 

혼잡 제어란 혼잡이 발생하기 전에 그것을 방지하거나 혼잡이 발생한 후, 그것을 없애주는 기술을 말한다.

 

 

2. 설명

2-1. 종류

혼잡 제어 기술에는 Open Look, Closed Look 2가지 종류가 있다.

Open Look은 혼잡이 일어나기 전에 방지하는 기술

Closed Lokk은 혼잡이 일어난 경우,해결하는 방법이다.

 

2-2. Open Look 혼잡 제어 방식

여러 종류의 방법이 있지만 하나씩 알아보면

 

재전송 정책 (Retransmission Policy)

  • 송신자가 송신한 패킷이 손실되거나 훼손된 것을 인식한 경우, 패킷 재전송은 불가피하다.
  • 일반적으로 재전송은 네트워크 내의 혼잡을 증가시키는 경향이 있지만 좋은 재전송 정책은 혼잡을
    방지할 수 있다.
  • 재전송 정책과 재전송 타이머는 혼잡을 방지하면서 가장 효율적으로 동작하도록 설계해야 한다.

예를 들어서, 패킷 하나가 잘못됐다고 재전송 메세지를 보내게 되면, 재전송 메세지의 수가 많아지고 혼잡이

일어나기 쉬워진다.

재전송 정책 : 패킷 몇 개 이상이 문제가 있을 때, 재전송 할 것인가를 정하는 것

재전송 타이머 : 어느정도 시간동안 패킷이 도착하지 않으면 재전송할 것인가를 정하는 타이머

 

 

윈도우 정책 (Window Policy)

  • 윈도우란, 패킷의 경우, 하나하나 처리하기엔 너무 갯수가 많기도 하고, 복잡하기에 일정 갯수를 정해서
    한 덩어리로 보기도 하는데, 그 덩어리를 윈도우라 부른다.
  • 즉 윈도우 사이즈가 클수록 에러 메세지의 수는 줄어든다.
  • Go Back N : 한번에 4개를 보냈는데, 답을 못 받으면 4개를 다시 보내는 방식, 10개면 10개를 다시 보냄
  • Selective Repeat : Go Back N 방식은 낭비가 심하니, 살릴 건 살리고, 에러가 일어난 부분만 선택해서 전송

 

확인 응답 정책 (Acknowledgement Policy)

  • 수신자에 의한 확인 응답 정책도 혼잡에 영향을 미친다.
  • 수신자가 수신한 모든 패킷을 확인 응답하지 않으면 송신자가 천천히 패킷을 보내도록 만들고
    이는 혼잡을 줄이게 되는 효과
    - 수신자는 전송할 패킷이 있거나 특정 타이머가 만료되면 확인 응답을 보낸다.
    - 수신자는 한번에 N개의 패킷만 확인 응답할 수 있다.

 

폐기 정책 (Discarding Policy)

  • 라우터에서 좋은 폐기 정책은 혼잡을 방지하면서 전송되는 것에 영향을 주지 않는 방법이다.
  • 오디오 전송 시, 혼잡이 발생하려고 할 때, 덜 민감한 패킷(인간이 못 알아듣는 음역대 패킷)을
    폐기하도록 정책이 수행되면 오디오의 질은 유지되면서 혼잡은 방지하거나 낮출 수 있다.

 

수락 정책 (Admission Policy)

  • 서비스 품질(QoS)기술인 수락 정책은 가상회선 네트워크에서 혼잡을 방지할 수 있다.
  • 교환기는 플로우를 네트워크로 허가하기 전에 플로우가 요구하는 QoS를 검사한다. (일정 bps 밑이면
    폐기)
  • 네트워크 상에 혼잡이 있거나 혼잡 발생이 예상될 경우, 라우터는 가상회선 연결 설정을 거부할 수 있다.

 

 

2-3. Closed Loop 혼잡 제어 방식

혼잡이 발생한 뒤 혼잡을 줄이기 위한 기술이다.

여러 프로토콜에서 많은 기술이 사용되고 있다.

 

Back Pressure

  • 수신 노드가 데이터를 전송하는 발신 노드들로부터의 수신을 중단하는 것
  • 이는 발신 노드들을 혼잡에 빠지게 할 수 있다.
  • 발신 노드들도 차례로 데이터의 상위 발신 노드로부터의 데이터 수신을 거부하게 된다.
  • 노드가 데이터의 플로우를 전송하는 노드를 알고 있는 가상회선 네트워크에서만 적용 가능하다.

 

초크 패킷 (Choke Packet)

  • 혼잡을 알리기 위해 노드에서 발신지로 전송되는 특별 패킷
  • Back Pressure 방식과 비교해보면
    - Back Pressure : 경고 메세지가 자신의 상위 라우터로 전달되어 결국 발신지 노드로 도착
    - 초크 패킷 : 혼잡이 발생한 라우터에서 발신지로 직접 전송 (거쳐가는 중간 노드는 경고를 받지 않음)
  • ICMP에서 관찰 가능한 이러한 제어방식의 예
    - 인터넷 상의 가우터가 IP 데이터그램을 처리하지 못할 경우, 패킷 중 일부분을 폐기하고 발신지 호스트에게
    ICMP quench 메세지를 전송하여 혼잡을 알린다.

 

암묵적인 신호 방식 (Implicit Signaling)

  • 암묵적인 신호 방식에서는 혼잡 노드와 발신지 간에 신호를 주고 받지 않는다.
  • 발신지 노드는 다른 증상을 통해 네트워크 상에 혼잡이 있는 것으로 추측 (발신지가 여러 패킷을 보내고
    일정 시간동안 아무런 확인 응답을 수신하지 못하면 네트워크가 혼잡한 것으로 간주한다.)

 

명시적인 신호 방식 (Explicit Signaling)

  • 혼잡을 경험하는 노드는 발신지 또는 목적지 노드에 신호를 명시적으로 보낸다
  • 초크 패킷 방식과 비교
    - 초크 패킷 : 혼잡 제어를 위해 (전용) 개별 패킷을 사용한다.
    - 명시적인 신호 : 데이터를 전송하는 패킷 내에 신호를 포함
  • 명시적인 신호 방식은 순방향 또는 역방향에서 발생한다.

 

댓글