2. TCP/UDP
2.1 TCP 전송 제어 프로토콜
2.1.1 TCP개요
- 인터넷 상에서 데이터를 메세지의 형태(TCP 세그먼트)로 보내기 위해 IP와 함께 사용하는 프로토콜
- IP와 함께 TCP/IP라는 명칭으로 불린다. IP가 주소를 통해 데이터의 배달을 한다면 TCP는 패킷을 추적 및 관리하는 역할을 한다.
2.1.2 TCP특징
- 연결형 서비스로 연결이 성공해야지만 통신 가능(3 & 4 way Handshaking : 연결설정, 연결해제)
- 데이터의 경계를 구분하지 않음
- 신뢰성이 있다
- 패킷손실, 중복 순서바뀜을 보장 -> 정확한 데이터 전달 가능
- 흐름제어 및 혼잡제어를 제공
- 흐름제어 : 송신처와 수신처의 데이터 처리속도를 조절하여 수신자의 버퍼 오버플로우를 방지
- 수신측의 처리속도보다 송신속도가 빠를경우 도착한 데이터가 손상될 가능성이 존재
- 수신자가 송신자에게 자신의 상태를 feedback 해서 속도를 조절한다.
- 혼잡제어 : 네트워크 내의 패킷수가 넘치지 않도록 방지
- Full-Duplex(전송이 양방향으로 동시에 일어날 수 있음), Point to Point(연결이 정확히 2개의 종단점을 가지고 있음)
- ex) 파일전송
2.2 UDP 사용자 데이터그램 프로토콜
2.2.1 UDP개요
- 데이터를 데이터그램 단위로 처리하는 프로토콜 -> 전송계층
- 비연결형, 신뢰성 없는 전송 프로토콜이다.
2.2.2 UDP특징
- 전송방식이 매우 단순해서 빠르다 -> 최소한의 오류만 검출한다.
- 신뢰성이 낮다 -> 전송하는 데이터의 순번이 바뀌거나 누락될 가능성이 존재한다.
- 비연결형 서비스이다
- 논리적인 경로가 없기 때문에 각각의 패킷은 다른 경로로 전송되고 독립적인 관계를 가진다.
- ex) 실시간 서비스 : 영상통화 등등
2.3 TCP UDP 차이
출처 : soosungp33.log [CS] 📕 Network