[컴퓨터네트워크] TCP의 흐름제어, 혼합제어
[컴퓨터네트워크] TCP의 흐름제어, 혼합제어 TCP 통신은 네트워크 통신에서 신뢰적인 연결방식입니다. TCP 통신을 할 때, 네트워크 트래픽에 대한 흐름제어와 혼합제어를 정리하겠습니다. 흐름제어 : 송신측과 수신측의 데이터 처리 속도 차이를 해결 하기 위한 기법 -> End to End 혼합제어 : 송신층의 데이터 전달과 네트워크의 데이터 처리 속도 차이를 해결 하기 위한 기법 - > 송신측의 데이터는 지역망이나 인터넷으로 연결된 대형 네트워크를 통해 전달된다. 하지만 이러한 네트워크 상의 라우터가 항상 한가로운 상황은 아니다. Flow Control(흐름제어) 수신측이 송신측보다 빠르면 문제없지만, 송신측의 속도가 빠를 경우 문제가 생깁니다. 수신측에서 제한된 저장옹량을 초과한 이후에 도착하는 데이터는 손실 될 수 있으며 만약 손실 된다면 불필요하게 응답과 데이터 전송이 송/수신 측 간에 빈번히 발생합니다. 따라서 이러한 위험을 줄이기 위해 송신 측의 데이터 전송량을 수신측에 따라 조절해야 합니다. 내부 방식으로 Stop and Wait 방식, Sliding Window 방식이 있습니다. Stop and Wait : 매번 전송한 패킷에 대한 확인응답을 받아야만 그 다음 패킷을 전송하는 방법 Sliding Window : 수신측에서 설정한 윈도우 크기만큼 송신측에서 확인응답 없이 세그먼트를 전송할 수 있게 하여 데이터 흐름을 동적으로 조절하는 제어 기법 동작 방식 : 먼저 윈도우에 포함되는 모든 패킷을 전송하고, 그 패킷들의 전달이 확인되는대로 이 윈도우를 옆으로 옮김(Slide)으로써 그 다음 패킷들을 전송 Window : TCP/IP를 사용하는 모든 호스트들은 보내기 위한것과 받기 위한 2개의 Window를 가지고 있습니다. 호스트들은 실제 데이터를 보내기 전에 먼저 앞에서 포스팅했던 "TCP-3-way-handshaking"을 통해 수신컴퓨터의 rece