CS/컴퓨터 네트워크(11)
-
[네트워크] TCP란? | TCP의 특징 | TCP RDT | tcp 3way handshake
TCP란? TCP(Transmission Control Protocol)는 애플리케이션에서 보낸 데이터를 신뢰성 있게 수신 측에 전송을 보장하는 프로토콜이다. 다음과 같은 특징들을 가진다. point-to-point : 하나의 송신 측과 하나의 수신 측이 통신하는 1:1 통신이다. reliable : 신뢰성 있는 데이터 전송을 보장한다. pipelined : TCP 흐름 제어와 혼잡 제어가 window size를 설정한다. full duplex(전이중 통신) : 쌍방향 통신이 가능하다. 즉 데이터를 주고받을 수 있다. connection-oriented : 연결 지향적이다. 송신 측과 수신 측이 데이터를 교환하기 전에 handshaking을 한다. flow control : 흐름 제어를 한다. conge..
2022.06.26 -
[네트워크] pipelined protocols(Go-Back-N, Selective Repeat)이란? | selective repeat 딜레마(dilemma)
pipelined protocols pipelined protocols에서 pipelining은 송신자가 다수의 패킷을 한 번에 보내는 것을 말한다. 즉 ACK신호를 받을 때까지 기다리다 ACK신호를 받고 나서 다음 데이터를 보내는 stop and wait 방식과 다르게 송신자가 ACKs 신호를 받지 않아도 패킷 여러 개를 보내는 방식이다. 송신자와 수신자가 버퍼를 가져야 하며, 대표적인 두 가지 프로토콜로 Go-Back-N과 Selective Repeat이 있다. 참고 : stop and wait 방식의 RDT [네트워크] Reliable Data Transfer - rdt 1.0/2.0/2.1/2.2/3.0 | RDT란? | FSM 이란? RDT(Reliable Data Transfer)란? RDT는..
2022.06.26 -
[네트워크] RDT (Reliable Data Transfer)
RDT(Reliable Data Transfer)란? RDT는 신뢰성 있는 데이터 교환을 의미한다. 즉 송/수신하는 데이터가 오류 없이 온전히 전송되는 것을 뜻한다. Transport Layer(전송계층)에서는 신뢰성 있는 데이터 교환을 하고 싶어 하지만, 하위 레이어들에서는 신뢰성을 보장할 수 없기 때문에 문제가 발생할 수 있다. 이를 해결하기 위해 Transport Layer에서 RDT 프로토콜을 이용할 수 있다. 아래는 RDT 프로토콜을 이용해 데이터를 송/수신하는 예시이다. 송신 측 상위 레이어에서 보내려는 데이터가 있다면 rdt_send()를 호출해 데이터를 RDT 프로토콜로 전송한다. RDT 프로토콜에서 신뢰할 수 없는 채널인 하위 레이어로 보낼 때 udt_send()를 호출해 패킷을 전송한다..
2022.06.25 -
[네트워크] 개념 정리
circuit switching : 시작점부터 끝점까지, 정해진 경로를 특정 user를 위해 배분 (유선전화망) packet switching : user에게 packet 단위로 받아 그때 그때 forwarding 해주는 것 (인터넷) 인터넷은 유선전화망과 달리 계속 연결이 필요한 것이 아닌, 쉬는 타이밍이 계속 생기기 때문에 packet을 그때그때 처리하는 식으로도 충분히 데이터 전달이 가능하다. ※ packet delay nodal processing delay (노드처리지연) : 패킷의 bit error check와 determine output link를 packet을 통해 결정하는 과정에서 delay가 생긴다. queueing delay : 나가는 속도보다 들어오는 total 속도가 빠를 경우를..
2022.06.25 -
[네트워크] 패킷 pipelining (go-Back-N, selective repeat)
1. Stop and Wait 앞서 기본적으로 reliable한 패킷 데이터 교환을 위해서는, 우선 패킷을 보내고 그에 해당하는 ACK이 올때까지 기다리는 Stop and Wait 방식을 사용한다고 하였다. 하지만 이 방법은 ACK이 올때까지 송신자는 계속해서 놀고있으므로 굉장히 비효율적인 방법이다. 따라서, 한번에 하나의 패킷만 보내는 것이 아니라 여러 패킷을 pipelining 하여 처리하는 방식을 살펴볼 것이다. 대표적인 pipelining 방식으로는 GBN(Go-Back-N)과 SR(Selective Repeate) 방식이 있다. 2. GBN(Go-Back-N) Go-Back-N 방식은 receiver 측에서 순서대로 받지 못한 패킷이 있다면 해당 패킷부터 다시 재전송 하는 방식이다. 1) rec..
2022.06.21