💻 [네트워크] TCP/IP 4계층 모델 개요 - 쉽게 이해하기
2025. 4. 26. 16:32

🎯 개요

네트워크 실무에서 OSI 7계층보다 더 많이 사용하는 모델이 바로 TCP/IP 4계층 모델이다.

TCP/IP는 인터넷 프로토콜 스택(Internet Protocol Stack) 이라고도 불리며, 오늘날 인터넷 통신의 핵심 구조이다.

이번 글에서는 

TCP/IP 모델이 무엇인지, 계층별 역할은 무엇인지, OSI 7계층과 어떤 차이가 있는지를 쉽고 현실적인 예시와 함께 정리한다. 


🧠 TCP/IP란?

 

  • TCP/IP: Transmission Control Protocol / Internet Protocol
  • 1970년대 초 미국 국방성(DARPA) 주도로 개발된 통신 규약
  • 여러 컴퓨터들이 네트워크를 통해 안정적으로 통신할 수 있도록 만든 표준
  • 현대 인터넷 통신의 기본 뼈대를 이룬다

📚 TCP/IP 4계층 구조

계층 번호 계층 이름 주요 역할
4 응옹 계층 (Application) 사용자 서비스 제공 (HTTP, FTP, SMTP)
3 전송 계층 (Transport) 데이터 전달 보장 (TCP, UDP)
2 인터넷 계층 (Internet) IP 주소, 라우팅 처리 (IP, ICMP)
1 네트워크 인터페이스 계층 (Network Access) 실제 데이터 전송 (Ethernet, Wifi 등)

 


🧩 쉽게 이해하는 TCP/IP 4계층

인터넷으로 메신저 메시지를 보낸다고 생각해보자.

 

  1. 응용 계층: 메시지 내용을 작성하고 보낸다 (HTTP, SMTP 등)
  2. 전송 계층: 데이터가 빠짐없이, 순서대로 도착하게 관리한다 (TCP) 또는 빠르게 전송만 한다 (UDP)
  3. 인터넷 계층: 목적지 IP 주소를 붙여 어디로 보낼지 정한다 (IP)
  4. 네트워크 인터페이스 계층: 실제 물리적인 네트워크(이더넷, 와이파이)를 통해 전송한다

📌 TCP/IP vs OSI 7계층 비교

구분 OSI 7계층 TCP/IP 4계층
구조 세밀하게 7단계로 분리 실용적으로 4단계로 통합
사용도 학문적/개념적 실무/인터넷 실제 통신
초점 표준화된 설계도 실제 구현과 효율성
  • 현실 세계에서는 TCP/IP 모델을 기반으로 네트워크 통신이 이루어진다.
  • OSI 모델은 학습용 모델로 개념을 명확히 이해하는 데 도움을 준다.

🚀 Java로 TCP 통신 간단 실습 예제

✅ 서버(Server) 코드

package os;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class SimpleServer {

    public static void main(String[] args) throws IOException {
        ServerSocket serverSocket = new ServerSocket(9999); // 9999번 포트로 서버 열기
        System.out.println("서버 대기 중...");

        Socket clientSocket = serverSocket.accept(); // 클라이언트 접속 대기
        System.out.println("클라이언트 연결 완료!");

        BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            System.out.println("받은 메시지: " + inputLine);
        }

        in.close();
        clientSocket.close();
        serverSocket.close();

    }

}

 

 

✅ 클라이언트(Client) 코드

package os;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;

public class SimpleClient {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("localhost", 9999); // 서버에 접속 (localhost 기준)

        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        out.println("안녕하세요 서버님!");

        out.close();
        socket.close();
    }
}

 


✨ 마무리 요약

  • TCP/IP 4계층 모델은 현대 인터넷 통신의 기본 골격이다.
  • 각 계층은 역할이 명확히 나뉘어 있으며, 서로 유기적으로 작동한다.
  • OSI 모델과 비교해 실용적이고 현실적인 구조다.
  • Java 소켓 프로그래밍을 통해 TCP 통신 흐름을 간단히 체험할 수 있다.

📚 추가 자료

📚 전체 예제 및 추가 자료는
👉 GitHub - daily-cs-study에서 확인 가능합니다. 함께 성장해요!