Conceptly

Networking 시각적으로 이해하기

각 개념의 아키텍처를 애니메이션 다이어그램으로 살펴보세요. 카드를 클릭하면 더 깊은 내용을 확인할 수 있습니다.

🔍
📱Application📦Transport🌐Network
📶

OSI

네트워크 통신의 7계층 참조 모델

OSI(Open Systems Interconnection) 모델은 서로 다른 시스템 간의 통신을 7개 계층으로 표준화한 참조 모델입니다. 물리 계층부터 애플리케이션 계층까지, 각 계층은 독립적으로 역할을 수행하며 인접 계층과만 대화합니다.

💻Client📤SYN🖥️Server
📦

TCP/IP

신뢰할 수 있는 연결 지향 전송 프로토콜

TCP(Transmission Control Protocol)와 IP(Internet Protocol)는 인터넷의 핵심 프로토콜 스택입니다. TCP는 3-way 핸드셰이크로 연결을 수립하고, 데이터 손실과 순서 뒤바뀜을 감지해 재전송합니다. IP는 각 패킷을 목적지까지 라우팅합니다.

🌐10.0.0.0/16📍/24📍/24
🏠

IP/Subnet

네트워크 주소 체계와 서브넷 설계

IP(Internet Protocol) 주소는 인터넷에 연결된 모든 장치의 고유 식별자입니다. 서브넷은 큰 네트워크를 목적에 맞게 나누는 방법입니다. CIDR 표기(/24, /16 등)로 네트워크 범위를 정의하고 라우팅 경계를 만듭니다.

🌐Browser📖DNS📍93.184.1.1
📖

DNS

도메인 이름을 IP 주소로 변환하는 분산 시스템

DNS(Domain Name System)는 사람이 읽을 수 있는 도메인 이름(example.com)을 컴퓨터가 사용하는 IP 주소(93.184.216.34)로 변환하는 분산 계층 데이터베이스입니다. 전 세계 수천 대의 네임서버가 협력해 빠르고 안정적인 이름 해석을 제공합니다.

💻Client📡GET /api🖥️Server
📡

HTTP

웹 통신의 공통 언어, 요청-응답 프로토콜

HTTP(HyperText Transfer Protocol)는 클라이언트와 서버가 데이터를 주고받는 규약입니다. 메서드(GET, POST, PUT, DELETE)로 의도를 표현하고, 상태 코드(200, 404, 500)로 결과를 전달합니다. HTTPS는 HTTP에 TLS 암호화를 더한 보안 버전입니다.

💻Client🔒TLS🖥️Server
🔒

TLS

인터넷 통신의 암호화와 신원 검증

TLS(Transport Layer Security)는 클라이언트와 서버 사이의 통신을 암호화하고, 서버 신원을 인증서로 검증하는 프로토콜입니다. HTTPS, 이메일(SMTPS), 데이터베이스 연결 등 민감한 데이터가 이동하는 모든 곳에서 쓰입니다.

👥Users⚖️LB🖥️Servers
⚖️

Load Balancer

트래픽 분산과 고가용성의 핵심 인프라

로드 밸런서는 여러 서버를 하나의 서비스처럼 보이게 만드는 인프라 계층입니다. 클라이언트가 접속하는 단일 진입점이 되어 뒤쪽 서버 풀을 대신 관리하고, 요청을 분배하면서 헬스 체크로 장애를 흡수합니다. 수평 확장의 이점을 실제로 쓸 수 있게 하는 연결 고리입니다.

👤User🌍Edge🖥️Origin
🌍

CDN

전 세계 사용자에게 빠른 콘텐츠 전달

CDN(Content Delivery Network)은 전 세계에 분산된 엣지 서버에 콘텐츠를 캐시하여 사용자와 가까운 곳에서 빠르게 전달합니다. 원본 서버 부하를 줄이고, 네트워크 지연을 최소화하며, DDoS 완화에도 효과적입니다.

🌐External🛡️Firewall🖥️Internal
🛡️

Firewall

네트워크 경계를 지키는 트래픽 필터

방화벽은 미리 정의한 규칙에 따라 네트워크 트래픽을 허용하거나 차단합니다. 출발지/목적지 IP, 포트, 프로토콜을 기준으로 패킷을 검사해 허가되지 않은 접근으로부터 내부 네트워크를 보호합니다.

🏢Office🔐Tunnel🏬Branch
🔐

VPN

인터넷 위에 암호화된 사설 네트워크 터널

VPN(Virtual Private Network)은 공개 인터넷 위에 암호화된 가상 터널을 만들어 두 사용자나 네트워크를 사설 연결처럼 이어줍니다. 원격 근무자의 사내 접속, 지사 간 네트워크 연결, 온프레미스와 클라우드 연결에 쓰입니다.

🎮Sender🚀UDP🖥️Receiver
🚀

UDP

재전송보다 지연을 줄이는 비연결형 전송

UDP(User Datagram Protocol)는 연결을 맺지 않고 패킷을 바로 보내는 전송 계층 프로토콜입니다. 순서 보장, 재전송, 흐름 제어를 최소화해 오버헤드를 줄이고, 실시간 통신처럼 약간의 손실보다 지연이 더 중요한 상황에서 자주 쓰입니다.

💻Client🏷️DHCP📍10.0.0.24
🏷️

DHCP

장치에 주소와 네트워크 설정을 자동으로 배정하는 프로토콜

DHCP(Dynamic Host Configuration Protocol)는 장치가 네트워크에 붙을 때 IP 주소, 서브넷 마스크, 게이트웨이, DNS 서버 정보를 자동으로 받아오게 하는 프로토콜입니다. 사람이 일일이 주소를 넣지 않아도 되므로, 사무실 와이파이와 기업 네트워크 같은 환경에서 필수입니다.

🏠10.0.0.5🚪NAT🌍203.0.113.5
🚪

NAT

사설망 주소를 공인망으로 이어 주는 주소 변환

NAT는 사설 IP 주소를 공인 IP 주소로 바꿔 주는 주소 변환 장치입니다. 10.x, 192.168.x처럼 인터넷에서 라우팅되지 않는 사설 대역의 장치들이 하나의 공인 IP를 공유해 외부와 통신할 수 있게 합니다. 네트워크 경계에서 동작하며, IPv4 주소 고갈 문제를 수십 년째 버티게 하는 동시에 내부 구조를 외부에서 직접 볼 수 없게 가립니다.

🌐10.0.0.0/16🧭Router🌍0.0.0.0/0
🧭

Routing

패킷이 어느 경로로 갈지 결정하는 네트워크의 길찾기

라우팅은 패킷이 출발지에서 목적지까지 여러 네트워크를 거쳐 도달하는 경로를 결정하는 메커니즘입니다. 각 라우터는 목적지 IP 주소를 보고 '다음에 어디로 넘길까'를 라우팅 테이블에서 찾아 판단합니다. 인터넷, VPN, 데이터센터, 지사망처럼 서로 다른 네트워크가 연결된 구조에서 트래픽이 어떤 경로를 타느냐는 전적으로 라우팅 테이블이 어떻게 구성됐느냐에 달려 있습니다.

🌐10.0.0.0/16🔢/24 Web🔢/24 DB
🔢

Subnet

네트워크를 목적별로 나누는 주소 공간 설계

서브넷은 하나의 큰 네트워크를 더 작은 논리적 구간으로 쪼개는 방법입니다. CIDR(Classless Inter-Domain Routing) 표기를 사용하면 /24, /20처럼 네트워크 범위를 유연한 크기로 정의할 수 있습니다. 같은 서브넷 안의 장비는 라우터 없이 직접 통신하고, 다른 서브넷과는 라우팅 테이블을 거쳐야 합니다. 이 경계가 곧 보안 규칙, 트래픽 경로, 접근 제어의 기본 단위가 됩니다.

🏷️Switch🖥️VLAN 10🖥️VLAN 20
🏷️

VLAN

물리 스위치 위에서 논리적 네트워크를 분리하는 기술

VLAN(Virtual Local Area Network)은 하나의 물리적 스위치를 여러 개의 독립된 네트워크처럼 동작하게 만드는 기술입니다. 포트나 태그 기반으로 트래픽을 격리하므로, 같은 스위치에 연결돼 있어도 서로 다른 VLAN에 속한 장비는 직접 통신할 수 없습니다. VLAN 간 통신이 필요하면 3계층 라우터를 거쳐야 합니다.

💻Client🚪:443🖥️Server
🚪

Port

서버 안에서 서비스를 구분하는 논리적 문 번호

포트(Port)는 하나의 IP 주소 위에서 여러 서비스를 동시에 운영할 수 있도록 각 서비스를 구분하는 논리적 번호입니다. 0~65535 범위의 숫자로 이루어져 있으며, 잘 알려진 포트(0~1023)는 HTTP(80), HTTPS(443), SSH(22) 같은 표준 서비스에 할당되어 있습니다. 클라이언트가 서버에 연결할 때는 임시 포트를 열고, 서버의 특정 포트로 요청을 보냅니다.

💻Host🔍ARP📍MAC
🔍

ARP

같은 네트워크 안에서 IP를 MAC 주소로 변환하는 프로토콜

ARP(Address Resolution Protocol)는 같은 로컬 네트워크(LAN) 안에서 목적지 IP 주소에 대응하는 물리적 MAC 주소를 찾는 프로토콜입니다. 이더넷 프레임을 보내려면 목적지 MAC 주소가 필요한데, IP 주소만 알고 있을 때 ARP 브로드캐스트로 해당 장치의 MAC을 질의합니다.

💻Client🔀Proxy🖥️Server
🔀

Proxy

클라이언트와 서버 사이에서 요청을 대신 중계하는 중간 계층

프록시(Proxy)는 클라이언트와 서버가 직접 통신하지 않고 중간에 대리 서버를 거치는 구조입니다. 포워드 프록시는 클라이언트 측에서 외부 접근을 제어하고, 리버스 프록시는 서버 측에서 요청을 받아 뒤편의 여러 서버로 분배합니다. 캐시, 접근 제어, TLS 종료, 라우팅 같은 기능을 애플리케이션이 아닌 중간 계층에서 처리할 수 있게 해줍니다.

💻Client🔌WebSocket🖥️Server
🔌

WebSocket

HTTP에서 시작해 양방향 실시간 통신으로 전환하는 프로토콜

WebSocket은 HTTP 업그레이드 핸드셰이크로 시작해, 하나의 TCP 연결 위에서 클라이언트와 서버가 동시에 메시지를 주고받을 수 있는 전이중(full-duplex) 통신 프로토콜입니다. 채팅, 실시간 알림, 주식 시세, 협업 편집처럼 서버가 먼저 데이터를 보내야 하는 장면에서 HTTP의 요청-응답 모델이 가진 한계를 해결합니다.

👤Admin🔐SSH🖥️Server
🔐

SSH

원격 서버에 암호화된 셸 접속과 파일 전송을 제공하는 프로토콜

SSH(Secure Shell)는 원격 서버에 안전하게 접속해 명령을 실행하고 파일을 주고받을 수 있는 암호화 프로토콜입니다. TCP 22번 포트 위에서 키 교환과 인증을 거쳐 암호화 채널을 만들고, 셸 세션, 파일 전송(SCP/SFTP), 포트 포워딩 등을 하나의 연결 위에서 처리합니다.

💻Host📡ICMP🖥️Target
📡

ICMP

네트워크 진단과 오류 보고를 위한 제어 프로토콜

ICMP(Internet Control Message Protocol)는 IP 네트워크에서 오류 상황을 알리고 진단 정보를 주고받는 프로토콜입니다. ping으로 호스트 도달 가능 여부를 확인하고, traceroute로 패킷이 거치는 경로를 추적하며, 목적지 도달 불가 같은 네트워크 오류를 발신자에게 보고합니다.

💻Host ASwitch💻Host B

Ethernet

같은 네트워크 안에서 장비 간 데이터를 프레임 단위로 전달하는 LAN 표준

이더넷(Ethernet)은 같은 로컬 네트워크(LAN) 안에 있는 장비들이 데이터를 주고받는 방식을 정의하는 표준입니다. 각 장비는 고유한 MAC 주소를 가지며, 이더넷은 이 MAC 주소를 기반으로 프레임이라는 데이터 단위를 목적지까지 전달합니다. OSI 모델의 데이터 링크 계층(2계층)에 해당하며, IP 패킷이 실제 케이블이나 무선 구간을 지날 때 이더넷 프레임에 담겨 이동합니다.

🏢AS 100🌍BGP🏢AS 200
🌍

BGP

자율 시스템 간 경로를 교환하는 인터넷의 라우팅 프로토콜

BGP(Border Gateway Protocol)는 인터넷을 구성하는 독립적인 네트워크 단위인 자율 시스템(AS) 사이에서 경로 정보를 교환하는 프로토콜입니다. ISP, 대기업, 클라우드 사업자가 각각 운영하는 네트워크를 서로 연결하고, 어느 경로로 트래픽을 보낼지 정책적으로 결정합니다.