TCP UDP가 뭐야?
전송계층에서 사용하는, 데이터를 보내기 위해 사용하는 프로토콜입니다. TCP와 UDP는 각각 가상 회선 방식과 데이터그램 방식이라는 점에서 차이를 가지며, 신뢰성과 연속성 두 측면에서 상충관계(trade off)에 있습니다.
자 무슨말인지 정확히 잘 모르겠으니 다시 한번 정리를 해봅시다.
TCP(Transmission Control Protocol)?
연결형 서비스를 지원하는 전송 계층 프로토콜로, 인터넷 환경에서 기본으로 사용합니다.
호스트간 신뢰성 있는 데이터 전달과 흐름제어를 합니다.
즉, 인터넷상에서 데이터를 메시지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜입니다.
TCP 특징
- 연결형 서비스로 가상 회선 방식을 제공합니다.
- 데이터의 경계를 구분하지 않는다.
- 데이터의 전송 순서(order number)를 보장합니다.
- UDP보다 전송속도가 느리다.
- 신뢰성 있는 데이터를 전송한다.
TCP는 계속해서 연결형, 신뢰성, 전송 순서 보장라는 말을 해주고 있습니다.
TCP는 어떻게 신뢰를 얻고 전송 순서 보장을 할까?
3 Way Handshake
신뢰성, 전송 순서 보장은 여기서 해결이 됩니다.
- TCP/IP 프로토콜을 이용해 통신을 하는 응용 프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미 합니다.
- 양쪽 모두 데이터를 전송할 준비가 되었다를 보장합니다.
- 실제로 데이터 전달이 시작하기 전에 클라이언트가 서버에게 준비 되었다는 것을 알립니다.
- 양쪽 모두 전송 순서 번호를 얻을 수 있게 합니다.
4 Way Handshake
전달은 잘 되었는데 그럼 연결을 종료할 땐?
- 세션을 종료하기위해 수행되는 절차입니다.
- 종료할 때도 서로 종료하겠다고 알리는 과정이 있습니다.
이제 상충관계(Tradeoff)인 UDP에 대해서 알아볼게요.
UDP(User Datagram Protocol)?
비연결형 서비스를 지원하는 전송계층 프로토콜로 인터넷상에서 서로 정보를 주고 받을 때 정보를 주고받는 신호 절차를 거치지 않고 보내는 쪽에서 일방적으로 데이터를 전달하는 프로토콜입니다.
UDP 특징
- 비연결형 서비스로 데이터그램 방식을 제공한다.
- 정보를 주고 받을 때 정보를 보내거나 받는다는 절차가 없다.
- 신뢰성 없는 데이터를 전송한다.
- 데이터의 경계를 구분한다.
- TCP보다 전송속도가 빠르다.
- IP에 Port와 CheckSum 기능만 제공을 합니다.
UDP에선 TCP에서 찾아볼 수 없는 비연결형, 일방적으로 데이터 전달, 신뢰성이 없는, 하지만 TCP보다는 빠르다가 보입니다.
예상 질문
가상회선 방식이 뭔가요? (TCP)
데이터를 전송하기 전에 논리적 연결이 설정, 이를 가상회선이라고 합니다.
가상회선으로 전송된 데이터는 순서를 유지합니다.
데이터그램 패킷 교환 방식은요? (UDP)
데이터를 전송하기 전에 논리적 연결이 설정되지 않습니다. 패킷이 독립적으로 전송이 되는데 이것을 데이터 그램이라고 합니다.
송신측에서 전송한 순서와 수신 측에 도착한 순서가 다를 수 있습니다.
TCP와 UDP의 차이를 비교해주세요
TCP는 3-way Handshaking 과정을 통해 연결을 설정해서 신뢰도를 확보해 순서를 보장하는 대신 속도가 느립니다.
UDP는 순서를 보장하지 않고 신뢰도가 낮은 데이터를 전송하는 대신, 단방향 데이터 전송으로 속도가 빠릅니다.
TCP는 신뢰도가 필요한 HTTP 통신, 이메일 등에 사용이 됩니다. UDP는 데이터의 중요도가 떨어지는 스트리밍 서비스에 적합합니다.
'CS > 네트워크' 카테고리의 다른 글
웹사이트에 접속할 때 일어나는 상황에 대해서 (0) | 2022.01.15 |
---|---|
쿠키(Cookie) & 세션(Session)의 차이에 대해서 알아보자! (0) | 2022.01.14 |
동기(Synchronous) & 비동기(Asynchronous)의 차이점? (0) | 2022.01.13 |
HTTP(HyperText Transfer Protocol) & HTTPS( +Secure) ??! (0) | 2022.01.12 |
OSI 7 Layer (0) | 2022.01.10 |