Home

오늘의 기억

[Network] TCP, UDP 설명 및 차이점


전송계층 프로토콜 (Transport Layer)

TCP와 UDP는 OSI 7계층 중에서 전송 계층에 해당되는 프로토콜이다.


TCP (Transmission Control Protocol)

TCP는 신뢰성 있는 연결 지향형 프로토콜이다.
연결 과정은 3-Way Handshaking 을 이용하며, SYN > SYN+ACK + ACK 순서로 신호를 주고 받는다.
이런 신호들이 각각 제 시간에 전달되지 않으면 Timeout이 발생하여 다시 전송을 해준다.

또한 흐름제어와 혼잡제어를 지원하며 데이터의 순서를 보장한다.
흐름제어란 보내는 측과 받는 측의 데이터 처리속도 차이를 조절해주는 것을 말하며,
혼잡제어란 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것을 말한다.

하지만 TCP는 UDP에 비해 속도가 느리다는 단점이 있다.


UDP (User Datagram Protocol)

UDP는 비연결형 프로토콜로, 별도의 연결 설정과 과정이 없어서 TCP에 비해 속도가 더 빠르다.
하지만 데이터 전송을 보장하지 않으므로 패킷 손실이 발생할 수 있으며, 순서도 보장되지 않는다.

그래도 헤더에 있는 Checksum 필드를 통해서 최소한의 오류는 검출할 수 있다.

20200109 Charyum.Park