네트워크 참조 모델
네트워크 통신이 어떻게 이루어지는지를 단계별로 설명한 개념적인 구조
정형화된 여러 단계가 있으며, 계층적으로 표현이 가능하다.
참조 모델이 존재하는 이유?
* 네트워크 구성과 설계가 용이하다.
* 네트워크 문제 진단과 해결이 쉬워진다.
대표적인 모델로는 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 |