Study/임베디드 | Embedded System

[임베디드시스템] 04. TCP/IP, 통신 프로토콜

도엔 2025. 3. 22. 15:51
728x90

1. TCP/IP란?

  • TCP/IP는 데이터를 네트워크를 통해 전송하기 위한 프로토콜(통신 규칙)의 집합
  • 데이터를 작은 단위(패킷)로 나누어 전송하고, 목적지에서 이를 재조립하는 방식으로 동작한다.
  • TCP/IP는 인터넷뿐만 아니라, 사물인터넷(IoT), 클라우드 서비스, 기업 네트워크 등 다양한 환경에서 사용된다.

_

⫸ 비유

  • TCP/IP는 택배 시스템과 유사하다:
    1) TCP: 택배를 안전하게 포장하고, 여러 상자로 나누어 보낸 후, 도착하면 순서대로 다시 조립하는 역할
    2) IP: 택배 주소를 보고 목적지까지 가는 최적의 경로를 찾아 배달


==========𝔼𝔼𝟚𝟚==========

 

2. TCP/IP의 4계층 모델

: TCP/IP는 데이터를 처리하는 4가지 계층으로 구성된다.

계층 설명 주요 프로토콜
응용 계층 (Application Layer) 사용자와 네트워크 간의 상호작용을 담당 HTTP, FTP, SMTP, DNS
전송 계층 (Transport Layer) 데이터를 신뢰성 있게 전송하고 흐름을 제어 TCP, UDP
인터넷 계층 (Internet Layer) 데이터의 주소 지정 및 라우팅 수행 IP, ICMP, ARP
네트워크 인터페이스 계층 (Network Access Layer) 물리적 네트워크(이더넷, Wi-Fi 등)와 연결 이더넷, Wi-Fi, PPP

_

⫸ 비유

  • 우리가 온라인 쇼핑을 한다고 가정하면:
    1) 네트워크 인터페이스 계층: 물류센터에서 택배를 포장하고 출발
    2) 인터넷 계층: 택배 주소를 확인하고 최적의 배송 경로를 결정
    3) 전송 계층: 택배가 손상되지 않도록 보호하며, 누락된 물건이 있으면 다시 배송
    4) 응용 계층: 택배를 받고 상자를 열어 원하는 물건을 확인


==========𝔼𝔼𝟚𝟚==========

 

3. TCP (Transmission Control Protocol)

 : TCP는 데이터를 신뢰성 있게 전달하는 프로토콜이다.

_

3.1 주요 기능

  1. 연결 지향(Connection-Oriented)
    • 데이터를 전송하기 전에 송신 측과 수신 측이 연결을 설정(3-Way Handshake)
  2. 데이터 손실 방지 및 재전송
    • 패킷이 손실되거나 손상되었을 경우 재전송하여 복구
  3. 순서 보장
    • 여러 개의 패킷이 순서대로 도착하도록 조립
  4. 흐름 제어 및 혼잡 제어
    • 네트워크 상태를 고려하여 데이터 전송 속도를 조절하여 혼잡을 방지

_

3.2 TCP 3-Way Handshake (연결 설정 과정)

  1. SYN (Synchronize): 클라이언트가 서버에게 연결 요청을 보냄
  2. SYN-ACK (Synchronize-Acknowledge): 서버가 연결 요청을 수락하고 응답을 보냄
  3. ACK (Acknowledge): 클라이언트가 응답을 확인한 후 데이터 전송 시작


==========𝔼𝔼𝟚𝟚==========

 

4. IP (Internet Protocol)

 : IP는 데이터 패킷을 목적지까지 전달하는 역할을 한다.

4.1 주요 기능

  1. IP 주소 지정 및 라우팅
    • 각 장치는 고유한 IP 주소를 가지며, 이를 통해 데이터를 목적지로 전달
    • 라우터가 최적의 경로를 찾아 데이터 전송
  2. 비연결형(Connectionless) 프로토콜
    • 패킷을 전송하지만, 손실되었을 경우 복구 기능이 없음(TCP와 함께 사용하여 보완)

_

4.2 IP 주소 체계

  1. IPv4 (32비트 주소, 예: 192.168.1.1)
  2. IPv6 (128비트 주소, 예: 2001:db8::ff00:42:8329)


==========𝔼𝔼𝟚𝟚==========

 

5. TCP vs. UDP 차이점

 : TCP와 UDP는 전송 계층에서 사용되는 두 가지 주요 프로토콜이다.

특징 TCP (안전하지만 느림) UDP (빠르지만 신뢰성 낮음)
연결 방식 연결 지향(Connection-Oriented) 비연결형(Connectionless)
신뢰성 데이터 손실 시 재전송 데이터 손실 발생해도 무시
속도 느림 (오버헤드 있음) 빠름 (오버헤드 적음)
순서 보장 패킷 순서 보장 순서 보장 없음
사용 사례 웹사이트(HTTP), 이메일(SMTP), 파일 다운로드(FTP) 실시간 스트리밍, 게임, 영상통화

_

⫸ 비유

  • TCP = 등기우편 : 편지가 정확하게 도착하도록 확인하고, 문제가 있으면 다시 보내줌.
  • UDP = 일반우편 : 빠르게 보내지만 도착 여부는 확인하지 않음.


==========𝔼𝔼𝟚𝟚==========

 

6. TCP/IP의 한계 (임베디드 시스템에서의 문제점)

  1. 메모리 부족
    • TCP/IP 프로토콜 스택은 코드 크기가 크고, 메모리를 많이 사용하기 때문에 저사양 임베디드 시스템에서 실행하기 어려움
  2. 전력 소비 문제
    • TCP/IP는 지속적으로 연결을 유지해야 하기 때문에 배터리 소모가 많음
    • 특히 IoT 기기(스마트홈, 센서 등)는 전력을 절약해야 하므로 TCP/IP보다 가벼운 프로토콜이 필요함
  3. 대체 프로토콜 필요
    • 임베디드 시스템에서는 경량 네트워크 프로토콜이 TCP/IP를 대체하기도 함
      • MQTT: 저전력 IoT 기기에서 많이 사용되는 경량 메시지 프로토콜
      • CoAP: HTTP를 경량화한 프로토콜로, 제한된 환경에서 효율적으로 동작
      • LoRaWAN: 장거리 무선 통신을 위한 저전력 프로토콜


==========𝔼𝔼𝟚𝟚==========

 

7. TCP/IP가 사용되는 사례

  • 웹사이트 접속 (HTTP) : 웹 브라우저가 TCP를 이용해 서버와 연결을 설정하고, 데이터를 요청 및 수신
  • 이메일 전송 (SMTP, IMAP, POP3) : 메일 서버와 클라이언트 간의 통신을 TCP/IP로 처리
  • 파일 다운로드 (FTP) : 신뢰성 높은 데이터 전송이 필요하므로 TCP 사용
  • 온라인 게임 및 실시간 스트리밍 : 빠른 전송이 중요한 경우 UDP 사용


==========𝔼𝔼𝟚𝟚==========

 

8. 결론

  • TCP/IP는 인터넷과 네트워크 통신의 필수 프로토콜이며, 데이터를 신뢰성 있게 전송하는 역할을 한다.
  • TCP는 데이터의 순서 보장과 재전송 기능이 있지만 속도가 느리며, UDP는 빠르지만 신뢰성이 부족하다.
  • 임베디드 시스템에서는 TCP/IP가 코드 크기와 전력 소비 문제로 인해 사용이 어려울 수 있으며, 경량 프로토콜(MQTT, CoAP, LoRaWAN 등)이 대안으로 사용된다.
728x90
반응형