OSI 7계층이란?
2025년 5월 12일
서론
우리가 매일 사용하는 인터넷은 어떻게 작동할까요? 스마트폰으로 YouTube를 시청하거나 카카오톡으로 메시지를 보낼 때, 그 뒤에서는 수많은 데이터가 복잡한 과정을 거치고 있습니다. 이러한 데이터 전송 과정을 이해하려면 네트워크에 대한 기본 지식이 필요하며, 그중에서도 가장 먼저 등장하는 개념이 바로 OSI 7계층입니다.
이 글에서는 OSI 7계층에 대해 알아보고, OSI 7계층에 대한 예시와 각 계층의 역할, 프로토콜에 대해 알아보겠습니다.
OSI 7계층이란?
OSI 7계층이란 네트워크 통신에서 데이터가 전달되는 과정을 7단계로 나눈 것이며, 국제표준화기구(ISO)에서 제정한 표준 모델입니다. 이는 복잡한 네트워크 과정을 체계적으로 이해하고 구현할 수 있도록 도와주는 개념적 프레임워크입니다.
스마트폰에서 유튜브를 볼 때 발생하는 네트워크 통신 과정
스마트폰에서 YouTube 영상을 시청할 때, 데이터는 OSI 7계층을 따라 순차적으로 내려갔다가 서버에서 돌아올 때 역순으로 처리됩니다. 각 계층은 고유한 역할을 수행하며, 이를 아래 표에서 확인할 수 있습니다.
계층 | 원래 역할 | YouTube 예시 |
---|---|---|
응용 계층 (L7) | 사용자 애플리케이션이 네트워크에 접근하고 서비스 요청을 생성합니다. | YouTube 앱이 동영상 스트리밍을 요청하는 HTTP 메시지 생성 |
표현 계층 (L6) | 데이터 암호화·압축·포맷 변환을 담당합니다. | HTTPS로 요청 메시지를 암호화하고 수신 시 복호화 |
세션 계층 (L5) | 통신 세션의 설정·유지·종료를 관리합니다. | YouTube 서버와의 로그인 상태 유지 및 끊김 시 재연결 관리 |
전송 계층 (L4) | 종단 간 신뢰성 전송, 흐름 제어, 오류 복구를 수행합니다 | TCP로 동영상 데이터 전송, 포트 443을 통해 패킷 분할·전송 |
네트워크 계층 (L3) | 목적지까지 최적 경로 설정과 IP 기반 패킷 전달을 담당합니다 | YouTube 서버 IP를 찾아 라우터를 통해 패킷 전송 |
데이터링크 계층 (L2) | 인접 장치 간 프레임 전송, MAC 주소 활용, 오류 제어 및 흐름 제어를 수행합니다 | 스마트폰 ↔ Wi-Fi 공유기 간 프레임 전송 및 에러 체크 |
물리 계층 (L1) | 비트 단위 신호를 전기·광·무선 등 물리 매체로 변환해 전송합니다 | Wi-Fi 전파로 비트를 변환·전송하고 안테나로 수신 |
데이터를 요청했을 때 응용계층부터 물리계층까지 내려가며 각 계층 헤더가 차례로 붙어 내려가는 캡슐화를 거치고 서버 응답은 물리계층부터 응용계층까지 다시 되돌아 올라가며 헤더가 제거되는 디캡슐화를 거쳐 최종적으로 여러분의 스마트폰에 YouTube 영상이 재생되게 됩니다.
각 계층의 역할
물리 계층 (L1)
물리 계층은 실제 장치들을 연결하는 물리적 전기 신호를 전달하는 계층입니다. 비트 단위(0과 1)의 데이터를 전기적, 광학적, 무선 등 물리 매체로 변환해 전송하고, 반대로 수신된 신호를 비트로 복원합니다.
신호의 전송 속도와 전송 매체의 특성만 정의하고, 오류 제어나 흐름 제어같은 고급 기능은 하지 않습니다.
물리 계층 대표 프로토콜
프로토콜 | 설명 |
---|---|
RS-232 | PC와 모뎀 등을 접속하는 직렬 방식의 인터페이스 |
물리 계층 대표 장비
장비 | 설명 |
---|---|
리퍼터 | 디지털 신호를 증폭 시키는 역할을 해, 신호가 약해지지 않고 온전히 컴퓨터로 수신되도록 하는 장비 |
허브 | 여러 대의 컴퓨터를 하나의 네트워크에 연결하는 장비, 하나의 네트워크로 수신된 데이터를 여러 대의 컴퓨터로 전달 |
네트워크 카드 | 컴퓨터의 구성품 중 하나로 한 네트워크 안에서 컴퓨터간 신호를 주고받는 데 쓰이는 하드웨어 |
데이터링크 계층 (L2)
데이터 링크 계층은 인접한 네트워크 장치 간에 오류 없이 데이터를 주고받기 위한 프레임(Frame) 단위 전송을 담당하는 계층입니다.
주요 기능
- 프레이밍(Framing): 상위 계층의 데이터를 프레임 단위로 캡슐화해 헤더·트레일러를 붙이고 전송합니다.
- 물리적 주소 지정(Addressing): 각 장치에 할당된 MAC 주소를 헤더에 추가해 수신 대상을 식별합니다.
- 흐름 제어(Flow Control): 송신 속도를 조절해 수신 버퍼 오버플로우를 방지합니다. (Stop and Wait, Sliding Window)
- 오류 제어(Error Control): CRC나 체크섬을 이용해 오류를 검출하고, 손상된 프레임은 재전송을 요청합니다. (CRC, ARQ, FEC)
데이터링크 계층 대표 프로토콜
프로토콜 | 설명 |
---|---|
Ethernet | 네트워크 장치 간 데이터 전송을 위한 프로토콜 |
HDLC(High-Level Data Link Control) | ISO에서 표준화한 동기식 비트 중심의 데이터링크 프로토콜 |
PPP(Point-to-Point Protocol) | 네트워크에서 두 통신 노드 간 직접적인 연결을 위해 사용되는 프로토콜 |
데이터링크 계층 대표 장비
장비 | 설명 |
---|---|
스위치(Switch) | 전송 속도가 느린 브리지, 허브의 단점을 개선하기 위해 출발지에서 온 프레임을 목적지 MAC주소를 기반으로 빠르게 전송시키는 통신장치 |
브리지(Bridge) | 두 개의 LAN(근거리 통신망)을 연결하는 장비, 두 개의 네트워크 간 프레임을 전달하는 역할 |
데이터 링크 계층의 오류 제어
오류 제어는 데이터 전송시 감쇠, 왜곡, 잡음 등에 의해 생성된 오류를 검출하고 정정하는 기능이다. 오류 제어 방식에는 전진 오류 수정(FEC), 역방향 오류 수정(ARQ) 방식이 있다.
전진 오류 수정(FEC)
전진 오류 수정(FEC)은 데이터 전송 과정에서 발생한 오류를 검출하여 검출된 오류를 스스로 수정하는 방식이다.
- 해밍 코드 방식: 수신측에서 오류를 찾아 재전송을 요구하지 않고 자신이 직접 수정, 1비트의 오류 수정 가능
- 상승 코드 방식: 여러 개의 오류가 있어도 한계값, 순차적 디코딩을 통해 모두 수정 가능한 방식
역방향 오류 수정(ARQ)
역방향 오류 수정(ARQ)은 오류를 검출하면 송신측에 재전송을 요구하는 방식이다.
- 패리티 검사: 데이터 비트에 패리티 비트를 추가해 오류를 검출하는 방식
- CRC(Cyclic Redundancy Check): 다항식을 통해 검출된 CRC 값을 토대로 오류를 검사하는 방식
네트워크 계층 (L3)
네트워크 계층은 데이터가 출발지에서 목적지까지 최적의 경로로 전달되도록 하는 역할을 담당합니다. 이 계층에서는 논리적 주소 지정과 라우팅, 패킷 포워딩 등을 통해 서로 다른 네트워크 간 연결을 가능하게 합니다.
주요 기능
- 논리적 주소 지정: IP 주소와 같은 논리 주소를 할당해 호스트를 식별합니다.
- 라우팅(Routing): 출발지에서 목적지까지의 최적 경로를 탐색하고 결정합니다.
- 패킷 포워딩(Forwarding): 결정된 경로에 따라 패킷을 다음 네트워크 장비로 전달합니다.
- 분할·재조립(Segmentation/Desegmentation): 큰 데이터를 네트워크 전송에 적합한 크기의 패킷으로 분할하고, 수신 측에서 다시 조립합니다.
- 흐름 제어 및 오류 처리: 네트워크 혼잡을 방지하고 패킷 손실·오류를 관리합니다.
네트워크 계층 대표 프로토콜
프로토콜 | 설명 |
---|---|
IP(Internet Protocol) | 컴퓨터 네트워크에서 데이터를 전달하기 위한 프로토콜, 데이터 패킷이라는 작은 조각으로 나눠 네트워크를 통해 목적지로 전달하는 기능 |
ICMP(Internet Control Message Protocol) | 네트워크 장비 간 오류 메시지를 전달하고 네트워크 상태를 확인하는 프로토콜, ICMP 프로토콜을 통해 ping 명령어가 구현됨 |
ARP(Address Resolution Protocol) | 네트워크 장비의 물리적 주소를 논리적 주소로 변환하는 프로토콜 |
RARP(Reverse Address Resolution Protocol) | ARP의 반대 기능, 논리적 주소를 물리적 주소로 변환하는 프로토콜 |
라우팅 프로토콜 | 네트워크에서 패킷이 목적지에 도달할 떄 최적의 경로를 찾아주는 프로토콜, 라우팅 프로토콜에는 RIP, OSPF, BGP 등이 있음 |
네트워크 계층 대표 장비
장비 | 설명 |
---|---|
라우터 | 서로 다른 네트워크에 있는 호스트들을 통신할 수 있도록 하는 장비, 패킷의 위치를 추출하여 최적의 경로를 지정하며 지정 했던 경로를 따라 패킷을 다음 장치로 전송하는 장비 |
L3 스위치 | IP 계층에서 스위칭 수행하여 외부로 전송 |
전송 계층 (L4)
전송 계층은 상위 계층에서 데이터의 유효성이나 효율성을 생각하지 않도록 해주며, 종단 간 신뢰성 있는 통신을 보장합니다.
주요 기능
- 흐름 제어: 수신 측이 처리할 수 있는 속도로 데이터를 전송해 버퍼 오버플로우를 방지합니다.
- 오류 제어: 전송 중 손상되거나 누락된 데이터를 재전송 요청해 복구합니다.
- 분할 및 재조립: 큰 데이터를 네트워크 전송에 적합한 크기의 세그먼트(패킷)로 쪼개고, 수신 측에서 다시 합칩니다.
- 멀티플렉싱(Multiplexing): 하나의 물리 회선 위에서 여러 애플리케이션 데이터를 식별해 동시에 전송합니다.
- 연결 설정·해제: TCP처럼 송신자와 수신자가 전용 연결을 맺거나 끊는 과정을 관리합니다.
전송 계층 대표 프로토콜
프로토콜 | 설명 |
---|---|
TCP(Transmission Control Protocol) | 네트워크에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 오류 없이 교환합니다. |
UDP(User Datagram Protocol) | 빠른 전송을 위해 신뢰성 보장 없이 데이터그램 형태로 전송합니다. |
전송 계층 대표 장비
장비 | 설명 |
---|---|
L4 스위치(로드밸런서) | TCP/UDP 등 스위칭 수행, FTP, HTTP 등 프로토콜을 식별하여 스위칭 하는 로드밸런싱은 가능하나, 응용 계층에서 파악 가능한 이메일 내용 등 정교한 로드밸런싱은 수행 불가능 함 |
세션 계층 (L5)
세션 계층은 프로그램 간의 논리적인 연결을 열고 관리하며 닫는 역할을 합니다. 서로 다른 시스템의 프로그램이 안정적으로 데이터를 주고받을 수 있도록 연결을 설정·유지·종료하고, 중간에 문제가 생기면 복구 지점을 활용해 다시 이어가게 합니다.
주요 기능
- 연결 설정 및 해제: 애플리케이션 간에 데이터를 주고받기 전에 세션(논리적 통신 통로)을 열고, 통신이 끝나면 세션을 닫습니다.
- 동기화(체크포인트): 긴 데이터 전송 중 오류가 발생하면 전체가 아니라 마지막 체크포인트 이후부터 재전송합니다.
- 대화 제어: 송신·수신 순서와 권한(Token)을 관리해 한쪽이 일방적으로 데이터를 보내지 못하도록 합니다.
- 다중화 및 분리: 하나의 물리 연결 위에서 여러 애플리케이션 세션을 구분해 병렬로 처리합니다.
세션 계층 대표 프로토콜
프로토콜 | 설명 |
---|---|
NetBIOS | 응용계층(L7)의 프로그램에게 API를 제공하여 통신 할수 있도록 해주는 프로토콜 |
RPC(Remote Procedure Call) | 원격 프로시저 호출 프로토콜이라는 뜻으로, 다른 컴퓨터의 프로시저(함수)를 호출하는 프로토콜 |
표현 계층 (L6)
표현 계층은 애플리케이션이 주고받는 데이터를 네트워크의 흐름에 알맞은 형태로 바꿔주는 역할을 합니다. 데이터 암호화·압축·번역 기능을 수행해 응용 계층(L7)이 오직 서비스 로직에만 집중할 수 있도록 돕습니다.
주요 기능
- 인코딩(Encoding)·디코딩(Decoding): 애플리케이션이 생성한 데이터를 네트워크 표준 형식으로 변환하거나, 반대로 네트워크 데이터를 애플리케이션이 이해할 수 있는 형태로 바꿉니다.
- 암호화(Cryptography): 키 교환을 통해 송·수신자만 데이터 내용을 복호화하도록 보장합니다.
- 직렬화(Serialization): 복잡한 데이터 객체를 연속된 바이트 스트림으로 바꿔 전송하고, 도착 후 객체로 재구성합니다
표현 계층 대표 프로토콜
프로토콜 | 설명 |
---|---|
JPEG | 사진과 같은 다양한 색을 가진 정지영상 압축 기술에 대한 국제 표준 규격 |
MPEG | 동영상 전문가 그룹에서 제정한 동영상 압축 기술에 대한 국제 표준 규격 |
SSL/TLS | 애플리케이션 계층 데이터를 암호화해 안전한 전송을 제공 |
응용 계층 (L7)
OSI 7계층의 최상위 계층으로, 사용자와 네트워크 사이에서 직접 상호작용하며 서비스를 제공합니다. 여러가지 프로토콜 개체에 대해 사용자 인터페이스를 제공합니다. 또한 응용 프로세스 간의 정보 교환 및 파일 전송 서비스를 제공합니다.
응용 계층 대표 프로토콜
프로토콜 | 설명 |
---|---|
HTTP | 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜, 웹 브라우저와 웹 서버 간의 통신을 지원 |
FTP | 파일 전송 프로토콜, TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이 파일을 전송 |
SMTP | 이메일 전송 프로토콜, TCP 포트 25번을 사용하여 이메일을 보내는 프로토콜 |
SSH | 보안 셀(Shell) 프로토콜, Telnet보다 강력한 보안을 제공하며 원격 컴퓨터에 명령 실행이나 쉘 서비스 수행 가능, 기본 포트는 22번 사용 |
마무리
OSI 7계층은 네트워크 통신 과정을 계층화하여 각 계층의 역할과 책임을 명확히 분리한 모델입니다. 이는 시스템 간 상호 운용성을 높이고, 문제 발생 시 원인 파악과 디버깅을 체계적으로 할 수 있게 해줍니다.
실제 네트워크 환경에서는 TCP/IP 모델이 표준으로 사용되며, OSI 모델은 이론적 참조 모델로 주로 활용됩니다. 비록 실제 구현과 1:1로 대응되지는 않지만, OSI 모델은 네트워크 구조와 동작 원리를 학습하는 데 있어 훌륭한 기준점이 됩니다. 각 계층의 개념을 명확히 이해하는 것은 네트워크, 보안, 시스템 아키텍처 전반에서 필수적인 기반 지식이 됩니다.
생각: 단순히 외우는 걸 넘어서, 실제 시스템과 연결지어 이해하는 연습이 필요하겠다는 생각이 들었습니다.