본문 바로가기

네트워크/컴퓨터 네트워크 수업19

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.