지난 시간에는 우리가 왜 네트워크를 알아야 하는지에 대해 이야기 나누었습니다.
오늘은 네트워크 세상을 이해하는 데 있어 가장 기본이 되는 두 가지 지도, 바로 OSI 7계층 모델과 TCP/IP 모델에 대해 자세히 알아보겠습니다.
우리가 친구에게 편지를 보낸다고 상상해봅시다.
편지를 쓰고, 봉투에 넣어 주소를 적고, 우체통에 넣고, 우체국에서 분류되어 배달되는 과정을 거칩니다.
네트워크 통신도 이와 비슷하게 여러 단계를 거쳐 데이터가 전달됩니다.
이러한 과정을 일관되고 표준화된 방식으로 설명하기 위해 만든 약속, 또는 프레임워크가 바로 네트워크 모델입니다.
네트워크 모델은 여러 회사에서 만든 다양한 컴퓨터나 장비들이 서로 문제없이 통신할 수 있도록 도와주는 중요한 역할을 합니다.
그중에서도 가장 대표적인 것이 바로 OSI 7계층 모델과 TCP/IP 모델입니다.

편지 전달 과정과 네트워크 데이터 전달 과정
🚀
OSI 7계층 모델: 네트워크 통신의 교과서 🔗
OSI 7계층 모델은 국제표준화기구(ISO)에서 1984년에 발표한 네트워크 통신의 표준 모델입니다.
이름처럼 통신 과정을 7개의 독립적인 계층으로 나누어 설명합니다. 각 계층은 바로 아래 계층의 서비스를 이용하고, 바로 위 계층에게 서비스를 제공하는 방식으로 동작합니다.
마치 각 층마다 하는 일이 정해져 있는 7층짜리 건물과 같습니다.
OSI 7계층은 다음과 같이 구성됩니다.
- 7계층: 응용 계층 (Application Layer)
- 6계층: 표현 계층 (Presentation Layer)
- 5계층: 세션 계층 (Session Layer)
- 4계층: 전송 계층 (Transport Layer)
- 3계층: 네트워크 계층 (Network Layer)
- 2계층: 데이터 링크 계층 (Data Link Layer)
- 1계층: 물리 계층 (Physical Layer)

OSI 7계층
이 7개의 계층을 쉽게 외우기 위해 "All People Seem To Need Data Processing" (모든 사람들은 데이터 처리가 필요한 것 같다)와 같은 영어 앞 글자 암기법이나, 한글로 "아파서 티내다 피났다" (물-데-네-전-세-표-응 순서로 앞 글자만 따서) 같은 재미있는 방법도 있습니다.
➡️
7계층: 응용 계층 (Application Layer) 🔗
하는 일
우리가 실제로 사용하는 프로그램(웹 브라우저, 이메일 프로그램, 파일 전송 프로그램 등)과 직접적으로 소통하는 창구입니다.
사용자가 네트워크를 통해 무언가를 하려고 할 때 가장 먼저 만나는 계층입니다.
예시
웹사이트를 볼 때 사용하는 HTTP, 이메일을 보낼 때 사용하는 SMTP, 파일을 주고받을 때 사용하는 FTP 등이 이 계층에서 동작하는 프로토콜입니다.
데이터 단위
메시지(Message) 또는 데이터(Data)
➡️
6계층: 표현 계층 (Presentation Layer) 🔗
하는 일
응용 계층에서 받은 데이터를 모든 컴퓨터가 이해할 수 있는 공통된 형식으로
표현
하고 번역합니다. 예를 들어, 문자를 인코딩(ASCII, UTF-8 등)하거나, 데이터를 암호화하고 압축하는 역할을 합니다.
예시
우리가 보내는 데이터가 안전하게 전달되도록 암호화(SSL/TLS) 하거나, 사진 파일(JPEG, GIF)이나 동영상 파일(MPEG)을 특정 형식으로 변환하는 작업이 여기에 해당됩니다.
데이터 단위
메시지(Message) 또는 데이터(Data)
➡️
5계층: 세션 계층 (Session Layer) 🔗
하는 일
양쪽 컴퓨터 간의
대화(세션)
를 시작하고, 유지하고, 끝내는 역할을 합니다. 예를 들어, 로그인을 해서 연결을 유지하고, 작업이 끝나면 로그아웃으로 연결을 끊는 과정을 관리합니다. 또한, 데이터 전송 중간에 오류가 발생하면 어디서부터 다시 시작할지 정하는 동기화 지점을 설정하기도 합니다.
예시
우리가 온라인 게임을 할 때 서버와 계속 연결을 유지하거나, 화상 회의를 하는 동안 연결이 끊기지 않도록 관리하는 것이 이 계층의 역할입니다.
데이터 단위
메시지(Message) 또는 데이터(Data)
➡️
4계층: 전송 계층 (Transport Layer) 🔗
하는 일
데이터가 목적지까지
안전하고 정확하게 전달
되도록 관리합니다. 데이터를 적절한 크기로 나누고(세그먼트화), 오류가 발생하면 다시 보내거나(오류 제어), 데이터가 너무 많거나 적게 오지 않도록 양을 조절(흐름 제어)합니다.
예시
가장 유명한 프로토콜인 TCP(신뢰성 있는 데이터 전송)와 UDP(빠른 데이터 전송)가 이 계층에서 작동합니다. 우리가 파일을 다운로드할 때 빠진 부분 없이 정확하게 받는 것은 TCP 덕분입니다.
데이터 단위
세그먼트(Segment, TCP의 경우), 데이터그램(Datagram, UDP의 경우)
➡️
3계층: 네트워크 계층 (Network Layer) 🔗
하는 일
여러 개의 네트워크들을 거쳐 데이터가 목적지까지 갈 수 있도록
길을 찾아주는 역할
(라우팅)을 합니다. 이때, 각 컴퓨터를 구분하는 논리적인 주소인 IP 주소를 사용합니다.
예시
우리가 인터넷에 접속해서 멀리 있는 서버와 통신할 때, 라우터라는 장비가 이 계층에서 동작하며 데이터가 가야 할 최적의 경로를 찾아줍니다.
데이터 단위
패킷(Packet)
➡️
2계층: 데이터 링크 계층 (Data Link Layer) 🔗
하는 일
같은 네트워크 안에서, 즉 바로 옆에 연결된 장비들끼리 데이터를 주고받을 수 있도록 합니다. 물리 계층에서 발생할 수 있는 오류를 감지하고 수정하며, 데이터의 시작과 끝을 구분하기 위해 특별한 표시(프레임)를 붙입니다. 물리적인 주소인 MAC 주소를 사용합니다.
예시
우리 컴퓨터의 랜카드(네트워크 인터페이스 카드)나 스위치 같은 장비가 이 계층에서 주로 동작합니다.
데이터 단위
프레임(Frame)
➡️
1계층: 물리 계층 (Physical Layer) 🔗
하는 일
데이터를 실제로 주고받을 수 있도록 물리적인 연결을 담당합니다. 케이블 종류, 데이터 전송 속도, 전압 등 전기적, 기계적인 부분을 정의합니다. 쉽게 말해, 데이터를 0과 1의 전기 신호(비트)로 바꿔서 케이블을 통해 빛의 속도로 전달하는 역할입니다.
예시
우리가 사용하는 랜선(이더넷 케이블), 광케이블, 허브, 리피터 등이 이 계층에 속하는 장비들입니다.
데이터 단위
비트(Bit)
🚀
TCP/IP 모델: 인터넷의 실제 표준 🔗
OSI 7계층 모델은 네트워크 통신을 이해하는 데 매우 유용한 이론적인 모델이지만, 너무 복잡하고 모든 계층이 실제 네트워크 환경에서 명확하게 구분되어 사용되지는 않습니다.
그래서 실제 인터넷 환경에서는 OSI 모델을 좀 더 단순화시킨
TCP/IP 모델
이 표준으로 사용되고 있습니다.
TCP/IP 모델은 원래 미국 국방부(DoD)에서 개발했으며, OSI 모델보다 먼저 사용되었습니다. 이 모델은 실제 인터넷 프로토콜들을 기반으로 설계되어 실용성이 높습니다.
TCP/IP 모델은 OSI 모델의 7계층을 보통 4개의 계층으로 묶어서 설명합니다. (자료에 따라 5계층으로 설명하기도 하지만, 일반적으로 4계층이 많이 언급됩니다.)
- 4계층: 응용 계층 (Application Layer) (OSI 5, 6, 7계층에 해당)
- 3계층: 전송 계층 (Transport Layer) (OSI 4계층에 해당)
- 2계층: 인터넷 계층 (Internet Layer) (OSI 3계층에 해당)
- 1계층: 네트워크 접속 계층 (Network Access/Interface Layer 또는 Link Layer) (OSI 1, 2계층에 해당)

OSI 7계층과 TCP/IP 4계층 비교
TCP/IP 모델의 각 계층은 OSI 모델의 해당 계층들과 유사한 역할을 수행합니다.
4계층: 응용 계층 (Application Layer)
OSI 모델의 응용, 표현, 세션 계층의 기능을 합친 것으로, 사용자와 직접 상호작용하며 데이터 교환을 위한 다양한 서비스(HTTP, FTP, SMTP, DNS 등)를 제공합니다.
3계층: 전송 계층 (Transport Layer)
OSI 모델의 전송 계층과 거의 동일하며, 종단 간(end-to-end) 데이터 전송의 신뢰성을 보장합니다.
TCP와 UDP 프로토콜이 이 계층에서 동작하여 데이터 분할, 오류 제어, 흐름 제어 등을 담당합니다.
2계층: 인터넷 계층 (Internet Layer)
OSI 모델의 네트워크 계층에 해당하며, 데이터 패킷을 목적지까지 전달하기 위한 주소 지정(IP 주소) 및 경로 설정(라우팅)을 담당합니다.
핵심 프로토콜은 IP(Internet Protocol)입니다.
1계층: 네트워크 접속 계층 (Network Access/Interface Layer)
OSI 모델의 물리 계층과 데이터 링크 계층을 합친 것으로, 실제 네트워크 하드웨어(케이블, 랜카드 등)를 통해 데이터를 물리적으로 전송하고, 같은 네트워크 내에서 장치 간 데이터 프레임 전송을 담당합니다.
이더넷(Ethernet), Wi-Fi 등이 이 계층의 기술에 해당합니다.
✅
OSI 모델과 TCP/IP 모델, 왜 둘 다 알아야 할까요? 🔗
"TCP/IP 모델이 실제 표준이라면 OSI 모델은 왜 배우나요?" 하고 궁금해하는 분들이 있을 겁니다.
OSI 모델은 비록 이론적이지만, 네트워크 통신의 전체 과정을 매우 상세하고 체계적으로 설명해주기 때문에 네트워크의 기본 원리를 이해하고 문제를 진단하는 데 아주 유용합니다.
반면, TCP/IP 모델은 현재 우리가 사용하는 인터넷이 어떻게 동작하는지 직접적으로 보여주는 실용적인 모델입니다.
따라서 네트워크 개발자나 엔지니어는 이 두 가지 모델을 모두 이해하고 있어야 복잡한 네트워크 환경을 더 잘 분석하고 문제를 해결할 수 있습니다.
🚀
실제 통신에서의 계층 적용 사례: 웹사이트 접속 과정 🔗
우리가 웹 브라우저 주소창에 www.google.com
을 입력하고 엔터를 치면 어떤 일이 일어날까요? 이 과정을 OSI 7계층(또는 TCP/IP 모델)에 대입해서 간단히 살펴보겠습니다.
응용 계층 (7계층)
사용자가 www.google.com
을 입력하면, 웹 브라우저는 HTTP 프로토콜을 사용해 구글 서버에 웹 페이지를 요청하는 데이터를 만듭니다.
DNS 프로토콜을 통해 www.google.com
이라는 도메인 이름에 해당하는 IP 주소를 먼저 알아낼 수도 있습니다.
표현 계층 (6계층)
웹 페이지 요청 데이터가 모든 시스템이 이해할 수 있는 표준 형식으로 변환되고, 필요하다면 암호화(HTTPS의 경우)가 이루어집니다.
세션 계층 (5계층)
웹 브라우저와 구글 웹 서버 간의 통신 세션을 설정하고 관리합니다.
전송 계층 (4계층)
HTTP 요청 데이터를 TCP 프로토콜을 사용해 작은 조각(세그먼트)으로 나눕니다.
각 조각에는 순서 번호와 포트 번호(HTTP는 보통 80번, HTTPS는 443번) 등이 포함된 TCP 헤더가 붙습니다.
네트워크 계층 (3계층)
각 TCP 세그먼트에 출발지 IP 주소(내 컴퓨터)와 목적지 IP 주소(구글 서버)가 포함된 IP 헤더를 붙여 패킷을 만듭니다.
라우터는 이 IP 주소를 보고 데이터를 어디로 보낼지 결정합니다.
데이터 링크 계층 (2계층)
IP 패킷에 프레임 헤더와 트레일러를 붙입니다.
여기에는 바로 다음 장비(예: 우리 집 공유기)의 MAC 주소 정보 등이 포함됩니다.
물리 계층 (1계층)
프레임 데이터가 0과 1의 전기 신호로 변환되어 케이블이나 무선 전파를 통해 실제로 전송됩니다.

캡슐화와 역캡슐화
구글 서버에 데이터가 도착하면, 이 과정이 역순으로 진행됩니다 (역캡슐화).
즉, 물리 계층부터 응용 계층으로 데이터가 올라가면서 각 계층의 헤더 정보가 제거되고, 최종적으로 웹 서버의 응용 프로그램이 웹 페이지 데이터를 우리에게 보내주게 됩니다.
오늘은 네트워크 통신의 기본 틀인 OSI 7계층 모델과 실제 인터넷 표준인 TCP/IP 모델에 대해 알아보았습니다.
OSI 7계층은 네트워크의 기능을 7개의 논리적인 단계로 나누어 설명하는 이론적인 모델로, 네트워크 동작 원리를 이해하고 문제를 해결하는 데 도움을 줍니다.
TCP/IP 모델은 OSI 모델을 기반으로 실제 인터넷 환경에 맞게 단순화된 4계층(또는 5계층) 모델로, 현재 인터넷 통신의 핵심 프로토콜 스위트입니다.
두 모델 모두 네트워크를 이해하는 데 중요하며, 각 계층이 어떤 역할을 하고 어떻게 상호작용하는지 아는 것은 개발자로서 네트워크 관련 문제를 해결하고 더 나은 프로그램을 만드는 데 튼튼한 기초가 될 것입니다.
다음 시간에는 네트워크에서 컴퓨터를 찾아가는 데 필요한 주소, 바로 IP 주소와 서브넷 마스크에 대해 자세히 알아보겠습니다.