[ CS / Network ] TCP & UDP

황승환·2022년 2월 2일
0

CS

목록 보기
23/60
post-thumbnail

UDP

UDP(User Datagram Protocol)는 비연결성 프로토콜이다. IP 데이터그램을 캡슐화해서 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공한다. UDP는 흐름제어, 오류제어 또는 손상된 세그먼트의 수신에 대한 재전송을 보장하지 않는다. UDP가 행하는 것은 포트들을 사용해서 IP 프로토콜에 인터페이스를 제공하는 것이다.

UDP가 유용한 분야는 클라이언트-서버 구조이다. 종종 클라이언트는 서버에 짧은 요청을 보내고 짧은 응답을 기대한다. 이때 만약 요청이나 응답이 손실될 경우, 클라이언트는 time out되고 다시 시도할 수 있다. 코드가 간단할 뿐만 아니라 TCP처럼 초기 설정(initial setup)에서 요구되는 프로토콜에서보다 적은 메세지가 요구된다.

UDP는 DNS에서 사용된다. 어떤 호스트 네임의 IP 주소를 찾을 필요가 있는 프로그램은 DNS서버로 호스트 네임을 포함한 UDP 패킷을 보낸다. 이 서버는 호스트의 IP 주소를 포함한 UDP 패킷으로 응답한다. 사전에 설정하지 않으며 그 후에 해제 또한 필요 없다.

특징

  • 비연결형 서비스로 데이터그램 방식을 제공한다.
  • 정보를 주고 받을 때 정보를 보내거나 받는다는 신호 절차를 거치지 않는다.
  • 신뢰성 없는 데이터를 전송한다.
  • 데이터의 경계를 구분한다.
  • TCP보다 전송 속도가 빠르다.

TCP

대부분의 인터넷 응용 분야들은 신뢰성과 순차적인 전달을 요구한다. UDP로는 이를 만족시킬 수 없기 때문에 TCP(Transmission Control Protocol)가 등장하였다. TCP는 신뢰성이 없는 인터넷을 통해 종단간에 신뢰성이 있는 바이트 스트림을 전송하도록 특별히 설계되었다. TCP 서비스는 송신자와 수신자 모두가 소켓이라고 부르는 종단점을 생성함으로써 이뤄진다. TCP에서 연결 설정은 3-handshake를 통해 행해진다.

모든 TCP 연결은 전이중(full-duplex), 점대점(point to point) 방식이다. 전이중이란 전송이 양방향으로 동시에 일어날 수 있음을 의미하고, 점대점은 각 연결이 정확히 2개의 종단점을 가지고 있음을 의미한다. TCP는 멀티캐스팅이나 브로드캐스팅을 지원하지 않는다.

특징

  • 연결형 서비스로 가상 회선 방식을 제공한다.
  • 데이터의 경계를 구분하지 않는다.
  • 데이터의 전송 순서가 보장된다.
  • UDP보다 전송 속도가 느리다.
  • 신뢰성있는 데이터를 전송한다.

결론

  • TCP는 연속성보다 신뢰성있는 전송이 중요할 때 사용하는 프로토콜이다.
  • UDP는 TCP보다 속도가 빠르며 네트워크 부하가 적지만, 신뢰성있는 데이터 전송을 보장하지 않는다.
    -> UDP는 실시간 서비스에 주로 사용된다.
profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글