본문 바로가기

CS(Computer Science)/21) 기초컴퓨터네트워크24

기초컴퓨터네트워크 12 (TCP, pipelined protocol cont) 3. Selective repeat receiver individually acknowledges all correctly received packets : 각각의 패킷에 대해 acknowledge buffers packets(out-of-order 패킷을 버퍼링해놓았다가 안들어온 것이 들어오면 그때 함께 application쪽으로 올려준다.), as needed, for eventual in-order delivery to upper layer sender only resends packets for which ACK not received : sender은 재전송하는 패킷은 ACK을 안받은 것에 대해서만 재전송하면 된다. sender timer for each unACKed packet : 타이머를 .. 2021. 6. 19.
기초컴퓨터네트워크 11 (pipelined protocols continue) Pipelined protocols overview ACK을 받지 못한 상태에서도 여러개의 패킷을 보내고 수신자측에서 ACK가 오는데로 더 데이터를 보내는 것이 성능을 향상시킬 수 있는 방법이다. 이런것을 Pipelined protocol이라고 부른다. 두개다 N개의 패킷을 보내고 수신자로부터 ACK를 받으면 더 많은 패킷을 보낸다. 차이점은 Go-Back-N은 중간에 문제가 생기면 문제가 생긴시점부터 다시 보내는다. Selective Repeat는 문제가 생긴 패킷들만 재전송을 받아서 빈칸을 채워서 application쪽으로 올려주는 방식이다. Go-back-N sender can have up to N unacked packets in pipeline receiver only sends cumulat.. 2021. 6. 19.
기초컴퓨터네트워크 10 ( data transfer, rdt, pipelined protocol ) === principles of reliable data transfe === 1. Principles of reliable data transfer application layer 입장에서는 reliable 하게 보내줄거라고 생각한다. 하지만 실재로 Transport layer에서 unreliable한 것을 reliable하게 만들어야 한다. transport layer의 input, output 측면에서 바라보자 rdt_send() 함수를 호출하여서 데이터를 전달하게 된다. sending side에서 조치를 취하고 udt_send() 가 network layer로 데이터를 전달하게 된다. 데이터가 오면 rdt_rcv() 가 처리하고 receiving side에서 데이터를 처리하고 deliver dat.. 2021. 6. 19.
기초컴퓨터네트워크 09 (ch. 3 : Transport Layer - TCP, UDP) === Transport Layer === 1. transport layer servies provide logical communication between application processes running on different hosts : 서로 다른 호스트에서(기기) 작동중인 application process 사이의 logical communication을 제공한다. transport protocols run in end systems : end system 에서 동작한다. sender side: breaks application messages into segments, passes to network layer : sender는 데이터를 segment 단위로 거기에 header을 붙인다... 2021. 6. 19.