transport layer 5

[컴퓨터 네트워크]-Transport layer_Principles of reliable data transfer(2): Go-Back-N, Selective repeat

지난 글까지는, TCP를 위한 사전지식을 위해서, stop and wait 프로토콜인 rdt(reliable data transmission)에 대해서 정리해봤다. 이번 글에서는 추가적으로 Go-Back-N 방식과 Selective repeat에 대해 정리해보려고 한다.1. Go-Back-N 먼저, Go-Back-N 방식은, rdt 3.0에서 적용한 pipelining을 구현한 첫 번째 접근이다. 이를 sender 측면과 receiver 측면에서 알아보자.se-Sender Go-Back-N 방법에서는, multiple packet을 보내야되기 때문에, window라는 개념이 처음 등장했다. window는 다음 그림과 같이 생겼다. 패킷의 상태창이라고 생각하면 편하다. 위 그림에 대해서 설명해보면,초록색:..

[컴퓨터 네트워크] - Transport layer_Principles of reliable data transfer(1): rdt

지난 글에서는 Transport layer 프로토콜 중 하나인 UDP에 대해서 알아보았다. UDP의 특징 중에, unreliable, 즉, 신뢰성 있는 데이터 전송을 보장하지 못한다는 단점이 있었다. 그렇지만, UDP와 달리 TCP는 reliable data trasfer이라는 특징이 있다. 즉, 신뢰성 있는 데이터 전송을 보장하는데, 이 TCP에 대해서 알아보기 전에 그 전에 TCP를 위한 사전지식이라고 생각하고, TCP에 적용된 원칙들에 대해서 알아보려고 한다.1. Abstraction of reliable of data transfer 처음에는, 단순히 신뢰성 있는 데이터 전송을 어떻게 구현해야될까에 대한 추상화부터 알아보려고 한다. 다음 그림을 보면 이 추상화라는 개념에 있어서 신뢰성 있는 데이..

[컴퓨터 네트워크]-Transport layer_UDP

이번 장에서는 본격적으로 transport layer의 protocol 중 하나인 UDP에 대해서 알아보려고 한다. UDP는 TCP에 비해 간단하게 정리될 개념이긴 하지만, UDP가 어떻게 작동하는지, UDP는 왜 만들어졌는지, UDP는 어디에 쓰이는지 등에 대해서 고려하면서 정리해 볼 예정이다.1. UDP란? UDP는 User Datagram Protocol의 줄임말이다. 사실 Datagram은 Network layer에서 쓰는 전송단위다. 즉, 3계층의 전송단윈데, 왜 4계층의 프로토콜 이름에 존재할까? 그 이유는 사실 UDP가 사용하는 데이터가 3계층의 Datagram과 큰 차이가 없기 때문이다. 그럼 UDP와 IP datagramd의 차이점은 무엇일까? 앞서 demultiplexing에서 봤듯..

[컴퓨터 네트워크]-Transport layer_Multiplexing & Demultiplexing

지난 글에서, Transport layer action 중 demultiplexing(역다중화)에 대해서 언급한 적이 있다. 이번 글에서는 demultiplexing과 multiplexing에 대해서 정확히 정리해볼 예정이다.1. Transport layer & Application layer 먼저 다음과 같은 상황이 있다고 가정해보자. 위 그림을 설명해보면, APACHE라는 HTTP server에서 client의 요청에 따라 메세지를 보내는 과정이다.APACHE HTTP 서버의 application layer에서 HTTP메세지를 transport layer에게 전달한다.transport layer는 segment header field 값들을 설정하고, segment를 만들어 network 계층에게 전..

[컴퓨터 네트워크] - Transport layer_프롤로그

저번 글까지는, Application layer에 대해서 정리했다. 이번 글부터는, Application layer와 network layer 사이에 있는 Transport layer에 대해서 정리해보려고 한다. 1. Transport layer 프롤로그 Internet 계층 구조에 대해서 정리했을 때, 각 계층은 그 전 단계의 계층에 의존적이라는 특징을 가지고 있다고 했다. 그래서 Application layer에 대해서 정리할 때, TCP나 UDP 같이 중간중간 transport 계층에 대해서도 같이 설명했다. 계층 구조 특징을 고려하면, Transport 계층은 그 하위 단계 계층인 network 계층에 의존적이라는 것을 유추할 수 있다. 그래서 Transport layer에 대해서 정라할 때ne..