Network - TCP, UDP / TIL#20

Pablaw·2023년 2월 28일
0

TIL

목록 보기
20/20
post-thumbnail

1. TCP(Transmission Control Protocol)
   - TCP의 특징
2. UDP(User Datagram Protocol)
   - UDP의 특징
3. 서버로서의 TCP, UDP 서버의 특징
   - TCP 서버
   - UDP 서버


1. TCP(Transmission Control Protocol)

    TCP는 IP와 함께 데이터를 메시지 형태로 통신하기 위해 사용되는 프로토콜입니다. TCP는 인터넷 환경에서 기본적으로 사용되는 프로토콜인데 IP와 함께 사용되며 패킷을 추적하고 관리하며 연결형으로 작동하게 됩니다.

TCP 프로토콜이 인터넷 환경에서 기본으로 사용되는 이유는 TCP/IP 구성요소를 보면 알 수 있습니다.

위 그림은 개방형 시스템 상호 연결 OSI(Open Systems Interconnection) 구조와 TCP/IP 프로토콜 구조입니다.

TCP/IP 애플리케이션 계층에서 HTTP, FTP, SMTP 등 인터넷 환경에서 사용되는 다양한 프로토콜이 실행되기 때문에 인터넷 기본환경에서 TCP는 기본으로 사용됩니다.
TCP/IP 전송계층에는 TCP 외에 UDP라는 프로토콜도 존재하는데 둘은 다른 특성을 지니고 있습니다.

TCP의 특징

  1. 연결 지향 방식
  2. 3 way handshake 과정을 통한 신뢰성 보장
  3. 흐름제어 및 혼합제어 기능

TCP는 통신 시 수신자와 연결되어 있기 때문에 수신자의 상황을 판단해서 데이터 처리 속도를 조절하여 버퍼 오버플로우를 방지하는 흐름제어가 가능합니다.


2. UDP(User Datagram Protocol)

    UDP는 TCP와 달리 비연결형 프로토콜로서 논리적으로 정해진 경로가 없고 각 패킷은 독립적인 관계로 데이터를 개별적으로 처리합니다.

UDP의 특징

  1. 비연결형 방식으로 handshake 과정을 거치지 않으며 신뢰성이 낮다.
  2. 최소한의 오류는 검사하지만 제어 기능이 없다.
  3. TCP보다 속도가 빠르다.

3. 서버로서의 TCP, UDP 서버의 특징

- TCP 서버

  • 서버와 클라이언트는 1 대 1로 연결된다.
  • 스트림 전송 데이터 크기에 제한이 없다.
  • 패킷에 대한 응답 과정이 필요하기 때문에 성능이 낮다.
  • 흐름제어, 혼합제어 기능으로 데이터 손실 시 재전송이 일어난다.

- UDP 서버

  • 비연결형 구조로 서버 소켓, 클라이언트 소켓의 구분이 없다.
  • 소켓 대신 IP를 기반으로 통신이 이루어진다.
  • 서버와 클라이언트는 1 대 1, 1 대 N, N 대 N 등으로 통신될 수 있다.
  • 데이터그램 단위로 전송되기 때문에 65,535 바이트로 제한되며 초과 시 초과분을 다른 데이터그램으로 나누어 전송한다.

참고 사이트

해당 페이지를 참고하여 작성했습니다.

망나니개발자 블로그

profile
반갑습니다, 프론트엔드 개발자를 꿈꾸고 있습니다 ! https://pablaw.github.io/profileLink/

0개의 댓글