전송 계층(transport) : TCP와 UDP ★★★
by yjym33TCP (Transmission Control Protocol)
**TCP (Transmission Control Protocol)**는 신뢰성 있는 데이터 전송을 보장하는 프로토콜로, 인터넷에서 가장 널리 사용되는 전송 계층 프로토콜 중 하나입니다.
특징:
신뢰성: TCP는 데이터 전송의 신뢰성을 중요하게 여깁니다. 데이터 전송 시, 데이터가 손실되지 않고 순서대로 도착하도록 보장합니다.
연결 지향성: TCP는 연결을 설정하고 데이터를 전송한 후 연결을 정리합니다. 이로써 데이터의 신뢰성을 확보합니다.
흐름 제어: TCP는 데이터 송신 측과 수신 측 사이의 데이터 흐름을 조절하여 수신 측의 버퍼 오버플로우를 방지합니다.
혼잡 제어: TCP는 네트워크 혼잡을 감지하고 이에 대응하여 데이터 전송 속도를 조절합니다.
안전성: 데이터 전송 중에 오류를 검출하고 복구합니다. 오류 검출을 위해 체크섬을 사용합니다.
포트 번호: TCP 헤더에는 송신 및 수신 애플리케이션을 식별하기 위한 포트 번호가 포함됩니다.
3-way 핸드셰이크: 연결 설정과 해제를 위해 3-way 핸드셰이크 프로세스를 사용합니다.
주로 웹 브라우징, 이메일, 파일 전송 등과 같이 신뢰성이 요구되는 애플리케이션에서 사용됩니다.
UDP (User Datagram Protocol)
**UDP (User Datagram Protocol)**는 경량 프로토콜로, 데이터 전송을 빠르게 하기 위해 설계되었으며, 신뢰성이 요구되지 않는 경우에 사용됩니다.
특징:
비연결성: UDP는 연결을 설정하고 해제하지 않으며, 데이터 전송에 대한 신뢰성을 보장하지 않습니다.
신속한 전송: UDP는 데이터를 빠르게 전송하고 받을 수 있도록 설계되어 있습니다.
흐름 제어 및 혼잡 제어 없음: UDP는 흐름 제어나 혼잡 제어를 수행하지 않기 때문에 데이터 손실이나 혼잡 문제에 대한 처리를 하지 않습니다.
안전성: 오류 검출을 위한 체크섬은 제공하지만, 오류 복구를 위한 메커니즘은 없습니다.
멀티캐스트 및 브로드캐스트: UDP는 멀티캐스트(Multicast)와 브로드캐스트(Broadcast) 통신을 지원합니다.
포트 번호: UDP 헤더에는 송신 및 수신 애플리케이션을 식별하기 위한 포트 번호가 포함됩니다.
UDP는 실시간 스트리밍, DNS (Domain Name System), VoIP (Voice over IP), 온라인 게임과 같이 데이터 전송의 신속성이 중요한 애플리케이션에서 주로 사용됩니다. 그러나 데이터의 신뢰성과 순서가 보장되어야 하는 경우에는 TCP를 사용하는 것이 좋습니다.
'Development > CS' 카테고리의 다른 글
| 3-웨이 핸드셰이크 ★★★ (0) | 2023.09.30 |
|---|---|
| 인터넷 계층(network) 과 ICMP ★★★ (1) | 2023.09.30 |
| 애플리케이션 계층(application) : HTTP, SSH, FTP, SMTP ★★★ (0) | 2023.09.29 |
| MTU와 MSS와 PMTUD ★★★ (0) | 2023.09.29 |
| 개념, 캡슐화, 비캡슐화, PDU, OSI 7계층 ★★★ (0) | 2023.09.28 |
블로그의 정보
생각보다 실천을
yjym33