TCP/IP, UDP

wjd15sheep·2024년 7월 17일

CS

목록 보기
4/9

TCP/IP란? (Transmission Control Protocol/Internet Protocol)

인터넷 표준 프로토콜로서 컴퓨터 간의 주고 받는 데이터를 전송할 때 에러가 발생하지 않도록 알맞게 나누어 전송하고 이를 수신하여 다시 기존의 정보로 변환하는 것을 약속해 놓은 것

TCP/IP는 인터넷 프로토콜 중 가장 중요한 역할을 하는 TCP와 IP의 합성어로 데이터 흐름 관리, 정확성 확인, 패킷의 목적지 보장을 담당합니다.

TCP/IP 모델은 네트워크 통신을 설명하고 구현하는데 사용되는 네트워크 모델로 네 개의 계층으로 구성되어 있습니다. 네 계층은 응용 계층, 전송 계층, 인터넷 계층, 네트워크 인터페이스 계층으로 나뉩니다.

네트워크 인터페이스 계층 (Network Interface Layer)

물리적 네트워크 매체와 직접적으로 상호작용합니다. 이 계층은 데이터를 실제 네트워크를 통해 전송하고 수신하는 데 필요한 모든 하드웨어 프로토콜을 포함합니다.

역할: 데이터 링크 제어 및 물리적 주소 지정, 패킷의 전송 및 수신.
프로토콜: Ethernet, Wi-Fi, ARP (Address Resolution Protocol)

인터넷 계층 (Internet Layer)

데이터를 송신자에서 수신자로 전달하는 역할을 합니다. 이 계층은 패킷의 논리적 전송을 처리하며, 네트워크 간의 라우팅을 담당합니다.

역할: 패킷의 주소 지정, 라우팅, 데이터그램의 전달.
프로토콜: IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol)

전송 계층 (Transport Layer)

상위 계층의 데이터 통신을 관리하고, 데이터의 신뢰성과 흐름 제어를 담당합니다. 이 계층은 데이터의 전송을 위해 연결을 설정하고 유지합니다.

역할: 데이터 세그먼트화, 신뢰성 있는 데이터 전송, 오류 검출 및 수정, 흐름 제어.
프로토콜: TCP (Transmission Control Protocol), UDP (User Datagram Protocol)

응용 계층 (Application Layer)

네트워크 애플리케이션과 사용자가 직접 상호 작용하는 계층입니다. 이 계층은 애플리케이션이 네트워크 서비스를 사용할 수 있도록 합니다.

역할: 데이터 표현, 사용자 인터페이스 제공, 다양한 네트워크 서비스 제공.
프로토콜: HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DNS (Domain Name System)

TCP/IP 계층 모델의 구조

UDP란? (User Datagram Protocol)

사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)은 보안과 신뢰성보다 전송 속도와 효율설이 더 중요한 경우 데이터를 전송하기 위해 IP와 함께 오래 사용된 프로토콜

TCP/IP와 UDP는 인터넷을 통해 데이터를 전송하는 두 가지 주요 프로토콜입니다. 이 둘은 각각의 장단점을 가지고 있으며, 다양한 네트워크 통신 요구 사항에 맞게 선택될 수 있습니다.

특징

TCP/IP

  • 연결 지향적 프로토콜: TCP는 데이터 전송을 위해 먼저 연결을 설정합니다. 이는 송신자와 수신자 간에 세션을 확립한 후 데이터 전송을 시작한다는 의미입니다.
  • 신뢰성: TCP는 데이터의 전송이 신뢰할 수 있도록 보장합니다. 데이터가 손실되거나 손상된 경우, 재전송을 통해 이를 복구합니다.
  • 흐름 제어: 송신자가 수신자의 처리 능력을 초과하지 않도록 데이터를 조절합니다.
  • 혼잡 제어: 네트워크 혼잡을 방지하기 위해 데이터 전송 속도를 조절합니다.
    순서 보장: 전송된 데이터는 수신자에게 원래의 순서대로 도착합니다.

사용 사례

  • 웹 브라우징 (HTTP/HTTPS)
  • 이메일 (SMTP, POP3, IMAP)
  • 파일 전송 (FTP)
  • 원격 접속 (SSH, Telnet)

UDP

  • 비연결 지향적 프로토콜: UDP는 연결을 설정하지 않고 데이터를 전송합니다. 즉, 송신자는 데이터를 보내고 나서 수신 여부를 확인하지 않습니다.
  • 비신뢰성: 데이터 전송에 신뢰성을 보장하지 않습니다. 패킷 손실, 중복 또는 순서 변경이 발생할 수 있습니다.
  • 오버헤드가 적음: 추가적인 연결 설정이나 흐름 제어 과정이 없기 때문에 빠르고 효율적입니다.
  • 순서 보장 없음: 데이터 패킷이 수신자에게 순서대로 도착할 것을 보장하지 않습니다.

사용 사례

  • 실시간 스트리밍 (비디오, 오디오)
  • 온라인 게임
  • VoIP (Voice over IP)
  • 방송 시스템 (Multicast, Broadcast)

TCP와 UDP의 비교


[참고]

profile
성장 위해 노력하는 웹 개발자 주니어

0개의 댓글