7.pdf

스크린샷 2022-09-11 오전 10.38.45.png

A: Sender, B:Receiver

read를 하면 rec buf에서 data가 올라가는 것이다.

Recv buf의 크기만큼(빈공간 만큼) Sender가 보내주는 것을 Flow control이라고 한다.

Header에 RecvBuffer라는 공간의 필드가 있다. 이 부분이 얼마만큼 빈공간이 있는지를 알려주는 것이다.

Flow control은 매우 중요한 기능중 하나임.

Flow control은 보내는 양? 보내는 속도? 어떤 것을 조절하는 것인가.>> 속도를 조절하는 것임. 1초동안 얼마의 데이터를 보낼 것인가 에 대한 답이므로

-.Sender에서는 보낼 Data가 있지만 리시버에서 계속 버퍼가 꽉차있다고 한다면, Sender는 주기적으로 리시버의 버퍼 상태를 체크하기 위해 빈공간의 데이터라도 그냥 보내서 ack를 확인한다.(버퍼의 크기 확인)

스크린샷 2022-09-11 오전 10.51.29.png

SYNbit가 평소에는 0인데, TCP Connection을 열고자 할때 1이 된다. 처음에는 TCP Connection을 여는 것과, 상대방에게 나의 Seq No를 알려준다.

3번째는 실제 데이터가 들어간다.

스크린샷 2022-09-11 오전 11.03.23.png