우리가 입력하고 전송하는 이 '데이터'들은 어떻게 흐르는 걸까?
네트워크는 거창한 이론이 아니다. 내 방 컴퓨터에서 시작된 데이터가 공유기라는 관문을 지나, 동네 전신주와 땅속 광케이블을 타고 지구 곳곳으로 달려가는 물리적인 여정 그 자체이다.
우리는 이 여정을 안전하고 빠르게 진행될 수 있도록 약속(Protocol)을 만들었고, 그 약속들의 집합체가 바로 지금의
인터넷이다.
1. 네트워크의 본질
네트워크(Network) : 서로 다른 노드들이 프로토콜이라는 약속을 통해 데이터를 주고받는 유기적 시스템
1. 네트워크의 3요소
- 단말 노드 : Host라고도 불리는 단말 노드는 데이터를 생성(발신)하거나 최종적으로 수신하는 장치이다.
ex) PC, 스마트폰, 서버, 센서/카메라 등이 여기에 해당한다.
*모든 단말 노드는 네트워크상에서 자신을 식별할 수 있는 주소(IP/MAC)를 가져야 한다. - 중계 노드 : 라우터라고 불리는 중계 노드는 단말과 단말 사이에서 데이터를 전달하고, 최적의 경로를 안내한다.
ex) 스위치 : 같은 네트워크 안에서 데이터를 전달. 라우터 : 서로 다른 네트워크를 연결.
*중계 노드는 데이터를 어디로 보낼지 결정하는 '논리적 연산'을 하는 판단 로직을 가진다. - 매체 : 데이터가 실제로 흐르는 물리적인 통로이다.
ex) LAN선, 광케이블, Wi-Fi(무선), 블루투스 등

2. 규모에 따른 네트워크의 분류
- LAN (Local Area Network)
: 집, 사무실, 공장 내부처럼 좁은 지역의 네트워크.
우리가 직접 관리할 수 있는 영역으로, 속도가 매우 빠르고 지연 시간이 적다. (거리가 가까움) - MAN (Metropolitan Area Network)
: 도시와 도시를 잇는 네트워크
시 전체를 잇는 자가망, 대학 캠퍼스 간 연결. 주로 도시 인프라나 대형 기관에서 관리. - WAN (Wide Area Network)
: 국가, 대륙, 전 세계 등
도시를 벗어나 더 먼 거리와 통신을 할 수 있는 영역. 대표적인 예시로 인터넷이 있음.
ISP(KT, SKT 등)를 통해 회선을 빌려 사용한다. (거리가 멀수록 지연 시간 증가) - AS (Autonomous System)
: 수많은 LAN들이 모여 하나의 거대한 관리 주체(대학교, 통신사, 대기업 등)가 운영하는 큰 단위
이 범위 안에서의 모든 네트워크 장비들을 관리하며, 이 장비들 간의 데이터를 어떻게 통신할지 라우팅 정책을 주체가 정할 수 있다.
이러한 AS들이 라우터들을 통해 서로 데이터를 주고받게 되는데, 이때 BGP라는 프로토콜을 통해 통신하게 된다.
2. 네트워크의 규칙
프로토콜 : 네트워크에서 컴퓨터끼리 데이터를 주고받기 위해 정의한 공통의 약속
왜 필요한가?
서로 다른 제조사와 OS를 쓰는 컴퓨터들이 각자 자기 방식대로 데이터를 보내면 상대방은 이를 해석할 수 없다.
예를 들어 한국인은 한국어로, 미국인은 영어로만 말하면 대화가 안 되는 것과 같다. 이때, '영어'라는 공통의 규칙(프로토콜)을
정해야 대화(통신)가 통하기 때문에 이런 약속을 정해두는 것이다.
OSI 7 계층 & TCP/IP 계층
이런 프로토콜이라는 약속 아래에, 모든 사용자들이 공통으로 사용할 수 있도록 표준을 만들어 사용할 수 있도록 ISO 국제표준화기구에서 OSI 7 계층이라는 표준 모델을 정의했다. 이는 통신 과정을 7개로 쪼개 놓은 모델이다.
오른쪽은 이 7 계층을 좀 더 효율적으로 사용하기 위해 만들어진 실무형 모델인 TCP/IP 4 계층이다.
그래서 OSI 7 계층은 이론적 표준 모델, TCP/IP 4 계층은 실무형 모델로 볼 수 있고, 현재 인터넷에서는 사실상 TCP/IP 모델을 따르고 있다.
아래와 같이 TCP/IP는 OSI에서 세션, 표현, 응용을 분리하지 않고 세 계층을 응용 계층 하나로 합쳐 표현한다.
또한, 물리 계층과 데이터 링크 계층을 구분하지 않고 하나로 묶어 네트워크 액세스 계층으로 본다.
이론에서 사용하는 것과 실무에서 사용하는 것이 다르지만 이 두 모델을 알아두는 것이 좋다.
실무에서는 TCP/IP 모델 기반으로 통신하지만, 장애 발생 시에 어디가 문제인지 정확히 짚어내기 위해서는 더 세분화된 OSI 7 계층이라는 기준이 필요하기 때문이다.

계층 별 역할
- 7 계층 - 응용 : 사용자가 직접 쓰는 앱. 사용자의 요청에 따라 정보 처리 (HTTP, FTP, DNS)
- 6 계층 - 표현 : 데이터를 이해할 수 있는 포맷으로 변환, 암호화, 압축 (JPG, MP4, SSL)
- 5 계층 - 세션 : 통신을 하기 위한 대화 통로를 열고 닫는 것. (로그인 유지 등)
- 4 계층 - 전송 : 신뢰성 있는 데이터 전송. 포트 번호를 통해 어떤 앱으로 갈지 결정 (TCP, UDP)
- 3 계층 - 네트워크 : 경로 설정. IP 주소를 사용해 목적지까지의 최적 경로를 찾음 (IP, 라우터)
- 2 계층 - 데이터 링크 : 인접 기기 간 데이터 전송. 물리적 주소(MAC)를 통해 근처 장비로 데이터 전달 (Ethernet, 스위치)
- 1 계층 - 물리 : 실제 전기 신호 전송. 0/1 비트 데이터를 전압, 빛으로 바꿔 선으로 흘려보냄 (케이블, 허브)
이렇게 7개의 계층 별로 역할을 나눈 이유는, 각 계층이 독립적으로 작동할 수 있도록 모듈화를 하기 위함이다.
→ 오류의 위치를 파악하는데 용이하고, 특정 층에 문제가 생기면 해당 층만 수정하면 됨.
예로, 광케이블을 쓰다가 무선 Wi-Fi로 바꾸도 위의 6개 계층은 수정할 필요가 없다.
캡슐화&역캡슐화
실제 송신사 응용 계층에서 수신자 응용 계층까지의 전달 과정에서 캡슐화와 역캡슐화가 이루어진다.
데이터 송신 시에 각 계층에서 데이터에 헤더를 붙여 캡슐화를 진행한다. 이렇게 헤더가 붙은 데이터 덩어리를 PDU(Protocol Data Unit)이라고 부른다. 이 PDU는 각 계층마다 이름이 다른데, 그 이유는 어느 층에서 만들었는지 명확히 구분하기 위함이다.
| 계층 | 데이터 단위 (PDU) | 핵심 주소 | 주요 장비 | 핵심 역할 |
| L4 전송 | 세그먼트(Segment) | Port 번호 | L4 스위치 | 신뢰성 보장, 앱 식별 |
| L3 네트워크 | 패킷(Packet) | IP 주소 | 라우터 | 경로 설정 (Routing) |
| L2 데이터 링크 | 프레임(Frame) | MAC 주소 | L2 스위치 | 인접 기기 간 전달 |
| L1 물리 | 비트(Bit) | - | 케이블, 허브 | 전기/빛 신호 전송 |
- L7~L5 (Data) : 순수 데이터 생성.
- L4 (Segment) : 데이터에 TCP 헤더를 붙임.
- L3 (Packet) : L4의 PDU에 IP 헤더를 붙임.
- L2 (Frame) : L3의 PDU에 Ethernet 헤더를 붙임.
- L1 (Bit) : 최종 포장된 덩어리를 0/1의 전기 신호로 바꿔 선으로 쏨.

이렇게 캡슐화를 진행한 데이터는 물리 계층에서 0과 1의 전기 신호로 변환되어 이를 중계하는 라우터들을 통해 목적지까지 전달된다. 전달된 후에는 상대방 측에서 다시 1 계층부터 역으로 상승하며 역캡슐화 과정을 거친다.
역캡슐화 과정
- L1 (물리) : 전선에서 신호 받아 디지털(0, 1)로 변환
- L2 (데이터 링크) : Ethernet 헤더를 열어 MAC 주소를 확인 (Frame 해체)
- L3 (네트워크) : IP 헤더 열어 내 주소 맞는지 확인 (Packet 해체)
- L4 (전송) : TCP 헤더 열어 데이터 순서 맞추고 에러 확인 (Segment 해체)
- L7 (응용) : 데이터 전송 완료 및 사용자에게 표시 (ex. "안녕" 이라는 메시지)
각 계층에 해당하는 헤더를 열어 확인하고 계층 순서대로 역캡슐화를 진행함.
이러한 과정으로 송신자 - 수신자 간 데이터가 전송된다.
회선 교환 방식 vs 패킷 교환 방식
현대에 들어 인터넷에서 사용되는 방식은 '패킷 교환 방식'이다.
패킷 교환 방식은 데이터를 '패킷(Packet)'이라는 작은 조각으로 쪼개어, 그때그때 비어 있는 길로 전송하는 방식이다.
과거 회선 교환 방식은 두 단말 사이에 전용 통로를 통해서 해당 통로를 독점하는 방식으로, 자원 낭비와 확장성 부족 문제가 있었다.
이러한 문제들을 패킷 교환 방식을 통해 하나의 선을 여러 사람이 나눠 쓰는 형태로 해결할 수 있었다.
패킷 교환 방식의 데이터 전달은? (Hop-by-Hop)

데이터는 목적지까지 한 번에 쭉 가는 게 아니라, 중간에 있는 중계 장치(라우터)들을 거치면서 점프하듯 이동한다.
이 한 번의 점프 단위를 홉(Hop)이라 부른다.
각 홉(라우터)에서 다음 목적지를 결정하는 라우팅 과정이 진행되고,
- 패킷 수신 : 전선을 통해 데이터를 패킷을 수신하여 L2헤더에서 MAC주소를 확인한다.
- IP 확인 : 패킷 안의 목적지 IP 주소를 확인한다.
- 라우팅 테이블 조회 : 해당 라우터가 보유한 라우팅 테이블을 통해 경로를 결정한다. (BGP 알고리즘 사용)
- 포워딩 : 결정된 경로로 패킷을 전달한다.
라우터들은 위의 과정을 거치며 데이터를 전달해 나간다.
즉, 수신한 패킷에서 목적지 IP를 확인한 후에 다시 캡슐화를 진행하여 다음 라우터로 전달하게 된다.
*홉바이홉 통신에서, 목적지 IP 주소는 변하지 않고, 목적지 MAC 주소는 매 홉마다 바뀐다.
→ 목적지 MAC주소 : 다음 라우터의 주소로 생각하면 된다. 그래서 매 라우터는 캡슐화 과정에서 L2 헤더(MAC 주소)를 새로 갱신!
이 과정을 반복하면서 데이터는 인터넷 망을 통과해 최종 목적지에 도달하게 된다.
중간에 특정 선이 끊겨도 라우터가 실시간으로 다른 길을 찾아내기 때문에 유연하고 견고한 방식이다.
패킷 교환 방식 덕분에 우리는 효율적으로 인터넷을 쓰게 되었지만, 전송 과정에서 패킷의 순서가 바뀌거나, 패킷이 손실되는 경우가 발생하기 시작했다. 이러한 문제를 해결하기 위해 4 계층 전송 프로토콜인 TCP와 UDP가 탄생했다.
TCP와 UDP, 연결형과 비연결형 프로토콜
데이터를 패킷으로 쪼개어 전달될 때, 이 패킷들을 어떻게 다룰 것인가에 따라 '연결형 서비스'와 '비연결형 서비스' 두 가지의 방식으로 나뉜다.
- 연결형 서비스 : 데이터를 보내기 전, 신뢰부터 쌓음(연결) → 패킷 전송 순서 보장, 패킷 분실 시 재전송
- 비연결형 서비스 : 상대의 상황에 상관없이 바로 데이터 전송 → 순서 보장 안 됨, 분실 책임 안 짐
연결형인 이유는 송/수신자가 논리적으로 연결된 상태라고 상태를 동기화하기 때문이다. 이를 가상회선 방식이라고 한다.
반면 비연결형은 논리적 연결이 생략된 형태로, 목적지 주소만을 보고 길을 찾아간다. 이를 데이터그램 방식이라고 한다.
TCP (Transmission Control Protocol)
: 연결형 방식의 프로토콜로, 3-Way Handshake라고 하는 연결 과정을 거쳐 통신을 구현한다.
이 방식은 패킷에 번호를 매겨 순서를 맞추고, 못 받은 패킷 (손실된 패킷)은 재전송을 요청하여 패킷 손실을 방지한다.
또한, 흐름/혼잡 제어를 통해 받는 쪽이 감당할 수 있는 속도로 데이터를 조절해서 보낸다.
ex) 웹 서핑(HTTP), 파일 전송(FTP), 이메일 등 데이터가 하나라도 깨지면 안 되는 곳
UDP (User Datagram Protocol)
: 비연결형 방식의 프로토콜로, 연결 설정 과정 없이 상대가 받을 준비가 됐는지 확인도 안 하고 그냥 패킷을 전송한다.
별도의 확인 절차가 없어 TCP보다 훨씬 빠르다. (오버헤드 감소) 목적지 주소를 확인하고 그대로 전송만 하기 때문에 중간에 패킷이 사라져도 신경 쓰지 않는다.
ex) 실시간 스트리밍, 온라인 게임, 보이스톡 등 약간의 손실보다 실시간성이 중요한 곳
두 프로토콜에 대한 자세한 내용은 아래 글에서 확인 바랍니다.
#TCP/UDP 정리 글
3. 네트워크의 상태 평가
네트워크의 성능은 단순히 '빠르다'라는 걸로 정의되지 않는다. 3가지 지표의 상관관계를 통해 상태를 진단한다.
네트워크의 상태를 평가하는 3요소
- 대역폭 (Bandwidth) : 도로의 너비 → 한 번에 얼마나 많은 데이터를 보낼 수 있는가? (bps 단위)
대역폭이 넓다고 무조건 빠른 것이 아니다. 전송할 수 있는 이론적인 최대 데이터량을 의미한다.
요즘은 Gbps, Mbps 단위를 사용한다. - 처리량 (Throughput) : 실제 도로 위를 달리는 차의 양 → 대역폭 중 실제로 전송되는 데이터의 양
대역폭이 넓어도, 중간에 패킷이 유실되거나 네트워크 장비릐 과부하 등에 따라 실제 처리량은 줄어들 수 있다.
처리량은 대역폭보다 항상 낮다. 이 차이를 줄이는 것이 네트워크 최적화의 핵심이다. - 지연 시간 (Latency) : 목적지까지 가는 데 걸리는 시간. (왕복 시간인 RTT가 중요)
실제 서비스에서는 왕복 시간인 RTT를 더 중점적으로 보면서 최적화를 한다. 대역폭이 넓다 하더라도 다시 응답을 받는데에
오랜 시간이 걸리면 "인터넷이 렉 걸린다"라고 느끼게 된다.
*RTT (Round Trip Time) : 패킷이 갔다가 응답(ACK)을 받아 다시 돌아오기까지의 왕복 시간.
보통 네트워크의 성능을 측정할 때 사용되는 요소들이다.
이 세 지표는 유기적으로 연결되어 있다.
단순히 대역폭이 넓다고 해서 빠른 것이 아니고, 처리량을 높이기 위해 어떠한 방식으로 처리하느냐에 따라 네트워크의 성능이 결정될 수 있다. 이 세 지표 사이의 병목을 해결하는 것이 중요하다.
'Network' 카테고리의 다른 글
| [Network] TCP와 UDP 프로토콜이란 무엇인가? (0) | 2026.04.13 |
|---|