본문 바로가기

면접 질문지 소스

면접질문: TCP와 UDP의 차이에 대해 설명해주세요.

728x90

TCP/IP란

- 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져 있다.

- IP Routing을 이용하여 이용해 목적지에 도달하며, TCP의 특성을 이용하여 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지한다.

 

TCP(Transmission Control Protocol)

- 연결 지향적 프로토콜입니다. (클라이언트와 서버가 연결된 상태에서 데이터를 주고 받습니다)

- 프로그램간의 데이터 덩어리(세그먼트)를 안정적으로, 순서대로, 에러없이 교환할 수 있습니다.

 

TCP 특징

- 연결형 서비스로 가상 회선 방식을 제공합니다. 3-way handshaking 과정을 통해 연결을 설정하고, 4-way handshaking 과정을 통해 연결을 해제합니다.

- 흐름제어입니다.송신자, 수신자의 데이터를 끊임없이 확인하고, 주고 받는 데이터의 양을 수신자가 정합니다. 그리고 몇번 데이터까지 받았는지 송신자에게 말해줄 수 있습니다. 수신자의 버퍼 오버플로우를 방지합니다.

- 혼잡제어입니다. 네트워크 망 상태를 고려하여 연결 초기에 데이터 송출량을 낮게 잡고, 수신자의 수신을 확인하면서 데이터 송출량을 늘립니다.

-오류제어입니다. 패킷의 순서가 바뀌지않게, 패킷의 시퀀스 넘버를 확인합니다.

- 주로 파일 전송에 사용됩니다

 

 

 

UDP(User Datagram Protocol)

- 비연결형 프로토콜입니다. (연결을 위해 논리)

- 데이터그램 방식을 사용하여 순서가 존재하지 않는 독립적인 패킷을 사용합니다.

- 주로 실시간 영상 스트리밍에 사용됩니다.

 

HTTP 3.0에서 사용하는 UDP

- TCP 통신중 패킷이 유실되거나, 수신측 패킷 파싱 속도가 느리다면 병목현상이 발생하는데 이를 HOLB(Head Of Line Blocking)라고 부른다.

- UDP를 기반으로 QUIC(Quick UDP Internet Connection)을 구현하였다.