TCP(Transmission Control Protocol)
TCP는 연속성보다 신뢰성있는 전송이 중요할 때에 사용하는 프로토콜
특징
- 연결 지향 방식이다.
- 3-way handshaking과정을 통해 연결을 설정하고 4-way handshaking을 통해 해제한다.
- 흐름 제어 및 혼잡 제어.
- 높은 신뢰성을 보장한다.
- UDP보다 속도가 느리다.
- 전이중(Full-Duplex), 점대점(Point to Point) 방식이다.
전이중(Full-Duplex) : 전송이 양방향으로 동시에 일어날 수 있다.
점대점(Point to Point) : 각 연결이 정확히 2개의 종단점을 가지고 있다.
흐름제어(Flow Control)와 혼잡제어(Congestion Control)
흐름제어는 데이터를 송신하는 곳과 수신하는 곳의 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 것입니다. 예를 들어 송신하는 곳에서 감당이 안되게 데이터를 빠르게 많이 보내면 수신자에서 문제가 발생하기 때문입니다.
혼잡제어는 네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것입니다. 만약 정보의 소통량이 과다하면 패킷을 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막습니다.
UDP(User Datagram Protocol)
신뢰성보다는 연속성이 중요한 서비스에 사용하는 프로토콜
특징
- 비연결형 서비스로 데이터그램 방식을 제공한다.
- 정보를 주고 받을 때 정보를 보내거나 받는다는 신호절차를 거치지 않는다.
- UDP헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다.
- 신뢰성이 낮다.
- TCP보다 속도가 빠르다.
TCP와 UDP의 차이
TCP | UDP |
---|
연결형 프로토콜 | 비연결형 프로토콜 |
데이터의 경계를 구분하지 않음 | 데이터의 경계를 구분함 |
신뢰성있는 데이터 전송 (데이터 재전송 존재O) | 비신뢰성 데이터 전송 (데이터 재전송 존재X) |
일 대 일(Unicast) 통신 | 일 대 일, 일 대 다(Broadcast), 다 대 다(Multicast) 통신 |
참고 문서 및 링크