OSI 7계층? 왜 굳이 7개로 나눴을까?
OSI 7계층은 통신 과정을 7개의 단계로 세분화한 모델이다. 그렇다면 왜 굳이 복잡하게 7개로 나눴을까?
이렇게 계층을 세분화해서 분리하면, 흐름을 한눈에 보기 쉽다는 장점이 있다. 또한, 통신에 문제가 생겼을 때 다른 계층에 영향을 주지 않고 이상이 생긴 계층만 고칠 수 있기 때문이다.

OSI 7계층, 소포 배달로 이해하기
우리가 일상생활에서 누군가에게 소포(배달)를 보낸다고 가정하고 각 계층을 비유해서 설명해 보겠다. 7계층부터 설명할 건데, 역순으로 설명하는 이유는 실제로 전송할 때는 7계층부터 1계층으로, 수신할 때는 1계층에서 7계층 방향으로 흐름이 형성되어 있기 때문이다. 때문에 계층이 낮아질수록 헤더가 추가되어 캡슐화되고 높아질수록 헤더가 벗겨진다.
7계층 - 응용 계층(Application Layer)
실제 소포를 보낸다고 생각하면, 여기서 무엇을 보낼지 내용을 정하고, 어떤 배달업체를 사용할지 정한다고 생각하면 된다.
실제로는 사용자 인터페이스와 네트워크를 연결시켜 주는 입구 역할을 한다. HTTP, FTP, SMTP와 같이 데이터 형태와 관련이 있는 프로토콜을 설정하며, 우리가 사용하는 웹 브라우저나 이메일 클라이언트가 이 계층에 해당한다.
6계층 - 표현 계층(Presentation Layer)
여기서는 안에 있는 내용물을 모두가 알아볼 수 있게 번역하고 잘 포장한다.
실제로는 ASCII, UTF-8처럼 인코딩 방식을 설정하고 변환하며 데이터를 암호화하고 압축한다. 서로 다른 시스템 간에 데이터를 이해할 수 있도록 포맷을 맞춰주는 역할을 한다.
5계층 - 세션 계층(Session Layer)
여기서는 상대방이 잘 있는지, 내가 언제 보낼지 정한다.
실제로는 두 장치 사이에 세션을 만들어 데이터를 어떤 방식으로 주고받을지 정하고 동기화를 위해 중간중간 체크포인트를 저장한다. 데이터 전송 중 오류가 발생하면, 처음부터 다시 보내는 것이 아니라 체크포인트를 기점으로 다시 보내기 시작하여 효율성을 높인다.
4계층 - 전송 계층(Transport Layer)
내용물이 너무 크면 적당한 크기로 분할하고, 소포가 유실되지 않고 정확히 잘 전달됐는지 확인한다.
실제로는 세그먼트(Segment) 단위로 데이터를 쪼개어 데이터 전송의 흐름(속도)과 오류를 제어한다. 우리가 이미 알고 있는 TCP, UDP가 거주하는 계층이다. 신뢰성 있는 통신을 보장하는 핵심적인 역할을 한다.
3계층 - 네트워크 계층(Network Layer)
소포의 목적지 주소를 정하고 경로를 설정한다.
실제로는 네트워크상의 논리적 주소인 IP 체계의 주소를 정하고, 네트워크상에서 최적의 경로를 찾아 설정한다. 이것을 라우팅(Routing)이라고 한다. 4계층에서 세그먼트화했으면 여기서는 패킷(Packet)화를 진행한다.
2계층 - 데이터링크 계층(DataLink Layer)
변하지 않는 상세 주소를 설정한다. 실제로 따지면 지번 주소가 있고, 도로명 주소가 있듯이, IP 주소는 공유기가 정해 주는 가변적인 주소이다. 기기 자체에 지문처럼 부여되는 MAC 주소를 여기서 설정한다.
또한 3계층에서 패킷으로 받은 파일에 시작과 끝을 정해준다. 이를 프레이밍(Framing)이라고 하며, 물리적인 연결을 통해 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당한다. (1계층을 위한 일)
1계층 - 물리 계층(Physical Layer)
이제 소포를 실제로 보내는 일만 남았다.
이 계층에서는 0과 1로 이루어진 디지털 신호를 실제 전송을 위한 전기신호나 전파신호로 변환하고 직접 주고받는다. 랜선, 허브, 리피터 등의 하드웨어 장비가 이 계층에 속한다.
TCP/IP 4계층, 실전 압축 모델
우리가 RESTful API를 알고는 있지만, 실제로는 항상 3단계 수준을 지키며 늘 이상적인 RESTful API를 설계하지는 않는다. (못하는 걸 수도) 이 OSI 7계층도 마찬가지로 실제 사용할 때는 TCP/IP 4계층으로 간편화해서 사용한다. (4계층이 먼저 나오기도 해서 이미 시스템을 장악한 이유도 있다.)
4계층 - 응용 계층(Application Layer)
OSI의 5, 6, 7계층을 하나로 묶었다. 소프트웨어적 기능을 통합해서 이 계층에서 전부 담당한다. 데이터를 어떻게 암호화할지, 세션을 어떻게 유지할지 같은 소프트웨어적인 기능들을 굳이 쪼개지 않고 이 계층에서 전부 처리한다. 우리가 만드는 HTTP 통신이나 데이터 로직이 여기에 해당한다.
3계층 - 전송 계층(Transport Layer)
OSI의 4계층과 동일하다. TCP와 UDP라는 두 주인공이 활약하는 곳이다. 데이터를 조각내고(Segment), 포트 번호로 주인을 찾아주고, 혹시나 빠진 건 없는지 체크한다.
2계층 - 인터넷 계층(Internet Layer)
OSI의 3계층과 동일하다. '인터넷'이라는 이름답게 IP 주소를 활용해서 목적지까지의 최적의 경로를 찾는 라우팅의 핵심이다. 패킷(Packet)이라는 단위가 여기서 만들어진다.
1계층 - 네트워크 접근 계층(Network Access Layer)
OSI의 1, 2계층을 하나로 묶었다. 랜선을 타고 흐르는 전기 신호부터 인접 장비끼리 MAC 주소로 대화하는 것까지, 하드웨어적인 모든 통신 기능을 통합해서 담당한다. '랜카드와 케이블'의 영역이라고 생각하면 된다.
'CS > 네트워크' 카테고리의 다른 글
| 🚀네트워크의 로켓배송 DNS와 CDN (0) | 2026.04.29 |
|---|---|
| 🌐서브넷, NAT? AWS에서 본 거 같은데 (0) | 2026.04.29 |
