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 주요 기능
- 연결 지향(Connection-Oriented)
- 데이터를 전송하기 전에 송신 측과 수신 측이 연결을 설정(3-Way Handshake)
- 데이터 손실 방지 및 재전송
- 패킷이 손실되거나 손상되었을 경우 재전송하여 복구
- 순서 보장
- 여러 개의 패킷이 순서대로 도착하도록 조립
- 흐름 제어 및 혼잡 제어
- 네트워크 상태를 고려하여 데이터 전송 속도를 조절하여 혼잡을 방지
_
3.2 TCP 3-Way Handshake (연결 설정 과정)
- SYN (Synchronize): 클라이언트가 서버에게 연결 요청을 보냄
- SYN-ACK (Synchronize-Acknowledge): 서버가 연결 요청을 수락하고 응답을 보냄
- ACK (Acknowledge): 클라이언트가 응답을 확인한 후 데이터 전송 시작
==========𝔼𝔼𝟚𝟚==========
4. IP (Internet Protocol)
: IP는 데이터 패킷을 목적지까지 전달하는 역할을 한다.
4.1 주요 기능
- IP 주소 지정 및 라우팅
- 각 장치는 고유한 IP 주소를 가지며, 이를 통해 데이터를 목적지로 전달
- 라우터가 최적의 경로를 찾아 데이터 전송
- 비연결형(Connectionless) 프로토콜
- 패킷을 전송하지만, 손실되었을 경우 복구 기능이 없음(TCP와 함께 사용하여 보완)
_
4.2 IP 주소 체계
- IPv4 (32비트 주소, 예: 192.168.1.1)
- 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의 한계 (임베디드 시스템에서의 문제점)
- 메모리 부족
- TCP/IP 프로토콜 스택은 코드 크기가 크고, 메모리를 많이 사용하기 때문에 저사양 임베디드 시스템에서 실행하기 어려움
- 전력 소비 문제
- TCP/IP는 지속적으로 연결을 유지해야 하기 때문에 배터리 소모가 많음
- 특히 IoT 기기(스마트홈, 센서 등)는 전력을 절약해야 하므로 TCP/IP보다 가벼운 프로토콜이 필요함
- 대체 프로토콜 필요
- 임베디드 시스템에서는 경량 네트워크 프로토콜이 TCP/IP를 대체하기도 함
- MQTT: 저전력 IoT 기기에서 많이 사용되는 경량 메시지 프로토콜
- CoAP: HTTP를 경량화한 프로토콜로, 제한된 환경에서 효율적으로 동작
- LoRaWAN: 장거리 무선 통신을 위한 저전력 프로토콜
- 임베디드 시스템에서는 경량 네트워크 프로토콜이 TCP/IP를 대체하기도 함
==========𝔼𝔼𝟚𝟚==========
7. TCP/IP가 사용되는 사례
- 웹사이트 접속 (HTTP) : 웹 브라우저가 TCP를 이용해 서버와 연결을 설정하고, 데이터를 요청 및 수신
- 이메일 전송 (SMTP, IMAP, POP3) : 메일 서버와 클라이언트 간의 통신을 TCP/IP로 처리
- 파일 다운로드 (FTP) : 신뢰성 높은 데이터 전송이 필요하므로 TCP 사용
- 온라인 게임 및 실시간 스트리밍 : 빠른 전송이 중요한 경우 UDP 사용
==========𝔼𝔼𝟚𝟚==========
8. 결론
- TCP/IP는 인터넷과 네트워크 통신의 필수 프로토콜이며, 데이터를 신뢰성 있게 전송하는 역할을 한다.
- TCP는 데이터의 순서 보장과 재전송 기능이 있지만 속도가 느리며, UDP는 빠르지만 신뢰성이 부족하다.
- 임베디드 시스템에서는 TCP/IP가 코드 크기와 전력 소비 문제로 인해 사용이 어려울 수 있으며, 경량 프로토콜(MQTT, CoAP, LoRaWAN 등)이 대안으로 사용된다.
728x90
반응형
'Study > 임베디드 | Embedded System' 카테고리의 다른 글
[임베디드시스템] 05. RTOS (Real-Time Operating System) (2) | 2025.05.19 |
---|---|
[임베디드시스템] 03. XIP 실행 방식과 DRAM vs Flash Memory 비교 (0) | 2025.03.22 |
[임베디드시스템] 02. RAM 메모리 구조와 메모리 맵 개요 (0) | 2025.03.22 |
[임베디드시스템] 01. 임베디드 시스템 개요 (0) | 2025.03.17 |