TCP/IP와 UDP: 전송 계층 프로토콜의 이해

moonazn·2025년 8월 6일
0

cs

목록 보기
29/31

🏛️ TCP/IP 구조

TCP/IP는 실제 인터넷에서 사용하는 통신 모델로, OSI 7계층보다 간단하게 4계층 구조로 이루어진다.

계층설명OSI 대응 계층
Application응용 계층 (HTTP, FTP 등)5~7계층 통합
Transport전송 계층 (TCP, UDP)4계층
Network네트워크 계층 (IP, ICMP 등)3계층
Link링크 계층 (이더넷, MAC 등)1~2계층 통합
  • TCPUDPTransport Layer (전송 계층)에서 동작한다.
  • IPNetwork Layer (네트워크 계층)에서 동작하여 주소와 경로를 관리한다.

TCP/IP 통신에서 데이터 전송은 일반적으로 응용 계층에서 시작된다. 이 계층에서는 HTTP, FTP 등의 프로토콜이 사용되며 사용자의 데이터가 생성된다. 이렇게 생성된 데이터는 TCP/IP의 계층을 차례로 거치면서 패킷으로 분할되고 IP 주소가 부여되며, 최종적으로 네트워크를 통해 송신된다.


🫐 TCP (Transmission Control Protocol)

: 전송하는 데이터를 패킷 단위로 분할하는 역할을 수행한다.

특징

1. 연결형 (Connection-Oriented)

통신 전에 3-way handshake로 연결을 설정한다.

  • 3-way handshake로 일단 연결 후 데이터 전송
  • 물리적으로 전용회선이 연결되어 있는 것처럼 논리적인 연결을 통해 데이터를 주고받음.
  • 4-way handshake로 연결 해제
3-way handshake

2. 신뢰성

데이터 전송 성공 여부를 확인하고, 재전송을 수행하는 방식으로 신뢰성을 보장한다.

  • '수신 확인(ACK, Acknowledgement)' 매커니즘 사용 ➡️ 데이터가 중간에 누락되면 알 수 있다.
  • 수신 호스트는 데이터를 잘 받았다고 응답한다.

송신자가 설정된 시간 내에 '수신 확인' 메시지를 받지 못할 경우, 해당 패킷이 목적지에 도달하지 못했다고 판단하고 패킷을 재전송한다.

3. 순서 보장

데이터가 순서대로 도착한다.

  • 잘못된 순서로 도착한 경우 수신 호스트가 송신 호스트에게 어디서부터 다시 전송해달라고 요청한다.

4. 흐름/혼잡 제어

수신자 상태나 네트워크 혼잡도를 고려한다.

예: 네이버에 접속할 때 TCP 연결을 먼저 맺고, 그 위에서 HTTP 요청을 보낸다.


🍍 UDP (User Datagram Protocol)

특징

1. 비연결형 (Connectionless)

연결 설정 없이 바로 데이터를 전송한다.

2. 신뢰성 X

데이터가 손실돼도 확인/재전송을 수행하지 않는다.

3. 순서 미보장

데이터의 도착 순서가 바뀔 수 있다.

4. 빠름

제어 기능이 없어 속도가 빠르다.

영상 스트리밍 도중 한 프레임이 유실되어도 영상은 멈추지 않는다.


🍈 IP (Internet Protocol)

: 전송 계층(TCP, UDP)으로부터 전달받은 패킷을 올바른 목적지로 전송하는 역할을 수행한다.

: 서로 다른 운영체제를 사용하는 다양한 컴퓨터들이 서로 통신할 때 사용하는 약속된 데이터 이동 간의 규약이다.

OSI 모델에서 3계층(Network)에서 사용하는 프로토콜이다.

  • 주소 지정: 송신자와 수신자의 IP 주소를 사용한다.
    • IP 주소 - 192.168.1.35와 같은 형태로 각 컴퓨터는 고유 주소를 가지고 있으며, 이를 활용하여 컴퓨터를 식별하고 데이터를 전송/수신한다.
    • 패킷 단위로 데이터를 전달하며, IP 패킷에는 출발지 IP, 목적지 IP, 전송하는 데이터 등이 포함되어 있다.
  • 라우팅: 목적지까지 데이터 전달 경로를 지정한다.
  • 비신뢰성: IP는 자체적으로 오류 복구를 하지 않고, 상위 계층에 위임한다.
  • 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태인 경우에도 패킷을 전송한다.
    • 클라이언트는 대상 서버가 패킷을 받을 수 있는 상태인지 알 수 없다.

즉, IP는 “어디로 보내야 할지”만 알려줄 뿐, “잘 도착했는지”전송 계층이 책임진다. (TCP/UDP)


TCP vs UDP

항목TCPUDP
연결 방식연결형 (3-way handshake)비연결형
신뢰성보장 (데이터 유실 시 재전송)없음 (데이터 유실 가능)
순서 보장OX
속도느림 (과정 많음)빠름 (단순 전송)
패킷 크기가변 (헤더 20바이트 이상)작음 (헤더 8바이트)
사용 예시웹, 이메일, 파일 전송게임, 스트리밍, VoIP, DNS 등

TCP: 느리지만 정확하게 → 웹페이지, 로그인 등 정확성 필요한 곳
UDP: 빠르지만 유실 가능 → 게임, 영상 등 실시간성이 중요한 곳

profile
개발 공뷰

0개의 댓글