DEV_Larva
TCP와 UDP 본문
TCP와 UDP의 차이점
TCP
TCP(Transmission Control Protocol):
인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로도 널리 불린다. TCP는 근거리 통신망, 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 비트를 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해 준다. TCP는 전송 제어 프로토콜에 해당되며 그중 가장 보편적으로 사용된다.
중요한 것은 TCP와 IP는 각각 다른 프로토콜이지만 서로 보완적으로 많이 사용한다고 한다.
IP가 데이터를 전송할 때 "어디로 보내지?" 에만 신경을 쓰는 반면 TCP는 "어떻게 보내지?"에 더 초점을 맞춘다. 따라서 이를 통해 TCP/IP는 안정적이고 신뢰할 수 있는 통신을 제공하게 된다.
TCP의 특징
- 패킷 교환 방식: 데이터를 전송할 때 가상 회선을 사용하지 않고, 각 패킷을 독립적으로 처리하여 전달합니다.
- 흐름 제어 및 혼잡 제어: 수신자의 처리 속도와 네트워크 상태에 맞춰 전송 속도를 조절해 안정적인 전송을 유지합니다.
- 연결 지향 프로토콜: 연결 설정(3-way handshaking)과 연결 해제(4-way handshaking)를 통해 송신자와 수신자 간의 신뢰성을 보장합니다.
- 높은 신뢰성 보장: 패킷 손실이나 오류 발생 시 자동으로 재전송하여 데이터의 완전성을 보장합니다.
- 속도: UDP보다 속도가 느리지만 안정적인 데이터 전송을 제공합니다.
- 전이중(Point-to-Point) 방식: 양방향으로 동시에 송수신할 수 있는 전이중 방식으로 통신합니다.
UDP
UDP(User Datagram Protocol):
TCP와 동일하게 인터넷 프로토콜 스위트에서 전송계층에 속해 있으며, TCP와 함께 단문 메시지를 교환하기 위해서 사용된다.
UDP는 최소한의 프로토콜 매커니즘을 갖춘 간단한 무연결 통신 모델을 사용한다.
따라서 UDP의 경우 오류 확인 및 수정이 필요하지 않거나 애플리케이션에서 수행되는 목적으로 적합하다.
UDP의 특징
- 비연결형 서비스: 데이터 전송 시 신호 절차 없이 데이터그램 방식으로 통신합니다.
- 오류 검출: UDP 헤더의 Checksum 필드로 기본적인 오류만 검출합니다.
- 낮은 신뢰성, 높은 속도: 신뢰성은 낮지만, TCP보다 전송 속도가 빠릅니다.
TCP - UDP의 차이점
1. 데이터 전송 방식:
TCP는 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용하여 신뢰성을 구축해 수신 여부를 확인하며 "가상회선 패킷 교환 방식"을 사용한다. 하지만 UDP는 순서를 보장하지 않고 수신 여부 또한 확인하지 않고 단순히 데이터만 주는 "데이터그램 패킷 교환 방식"을 사용하게 된다.
2. 신뢰성:
TCP는 신뢰성을 확보 할때 "3-way handshake" 라는 작업을 진행하게 된다. 이 신뢰성 구축 작업이 이뤄지고 나면 데이터 전송을 시작하게 된다. 이 과정으로 하지만 UDP는 이 과정이 없기 때문에 신뢰성이 없는 계층이라고 한다.
3. 속도:
TCP는 당연하게 안정성을 위해 선행 절차가 복잡하여 상대적으로 속도가 느리다. 하지만 UDP는 선행 절차 없이 단순 통신이기 때문에 더 빠르다.
Reference
전송 제어 프로토콜 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 전송 제어 프로토콜(Transmission Control Protocol, TCP, 문화어: 전송조종규약)은 인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로
ko.wikipedia.org
사용자 데이터그램 프로토콜 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. UDP은 여기로 연결됩니다. 다른 뜻에 대해서는 UDP (동음이의) 문서를 참고하십시오. 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)은 인터넷 프로토콜 스위
ko.wikipedia.org
https://product.kyobobook.co.kr/detail/S000001834833
면접을 위한 CS 전공지식 노트 | 주홍철 - 교보문고
면접을 위한 CS 전공지식 노트 | 디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접과 포트폴리오까지! CS 전공지식 습득과 면접 대비, 이 책 한 권이면 충분하다! 개발자 면
product.kyobobook.co.kr
'CS' 카테고리의 다른 글
MVC 패턴 (0) | 2024.11.23 |
---|---|
싱글톤 패턴(Singleton Pattern) (0) | 2024.11.21 |
프로세스와 스레드의 차이점 (0) | 2024.11.12 |
VIPER (1) | 2024.09.18 |