Network

    Flow Control이란?

    15-7 Flow Control => 원래대로라면 TCP는 Stop& Wait의 방식으로 구현되는데, 이는 상당히 비효율적이다. 또, 패킷을 여러 번 보낼 수도 있지만, 이는 패킷의 용량이 아깝다. : 그렇기 때문에 한꺼번에 데이터를 많이 보내려고 한다. 보내는 TCP는 상대방이 소비하는 속도에 맞춰 패킷 한번에 rwnd만큼의 데이터를 한꺼번에 전송하게 된다. : 이를 위해서 TCP는 Sliding window라는 기법을 도입하게 된다. 창의 크기를 가변적으로 조절하여 필요에 따라서 창의 크기를 크게(줄일수도 있지만 다루지 않음) 해서 여러 패킷을 논리적인 하나의 패킷으로 묶어 전송하고자 한다. - Window의 크기 결정 => window size는 rwnd와 cwnd 중 더 작은 값을 고른다. -> ..

    Window Size란?

    : TCP에서는 신뢰성 보장을 위해 패킷마다 Sequence 번호를 붙인다. 패킷이 제대로 갔는지를 확인하기 위해 Receiver는 ACK를 보내서 어디까지 받았는지를 응답해준다. => 이렇게 한번 데이터를 보내면 ACK을 받을 때까지 기다리고, ACK이 도착해야만 다음 데이터를 한번 보내는 방식을 Stop & Wait 방식이라고 한다. 이는 TCP의 신뢰성 하나 때문에 택하는 방식으로, 시간이 오래 걸리고 비효율적이다. 이를 트럭 운송업에 비유한다면, 트럭 한대를 인천에서 부산으로 보내고, 빈 트럭이 돌아와야만 다음 트럭을 보내는 프로세스와 유사하다고 볼 수 있다. => 이때, 트럭을 한대씩 보내고 받기 보다는 트럭을 한꺼번에 10대를 보낸다면 약간 더 효율적일 것이다. : 하지만 트럭을 100대, 1..