본문 바로가기

네트워크36

3-5-1. Principles of congestion control TCP의 두 번째 부가적 기능 congestion control.. congestion control은 네트워크 혼잡도에 어떻게 대응하냐는 얘기다. flow control은 하나의 sender와 하나의 receiver 간 문제에 관한 것이라면congestion control은 너무 많은 sender가 receiver로 접근하는 상황에 관한 문제다.  Congestion scenario Host A는 Host C로, Host B는 Host D로 보내는 상황이다.두 transmission은 router들의 buffer을 공유하고 있다. 하지만 buffer의 크기는 한정적이므로 loss가 발생할 가능성이 있다.예컨대 Host A에서 보낸 것 때문에 Host B가 보낸 것이 들어갈 큐의 자리가 없어 loss가 .. 2024. 11. 5.
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.