네트워크 참조 모델 

 

네트워크 통신이 어떻게 이루어지는지를 단계별로 설명한 개념적인 구조

정형화된 여러 단계가 있으며, 계층적으로 표현이 가능하다.

 

참조 모델이 존재하는 이유?

* 네트워크 구성과 설계가 용이하다.

* 네트워크 문제 진단과 해결이 쉬워진다.

 

대표적인 모델로는 OSI 7계층, TCP/IP 4계층이 존재한다.

 

1. 물리 계층 (LAN 및 하드웨어 관련) : 1과 0으로 표현되는 비트 신호를 주고받는 층 (전파, 무선, 유선 등 어떻게 주고받을지 정의)

 

2. 데이터 링크 계층 (같은 LAN 및 하드웨어 관련)  : 네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 층

- 네트워크 계층에서 받은 데이터를 프레임 단위로 나누어 전송

- 물리계층을 통해 실제 전송이 안정적으로 이루어지도록 오류검출, 흐름제어, MAC 주소 관리 등을 수행

대표장비

스위치   : MAC 주소를 기반으로 프레임을 전달한다.

브릿지   : 두 개의 LAN 세그먼트를 연결하는 역할

 

3. 네트워크 계층 (다른 LAN 끼리 통신 ) : 메시지를 다른 네트워크의 수신지까지 전달

-라우팅을 통해 데이터를 목적기까지 효율적으로 전송 (IP 패킷 기반)

- 상위계층에서 받은 데이터를 패킷단위로 만들어서 전달

- IP 패킷의 혼잡제어 등 (IP 프로토콜, ICMP 등)

대표장비

라우터 : 서로 다른 네트워크 (LAN - WAN) 을 연결하고, IP 기반으로 패킷의 경로를 설정한다.

 

4. 전송 계층 : 신뢰성 있고 안전성 있는 전송을 해야할때 필요한 층, ex) TCP, UDP 등 

- 네트워크 계층이 “호스트 간” 데이터를 전달한다면,
전송 계층은 그 호스트 내부의 “프로세스 간” 데이터를 전달합니다. (Port 번호를 통해 어떤 프로그램으로 데이터를 보낼지 구분 , http -> 80, FTP -> 21)

- 세그먼트화와 재조립

- 오류제어 및 흐름제어 , 혼잡제어

 

  • 응용 계층: HTTP 요청 메시지 생성
  • 전송 계층: TCP가 포트 80(HTTP)으로 세그먼트화하여 전송
  • 네트워크 계층: IP를 이용해 목적지 라우팅
  • 데이터 링크 계층: MAC 주소를 통해 실제 전송
  • 수신 측 전송 계층: 세그먼트 재조립 및 순서 복원 후 HTTP 응용 계층에 전달

 

 

5. 세션 계층 : 통신을 주고 받는 호스트의 응용 프로그램 간 연결상태를 관리하는 층

로그인 유지 및 파일 전송재게 등 역할을한다.

전송 계층이 데이터를 주고받는 통로를 제공한다면 세션 계층은 통로에서 언제 시작하고 언제멈출지

조정하는 역할

 

- 대표 프로토콜

RPC (Remote Procedure Call) 원격지 시스템에서 함수 호출 수행 (예: gRPC)
NetBIOS 세션 기반 네트워크 서비스 (Windows 파일 공유)
SQL 세션 DB 접속 후 쿼리 수행 시 세션 생성 및 종료
PPTP / L2TP VPN 연결 시 세션 생성 및 유지
TLS/SSL의 Handshake 과정 암호화 세션을 수립하는 과정 포함

 

 

6. 표현 계층 : 문자를 컴퓨터가 이해가능한 코드로 변환 및 압축, 암호화 기능 수행

데이터를 표현 방식에 맞게 변환 --> 문자 인코딩 및 압축  ex: TSL/SSL , MIME 타입

송신 측과 수신 측이 서로 다른 시스템 환경이나 데이터 형식을 사용하더라도,
서로 이해할 수 있도록 데이터를 변환하고 표준화

예: EBCDIC ↔ ASCII, UTF-8 ↔ UTF-16 등

 

  • 전송 효율을 높이기 위해 데이터 크기를 줄입니다.
  • 압축된 데이터를 수신 측에서 복원(decompression)합니다.

예: JPEG, MPEG, ZIP 등은 모두 표현 계층에서의 압축 사례

 

또는 데이터의 암복화 기능 => 송신측에서 데이터를 암호화하고 수신측에서 복호화하여 보안을 유지

 

7. 응용 계층 : 응용프로그램에 실질적인 네트워크 서비스를 제공

 

응용 서비스 제공 (Application Services)

  • 파일 전송, 이메일 송수신, 원격 접속 등 다양한 네트워크 기반 서비스 제공
  • 각 서비스는 자체 프로토콜로 구현됨
    • 예: HTTP, FTP, SMTP, DNS 등

데이터 생성 및 요청 처리

  • 사용자의 요청을 하위 계층(전송/네트워크 계층 등)이 이해할 수 있도록 변환해 전달
  • 반대로, 하위 계층에서 받은 데이터를 사람이 읽을 수 있는 형태로 변환

예: 웹 서버에서 HTML 데이터를 받아 브라우저에 렌더링하는 과정

 

웹사이트 접속, 이메일 송신, 파일 다운로드 등 실제 서비스 사용에 해당

 

ex: DHCP , HTTP , DNS 등

 

 

 

TCP/IP 모델

1. 네트워크 엑세스 계층 : 데이터 링크 층과 유사한 기능

2. 인터넷 계층 : 네트워크 계층과 유사한 기능

3. 전송 계층 : OSI 전송 계층과 유사한 기능

4. 응용 계층 : OSI 세션+표현+응용과 유사  

 

 

캡슐화 & 역캡슐화

* 캡슐화 : 메세지의 송수신 과정에서 각 계층에 속한 프로토콜에 목적과 특징에 부합하는 헤더가 추가되는 과정

물리계층을 통해 신호로 변환되어 전달된다.

 

 

 

현 계층의 페이로드 = 전 계층의 헤더 + 페이로드 (데이터)

 

 

* 역캡슐화 : 캡술화 과정에서 붙은 헤더를 제거하는 과정

 

왜 캡슐화가 일어나는가?

1. 계층 간 독립성 유지

  • OSI 모델은 각 계층이 독립적으로 동작하도록 설계됨.
  • 즉, 상위 계층이 데이터를 보낼 때 하위 계층의 작동 방식을 몰라도 통신이 가능해야 함.
  • 이를 위해 각 계층은 자신만의 제어 정보(헤더, 트레일러) 를 추가함.

 

2. 통신 상대가 데이터를 올바르게 해석하기 위해

수신 측은 캡슐화된 데이터를 역순으로 디캡슐화(decapsulation) 해야 함.

  • 각 계층의 헤더를 읽고 필요한 정보를 추출함으로써 정확히 처리 가능.

예:
패킷을 받은 라우터는 IP 헤더를 보고 목적지를 판단 → 전송 계층으로 넘김 → TCP 헤더를 보고 순서를 맞춤 → 응용 계층에서 최종 데이터 확인

 

 

* PDU : 각 계층에서 송수신되는 데이터 단위

- 응용, 표현, 세션 -> 데이터

- 전송 -> 세그먼트(TCP), 데이터그램(UDP)

- 네트워크 -> IP 패킷

- 데이터 링크 -> 프레임

- 물리 -> 비트

 

 

* 네트워크 참조 모델과 특정 계층은 네트워크를 작동하는 주체는 아니다,

작동 주체는 프로토콜과 장비이다. 말그대로 참조하는 모델이며 엄격한 규칙같은게 아니다.

 

 

'개인공부 > 네트워크' 카테고리의 다른 글

[네트워크] NIC & 케이블  (0) 2025.05.17
[네트워크] 트래픽과 성능 지표 , 이더넷  (0) 2025.05.16
[JWT] Json Web Token  (2) 2025.04.08
[CIA와 대칭키, 비대칭키]  (0) 2025.04.08
네트워크의 기본적 구조  (0) 2025.04.07

+ Recent posts