인프라

OSI 7계층과 TCP/IP 4계층

yj992233 2026. 5. 2. 01:34

✅들어가면서

네트워크를 처음 공부하면 가장 먼저 마주치는 개념 중 하나가 OSI 7계층, TCP/IP 4계층이다.

 

처음 보면 이름부터 어렵다.

물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층.

이렇게 계층 이름만 외우다 보면 금방 지루해진다.

 

하지만 이 개념은 단순 암기용 이론이 아니다. 우리가 매일 사용하는 인터넷이 실제로 어떻게 동작하는지 이해하기 위한 기본 지도에 가깝다.

 

예를 들어 카페에서 노트북을 켜고 와이파이에 연결한 뒤, 브라우저에 www.google.com  을 입력한다고 해보자. 사용자는 주소 하나만 입력했지만, 내부에서는 꽤 많은 일이 일어난다.

 

브라우저는 사용자가 입력한 주소를 해석하고, 해당 도메인의 IP 주소를 찾고, 서버에 요청을 보내고, 응답을 받아 화면에 웹페이지를 보여준다. 이 과정에서 케이블, 와이파이, 공유기, IP 주고, 포트 번호, TCP 연결, HTTP 요청 같은 여러 요소가 함께 동작한다.

 

이 복잡한 과정을 한 번에 이해하기는 어렵다. 그래서 네트워크 통신을 역할별로 나눈 모델이 필요하다. 그 대표적인 모델이 바로 OSI 7계층과 TCP/IP 4계층이다.


⭐ OSI 7계층이란?

OSI 7계층은 네트워크 통신 과정을 7단계로 나누어 설명하는 모델이다.

 

쉽게 말하면, "컴퓨터가 데이터를 주고받을 때 어떤 순서로 일이 처리되는가?"를 단계별로 정리한 구조이다.

OSI 7계층의 구조는 다음 사진과 같다.

OSI 7계층


⭐ 웹사이트에 접속할 때 OSI 7계층에서는 무슨 일이 일어날까?

상황을 하나 정해보자.

사용자가 집에서 노트북을 켜고 브라우저에 다음 주소를 입력한다.

https://www.example.com

 

이때 사용자는 단순히 웹사이트에 접속한다고 생각하지만, 네트워크 내부에서는 여러 계층이 순서대로 동작한다.

 

1️⃣ 7계층 : 응용 계층

가장 먼저 사용자가 직접 마주치는 부분은 응용 계층이다.

 

브라우저에서 주소를 입력하고 웹페이지를 요청하는 일이 여기에 해당한다.
이 계층에서는 HTTP, HTTPS, DNS, FTP, SMTP 같은 프로토콜이 사용된다.

 

예를 들어 사용자가 https://www.example.com에 접속하면 브라우저는 서버에 이런 요청을 보낸다.

"example.com의 메인 페이지를 보여줘"

물론 실제 요청은 훨씬 복잡하지만, 의미는 이와 비슷하다.

 

여기서 중요한 점은 응용 계층이 “사용자와 가장 가까운 계층”이라는 것이다.
우리가 사용하는 웹 브라우저, 이메일, 메신저, 파일 전송 프로그램은 모두 응용 계층과 관련이 있다.

 

2️⃣ 6계층 : 표현 계층

다음은 표현 계층이다.

 

표현 계층은 데이터를 어떤 형식으로 표현할지 담당한다.
쉽게 말해, 데이터를 서로 알아볼 수 있는 형태로 바꾸는 역할을 한다.

 

예를 들어 웹 서버가 HTML, CSS, JavaScript, 이미지 파일을 보낸다고 해보자.

브라우저는 이 데이터를 해석해서 사람이 볼 수 있는 웹페이지로 보여줘야 한다.

 

또 다른 예로 HTTPS 통신에서는 데이터가 암호화된다.
사용자가 로그인할 때 아이디와 비밀번호가 그대로 인터넷을 돌아다니면 매우 위험하다. 그래서 HTTPS는 데이터를 암호화해서 전송한다. 이때 암호화와 복호화 같은 작업은 표현 계층과 관련지어 이해할 수 있다.

 

즉, 표현 계층은 이런 일을 한다.

역할 예시
인코딩 문자를 UTF-8 형식으로 변환
압축 이미지나 파일 크기를 줄임
암호화 HTTPS 통신에서 데이터 보호
복호화 암호화된 데이터를 다시 해석

 

3️⃣ 5계층 : 세션 계층

세션 계층은 연결 상태를 관리하는 계층이다.

 

세션이라는 말이 조금 낯설 수 있다. 쉽게 말하면 “통신이 시작되고, 유지되고, 종료되는 흐름”이라고 보면 된다.

 

예를 들어 사용자가 쇼핑몰에 로그인했다고 해보자. 로그인 직후에는 장바구니도 볼 수 있고, 주문 내역도 확인할 수 있다. 그런데 일정 시간이 지나면 다시 로그인하라는 메시지가 뜨기도 한다.

 

이때 “로그인 상태를 유지하는 것”이 세션 개념과 관련이 있다.

 

네트워크 관점에서도 마찬가지다. 두 컴퓨터가 데이터를 주고받으려면 통신이 어느 시점에 시작되었고, 아직 유지 중인지, 종료되었는지 관리해야 한다. 다만 실제 인터넷에서는 세션 계층의 기능이 응용 계층이나 전송 계층에 포함되어 동작하는 경우가 많다. 그래서 OSI 모델에서는 따로 설명하지만, 실제 구현에서는 명확하게 분리되지 않는 경우도 많다.

 

4️⃣ 4계층 : 전송 계층

전송 계층은 데이터를 어떻게 보낼지 결정하는 계층이다.

 

여기서 가장 중요한 프로토콜이 TCPUDP다.

 

예를 들어 사용자가 은행 사이트에 접속한다고 해보자. 이때 로그인 정보나 계좌 이체 정보가 중간에 사라지면 안 된다. 데이터가 정확하게 도착해야 한다. 이런 경우에는 신뢰성이 중요한 TCP가 사용된다.

 

TCP는 데이터를 보낸 뒤 상대방이 잘 받았는지 확인한다. 받지 못한 데이터가 있으면 다시 보낸다. 순서가 뒤섞이면 다시 맞춘다.

 

반대로 온라인 게임이나 실시간 영상 통화를 생각해보자.

 

이 경우에는 약간의 데이터 손실보다 빠른 전달이 더 중요할 수 있다. 음성 통화에서 짧은 순간 소리가 끊겼다고 해서 그 부분을 다시 보내면 오히려 대화가 더 어색해진다. 이런 상황에서는 UDP가 사용될 수 있다. UDP는 TCP보다 단순하고 빠르지만, 데이터가 반드시 도착했는지 꼼꼼하게 확인하지 않는다.

 

전송 계층에서는 포트 번호도 중요하다.

 

예를 들어 하나의 서버에서 웹 서비스도 운영하고, SSH 접속도 받고, 데이터베이스도 실행할 수 있다. 이때 IP 주소만으로는 어떤 프로그램에 데이터를 전달해야 하는지 알 수 없다.

 

그래서 포트 번호를 사용한다.

 

즉, IP 주소가 “건물 주소”라면 포트 번호는 “몇 호실”에 가깝다.

 

5️⃣ 3계층 : 네트워크 계층

네트워크 계층은 데이터를 목적지까지 보내기 위한 경로를 결정한다.

 

여기서 가장 중요한 개념은 IP 주소다.

 

예를 들어 택배를 보낼 때 받는 사람의 주소가 필요하다. 서울시 강남구인지, 부산시 해운대구인지 주소가 있어야 택배가 이동할 수 있다.

 

인터넷에서도 마찬가지다. 데이터를 보내려면 목적지 서버의 주소가 필요하다. 이 주소가 바로 IP 주소다.

 

사용자가 www.example.com에 접속하면 컴퓨터는 먼저 해당 도메인의 IP 주소를 알아낸다. 그리고 그 IP 주소를 목적지로 해서 데이터를 보낸다. 

 

이때 데이터는 한 번에 목적지까지 바로 이동하지 않는다. 중간에 여러 라우터를 거친다. 라우터는 데이터를 다음 경로로 넘겨주는 장비다.

 

즉, 네트워크 계층은 이런 질문에 답하는 계층이다.

"이 데이터는 최종 목적지까지 어떤 경로로 가야 할까?"

 

네트워크 계층의 대표적인 장비가 라우터이고, 대표적인 프로토콜은 IP인 셈이다.

 

6️⃣ 2계층 : 데이터 링크 계층

데이터 링크 계층은 같은 네트워크 안에서 데이터를 전달하는 역할을 한다.

 

여기서 중요한 개념은 MAC 주소다.

 

IP 주소가 인터넷 전체에서 목적지를 찾기 위한 논리적 주소라면, MAC 주소는 네트워크 장비가 가진 물리적 주소에 가깝다.

 

예를 들어 집에 노트북, 스마트폰, 태블릿이 모두 같은 공유기에 연결되어 있다고 해보자. 이 기기들은 같은 내부 네트워크에 있다.

공유기는 데이터를 받을 때 “이 데이터를 어떤 기기로 보내야 하지?”를 판단해야 한다. 이때 MAC 주소가 사용된다.

 

데이터 링크 계층에서 다루는 데이터 단위는 프레임이라고 한다.

 

7️⃣ 1계층 : 물리 계층

마지막은 물리 계층이다.

 

물리 계층은 데이터를 실제 신호로 바꾸어 전송한다.

 

컴퓨터 안의 데이터는 0과 1로 이루어져 있다. 하지만 이 0과 1이 상대방 컴퓨터까지 가려면 전기 신호, 빛 신호, 무선 신호 같은 형태로 바뀌어야 한다.

 

예를 들어 유선 랜을 사용한다면 데이터는 랜 케이블을 통해 전기 신호로 이동한다.
광케이블을 사용한다면 빛 신호로 이동한다.
와이파이를 사용한다면 무선 신호로 이동한다.

 

물리 계층은 데이터의 의미를 해석하지 않는다. 단지 신호를 보내고 받는 역할만 한다.


⭐ 데이터는 어떻게 포장되어 이동할까?

OSI 7계층을 이해할 때 중요한 개념이 캡슐화다.

 

캡슐화는 데이터를 보낼 때 각 계층에서 필요한 정보를 덧붙이는 과정이다.

 

예를 들어 친구에게 택배를 보낸다고 해보자.

1. 먼저 물건을 준비한다.
2. 그다음 박스에 넣는다.
3. 박스에 받는 사람 주소를 붙인다.
4. 택배사가 배송 경로를 정한다.
5. 마지막으로 트럭이나 비행기를 통해 실제로 이동한다.

 

네트워크도 비슷하다.

 

1. 사용자가 웹사이트에 접속하면 먼저 HTTP 요청 데이터가 만들어진다.
2. 전송 계층에서는 TCP 헤더가 붙는다.
3. 네트워크 계층에서는 IP 헤더가 붙는다.
4. 데이터 링크 계층에서는 이더넷 헤더가 붙는다.
5. 물리 계층에서는 이 데이터가 신호로 바뀌어 전송된다.

6. 수신하는 쪽에서는 이 과정이 반대로 진행된다.


붙어 있던 정보를 하나씩 벗겨내면서 원래 데이터를 해석한다. 이를 역캡슐화라고 한다.

 

쉽게 말하면 보내는 쪽은 데이터를 계속 포장하고, 받는 쪽은 포장을 하나씩 푸는 구조다.


⭐ TCP/IP 4계층이란?

OSI 7계층이 네트워크를 이론적으로 자세히 나눈 모델이라면, TCP/IP 4계층은 실제 인터넷에서 더 자주 사용되는 구조다.

 

TCP/IP 4계층의 구조는 다음 사진과 같다.

TCP/IP 4계층

 

OSI 7계층은 7개로 세분화되어 있지만, TCP/IP 4계층은 실제 인터넷 동작 방식에 맞게 더 단순하게 묶은 모델이다.


 웹사이트에 접속할 때 TCP/IP 4계층에서는 무슨 일이 일어날까?

다시 웹사이트 접속 예시로 보자.

사용자가 브라우저에 https://www.example.com을 입력한다.

 

1️⃣ 응용 계층

브라우저가 HTTP 또는 HTTPS 요청을 만든다.

"example.com 서버야, 메인 페이지를 보내줘"

 

여기에는 HTTP, HTTPS, DNS 같은 프로토콜이 포함된다.

 

2️⃣ 전송 계층

요청 데이터를 TCP로 보낼지 UDP로 보낼지 결정한다.

 

웹사이트 접속은 보통 TCP를 사용한다.
TCP는 서버와 연결을 맺고, 데이터가 제대로 도착했는지 확인한다.

 

이때 목적지 포트도 정해진다. HTTPS라면 보통 443번 포트를 사용한다.

 

3️⃣ 인터넷 계층

목적지 IP 주소를 기준으로 데이터를 어디로 보낼지 결정한다.

 

도메인 이름만으로는 통신할 수 없기 때문에 DNS를 통해 IP 주소를 찾는다.
이후 IP 주소를 보고 목적지 서버 방향으로 패킷을 보낸다.

 

4️⃣ 네트워크 접근 계층

실제 네트워크 장비를 통해 데이터가 이동한다.

 

랜 케이블, 와이파이, 공유기, 스위치 같은 요소가 이 계층과 관련된다.
데이터는 전기 신호나 무선 신호로 변환되어 다음 장비로 전달된다.


 OSI 7계층과 TCP/IP 4계층은 어떻게 다를까?

둘의 차이는 “얼마나 자세히 나누느냐”에 있다.

 

OSI 7계층은 더 자세하다. 그래서 네트워크를 공부하거나 장애를 분석할 때 유용하다.

TCP/IP 4계층은 더 실제적이다. 현재 인터넷이 동작하는 방식과 더 가깝다.

 

쉽게 말하면 OSI 7계층은 “교과서식으로 자세히 나눈 지도”이고, TCP/IP 4계층은 “실제로 길을 찾을 때 자주 쓰는 지도”에 가깝다.


장애가 발생했을 때 계층 모델은 더 중요해진다

이 개념이 중요한 이유는 장애를 분석할 때 드러난다.

 

예를 들어 사용자가 “웹사이트가 안 들어가져요”라고 말한다고 해보자.

 

이 말만 들으면 원인이 너무 많다.

 

랜선이 빠졌을 수도 있다.
와이파이가 끊겼을 수도 있다.
IP 설정이 잘못되었을 수도 있다.
방화벽이 특정 포트를 막고 있을 수도 있다.
DNS가 잘못 연결되었을 수도 있다.
웹 서버 자체가 죽었을 수도 있다.

 

이때 OSI 계층을 기준으로 보면 문제를 차근차근 좁힐 수 있다.

'인프라' 카테고리의 다른 글

DNS와 CDN  (1) 2026.05.02
TCP/UDP (흐름제어, 혼잡제어)  (1) 2026.05.02
IP 주소체계와 서브네팅, NAT  (1) 2026.05.02