2025-09-21 11:20

네트워크 통신의 교과서 OSI 7계층 완벽 해부 핸드북

OSI 모형

  • OSI 7계층은 복잡한 네트워크 통신 과정을 7개의 논리적인 단계로 나누어 표준화한 모델이다.

  • 각 계층은 독립적인 기능을 수행하며, 데이터가 상위 계층에서 하위 계층으로, 다시 하위 계층에서 상위 계층으로 전달되며 통신이 이루어진다.

  • 이 모델은 통신 과정을 이해하고 문제를 해결하는 데 도움을 주는 개념적 프레임워크로, 현대 네트워크 기술의 근간을 이룬다.


1. OSI 7계층의 탄생 배경: 혼돈의 시대에서 질서를 찾다

오늘날 우리가 당연하게 사용하는 인터넷과 네트워크 통신은 처음부터 지금과 같이 매끄럽지 않았다. 1970년대, 컴퓨터 네트워크 기술이 태동하던 시기는 그야말로 ‘혼돈의 시대’였다. IBM, DEC, 시스코 등 여러 기업이 각자의 방식으로 네트워크 장비와 소프트웨어를 개발하면서 심각한 호환성 문제가 발생했다. 마치 서로 다른 언어를 사용하는 사람들이 모여 소통을 시도하는 것과 같았다. A 회사의 컴퓨터는 B 회사의 컴퓨터와 데이터를 주고받을 수 없었고, 이는 네트워크의 확장을 가로막는 거대한 장벽이었다.

이러한 문제를 해결하기 위해 **국제표준화기구(ISO, International Organization for Standardization)**가 나서게 된다. 특정 기업에 종속되지 않는, 모두가 함께 사용할 수 있는 ‘네트워크 통신의 공통 언어’ 즉, 표준 모델의 필요성을 절감했기 때문이다. 그리하여 1970년대 후반부터 시작된 연구 끝에 1984년, OSI(Open Systems Interconnection) 참조 모델이 세상에 발표되었다.

OSI 모델의 핵심 목표는 개방형 시스템(Open System), 즉 제조사와 상관없이 모든 컴퓨터 시스템이 서로 통신할 수 있는 환경을 만드는 것이었다. 이를 위해 복잡하기 짝이 없는 네트워크 통신 과정을 7개의 논리적인 계층(Layer)으로 나누고, 각 계층이 수행해야 할 역할과 규칙을 명확하게 정의했다. 이로써 개발자들은 전체 네트워크 구조를 신경 쓸 필요 없이 자신이 맡은 계층의 기능 개발에만 집중할 수 있게 되었고, 문제 발생 시에도 특정 계층만 점검하면 되어 유지보수가 훨씬 용이해졌다.

비록 OSI 모델 자체가 시장을 지배하는 프로토콜이 되지는 못했지만(실질적인 표준은 TCP/IP 모델이 차지했다), 네트워크의 동작 원리를 이해하고 가르치는 데 있어 가장 중요한 교육용, 참조용 모델로 자리 잡았다. 오늘날 네트워크 전문가들이 문제를 진단할 때 “이건 L3(3계층) 문제인 것 같군”이라고 말하는 것처럼, OSI 7계층은 네트워크 통신을 이해하고 논의하는 데 있어 필수적인 공용어가 되었다.


2. OSI 7계층의 구조: 데이터의 여정과 캡슐화

OSI 7계층의 가장 큰 특징은 **계층적 구조(Layered Architecture)**다. 각 계층은 바로 아래 계층의 서비스를 이용하여 자신의 기능을 수행하고, 그 결과를 바로 위 계층에 제공하는 방식으로 동작한다. 이 과정에서 데이터는 각 계층을 지날 때마다 마치 선물을 포장하듯 새로운 정보가 담긴 ‘헤더(Header)‘가 추가되는데, 이를 **캡슐화(Encapsulation)**라고 한다. 반대로 데이터를 수신하는 측에서는 각 계층에서 헤더를 하나씩 제거하며 원래의 데이터를 찾아가는데, 이를 **역캡슐화(De-encapsulation)**라고 한다.

이 여정을 사용자가 이메일을 보내는 과정에 비유해 보자.

  1. 7계층 (응용 계층): 사용자가 이메일 클라이언트(아웃룩, Gmail 등)에 편지 내용을 작성하고 ‘보내기’ 버튼을 누른다.

  2. 6계층 (표현 계층): 작성된 편지 내용(데이터)을 받는 사람이 이해할 수 있는 공통된 형식(예: ASCII, JPEG)으로 변환하고, 필요하다면 암호화한다.

  3. 5계층 (세션 계층): 편지를 보낼 사람과 받을 사람 간의 ‘대화’를 시작하고, 유지하며, 끝내는 역할을 한다. 연결이 끊어지면 다시 연결을 시도하는 등의 제어를 담당한다.

  4. 4계층 (전송 계층): 편지가 안전하고 정확하게 전달되도록 보장한다. 편지가 너무 길면 여러 장으로 나누어(세그먼트) 보내고, 각 장에 번호를 붙여 순서대로 도착했는지 확인한다. (TCP/UDP 프로토콜이 여기서 작동한다.)

  5. 3계층 (네트워크 계층): 편지를 받을 사람의 주소(IP 주소)를 적고, 가장 효율적인 우편 경로(라우팅)를 결정한다. 여기서 데이터는 ‘패킷’이라는 단위로 불린다.

  6. 2계층 (데이터 링크 계층): 이제 편지를 바로 옆 우체국까지 전달하는 역할을 한다. 실제 장비에 접근하기 위한 물리적인 주소(MAC 주소)를 사용하며, 데이터 단위는 ‘프레임’이다.

  7. 1계층 (물리 계층): 편지(데이터)를 전기 신호(0과 1의 비트 스트림)로 변환하여 케이블이나 무선 전파를 통해 실제로 전송한다.

받는 사람 쪽에서는 이 과정이 정확히 역순으로 진행된다. 전기 신호를 데이터로, 프레임을 패킷으로, 패킷을 세그먼트로, 최종적으로 사용자가 읽을 수 있는 이메일 내용으로 복원하는 것이다.

계층 번호계층 이름데이터 단위주요 기능대표적인 프로토콜 및 장비
7응용 계층 (Application)데이터 (Data)사용자 인터페이스 제공, 이메일, 파일 전송 등 응용 서비스HTTP, FTP, SMTP, DNS
6표현 계층 (Presentation)데이터 (Data)데이터 형식 변환, 암호화 및 복호화, 압축JPEG, MPEG, SSL/TLS
5세션 계층 (Session)데이터 (Data)통신 세션 수립, 유지, 종료, 동기화NetBIOS, RPC
4전송 계층 (Transport)세그먼트 (Segment)종단 간(End-to-end) 신뢰성 있고 정확한 데이터 전송TCP, UDP, 방화벽
3네트워크 계층 (Network)패킷 (Packet)논리적 주소(IP) 지정, 최적 경로 설정(라우팅)IP, ICMP, 라우터
2데이터 링크 계층 (Data Link)프레임 (Frame)물리적 주소(MAC) 지정, 오류 감지 및 수정, 흐름 제어이더넷, 브릿지, 스위치
1물리 계층 (Physical)비트 (Bit)데이터를 전기적, 기계적 신호로 변환하여 전송케이블, 허브, 리피터

3. 각 계층별 심층 분석: 역할과 사용법

1계층: 물리 계층 (Physical Layer) - 신호를 실어 나르는 무대

물리 계층은 네트워크 통신의 가장 기본이 되는 단계로, 디지털 데이터를 아날로그 전기 신호로 변환하여 물리적인 매체(케이블, 광섬유, 무선 전파 등)를 통해 전송하는 역할을 담당한다. 이 계층에서는 데이터의 내용이나 의미는 전혀 고려하지 않고, 오직 ‘0’과 ‘1’의 비트 스트림을 어떻게 신호로 바꿔서 보낼 것인지, 그리고 어떻게 신호를 받아 다시 ‘0’과 ‘1’로 해석할 것인지만을 정의한다.

  • 주요 기능:

    • 전기적/기계적 인터페이스 정의: 케이블의 종류(UTP, 동축), 커넥터의 모양(RJ-45), 핀의 배열, 전압 수준 등을 표준화한다.

    • 비트 인코딩: 0과 1을 어떤 전압이나 빛의 형태로 표현할지 결정한다.

    • 데이터 전송률: 초당 몇 비트를 전송할 것인지(bps)를 정의한다.

    • 전송 모드: 단방향(Simplex), 반이중(Half-duplex), 전이중(Full-duplex) 통신 방식을 결정한다.

  • 관련 장비: 허브, 리피터, 케이블, 커넥터, 트랜시버

데이터 링크 계층은 **같은 네트워크 대역(로컬 네트워크)**에 있는 장치들 간의 데이터 전송을 책임진다. 물리 계층이 보내는 신호에 발생할 수 있는 오류를 감지하고 수정하며, 데이터의 흐름을 제어하여 안정적인 통신을 보장한다. 이 계층에서는 **MAC 주소(Media Access Control Address)**라는 물리적인 주소 체계를 사용하여 통신할 대상을 식별한다.

  • 주요 기능:

    • 프레이밍(Framing): 네트워크 계층에서 받은 패킷에 헤더와 트레일러를 붙여 ‘프레임’이라는 데이터 단위를 만든다.

    • 주소 지정(Addressing): 이더넷 카드에 고유하게 부여된 MAC 주소를 사용하여 목적지 장치를 찾는다.

    • 오류 제어(Error Control): 전송 중 발생한 오류를 감지(주로 CRC 사용)하고, 경우에 따라 재전송을 요청한다.

    • 흐름 제어(Flow Control): 수신 측이 처리할 수 있는 속도보다 송신 측이 데이터를 너무 빨리 보내지 않도록 조절한다.

  • 관련 장비: 스위치, 브릿지, 네트워크 인터페이스 카드(NIC)

3계층: 네트워크 계층 (Network Layer) - 최종 목적지를 향한 최적의 경로 찾기

네트워크 계층의 핵심 역할은 데이터가 출발지에서 최종 목적지까지 도달할 수 있도록 **최적의 경로를 찾아주는 것(라우팅)**이다. 서로 다른 네트워크들을 연결하고, 그 사이에서 데이터 패킷을 중계하는 역할을 수행한다. 우리가 흔히 아는 **IP 주소(Internet Protocol Address)**가 바로 이 계층에서 사용되는 논리적인 주소다.

  • 주요 기능:

    • 라우팅(Routing): 라우팅 프로토콜(예: OSPF, BGP)을 사용하여 목적지까지의 가장 효율적인 경로를 결정하고, 해당 경로로 패킷을 전달한다.

    • 논리적 주소 지정(Logical Addressing): 전 세계적으로 유일하게 식별될 수 있는 IP 주소를 사용하여 통신할 장치를 구분한다.

    • 패킷 포워딩: 라우터는 들어온 패킷의 목적지 IP 주소를 확인하고, 라우팅 테이블에 따라 다음 홉(Next Hop)으로 패킷을 전달한다.

  • 관련 장비: 라우터, L3 스위치

4계층: 전송 계층 (Transport Layer) - 신뢰성과 효율성을 책임지는 관리자

전송 계층은 송신자와 수신자, 즉 **종단 간(End-to-end)**의 데이터 전송을 관리하고 책임진다. 데이터가 올바른 순서로, 오류 없이, 중복되지 않게 전달되도록 보장하는 중요한 역할을 한다. 이 계층의 대표적인 프로토콜로는 신뢰성을 중시하는 **TCP(Transmission Control Protocol)**와 속도를 중시하는 **UDP(User Datagram Protocol)**가 있다.

  • 주요 기능:

    • 서비스 지점 주소 지정(Port Addressing): 포트 번호를 사용하여 동일한 컴퓨터 내에서 실행되는 여러 응용 프로그램(프로세스) 중 어떤 것과 통신해야 하는지 식별한다. (예: HTTP는 80번 포트, FTP는 21번 포트)

    • 분할 및 재조립(Segmentation and Reassembly): 상위 계층에서 받은 큰 데이터를 ‘세그먼트’라는 작은 단위로 나누고, 수신 측에서는 이를 다시 원래대로 조립한다.

    • 연결 제어(Connection Control): TCP의 경우, 데이터 전송 전에 3-way handshake를 통해 연결을 설정하고, 데이터 전송이 끝나면 연결을 해제한다.

    • 흐름 제어 및 오류 제어: 종단 간의 신뢰성 있는 데이터 전송을 위해 흐름을 조절하고 오류를 검사한다.

5계층: 세션 계층 (Session Layer) - 대화의 시작과 끝을 관리

세션 계층은 두 컴퓨터 간의 대화(세션)를 수립하고, 관리하며, 종료하는 역할을 한다. 통신하는 두 호스트 사이에 세션을 열고, 닫고, 통신 중에 연결이 끊어졌을 경우 복구를 시도하는 등의 기능을 수행한다. 예를 들어, 대용량 파일을 전송하다가 중간에 연결이 끊겼을 때, 처음부터 다시 전송하는 것이 아니라 이전에 전송이 중단된 지점부터 이어서 전송할 수 있도록 하는 동기화(Synchronization) 지점을 제공한다.

  • 주요 기능:

    • 세션 설정, 유지, 종료: 양 끝단의 응용 프로세스가 통신을 관리하기 위한 방법을 제공한다.

    • 동기화: 데이터 전송 중 오류가 발생했을 때 복구를 위해 동기점을 삽입한다.

    • 대화 제어(Dialog Control): 누가 언제 데이터를 보낼지를 결정하는 토큰 관리 등을 수행한다.

6계층: 표현 계층 (Presentation Layer) - 데이터의 ‘번역가’이자 ‘보안관’

표현 계층은 응용 계층으로부터 받은 데이터를 모든 시스템이 이해할 수 있는 공통된 형식으로 변환하는 역할을 한다. 즉, 데이터의 ‘번역가’ 역할을 수행한다. 또한, 데이터의 보안을 위해 **암호화(Encryption)**를 수행하고, 전송 효율을 높이기 위해 **압축(Compression)**을 수행하기도 한다.

  • 주요 기능:

    • 데이터 형식 변환(Translation): 서로 다른 시스템 간의 인코딩 방식(예: ASCII, EBCDIC) 차이를 해결한다.

    • 암호화(Encryption) 및 복호화(Decryption): 데이터를 안전하게 전송하기 위해 암호화하고, 수신 측에서 이를 해독한다. (SSL/TLS가 이 계층에서 동작한다고 볼 수 있다)

    • 압축(Compression): 데이터의 크기를 줄여 네트워크 대역폭을 절약한다.

7계층: 응용 계층 (Application Layer) - 사용자와 가장 가까운 창구

응용 계층은 OSI 모델의 최상위 계층으로, 사용자가 네트워크 서비스에 접근할 수 있도록 하는 인터페이스를 제공한다. 우리가 일상적으로 사용하는 웹 브라우저, 이메일 클라이언트, 파일 전송 프로그램 등이 모두 이 계층에 속하는 프로토콜을 기반으로 동작한다.

  • 주요 기능:

    • 네트워크 가상 터미널: 원격 호스트에 대한 접근을 제공한다. (예: Telnet)

    • 파일 전송, 접근 및 관리: 원격 호스트의 파일에 접근하거나 파일을 전송할 수 있게 한다. (예: FTP)

    • 이메일 서비스: 이메일을 보내고 받을 수 있게 한다. (예: SMTP)

    • 웹 브라우징: 월드 와이드 웹(WWW)에 접근하여 정보를 탐색할 수 있게 한다. (예: HTTP)


4. 심화 내용: OSI 7계층 vs TCP/IP 모델

OSI 모델은 네트워크 통신을 이해하기 위한 훌륭한 참조 모델이지만, 실제 인터넷과 현대 네트워크 환경에서 사용되는 표준은 TCP/IP 모델이다. TCP/IP 모델은 OSI 모델보다 먼저 개발되었으며, 더 실용적이고 간결한 구조를 가지고 있다.

OSI 7계층 모델TCP/IP 모델주요 프로토콜 예시
응용 계층 (Application)\multirow{3}{*}{응용 계층 (Application)}HTTP, FTP, SMTP, DNS, SSH
표현 계층 (Presentation)
세션 계층 (Session)
전송 계층 (Transport)전송 계층 (Transport)TCP, UDP
네트워크 계층 (Network)인터넷 계층 (Internet)IP, ICMP, ARP
데이터 링크 계층 (Data Link)\multirow{2}{*}{네트워크 인터페이스 계층 (Network Interface)}이더넷, Wi-Fi
물리 계층 (Physical)

TCP/IP 모델은 OSI 모델의 세션, 표현, 응용 계층을 하나의 응용 계층으로 통합하고, 데이터 링크와 물리 계층을 네트워크 인터페이스 계층으로 묶어서 4개의 계층으로 단순화했다.

  • 공통점: 둘 다 계층적 구조를 가지며, 각 계층이 특정 기능을 수행한다는 개념을 공유한다.

  • 차이점:

    • 계층의 수: OSI는 7계층, TCP/IP는 4계층으로 구성된다.

    • 개발 목적: OSI는 통신 전반에 대한 표준 ‘참조 모델’로 설계되었고, TCP/IP는 ARPANET에서 시작하여 인터넷을 구동하기 위한 실용적인 ‘프로토콜 스택’으로 개발되었다.

    • 역할: OSI는 역할 기반의 명확한 구분을 중시하는 반면, TCP/IP는 프로토콜 기반의 구분을 중시한다.

오늘날 네트워크를 논할 때, 우리는 OSI 7계층의 개념적 프레임워크를 사용하여 통신의 흐름과 문제를 분석하고, 실제 구현은 TCP/IP 프로토콜 스택을 기반으로 이해하는 것이 일반적이다. OSI 7계층은 복잡한 네트워크 세계를 항해하는 데 필요한 필수적인 지도와 같은 존재라고 할 수 있다.