OSI(Open Systems Interconnection) 7계층 모델은 네트워크 통신을 이해하는 가장 기본적인 프레임워크입니다. 단순히 이론에 그치지 않고, 우리가 매일 사용하는 라우터, 스위치, 서버, 그리고 AWS, GCP 같은 클라우드 서비스가 모두 이 모델 위에서 동작합니다.
OSI 모델을 이해하면
네트워크 장애가 발생했을 때 어느 계층의 문제인지 파악할 수 있습니다
클라우드 아키텍처를 설계할 때 각 구성 요소의 역할을 명확히 이해할 수 있습니다
보안 정책을 수립할 때 어느 계층에서 방어해야 하는지 알 수 있습니다
이번 글에서는 OSI 7계층을 단계별로 살펴보고, 각 계층에 어떤 처리 기기나 클라우드가 사용되는 지 예시까지 알아보겠습니다.
OSI 모델은 네트워크 통신 과정을 7개의 논리적 계층으로 나눈 표준 모델입니다. 각 계층은 특정한 역할을 담당하며, 상위 계층은 하위 계층의 서비스를 이용합니다. 물론 최근에는 TCP/IP 5계층 혹은 4계층을 더 적합한 모델로 보고있습니다.
계층 | 이름 | 주요 역할 | 관련 키워드 |
|---|---|---|---|
7 | Application (응용 계층) | 사용자와 직접 상호작용 | HTTP, FTP, DNS |
6 | Presentation (표현 계층) | 데이터 형식 변환 및 암호화 | SSL/TLS, JPEG, 인코딩 |
5 | Session (세션 계층) | 연결 세션 관리 | 세션 유지, 동기화 |
4 | Transport (전송 계층) | 전송 제어, 신뢰성 보장 | TCP, UDP, 포트 |
3 | Network (네트워크 계층) | 경로 선택, 주소 지정 | IP, 라우팅 |
2 | Data Link (데이터 링크 계층) | 프레임 전송, 오류 검출 | MAC 주소, 스위치 |
1 | Physical (물리 계층) | 전기 신호, 물리적 연결 | 케이블, 허브, 신호 |
역할: 데이터를 전기 신호, 광신호, 전파로 변환하여 물리적 매체를 통해 전송합니다.
관련 기기:
케이블: 이더넷 케이블(Cat5, 6, 7), 광케이블
허브(Hub): 들어온 신호를 모든 포트로 그대로 복사해서 전송
리피터(Repeater): 약해진 신호를 증폭, 광케이블 보급되며 안씀.
특징:
0과 1의 비트 스트림만 다룸
데이터의 의미는 전혀 모름
단순히 신호를 전달하는 역할만 수행
역할: 직접 연결된 두 노드 간의 신뢰성 있는 데이터 전송을 담당합니다. 프레임 단위로 데이터를 묶고, MAC 주소를 사용해 목적지를 식별합니다.
관련 기기:
L2 스위치(Switch): MAC 주소를 학습하고, 해당 포트로만 데이터를 전송 (허브보다 지능적)
브리지(Bridge): 네트워크 세그먼트를 연결(옛날 허브 기반 네트워크에서 브로드캐스팅 범위 좁히기 목적)
NIC(Network Interface Card): 각 장치에 고유한 MAC 주소 부여
핵심 개념:
MAC 주소: 48비트 하드웨어 주소 (예: 00:1A:2B:3C:4D:5E)
프레임: 데이터를 포장한 단위
오류 검출: CRC(Cyclic Redundancy Check)를 통해 전송 오류 확인
예시: 집에 있는 스위치가 여러 기기(PC, TV, 프린터)를 연결할 때, 각 기기의 MAC 주소를 기억하고 해당 기기에만 데이터를 보냅니다.
역할: 서로 다른 네트워크 간의 데이터 전송 경로를 결정합니다. IP 주소를 사용해 목적지를 식별하고 최적의 경로를 선택합니다.
관련 기기, 개념:
라우터(Router): 패킷의 IP 주소를 보고 최적 경로로 전송
L3 스위치: 라우팅 기능이 추가된 스위치
방화벽: IP 기반 필터링 수행
핵심 프로토콜:
IP(Internet Protocol): 주소 체계 (IPv4, IPv6)
ICMP: Ping 명령어에서 사용 (연결 테스트)
라우팅 프로토콜: OSPF, BGP (경로 정보 교환)
예시:
집의 공유기(라우터)가 사설 IP(192.168.x.x)를 공인 IP로 변환(NAT)
인터넷으로 나가는 패킷이 여러 라우터를 거쳐 최종 목적지에 도달
역할: 종단 간(End-to-End) 신뢰성 있는 데이터 전송을 보장합니다. 포트 번호로 애플리케이션을 구분합니다.
핵심 프로토콜:
TCP (Transmission Control Protocol):
연결 지향적 (3-way handshake)
신뢰성 보장 (재전송, 순서 보장)
흐름 제어 및 혼잡 제어
사용 예: 웹 브라우징(HTTP), 이메일(SMTP), 파일 전송(FTP)
UDP (User Datagram Protocol):
비연결형
빠르지만 신뢰성 없음
사용 예: 실시간 스트리밍, DNS, 온라인 게임
관련 개념:
L4 스위치(로드 밸런서로 IP와 포트 기반으로 트래픽 분산, L7 스위치 보다는 제한적)
# Nginx 설정, L4 스위치 (stream 모듈 사용)stream { upstream backend { server 192.168.0.101:1935; server 192.168.0.102:1935; } server { listen 1935; proxy_pass backend; }}# Nginx 설정, L7 스위치http { upstream backend { server 192.168.0.101; server 192.168.0.102; } server { listen 80; server_name example.com; location /video/ { proxy_pass http://backend; } location /image/ { proxy_pass http://backend; } }}관련 클라우드 서비스:
NLB(Network Load Balancer, AWS)
예시: 넷플릭스를 볼 때 TCP로 영상 파일을 안정적으로 다운로드하고, Zoom 화상회의는 UDP로 실시간성을 우선합니다.
역할: 애플리케이션 간의 연결(세션)을 설정, 유지, 종료합니다. 대화 제어와 동기화를 담당합니다.
주요 기능:
세션 설정 및 해제
체크포인트 설정 (중단 지점 기억)
동기화 (데이터 전송 중 오류 시 복구 지점)
관련 프로토콜:
NetBIOS
RPC (Remote Procedure Call)
PPTP (VPN에서 사용)
예시: 앱에서 로그인 세션을 유지하거나, 파일 다운로드 중 연결이 끊겨도 이어받기가 가능한 것이 세션 계층의 역할입니다.
역할: 데이터의 형식을 변환하고, 암호화/복호화, 압축/압축 해제를 수행합니다. 서로 다른 시스템 간 데이터 호환성을 보장합니다.
주요 기능:
인코딩/디코딩: ASCII, UTF-8, EBCDIC 변환
암호화/복호화: SSL/TLS (HTTPS의 S가 여기서 담당)
압축: JPEG, MPEG, GIF
데이터 표현 변환: JSON, XML, HTML
예시:
HTTPS로 웹사이트에 접속할 때 SSL/TLS로 데이터를 암호화
이미지를 JPEG로 압축해서 전송
한글 인코딩(EUC-KR)을 UTF-8로 변환
역할: 사용자와 직접 상호작용하는 계층입니다. 실제 애플리케이션에서 사용하는 프로토콜들이 여기에 속합니다.
주요 프로토콜:
HTTP/HTTPS: 웹 브라우징
FTP: 파일 전송
SMTP/POP3/IMAP: 이메일
DNS: 도메인 이름을 IP 주소로 변환
SSH: 원격 서버 접속
관련 기기:
L7 스위치 (로드 밸런서로 IP, 포트, HTTP 헤더, 쿠키, 헬스 체크 등을 기반으로 트래픽 분산)
관련 클라우드 서비스:
ALB(Application Load Balancer, AWS)
관련 서비스:
웹 브라우저 (Chrome, Firefox)
이메일 클라이언트 (Outlook, Gmail)
FTP 클라이언트 (FileZilla)
API 게이트웨이
예시:
웹 브라우저 주소창에 "google.com"을 입력하면 DNS가 IP로 변환
HTTP 프로토콜로 구글 서버와 통신
화면에 웹페이지가 렌더링
이제 OSI 7계층 모델을 통해서 각 계층별로 어떤 역할을 하는지 더 자세히 알게되었습니다. 실제로 클라우드 서비스를 통해 네트워크를 구축한다고 할 때에도 이 7계층 모델을 생각하고 어느 층에서 무엇을 적용하여 어떤 효과를 얻을지 잘 생각할 수 있어야 합니다. 예를 들면 DDOS 공격이 들어오는데 어느 계층에서 막는 것이 알맞을 지 판단하는데 중요한 근거가 될 수 있습니다.