TCP3 [Computer Networking] Transport Layer : TCP (3) (Transmission Control Protocol) Congestion 한 라우터에 데이터가 몰릴 경우, 자신에게 온 데이터를 모두 처리할 수 없게 된다. 이런 경우 호스트들은 또 다시 재전송을 하게 되고 결국 혼잡만 가중시켜 오버플로우나 데이터 손실을 발생시키게 된다. 이러한 상황을 피하기 위해 송신촉에서 보내는 데이터의 전송 속도를 강제로 줄이게 되는데, 이러한 작업을 혼잡 제어라고 한다. TCP Congestion Control : AIMDAdditive Increase : 패킷 손실이 일어나기 전까지 전송률을 증가시킨다.Multiplicative Decrease : 패킷 손실이 일어난다면 전송률을 반으로 깎는다. 혼잡 제어는 cwnd로 표시되는 혼잡 윈도우(Congestion Window)를 추적한다. 이는 TCP 송신자가 네트워크로 트래픽을.. 2024. 8. 14. [Computer Networking] Transport Layer : TCP (2) (Transmission Control Protocol) TCP flow control (흐름 제어)- 애플리케이션 계층에서 TCP 소켓 수신 버퍼에서 데이터를 읽는 속도가 데이터가 도착하는 것보다 비교적 느리다면, 송신자가 점점 더 많은 데이터를 빠르게 전송함으로 수신 버퍼에 오버플로가 발생할 것이다.- 이처럼 TCP는 송신자가 수신자의 버퍼를 오버플로시키는 것을 방지하기 위해 애플리케이션에게 흐름 제어 서비스를 제공한다. 흐름 제어는 송신자가 보내는 속도와 수신자가 읽는 속도를 일치시키는 서비스다.- TCP는 송신자가 수신 윈도우라는 변수를 유지하여 흐름제어를 제공한다. 수신 윈도우는 수신 측에서 가용한 버퍼 공간이 얼마나 되는지를 송신자에게 알려주는 데 사용된다. TCP는 전이중(full-duplex)이므로 연결의 각 측의 송신자는 별개의 수신 윈도우를 .. 2024. 8. 9. [Computer Networking] Transport Layer : TCP (1) (Transmission Control Protocol) TCP (Transmission Control Protocol)- TCP는 애플리케이션 프로세스가 데이터를 다른 프로세스에게 보내기 전에, 두 프로세스가 서로 '핸드셰이크'를 먼저 해야 하므로 연결지향형이다.- TCP 연결은 전이중 서비스를 제공한다. 만약 호스트 A의 프로세스와 호스트 B의 프로세스 사이에 TCP 연결이 있다면, 애플리케이션 계층 데이터는 B에서 A로 흐르는 동시에 A에서 B로 흐를 수 있다.- TCP 연결은 항상 단일 송신자와 단일 수신자 사이의 점대점이다. 단일 송신 동작으로 한 송신자가 여러 수신자에게 데이터를 전송하는 멀티캐스팅은 TCP에서 불가능하다. TCP Segment Structure- UDP 처럼 헤더는 상위 계층 애플리케이션으로부터 다중화와 역다중화를 하는 데 사용하는.. 2024. 8. 4. 이전 1 다음