전체 글(100)
-
[네트워크] TCP 혼잡제어(congestion control)| AIMD, Slow Start | TCP Reno, Tahoe
TCP 혼잡 제어란? 혼잡(congetion)하다는 것은 너무 많은 source가 너무 많은 data를 너무 빨리 전송해 네트워크가 이를 처리하지 못하는 상태를 말한다. 조금 더 자세히 설명하자면 데이터의 양이 수신 측에서 처리할 수 있는 양을 초과하게 되면 송신 측에서는 수신 측에서 처리하지 못한 데이터를 손실 데이터로 간주하고 계속 재전송하게 되므로 네트워크가 더욱더 혼잡하게 된다. 이러한 혼잡 상태를 제어하는 것을 혼잡 제어라고 한다. TCP 혼잡 제어의 여러 가지 방법을 알아볼 것인데, 그전에 TCP에 대해 잘 모르겠다면 다음 포스팅을 참고하자. [네트워크] TCP란? | TCP의 특징 | TCP RDT | 3-way handshake TCP란? TCP(Transmission Control Pro..
2022.06.26 -
[네트워크] 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