본문 바로가기
Knowledge/CS

[CS] TCP/UDP 이란?

by YoonJong 2022. 11. 14.
728x90

OSI 7계층 중,

4계층 =  전송 계층(Transport Layer) 에서 사용되는 프로토콜에 대해 알아보려고 한다.

 

전송계층은 말 그대로, 송신자와 수신자를 연결하는 통신서비스를 제공하고, 데이터의 전달을 담당한다.

데이터를 보내기 위해 사용하는 프로토콜(컴퓨터간의 약속) 이 있는데 그것들 중 한 부분을 담당하고 있다.

 

UDP 채팅 서버를 구현할 때 사용한다고해서 블로그 등을 찾아보게 되었다.

 

 

1. TCP ( Transmission Control Protocol )

TCP 는 전송을 제어하는 프로토콜이라는 뜻이다.

 - 인터넷상에서 데이터를 메세지의 형태로 보내기 위해  IP와 함께 사용하는 프로토콜

 

TCP 의 특징

1. TCP는 가상 회선 방식을 제공한다.

 - 발신지와 수신지를 연결해서 패킷을 전송하기 위한 경로를 배정한다.

 

2 . 3 -way handshaking 과정을 사용한다.

 - 연결형 서비스로 신뢰성을 보장한다.

 

3 . UDP 보다 속도가 느리다.

 - 신뢰성보장과, 데이터의 흐름제어 및 혼잡제어와 같은 기능도 하기 때문이다.

 

때문에, 연속성보다 신뢰성 있는 전송이 중요할 때에 사용하는 프로토콜이다. 

 

TCP 서버의 특징

1. 서버소켓은 연결만을 담당한다.

2. 서버와 클라이언트는 1대 1로 연결된다.

3. 스트림 전송으로 데이터의 크기가 무제한이다.

4. 패킷에 대한 응답을 해야하기 때문에 성능이 낮다.

 -> 패킷이란 = 데이터를 효율적으로 보내기 위해 데이터를 여러 개의 조각들로 나누어 전송하는 것.

 

TCP는 패킷을 어떻게 추적할까?

데이터는 패킷단위로 나누어 같은 목적지(IP계층) 으로 전송된다.

중간에 어느 데이터가 분실되었을 때에 대비해서 패킷에 1,2,3 이라는 번호를 부여하고,

패킷의 분실 확인 및 재조립을 한다. 이러한 방식으로 패킷을 추적하고 데이터를 받아 조립할 수 있다.

 


2. UDP(User Datagram Protocol)

UDP는 사용자 데이터그램 프로토콜 이라는 의미이다.

 - 데이터를 테이터그램 단위로 처리하는 프로토콜

TCP와 달리 비연결 프로토콜이다. - 연결을 위해 할당되는 논리적인 경로가 없다.

패킷은 각각 다른경로로 전송되고, 독립적인 관계를 지니게 된다.

 

UDP 의 특징

1. 비연결형 서비스로 데이터그램 방식을 제공한다.

2. 정보를 주고받을때 신호절차를 거치지 않는다.

3. 신뢰성이 낮다

4. TCP보다 속도가 빠르다

 

비연결형 서비스로, TCP보다 속도가 빠르며 네트워크 부하가 적다는 장점이 있지만,

신뢰성있는 데이터의 전송을 보장하지 못한다.

 

 

UDP 서버 의 특징

1. 연결자체가 없어서 소켓과 클라이언트 소켓의 구분이 없다.

2. 소켓 대신 IP 기반으로 데이터를 전송한다.

3. 서버와 클라이언트는 1대 1 , 1대 다 , 다 대 다 등으로 연결할 수 있다.

4. 65535 바이트 이상의 크기가 되면 잘라서 전송한다.

5. 오류가 있는지 없는지 확인할 수 없다.

6. 파일전송보다 스트리밍과 같은 속도가 중요한 경우에 사용된다.

 


 

 

 

728x90

댓글