[컴퓨터 네트워크] Congestoin control

신현식·2022년 10월 16일
0

컴퓨터 네트워크

목록 보기
13/34
post-custom-banner

✔ 혼잡이 발생하면 혼잡이 일어나지 않게 하거나 혼잡이 발생했을때 발생하는 환경을 해결하는 등 2가지 방법이 있다. 인터넷은 best-effort서비스이기 때문에 이것이 가장 큰 문제가 된다.

📌Traffic descriptor

  • data flow를 보여주는 값으로 단위 시간당 왔다갔다하는 트래픽의 양을 보여준다.

  • Average data rate(=amount of date/time): 평균 트래픽 전송속도

  • Peak data rate: 트래픽이 제일 빠르게 왔다갔다하는 속도

  • Maximum Burst size: 제일 빠르게 왔다갔다하는 것이 얼마나 오래 지속되는지 나타내는 지표

  • Effective Bandwidth: 내가 영상을 제대로 보기위해 필요한 대역폭을 의미

  • Constant Bit Rate(CBR) traffic: data rate가 시간에 따라 변하지 않는 것이다. 쉽게 예측 가능하다. 만약 64kbps의 사람들이 많이 들어올때 보낼 수 있는 최대 bps가 1Mbps라고 하면 최대 15명정도의 사람들을 받아야지 모든 사람들이 말을 해도 원활하게 통신이 된다.

  • Variable bit rate traffic: data rate가 시간에 따라 변화하는 것이다. 이것은 누가 언제 말할지를 모르기 때문에 CBR보다 다루기가 더 어렵다. 어떤 사람이 20kbps~200kbps로 통신을 한다고 했을때 최대로 받을 수 있는 사람의 수가 5명을 받아야 할지, 50명을 받아야 할지 애매하기 때문이다.

  • Bursty data traffic: 엄천 급격하게 data rate가 변화하는 것을 의미한다. 혼잡이 발생할 수 있기 때문에 이것을 해결할 무언가가 필요하다.

📌Congestion

  • 네트워크로 들어오는 트래픽이 네트워크가 처리할수 있는 트래픽보다 더 많으면 congestion이 발생한다.

    💡 congestion의 발생이유

    • 시스템에서 waiting이 있기 때문에 있어서 발생한다. 라우터나 스위치는 버퍼가 있기 때문에 incoming buffer에서는 CPU의 처리속도보다 들어오는 데이터의 속도가 더 빠를때 overflow가 발생할수 있다. outgoing buffer에서는 CPU의 처리속도는 빠르지만 데이터가 빠져나가는 속도(interface의 속도)가 느릴때 또한 발생할 수 있다.

📌Congestion Control

  • congestion control은 혼잡이 일어나지 않게 하거나 혼잡이 일어나면 혼잡이 없어지도록 액션을 취하는 것을 의미한다.
    Open-loop방식은 preventive한 방식이고 Clossed-loop방식은 removal or reactive한 방식이다.

    💡 Closed-loop에서의 Backpressure 방식

    • 만약 congestion이 발생할 것 같으면 in->out으로 데이터를 옮기지 않고 대기한다. 가만히 있으면 앞 라우터에 의해 in으로 들어오는 것들이 버퍼가 계속 차 overflow가 발생할것 같으니 앞 라우터에게 데이터를 보내지 말라고 한다. 이런식으로 순차적으로 뒤로 알려져 결국 source에서 데이터의 전송을 멈추게 한다. 이 방식은 IP에서는 사용하지 못하는데 그 이유는 connectionless이기 때문에 IP 패킷만 보면 누가 보냈는지 알 수 없기때문에 사용하지 못한다.

    💡 Closed-loop에서의 Choke packet 방식

    • cogestion(overflow를 혼잡이라고 정의함)이 발생하면 그 라우터가 source에게 직접 choke packet을 보내 내가 지금 congestion이 발생하였으니 데이터를 조금만 보내라고 말하는 것이다. 이것은 IP에서도 사용가능하다. 이 방식의 한가지 예시가 ICMP에서 source quench에 해당한다.
profile
전공 소개
post-custom-banner

0개의 댓글