TCP와 UDP 모두 TCP/IP 4계층 중 '전송 계층'에서 사용되는 프로토콜
TCP
- 패킷 사이의 순서를 보장
- 연결지향 프로토콜을 사용하여 연결 및 수신 여부 확인
- 3-way Handshake를 통해 신뢰성 확보 및 연결 후 데이터 전송 시작
- 4-way Handshake를 통해 연결 해제
- UDP보다 속도가 느림
- '가상회선 패킷 교환 방식' 사용
"가상회선 패킷 교환 방식"이란?
- 각 패킷에 가상회선 식별자가 포함
- 모든 패킷을 전송하면 가상회선이 해제
- 결과적으로 패킷들은 전송된 순서대로 도착하게 됨
- 전이중(Full-Duplex), 점대점(Point-to-Point) 방식 사용
- 전이중 (Full Duplex) : 전송이 양방향으로 동시에 일어날 수 있음
- 점대점 (Point to Point) : 연결의 종단점이 정확히 2개임 (1:1 통신만 지원)
- 흐름제어와 혼잡제어를 제공
- 흐름제어 : 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지
- 혼잡제어 : 네트워크 내의 패킷 수가 과도하게 증가하지 않도록 방지
- 속도보단 신뢰성이 보장되는 데이터 전송 시 권장 (ex. 파일 전송)
UDP
- 패킷 사이의 순서를 보장하지 않음
- 수신 여부를 확인하지 않음
- 별도의 신뢰성 확보 및 연결 과정 없음
- TCP보다 속도가 빠름
- '데이터그램 패킷 교환 방식' 사용
"데이터그램 패킷 교환 방식"이란?
- 패킷이 독립적으로 이동하며 최적의 경로로 이동
- 즉, 하나의 데이터에서 여러 패킷이 분할되면,
서로 다른 경로로 이동하여 전송되므로 도착 순서가 전송 순서와 다를 수 있음
- UDP 헤더의 CheckSum 필드를 통해 최소한의 오류만을 검출
- 1:1 , 1:N , N:N 의 통신이 모두 가능
- 신뢰성보단 속도와 연속성이 더 우선인 데이터 전송 시 권장 (ex. 실시간 스트리밍)
'Computer Science > 네트워크' 카테고리의 다른 글
HTTP Status Code에 대해 알아보자 (1) | 2024.02.09 |
---|---|
GET과 POST를 비교해보자 (0) | 2024.02.04 |
HTTP에 대해 알아보자 (1) | 2024.02.04 |
TCP의 3 Way HandShake (0) | 2024.02.04 |
OSI 7계층과 TCP/IP 4계층을 비교해보자 (0) | 2024.02.04 |