OSI 7계층이란?
국제표준화기구(ISO)에서 개발한 모델로 네크워크 통신이 일어나는 과정을 7개의 단계로 표준화하여 정의한 네크워크 참조 모델
계층별로 역할이 상호 독립적으로 나뉘어 있어 문제 발생 시 해당 계층만 파악하여 유지보수하기 용이하다.
(예: 응용, 표현, 세션, 전송, 네트워크, 데이터 링크, 물리 계층)

사용시기?
1. 상위 계층을 다룰 때
- 사용자 친화적 애플리케이션 및 인터페이스 개발
웹 브라우저, 이메일 프로그램 등 사용자와 직접 상호작용하는 스프트웨어를 개발 할 때 사용한다.
- 데이터 인코딩 및 보안 적용
암호화(SSL/TLS), 데이터 압축, 파일 형식(JSON, XML 등)의 변환 및 세션 관리 요구사항이 있을 때 다룬다.
2. 하위 계층을 다룰 때
- 안정적인 시스템 네크워크 구축 및 데이터 전송
데이터를 패킷 단위로 분할하여 최적의 경로로 전송하거나(IP) 패킷 전송의 신뢰성(TCP/UDP)을 보장해야 할 때 고려한다.
- 하드웨어 및 네크워크 장비 제어
스위치, 라우터, 랜선, NIC 등 물리적 연결 및 MAC 주소 기반의 프레임 전송 제어가 필요한 상황에서 다룬다.
OSI 7계층의 작동 방식 (캡슐화 & 역캡슐화)
데이터가 송신 장치에서 출발하여 수신 장치로 전달되는 과정은 포장(캡슐화)과 포장 해제(역캡슐화) 방식으로 동작한다.
[송신측] [수신측]
7. 응용 계층 ----- 데이터 -----> 7. 응용 계층 (데이터 읽기)
6. 표현 계층 + 표현 헤더 (Header) 6. 표현 계층 (암호 해제/복호화)
5. 세션 계층 + 세션 헤더 5. 세션 계층 (세션 연결 확인)
4. 전송 계층 + 포트 번호 (TCP/UDP) 4. 전송 계층 (오류 검사 & 재조립)
3. 네트워크 계층 + IP 주소 (IP) 3. 네트워크 계층 (목적지 IP 확인)
2. 데이터링크 계층 + MAC 주소 + 트레일러 2. 데이터링크 계층 (MAC 주소 확인)
1. 물리 계층 === 비트/전기신호전송 ===> 1. 물리 계층 (비트 수신)
1. 캡슐화 (송신측)
- 상위 계층(7계층)에서 하위 계층(1계층)으로 데이터가 내려간다.
- 각 계층을 거칠 때마다 해당 계층의 제어 정보(주소, 오류 검사 코드 등)가 헤더(Header) 형태로 데이터 앞에 덧붙여진다.
- 마지막 1계층에서 완성된 데이터 덩어리가 전기 신호, 광 신호, 전파 등으로 변환되어 전송 매체를 타고 수신 측으로 보내진다.
2. 역캡슐화 (수신 측)
- 수신 장치는 하위 계층에서 데이터를 신호로 받아 상위 계층으로 올린다.
- 각 계층을 통과할 때마다 송신 측에서 붙였던 해당 계층의 헤더를 하나씩 확인하고 떼어내며(포장 해제) 최종 원본 데이터를 복원한다.
실제 적용 사례: 웹 브라우저에서
[https://www.google.com] 접속 시
우리가 웹 브라우저에 주소를 입력하고 페이지를 불러오는 과정 전체에 7계층이 순차적으로 개입한다.
| 계층 | 실제 작동 예시 | 비유 |
| 7. 응용 계층 | 브라우저가 Google 서버에 페이지를 요청하는 HTTPS(HTTP) GET 요청 메시지를 생성 | 편지 내용 작성 |
| 6. 표현 계층 | 작성된 요청을 인코딩(UTF-8)하고 안전한 전송을 위해 TLS/SSL 암호화 처리한다. | 수신자가 읽을 형태로 번역 및 암호화 |
| 5. 세션 계층 | 클라이언트와 서버 간의 통신 연결 상태를 설정하고 유지 관리한다. | 통신을 주고받기 위한 대화 연결 |
| 4. 전송 계층 (Transport) | 데이터를 작게 나누고(세그먼트화) TCP 프로토콜을 적용하여 목적지 포트 번호(HTTPS: 443)를 헤더에 덧붙인다. | 등기 우편 봉투에 포트 번호(부서명) 표기 |
| 3. 네트워크 계층 (Network) | DNS로 알아낸 Google 서버의 IP 주소와 내 IP 주소를 헤더에 붙여 패킷 형태로 만든다. 라우터가 최적의 전송 경로를 지정한다. | 택배 상자에 국가/도시 주소(IP) 기재 및 경로 안내 |
| 2. 데이터링크 계층 | 데이터에 MAC 주소(내 랜카드 주소와 공유기/다음 스위치 주소)를 붙여 프레임으로 포장하고 전송 중 에러 체크용 트레일러를 붙인다. | 운송장에 집 주소/다음 우체국(MAC 주소) 기재 |
| 1. 물리 계층 | 최종 프레임을 0과 1 비트열에서 전기 신호나 Wi-Fi 무선 신호로 변환하여 랜 케이블 또는 공중으로 송출한다. | 트럭이나 비행기에 실어 실제 도로로 전송 |
수신(Google 서버) 및 응답 과정
1. Google 서버가 신호를 받으면 역순(1->7)으로 헤더를 벗겨내며 HTTP 요청을 확인한다.
2. Google 서버가 HTML/이미지 등 웹페이저 응답 데이터를 다시 7->1계층으로 캡슐화하여 내 컴퓨터로 보낸다.
3. 내 컴퓨터 브라우저가 다시 역캡슐화를 거쳐 최종 HTML 데이터를 받은 뒤 사용자 화면에 구글 메인 화면을 출력한다.
* 이해하기 어려워서 AI에게 부탁한 쉬운 비유 예시...
📦 택배에 비유해서 한눈에 이해하기
컴퓨터가 상대방에게 데이터를 보내는 과정은 상품을 포장해서 택배로 보내는 과정과 완전히 똑같습니다.
- 7계층 (응용): 보낼 물건 정하기
- 내가 친구에게 보낼 선물(메시지)을 준비합니다. (예: 카카오톡 메시지, 사진)
- 6계층 (표현): 예쁘게 포장하기
- 깨지지 않게 뽁뽁이로 감싸고, 비밀 선물이라면 내용물이 안 보이게 포장지(암호화)로 쌉니다.
- 5계층 (세션): 약속 잡기
- 친구에게 "지금 집에 있어? 택배 보낼게!" 하고 서로 통화할 상태를 확인합니다.
- 4계층 (전송): 등기 택배 상자에 담기
- 큰 선물은 상자 여러 개로 나눠 담고, 상자마다 번호(1번, 2번...)와 받는 사람의 '방 번호(포트 번호)'를 적습니다. 배송 중 분실되면 다시 보내주기로 보장(TCP)합니다.
- 3계층 (네트워크): 도로 주소 적기
- 택배 상자 겉면에 '받는 사람의 집 주소(IP 주소)'를 적습니다. 내비게이션(라우터)이 어떤 고속도로를 타야 가장 빠른지 계산합니다.
- 2계층 (데이터링크): 아파트 동/호수 및 실물 운송장 붙이기
- 집 근처에 도착했을 때 실제 배달 트럭이 찾아갈 '실제 건물 위치(MAC 주소)'를 적어 마지막 전달을 준비합니다.
- 1계층 (물리): 도로와 트럭 (실제 이동)
- 실제 트럭이 도로(랜선, Wi-Fi)를 달려 물리적으로 상자를 날릅니다. (0과 1의 전기 신호)
💡 핵심만 기억하는 꿀팁
- 송신자(나): 7계층 → 1계층 방향으로 포장(헤더 붙이기 = 캡슐화)해서 보냅니다.
- 수신자(친구): 1계층 → 7계층 방향으로 상자를 뜯으며(헤더 떼기 = 역캡슐화) 내용물을 확인합니다.
- 핵심 주소 3가지만 기억하세요!
- 포트(Port) 번호 (4계층): 내 컴퓨터 안의 어떤 앱(웹브라우저, 게임, 카톡 등)으로 갈 것인가?
- IP 주소 (3계층): 인터넷 세상에서 어느 컴퓨터로 갈 것인가?
- MAC 주소 (2계층): 바로 옆에 있는 어떤 네트워크 장비(공유기, 스위치)로 넘겨줄 것인가?
잘못된 정보, 피드백, 추가 정보 등등 모두 편하게 댓글로 달아주시면 참고하겠습니다!
'CS 지식' 카테고리의 다른 글
| [CS 지식] 실시간 통신을 하는 방법들 (0) | 2026.09.16 |
|---|---|
| [CS 지식] SSL/TLS 암호화란? (0) | 2026.09.15 |
| [CS 지식] RDBMS와 NoSQL이란? (1) | 2026.09.09 |
| [CS 지식] Kafka란? (0) | 2026.09.07 |
| [CS 지식] Redis란? (0) | 2026.09.04 |