Network
-
TCPNetwork 2021. 4. 15. 17:29
TCP, Tranmission Control Protocol이라는 이름에서도 느껴지듯 상당히 정교한 control을 포함하는 protocol입니다. OSI Transport Layer에서 연결 지향이며, 신뢰할 수 있는 데이터 전송을 보장합니다.(Reliable Data Transfer) Transport Layer에 존재하기 때문에, 종단에만 존재하는 규칙입니다. 시작하기에 앞서 필요한 용어 정의부터합니다. Socket vs Buffer Socket : process의 데이터를 Trasport layer으로 전달하는 통로이다. 이때 데이터는 stream 형태로 전달됩니다. process는 한 번에 여러 개의 socket을 가질 수 있으며, 이를 통해서 socket을 가진 다른 process와 통신이 가..
-
GBN & Selective repeatNetwork 2021. 3. 24. 11:09
Pipelining 이전 Posting에서 정리한 RDT는 여러가지 일을 할 수 있지만, "너무 느리다"라는 문제 상황에 도달합니다. 그 이유는 바로 "stop-and-wait" 방식을 수행하기 때문입니다. packet을 전송하고, 이에 대한 ACK가 올 때까지 그저 기다리는 형태의 RDT는 네트워크의 성능 저하에 큰 원인이 됩니다. 따라서, 우리는 마치 pipe를 따라 흐르는 물처럼 막힘 없이 데이터를 보내고자 하는 방법을 고안해야 했습니다. 이 과정에서 위에서 언급한 바와 같이, 연속해서 데이터를 보내는 방식을 pipelining이라고 하고, 이로 인해 발생할 수 있는 추가적인 문제를 해결하기 위한 방법으로 2가지의 방식을 대표적으로 이해합니다. pipelining의 문제 가장 큰 문제는 데이터가 중..
-
RDT ProtocolNetwork 2021. 3. 15. 19:52
Reliable Data Transfer Protocol(신뢰할 수 있는 데이터 전송 규칙)을 수립하기 위한 고민의 과정을 다음과 같이 정리합니다. 각 단계를 거치면서, 가정을 조금씩 걷어내며 신뢰도를 계속해서 높입니다. FSM 모든 예제를 FSM을 이용하여 표기하기 때문에, FSM에 대해서 이해하고 가는 것이 편합니다. FSM(Finite State Machine)이란, 유한한 관계에서 각 상태와 각 상태로 가기 위한 조건과 행동을 명시하는 도표를 말합니다. 기본적으로 다음과 같은 형태로 이루어지는 것이 일반적이다. 시작 지점을 화살표를 통해 명시하고, 어떤 상태에서 각 조건과 이에 따른 행동을 했을 때, 변하게 될 상태를 명시하는 것이다. RDT v1.0 가정 : 하위 통신 channel은 완벽하게 ..