1️⃣ 인터넷 프로토콜(IP)란?
IP(Internet Protocol)은 네트워크에서 데이터를 송수신하는 규칙(프로토콜)입니다.
- 네트워크에 연결된 모든 장치는 IP 주소를 가지고 있으며, 이를 통해 식별됩니다.
- IP 주소는 전화번호와 같은 역할을 하며, 데이터를 어디로 보내야 하는지 결정하는 기준이 됩니다.
- 데이터를 전송할 때는 패킷(Packet) 단위로 나누어 전송합니다.
🔹 패킷(Packet)이란?
패킷은 인터넷에서 데이터를 전송하는 기본 단위입니다.
각 패킷에는 다음과 같은 정보가 포함됩니다.
소스 IP | 출발지(보내는 컴퓨터)의 IP 주소 |
대상 IP | 도착지(받는 컴퓨터)의 IP 주소 |
헤더(Header) | 패킷의 정보(출발지, 목적지, 데이터 크기 등) |
페이로드(Payload) | 실제 데이터 내용 |
트레일러(Trailer) | 오류 검사 및 수신 여부 확인 |
IP를 사용하면 목적지까지 데이터를 전송할 수 있지만, 몇 가지 문제점이 존재합니다.
⚠️ IP 방식의 문제점
- 애플리케이션 구분이 어렵다
- IP는 패킷을 특정 컴퓨터(대상 IP)로 보낼 수 있지만, 해당 컴퓨터의 어떤 프로그램(웹 브라우저, 게임, 이메일 등)이 사용할 데이터인지 구분할 수 없습니다.
- 비연결성(Connectionless)
- 송신자는 수신자의 상태를 확인하지 않고 데이터를 전송합니다.
- 예를 들어, 상대방 컴퓨터가 꺼져 있어도 패킷을 보내며, 도착 여부를 확인하지 않습니다.
- 비신뢰성(Unreliable)
- 패킷이 손실되거나 순서가 뒤바뀌는 경우가 발생할 수 있습니다.
- 데이터를 여러 개의 패킷으로 나누어 전송하는데, 중간에 일부 패킷이 유실될 경우 재전송이 이루어지지 않습니다.
💡 결론: IP만으로는 신뢰성 있는 데이터 전송을 보장할 수 없습니다.
이를 해결하기 위해 TCP(Transmission Control Protocol)가 사용됩니다.
2️⃣ TCP(Transmission Control Protocol)란?
TCP는 서버와 클라이언트 간 데이터를 신뢰성 있게 전달하기 위한 프로토콜입니다.
- 데이터가 손실되거나 순서가 뒤섞이지 않도록 패킷의 전송 순서를 관리합니다.
- 만약 데이터가 정상적으로 도착하지 않으면 재전송을 요청하여 신뢰성을 확보합니다.
🔹 3-Way Handshake (TCP 연결 과정)
TCP는 신뢰성을 보장하기 위해 연결을 설정하는 과정이 필요합니다.
이를 3-Way Handshake(3단계 핸드셰이크)라고 합니다.
- SYN (Synchronize, 연결 요청)
- 클라이언트(Client)가 서버(Server)에게 연결 요청을 보냅니다.
- "저와 연결을 시작해도 될까요?"
- SYN + ACK (요청 수락)
- 서버가 클라이언트의 요청을 수락하며, 응답을 보냅니다.
- "네, 연결할 준비가 되었습니다!"
- ACK (연결 확인 및 데이터 전송 시작)
- 클라이언트가 최종 응답을 보내면서 연결이 확립됩니다.
- 이후 데이터를 신뢰성 있게 주고받을 수 있습니다.
💡 TCP의 장점
✅ 데이터를 전송할 때마다 수신 여부를 확인하고 응답을 받습니다.
✅ 패킷이 도착한 순서를 확인하고, 순서가 맞지 않으면 재정렬합니다.
✅ 만약 패킷이 손실되면 자동으로 재전송합니다.
⚠️ 하지만 단점도 존재합니다.
- 연결을 설정하는 과정이 필요하기 때문에 속도가 느릴 수 있습니다.
- 패킷이 정상적으로 전송되었는지 지속적으로 확인해야 하므로 **오버헤드(추가적인 처리 비용)**가 발생합니다.
3️⃣ UDP(User Datagram Protocol)란?
UDP는 TCP와 달리 연결을 설정하지 않고 데이터를 전송하는 비연결형 프로토콜입니다.
- TCP보다 빠르지만 신뢰성이 낮은 방식입니다.
- 패킷이 손실되거나 순서가 바뀌어도 보장하지 않으며, 데이터가 정상적으로 도착했는지 확인하지 않습니다.
🔹 UDP의 특징
✅ 빠른 전송 속도 (3-Way Handshake 과정 없음)
✅ 추가적인 기능이 거의 없음 (오버헤드가 적음)
✅ 실시간 통신에 적합 (지연 시간이 적음)
⚠️ 하지만 신뢰성이 낮음
- 데이터 손실 발생 가능
- 패킷 순서 보장 없음
UDP는 신뢰성보다는 실시간성이 중요한 경우에 많이 사용됩니다.
예시:
- 온라인 게임
- 실시간 스트리밍 (YouTube, Netflix)
- VoIP(인터넷 전화, Zoom, Skype)
- HTTP/3 프로토콜 (UDP 기반)
4️⃣ PORT(포트)란?
IP 주소만으로는 같은 컴퓨터에서 실행 중인 여러 프로그램(애플리케이션)을 구분할 수 없습니다.
이 문제를 해결하기 위해 PORT(포트) 개념이 사용됩니다.
🔹 PORT의 역할
- 같은 IP 주소를 사용하는 여러 프로그램이 각각 다른 포트 번호를 통해 데이터를 주고받습니다.
- 예를 들어,
- **웹 브라우저(HTTP, 80번 포트)와 이메일 클라이언트(SMTP, 25번 포트)**가 동시에 실행될 수 있습니다.
🔹 자주 사용되는 포트 번호
20, 21 | FTP | 파일 전송 |
22 | SSH | 원격 접속 |
25 | SMTP | 이메일 송신 |
53 | DNS | 도메인 네임 서비스 |
80 | HTTP | 웹사이트 접속(일반) |
443 | HTTPS | 웹사이트 접속(보안) |
3389 | RDP | 원격 데스크톱 |
💡 개발 시에는 1024번 이상의 포트를 활용하는 것이 좋습니다!
✅ 요약
- IP(인터넷 프로토콜)은 데이터를 목적지까지 전송하지만, 신뢰성을 보장하지 않습니다.
- TCP(전송 제어 프로토콜)은 신뢰성을 보장하며 3-Way Handshake를 통해 안정적으로 데이터를 주고받습니다.
- UDP(사용자 데이터그램 프로토콜)은 빠른 속도를 제공하지만 데이터 손실이 발생할 수 있습니다.
- PORT(포트)는 같은 IP 내에서 여러 프로그램을 구분하는 역할을 합니다.
✅ OSI 7계층과 TCP/IP 4계층
. OSI 7계층과 TCP/IP 4계층의 주요 차이점
계층 수 | 7계층 | 4계층 |
개발 배경 | ISO(국제표준화기구)에서 개발 | 미국 국방부에서 개발 |
사용 목적 | 네트워크 표준 모델 | 인터넷 통신을 위한 실용적 모델 |
프로토콜 포함 여부 | 개념적 모델, 프로토콜 포함 X | 실질적인 인터넷 프로토콜 사용 |
구조적 차이 | 세분화되어 있음 | OSI의 일부 계층을 통합하여 단순화됨 |
주요 사용 분야 | 네트워크 교육 및 개념 이해 | 인터넷 및 실제 네트워크 환경 |
OSI 모델은 이론적인 개념을 정립하는 데 중점을 두었으며, TCP/IP 모델은 실질적으로 사용되는 네트워크 통신 모델입니다.
2. OSI 7계층과 TCP/IP 4계층 비교
① OSI 7계층 모델
OSI 모델은 데이터를 계층적으로 처리하며, 각 계층은 고유한 기능을 수행합니다.
7 | 응용 계층 (Application) | 사용자와 네트워크 간의 인터페이스 (예: HTTP, FTP, SMTP) |
6 | 표현 계층 (Presentation) | 데이터 인코딩, 암호화, 압축 (예: JPEG, SSL/TLS) |
5 | 세션 계층 (Session) | 세션 설정, 유지 및 종료 (예: RPC, NetBIOS) |
4 | 전송 계층 (Transport) | 신뢰성 있는 데이터 전송, 흐름 제어 (예: TCP, UDP) |
3 | 네트워크 계층 (Network) | IP 주소 지정, 경로 설정 (예: IP, ICMP, ARP) |
2 | 데이터 링크 계층 (Data Link) | MAC 주소를 이용한 데이터 전송, 오류 감지 (예: 이더넷, 스위치, PPP) |
1 | 물리 계층 (Physical) | 실제 하드웨어 및 신호 전송 (예: 케이블, 라우터, 허브) |
특징:
- 데이터가 7개의 계층을 통해 단계적으로 변환됨
- 각 계층은 독립적으로 동작하며, 변경이 용이함
- 이론적으로 매우 세밀하게 정의되어 있음
② TCP/IP 4계층 모델
TCP/IP 모델은 인터넷에서 실제로 사용되며, OSI 7계층을 4개로 통합한 구조입니다.
4 | 응용 계층 (Application) | OSI 7, 6, 5 계층 | 애플리케이션과 직접 상호 작용 (예: HTTP, FTP, SMTP) |
3 | 전송 계층 (Transport) | OSI 4 계층 | 프로세스 간 데이터 전송, 흐름 제어 (예: TCP, UDP) |
2 | 인터넷 계층 (Internet) | OSI 3 계층 | 패킷 전달 및 경로 지정 (예: IP, ICMP, ARP) |
1 | 네트워크 접근 계층 (Network Access) | OSI 2, 1 계층 | 물리적 데이터 전송 및 오류 감지 (예: 이더넷, Wi-Fi) |
특징:
- 실제 인터넷 통신에 최적화된 구조
- OSI 모델보다 계층이 단순화되어 실용성이 높음
- 데이터 링크와 물리 계층을 하나로 묶어 "네트워크 접근 계층"으로 통합
- 세션 및 표현 계층이 따로 존재하지 않고 응용 계층에서 처리
3. OSI 7계층과 TCP/IP 4계층의 차이점 정리
구성 계층 | 7계층 (더 세밀한 분류) | 4계층 (더 단순화) |
응용 계층 | 응용, 표현, 세션으로 세분화 | 하나의 응용 계층으로 통합 |
네트워크 계층 | 네트워크, 데이터 링크, 물리 계층 | 네트워크 접근 계층으로 통합 |
프로토콜 | 개념적 모델, 특정 프로토콜 없음 | TCP, IP 등 실질적인 프로토콜 포함 |
사용 목적 | 네트워크 개념 이해 및 학습 | 인터넷 및 실무 네트워크 환경 |
4. 결론: 어떤 모델이 더 중요한가?
✔ OSI 7계층은 네트워크를 학습하고 이해하는 데 유용하지만, 실제로는 TCP/IP 4계층이 인터넷에서 널리 사용됩니다.
✔ 네트워크 관리나 보안 분야에서 일한다면 TCP/IP 모델을 중심으로 학습하는 것이 실용적입니다.
✔ 그러나 네트워크 프로토콜의 깊은 이해를 원한다면 OSI 7계층의 개념을 익히는 것이 도움됩니다.