포스트

네트워크 (1) - 프로토콜, OSI 7 계층, TCP/IP, 캡슐화

네트워크 (1) - 프로토콜, OSI 7 계층, TCP/IP, 캡슐화

프로토콜, OSI 7 계층, TCP/IP, 캡슐화

네트워크를 공부할 때 가장 기본이 되면서도 중요한 개념인 프로토콜, OSI 7 계층, TCP/IP 프로토콜 스택, 그리고 캡슐화/역캡슐화에 대해 정리한다.


1. 프로토콜 (Protocol)

개요

  • 정의: 네트워크에서 장치 간에 데이터를 주고받을 때 약속한 통신 규칙이나 규약이다.

특징 및 동향:

  • 과거에는 여러 프로토콜이 혼재했으나, 최근에는 이더넷(Ethernet) - TCP/IP 기반으로 표준화되어 사용되고 있다.
  • 물리적 측면: 데이터 전송 매체, 신호 규약, 회선 규격 등으로 이더넷이 주로 쓰인다.
  • 논리적 측면: 장치 간 통신 규격으로 TCP/IP가 주로 쓰인다.

데이터 표현 방식:

  • 과거의 네트워크는 적은 컴퓨팅 자원과 느린 네트워크 속도에서 효율성을 극대화해야 했으므로, 대부분 2진수 비트(Bit) 기반으로 치밀하게 설계되었다.
  • 다만, 애플리케이션 레벨(상위 계층)에서는 비트 방식보다 사람이 읽고 다루기 쉬운 문자 기반 프로토콜(예: HTTP)이 널리 쓰이고 있다.

2. OSI 7 계층 (OSI 7 Layer)

과거 벤더(제조사)마다 고유의 통신 규약을 사용해 호환되지 않던 문제를 해결하고자 국제표준화기구(ISO)에서 정립한 표준 참조 모델이다. 현재는 TCP/IP 프로토콜 스택이 실제 표준으로 쓰이지만, 네트워크 동작을 이해하고 문제(Troubleshooting)를 해결하는 데 아주 유용한 기준이 된다.

1
2
3
4
5
6
7
8
9
10
11
+---------------------------------------------------+
|  7. Application Layer    (응용 계층)              |
|  6. Presentation Layer   (표현 계층)  Application  |
|  5. Session Layer        (세션 계층)     Layer    |
+---------------------------------------------------+
|  4. Transport Layer      (전송 계층)              |
|  3. Network Layer        (네트워크 계층) Data Flow |
|  2. Data Link Layer      (데이터 링크 계층) Layer |
|  1. Physical Layer       (물리 계층)              |
+---------------------------------------------------+

계층별 구분

Data Flow Layer (1~4 계층 - 하위 계층 / 기계 관점)

  • 데이터를 목적지까지 정확하고 원활하게 전달하는 역할을 맡는다.
  • 네트워크 엔지니어의 주요 관심 영역이며, 상향식(Bottom-up)으로 네트워크를 바라본다.

Application Layer (5~7 계층 - 상위 계층 / 인간 관점)

  • 데이터를 사용자나 애플리케이션에 표현하는 데 초점을 맞춘다.
  • 개발자의 주요 관심 영역이며, 하향식(Top-down)으로 네트워크를 바라본다.

계층별 핵심 역할 및 특징

1계층: 물리 계층 (Physical Layer)

  • 역할: 전기적·광학적 신호를 전달하는 데 집중한다. 주소 개념이 없다.
  • 동작: 들어온 전기 신호를 그대로 다른 포트로 내보낸다.
  • 주요 장비: 케이블, 리피터, 허브(Hub), TAP(패킷 복제 장비)
  • 역할: 전기 신호를 데이터 형태로 변환하고, 물리적 주소인 MAC 주소를 통해 통신한다. 에러 탐지 및 흐름 제어(Flow Control)를 수행한다.

주요 특징:

  • NIC (랜카드): 전기 신호를 데이터로 변환하며, 목적지 MAC 주소가 내 MAC 주소와 일치하면 수신하고 다르면 폐기한다.
  • Switch: MAC 주소 테이블을 학습하여 해당 패킷이 가야 할 포트로만 포워딩(Forwarding)해 준다. (네트워크 효율성 향상)

3계층: 네트워크 계층 (Network Layer)

  • 역할: 논리적 주소인 IP 주소를 정의하고, 출발지에서 목적지까지의 최적 경로를 설정(Routing)한다.
  • 주요 특징: IP 주소는 네트워크 주소와 호스트 주소로 나뉘며, 이를 통해 원격지 네트워크를 구분한다.
  • 주요 장비: 라우터(Router), L3 스위치

4계층: 전송 계층 (Transport Layer)

  • 역할: End-to-End 데이터 전송의 신뢰성을 보장한다. 패킷 유실이나 순서 뒤바뀜 문제를 해결한다.

주요 특징:

  • Sequence Number / ACK Number를 사용해 순서를 맞추고 재전송을 요청한다.
  • 포트(Port) 번호를 사용해 장치 내 어떤 애플리케이션으로 갈 데이터인지 구분한다.

  • 주요 장비: 로드 밸런서(L4), 방화벽(Firewall)

5계층: 세션 계층 (Session Layer)

  • 역할: 양 끝단의 응용 프로세스가 연결을 성립, 유지, 종료하도록 관리한다. 에러 발생 시 세션 복구를 담당한다.

6계층: 표현 계층 (Presentation Layer)

  • 역할: 데이터의 인코딩, 암호화, 압축 등을 수행하여 서로 다른 시스템 간 데이터 형식을 통일(번역)해 준다.

7계층: 응용 계층 (Application Layer)

  • 역할: 사용자 및 애플리케이션이 네트워크에 접근할 수 있도록 UI 및 입출력 인터페이스를 제공한다. (HTTP, FTP, SMTP 등)

보안 및 고성능 장비 (L7 계층 영역)

  • ADC (Application Delivery Controller): 고성능 로드 밸런싱 및 애플리케이션 최적화
  • NGFW (Next Generation Firewall): 애플리케이션 분석, IPS/IDS 통합 방화벽
  • WAF (Web Application Firewall): 웹 공격(HTTP/HTTPS) 전용 차단 방화벽

3. TCP/IP 프로토콜 스택 (TCP/IP Protocol Stack)

  • 현대 네트워크의 실질적 표준(De facto standard)이다.
  • 이론 중심의 OSI 7 계층과 달리, 실용성에 중점을 두고 개발되었다.
  • 보통 4개 계층(Application - Transport - Internet - Network Access)으로 구분한다.

참고: 특수한 목적의 환경에서는 TCP/IP 외의 전용 프로토콜을 쓰기도 한다. (예: NVIDIA GPU 간 고속 통신을 위한 NVLink, NVSwitch 등)


4. 캡슐화 & 역캡슐화 (Encapsulation & Decapsulation)

네트워크는 하나의 통신이 회선 전체를 점유하지 못하도록 데이터를 패킷(Packet)이라는 작은 단위로 나누어 전송한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[송신측: Encapsulation]                    [수신측: Decapsulation]

Application Data                           Application Data
       │                                          ▲
       ▼ (4계층 Header 추가)                     │ (4계층 Header 제거)
[L4 Header | Data]  <-- Segment            [L4 Header | Data]
       │                                          ▲
       ▼ (3계층 Header 추가)                     │ (3계층 Header 제거)
[L3 Header | L4 | Data]  <-- Packet        [L3 Header | L4 | Data]
       │                                          ▲
       ▼ (2계층 Header/Trailer 추가)              │ (2계층 Header/Trailer 제거)
[L2 Header | L3 | L4 | Data | L2 Trailer]  [L2 Header | L3 | L4 | Data | L2 Trailer]
       │                                          ▲
       ▼                                          │
[ 1계층: 전기/광 신호 변환 전송 ] ───────────────┘

전송 과정

  1. Encapsulation (송신):
    • Application: 데이터 생성
    • Transport (L4): Port 번호가 담긴 L4 헤더 추가 (Segment)
    • Network (L3): IP 주소가 담긴 L3 헤더 추가 (Packet)
    • Data Link (L2): MAC 주소가 담긴 L2 헤더 및 트레일러 추가 (Frame)
    • Physical (L1): 전기/광 신호로 변환하여 전송
  2. Decapsulation (수신):
    • 송신과 반대 순서로 하위 계층에서 상위 계층으로 올라가며 각 계층의 헤더를 검증하고 제거하여 최종 데이터를 애플리케이션에 전달한다.

💡 주요 개념: MTU와 MSS

  • MTU (Maximum Transmission Unit)
  • 네트워크(L2/L3)에서 한 번에 보낼 수 있는 최대 데이터(패킷) 크기이다.
  • 일반적인 이더넷의 기본 MTU는 1500 바이트이다.

  • MSS (Maximum Segment Size)
  • TCP(L4) 수준에서 한 번에 전송할 수 있는 순수 데이터(Payload)의 최대 크기이다.
  • MTU(1500) - IP Header(20) - TCP Header(20) = 1460 바이트가 일반적인 MSS 크기이다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.