컴퓨터 네트워크

TIL 240930 (흐름제어와 혼잡제어)

j-coder 2024. 9. 30. 21:17

흐름제어와 혼잡제어는 TCP 통신에 관한 두가지 기법이다.

TCP 통신에는 4가지 문제점이 존재한다.

  1. packet이 손실될 수 있다.
  2. packet의 순서가 바뀔수 있다.
  3. 네트워크가 혼잡하다. (Congestion)
  4. 수신자가 과부하되어 데이터를 받을 수 없게 된다.

흐름제어

송신과 수신 간의 데이터 처리 속도 차이를 해결하기 위한 것이다.

송신 쪽 전송량이 수신측 처리량보다 클 경우 패킷이 전송량을 제어해줘야 한다.

 

흐름제어에는 두가지 방식이 있다.

1. Stop and Wait (정지 - 대기)

먼저 전송한 패킷에 대한 응답을 받아야  그 다음 패킷을 전송할 수 있다.

 

2. Sliding Window

 

수신 측에서 설정한 윈도우 크기만큼 송신 측에서 응답 없이 세그먼트(데이터 작은 단위)를 전송할 수 있게
해서 데이터 흐름을 동적으로 조절한다.

 

혼잡제어

네트워크 혼잡을 피하기 위해 송신 쪽에서 보내는 데이터의 전송 속도를 제어한다.

송신 쪽 데이터 전달과 네트워크 데이터 처리 속도 차이를 해결하기 위한 기법이다.

  1. AIMD
    처음에 패킷을 하나씩 보내고 도착하면 윈도우크기를 1씩 증가시키며 전송하는 방법이다.
  2. 느린 시작
    방식은 AIMD와 동일하나 전송속도가 지수 함수 꼴로 증가하고 혼잡 현상이 발생하면 윈도우크기를 1로 떨어뜨린다.
  3. 빠른 재전송
    문제가 되는 순서의 패킷을 재전송 해줄 수 있다.
  4. 빠른 회복
    혼잡 상태가 되면 윈도우크기를 1로 줄이지 않고 반으로 줄이고 선형증가시킨다.

 

 

 

흐름 제어 : 송신측과 수신측 간의 데이터 처리 속도 차이를 조절해 데이터 손실을 방지하는 것

혼잡 제어 : 네트워크의 혼잡을 피하기 위해 송신측의 전송 속도를 조절하는 것

 

 

 

 

 

 

 

 

 

출처

 

https://gyoogle.dev/blog/computer-science/network/%ED%9D%90%EB%A6%84%EC%A0%9C%EC%96%B4%20&%20%ED%98%BC%EC%9E%A1%EC%A0%9C%EC%96%B4.html

 

TCP/IP (흐름제어/혼잡제어) | 👨🏻‍💻 Tech Interview

최종 수정 : 12/17/2022, 7:23:59 AM

gyoogle.dev

 

 

https://velog.io/@chullll/%ED%9D%90%EB%A6%84%EC%A0%9C%EC%96%B4-%ED%98%BC%EC%9E%A1%EC%A0%9C%EC%96%B4

 

흐름제어 & 혼잡제어

흐름제어 송신측과 수신측 사이의 데이터 처리 속도 차이를 해결하기 위한 기법이다 송신 측의 전송량 > 수신측의 처리량인 경우, 패킷이 수신 측의 큐를 넘어 손실될 수 있어서 송신측 패킷 전

velog.io

 

 

'컴퓨터 네트워크' 카테고리의 다른 글

컴퓨터의 메모리  (0) 2024.10.14
컴퓨터 CPU  (0) 2024.10.14
OSI 응용계층  (0) 2024.09.25
TIL 240924 (OSI 전송 계층)  (0) 2024.09.24
OSI 데이터링크 계층  (0) 2024.09.04