rwnd : 리시브 윈도우 값을 리시버가 결정함
소켓은: 어플리케이션이 네트워크 서비스를 이용하기 위한 통로
버퍼중 센더가 보낸 데이터를 저장할수있는 공간을 rwnd라고함
센더는 리시브 윈도우값을 받은 이후에 애크를 받기 전까지 리시브 윈도우 사이즈 만큼만 최대한 보내는것
예를들어 301~400 ....해서 1000까지 보내면 LBS는 1000이되고 LBA(LastByteAcked)는 300이 되는거임
그러면 1000에서 300을뺀 700바이트가 in-flight하다고함 근데 이것이 rwnd보다 크면 안된다는 뜻임.
congetion control(엔드 호스트가 주체가되는 컨제스처 컨트롤)
TCP는 애크가 안오면(보낸 세그먼트가 로스가되거나, 애크가 에러가 발생하는것) 컨제스처라고 생각함
컨제스천이 발생하면 버퍼가 꽉차서 로스가 발생하여서 컨제스천이 발생한다고 생각하심. 딱 이정도로만 정리!
여기서 이 윈도우 사이즈는 리시브 윈도우 사이즈임
애크넘버부터 시작해서 윈도우 사이즈만큼 한번에 받을수있다
애크넘버가 301이고 윈도우 사이즈가 700이면 1000번바이트까지 받을수있음
'Computer_logic' 카테고리의 다른 글
Mealy & Moore VHDL code (0) | 2023.04.05 |
---|---|
Mealy FSM & Moore FSM (0) | 2023.04.05 |
TCP Congestion control (0) | 2022.11.09 |
TCP에러컨트롤 (0) | 2022.11.09 |
propagation delay & transmission delay (0) | 2022.11.08 |