본문 바로가기
네트워크

TCP

by kcj3054 2021. 10. 17.

특징

  • point - to - point -> 소켓하나와 소켓하나의 전송을 책임진다

  • reliable, in -order -> 유실되지 않도록 가게한다, 순서대로보낸다

  • pipelined에서 -> sender window buffer는 센더에서 윈도우 크기만큼 쏟아부울 크기, 유실 된 것이 있으면 재전송하기위해서 가지고있다.. (파이프라인 방식은 데이터가 하나씩 들어오는 것이 아니라 몇십개씩 쏟아지는 방식이다)

  • full duplex data -> 데이터가 양방향으로 통신한다

  • tcp에는 timer가 있어서 유실되었으면 반응한다. timer시간에 따라서 어떤 패킷이 유실 되었는지 파악이 가능하다, rtt(round to time)로 시간을 계산한다.

  • 버퍼에 담긴 패킷들이 '언제 올라가고', '언제 내려가는가?'를 담당하는데 read하면 올라가고, write하면 내려간다.

TCP의 혼잡제어

  • condition window는 현재 네트워크가 받아 들일 수 있는 양을 뜻한다.

  • congestion이 언제 발생하는가? 패킷이 유실되었으면 재전송을 해야해서 발생할 수도 있다.

  • window 사이즈는 상대방 recvWindow 사이즈와, 현재 condition window사이즈 중 작은 것으로 해야한다 그래야 어떤 제약에도 걸리지 않아서..

TCP Segment

TCP segment의 header 부분과 data부분이있다 data부분은 application부분의 메시지 정보를 담아있는 데이터이다

header부분이 매우 중요하다

출처 : http://www.ktword.co.kr/test/view/view.php?m_temp1=1889

tcp에서 ACK10은 9번까지 잘 받았으니 10번을 돌라는 의미이다, go back n에서 의미는 조금 다르다.