전체 글26 3-4-2. TCP : Connection-oriented transport(3) Flow Control receiver의 buffer에서 일어나는 일이기 때문에 receiver 입장에서 보면 된다. TCP는 IP로부터 받은 데이터를 application 계층에 올려보내기 전에 receiver buffer에 일단 저장application 계층은 그 transport 계층의 버퍼에서 읽어감=> application 계층이 읽어가는 속도보다 transport 계층 buffer에 들어오는 속도가 빠르면 overflow 발생=> flow control을 통해 해결 TCP socket receiving buffer는 운영체제가 지정(보통 4096 bytes)receiver가 sender에게 ACK을 보낼 때, ACK의 receive window에 이 buffer의 용량(rwnd)을 적어서.. 2024. 10. 21. 3-4-2. TCP : Connection-oriented transport(2) TCP reliable data transfer(rdt) rdt service 제공- pipelined segments- cumulated acks- single retransmission timer per connection(socket) : 아직 ack 못 받은 oldest segment(첫 번째 노란색)에 맞춰 timer 설정 retransmission이 진행되는 경우1. timeout 발생했을 때2. 3 duplicate acks(fast retransmission) 발생했을 때: 1번의 허점 보완하기 위해 사용 => 뒤에서 자세히 다룰 예정 TCP sender측 sender의 transport 계층에서 일어나는 event에는 다음 세 가지가 있다. SendBase와 NextSeqNum라.. 2024. 10. 21. 3-4-2. TCP : Connection-oriented transport(1) TCP overview - point-to-point: 1 sender 1 receiver- full duplex data: 하나의 connection 하에서 data가 senderreceiver 오감- connection-oriented: handshaking(control message 전달)- pipelining(window size는 congestion과 flow control 고려해서 설정)- flow control : receiver overwhelming 막기 위해- congestion control : network overwhelming 막기 위해- reliable, in-order byte stream- cumulative ACKs TCP Segment Structure 크기부터 UD.. 2024. 10. 21. 3-4-1. TCP: Principles of reliable data transfer 이제 TCP 프로토콜을 자세히 살펴볼 거다. 그 전에 TCP에게 요구되는 reliable한 data transfer란 무엇인지 알아볼 것이다. 이상적인 data transfer은 다음과 같이 application의 message가 transport 계층과 network 계층을 통해 loss가 발생하지 않고 잘 전달되는 것이다. 하지만 현실에서는 당연히 loss가 발생할 수 있다.그래서 중간에 있는 transport 계층에서 loss가 발생하지 않도록 무언가를 해줘야 한다. 그래서 transport계층에서 요구되는 reliable data transfer에는 다음과 같은 것들이 있다. MechanismUse, CommentsChecksumbit error을 detect하기 위해 사용Acknowled.. 2024. 10. 21. 이전 1 2 3 4 ··· 7 다음