컴퓨터 네트워크는 컴퓨터와 다른 장치를 유선 또는 무선으로 연결하여 데이터와 자원을 공유하는 구조이다. 데이터는 하나의 덩어리로 이동하지 않고, 정해진 프로토콜에 따라 여러 계층에서 처리된 뒤 패킷 형태로 목적지까지 전달된다.
(1) 브라우저에서 주소를 입력하면 일어나는 일
사용자가 브라우저에 웹 주소를 입력하면 도메인 이름 확인, 목적지 주소 결정, 연결 설정, 패킷 전송, 보안 검사, 서버 선택, 요청 처리, 응답 반환이 순서대로 진행된다.
네트워크 통신은 DNS, IP 주소, 포트, 프로토콜, 방화벽, 로드 밸런서가 각각 다른 역할을 수행하면서 연결되는 과정이다.
1) 컴퓨터 네트워킹의 정의
컴퓨터 네트워킹은 컴퓨터와 다른 장치를 유선 또는 무선으로 연결하여 서로 통신하고 자원과 정보를 공유하게 하는 구조이다.
| 기능 | 내용 |
|---|---|
| 통신 | 장치들이 메시지와 데이터를 서로 주고받게 한다. |
| 자원 공유 | 파일, 프린터, 저장 공간, 인터넷 연결 등을 여러 장치가 공동으로 사용하게 한다. |
| 서비스 접근 | 웹 서버, 이메일 서버, 클라우드 서비스 등의 원격 기능을 사용하게 한다. |
2) 네트워크의 주요 사용 사례
| 환경 | 주요 기능 | 관련 기술·프로토콜 |
|---|---|---|
| 가정용 네트워크 | 스마트폰, 태블릿, 노트북 등을 인터넷에 연결한다. | Wi-Fi, DHCP, DNS |
| 회사 네트워크 | 파일, 프린터, 이메일, 업무 시스템을 공유한다. | Ethernet, VPN, SMTP, IMAP, POP3 |
| 인터넷 카페 | 여러 컴퓨터가 동시에 인터넷과 온라인 서비스에 접근한다. | HTTP, HTTPS, FTP |
| 클라우드 서비스 | 인터넷을 통해 파일과 애플리케이션에 접근한다. | HTTPS, REST API, GraphQL |
| 스마트 홈 | 조명, 카메라, 온도 조절기 등의 장치를 제어한다. | Zigbee, Z-Wave, MQTT |
3) 웹 요청의 전체 흐름
브라우저에 도메인 입력
↓
DNS가 도메인을 IP 주소로 변환
↓
브라우저가 목적지 IP와 포트로 연결 시도
↓
요청 데이터가 계층별 헤더와 함께 패킷으로 구성
↓
라우터가 목적지 IP를 기준으로 패킷 전달
↓
방화벽이 허용 여부 확인
↓
로드 밸런서가 처리할 서버 선택
↓
서버가 요청 처리
↓
응답 패킷이 반대 방향으로 반환
↓
브라우저가 응답을 해석하여 화면 표시
DNS는 “어느 IP로 갈 것인가”, IP는 “어느 장치로 갈 것인가”, 포트는 “그 장치의 어느 서비스로 갈 것인가”, 방화벽은 “이 통신을 허용할 것인가”, 로드 밸런서는 “어느 서버가 처리할 것인가”를 결정한다.
(2) 프로토콜과 계층 구조
1) 프로토콜이란 무엇인가

프로토콜은 네트워크에서 데이터를 주고받기 위해 사용하는 규칙과 표준의 집합이다.
통신에 참여하는 장치들은 데이터의 형식, 전송 순서, 주소 표현, 오류 처리 방법을 공통된 규칙에 따라 해석한다.
2) 프로토콜이 필요한 이유
- 표준화: 서로 다른 제조사와 운영체제의 장치가 공통된 방식으로 통신하게 한다.
- 상호 운용성: 서로 다른 시스템과 네트워크가 데이터를 교환하게 한다.
- 효율성: 데이터 전송과 처리 순서를 정해 통신 과정을 체계화한다.
- 신뢰성: 손실, 순서 변경, 중복 등의 문제를 감지하고 처리할 수 있게 한다.
- 보안: 인증과 암호화 규칙을 적용하여 전송 데이터를 보호할 수 있게 한다.
3) 대표적인 네트워크 프로토콜
| 프로토콜 | 역할 | 주요 사용 |
|---|---|---|
| HTTP | 웹에서 HTML과 API 데이터 등의 리소스를 교환한다. | 웹 페이지, 웹 API |
| HTTP/3 | QUIC을 기반으로 웹 통신의 연결과 응답 성능을 개선한다. | 모바일·현대 웹 통신 |
| HTTPS | HTTP 통신을 암호화하여 데이터의 기밀성과 무결성을 보호한다. | 보안 웹사이트, API |
| WebSocket | 연결을 유지하면서 양방향 실시간 통신을 제공한다. | 온라인 게임, 채팅, 주식 시세 |
| TCP | 데이터의 순서와 전달 여부를 확인하며 신뢰성 있는 전송을 제공한다. | HTTP, HTTPS, 이메일, 파일 전송 |
| UDP | 연결 설정과 재전송 확인을 최소화하여 빠르게 데이터를 전송한다. | 실시간 영상, 음성, 온라인 게임 |
| SMTP | 전자 메일을 다른 메일 서버나 사용자에게 전송한다. | 이메일 발송 |
| FTP | 클라이언트와 서버 사이에서 파일을 전송한다. | 파일 업로드·다운로드 |
4) 계층형 아키텍처
네트워크 통신은 하나의 프로그램이 모든 기능을 처리하지 않고, 역할에 따라 여러 계층으로 나누어 구성한다.
- 복잡한 통신 과정을 작은 기능 단위로 분리한다.
- 각 계층은 자신에게 필요한 처리만 수행한다.
- 상위 계층은 하위 계층의 세부 구현을 모두 알 필요가 없다.
- 특정 계층의 기술을 변경하더라도 다른 계층에 미치는 영향을 줄일 수 있다.
- 서로 다른 장비와 소프트웨어 사이의 표준화된 통신이 가능해진다.
5) OSI 7계층과 TCP/IP 모델


| OSI 계층 | 주요 역할 | TCP/IP 대응 | 관련 예시 |
|---|---|---|---|
| 7. Application | 사용자가 사용하는 네트워크 서비스 제공 | Application | HTTP, HTTPS, DNS, SMTP, FTP |
| 6. Presentation | 데이터 형식 변환, 암호화, 압축 | 문자 인코딩, 암호화 형식 | |
| 5. Session | 통신 세션의 생성과 유지 | 연결 세션 관리 | |
| 4. Transport | 프로세스 간 전송, 분할, 순서, 오류 처리 | Transport | TCP, UDP, Port |
| 3. Network | 논리 주소 지정과 목적지까지의 라우팅 | Internet | IP, Router |
| 2. Data Link | 동일 네트워크 구간에서 프레임 전달 | Network Access | Ethernet, MAC Address |
| 1. Physical | 비트 신호를 물리 매체로 전송 | 케이블, 무선 신호, 네트워크 장비 |
OSI 7계층은 통신 기능을 세밀하게 구분한 참조 모델이고, TCP/IP 모델은 인터넷에서 실제로 사용하는 프로토콜 구조를 중심으로 계층을 묶어 표현한 모델이다.
6) 캡슐화와 역캡슐화
송신 측에서는 데이터가 상위 계층에서 하위 계층으로 내려가면서 각 계층의 제어 정보가 추가된다.
수신 측에서는 반대 순서로 제어 정보를 확인하고 제거한다.
송신 측
애플리케이션 데이터
↓ 전송 계층 헤더 추가
세그먼트 또는 데이터그램
↓ 네트워크 계층 헤더 추가
IP 패킷
↓ 데이터 링크 계층 헤더·트레일러 추가
프레임
↓
비트 신호 전송
수신 측
비트 → 프레임 → IP 패킷 → 세그먼트 → 애플리케이션 데이터
(3) IPv4 주소와 Classful Addressing
1) IP 프로토콜
IP는 패킷에 출발지와 목적지 주소를 부여하고, 패킷이 여러 네트워크를 거쳐 목적지까지 이동하도록 하는 프로토콜이다.
- 전송 데이터를 패킷 단위로 다룬다.
- 각 패킷에 출발지 IP 주소와 목적지 IP 주소를 포함한다.
- 라우터는 목적지 IP 주소를 확인하여 다음 전송 경로를 선택한다.
- IP는 목적지 주소 지정과 라우팅을 담당한다.
2) IPv4 주소의 구조
IPv4 주소는 네트워크에 연결된 장치를 식별하기 위한 32비트 논리 주소이다. 일반적으로 8비트씩 네 부분으로 나누어 10진수로 표현한다.
192.168.1.10
192 . 168 . 1 . 10
8비트 8비트 8비트 8비트
전체: 32비트
- 각 부분은 Octet이라고 부른다.
- 각 Octet은 0부터 255까지의 값을 가진다.
- IP 주소는 네트워크 부분과 호스트 부분으로 구성된다.
3) 네트워크 부분과 호스트 부분
| 구분 | 역할 |
|---|---|
| 네트워크 부분 | 장치가 어느 네트워크에 속하는지를 식별한다. |
| 호스트 부분 | 해당 네트워크 안의 개별 장치를 식별한다. |
IP 주소만 보고 네트워크 부분과 호스트 부분의 경계를 항상 알 수 있는 것은 아니다. Classful 방식에서는 주소의 시작 비트와 첫 번째 Octet으로 경계를 정했고, 현재의 CIDR 방식에서는 Prefix Length로 경계를 표시한다.
4) Classful Addressing
Classful Addressing은 IPv4 주소를 첫 번째 Octet의 범위에 따라 Class A·B·C 등으로 나누고, 각 Class마다 네트워크 부분과 호스트 부분의 길이를 고정한 방식이다.
초기 인터넷에서는 네트워크의 규모에 따라 주소 블록을 쉽게 배분하기 위해 Classful 방식을 사용했다.
- IP 주소의 앞부분을 확인하여 Class를 결정한다.
- Class에 따라 기본 서브넷 마스크가 고정된다.
- Class마다 하나의 네트워크가 수용할 수 있는 호스트 수가 크게 다르다.
- Class D는 Multicast, Class E는 실험 및 예약 목적으로 분류되었다.
5) Class A·B·C의 구조

| Class | 첫 번째 Octet | 기본 Prefix | 기본 Subnet Mask | 구조 |
|---|---|---|---|---|
| Class A | 1~126 | /8 | 255.0.0.0 | 네트워크 8비트 + 호스트 24비트 |
| Class B | 128~191 | /16 | 255.255.0.0 | 네트워크 16비트 + 호스트 16비트 |
| Class C | 192~223 | /24 | 255.255.255.0 | 네트워크 24비트 + 호스트 8비트 |
| Class D | 224~239 | 해당 없음 | 해당 없음 | Multicast |
| Class E | 240~255 | 해당 없음 | 해당 없음 | 실험·예약 |
127.0.0.0/8은 자신의 장치를 가리키는 Loopback 통신에 예약되어 있다. 대표적인 주소는 127.0.0.1이다.
Class별 주소 수

| Class | 호스트 비트 | 한 네트워크의 전체 주소 수 | 일반 호스트 수 |
|---|---|---|---|
| Class A | 24비트 | 224 | 224 - 2 |
| Class B | 16비트 | 216 | 216 - 2 |
| Class C | 8비트 | 28 | 28 - 2 = 254 |
일반적인 IPv4 서브넷에서는 네트워크 주소와 브로드캐스트 주소를 호스트에 할당하지 않으므로 전체 주소 수에서 2를 뺀다.
6) Classful Addressing의 한계
Classful 방식은 네트워크 크기를 /8, /16, /24 등의 고정된 단위로만 배정하므로 실제 필요한 주소 수와 맞지 않는 경우가 많다.
| 문제 | 내용 |
|---|---|
| 주소 낭비 | 300개의 주소가 필요하면 Class C는 부족하고 Class B는 지나치게 크다. |
| 유연성 부족 | 필요한 호스트 수에 맞춰 네트워크 크기를 세밀하게 조정하기 어렵다. |
| 라우팅 정보 증가 | 주소 블록을 효율적으로 집약하기 어렵다. |
| IPv4 고갈 가속 | 실제로 사용하지 않는 주소까지 큰 단위로 할당된다. |
(4) 서브넷, 서브넷 마스크와 CIDR


1) 서브네트워킹
서브네트워킹은 하나의 IP 네트워크를 여러 개의 더 작은 논리적 네트워크로 나누는 과정이다.
기존 호스트 비트의 일부를 서브넷 구분에 사용하여 하나의 주소 블록 안에 여러 네트워크를 만든다.
기존 네트워크
192.168.1.0/24
4개의 서브넷으로 분할
192.168.1.0/26
192.168.1.64/26
192.168.1.128/26
192.168.1.192/26
2) 서브넷을 나누는 이유
| 목적 | 내용 |
|---|---|
| 주소 관리 | 필요한 장치 수에 맞게 주소 범위를 나눈다. |
| 네트워크 분리 | 부서, 계층, 서비스별로 네트워크를 구분한다. |
| 보안 강화 | 서브넷 간 통신을 방화벽과 라우팅 정책으로 제한한다. |
| 브로드캐스트 범위 축소 | 브로드캐스트 트래픽이 전달되는 범위를 줄인다. |
| 장애 범위 제한 | 특정 네트워크의 문제가 다른 영역으로 확산되는 것을 줄인다. |
3) 네트워크 비트와 호스트 비트
서브넷을 더 많이 만들기 위해 호스트 부분의 일부 비트를 네트워크 부분으로 가져온다.
기존 /24
네트워크 비트: 24
호스트 비트: 8
/26으로 분할
네트워크 비트: 26
호스트 비트: 6
호스트 비트에서 2비트를 빌림
→ 2² = 4개의 서브넷
→ 각 서브넷의 전체 주소 수: 2⁶ = 64개
| 계산 항목 | 계산 방법 |
|---|---|
| 서브넷 수 | 2빌린 비트 수 |
| 서브넷당 전체 주소 수 | 2남은 호스트 비트 수 |
| 일반 사용 가능한 호스트 수 | 2남은 호스트 비트 수 - 2 |
네트워크 비트는 늘고 호스트 비트는 줄어든다. 따라서 서브넷은 더 작아지고 각 서브넷에 할당할 수 있는 호스트 수는 감소한다.
4) 서브넷 마스크
서브넷 마스크는 IPv4 주소의 어느 비트까지가 네트워크 부분인지 표시하는 32비트 값이다.
IP 주소
192.168.1.70
Subnet Mask
255.255.255.192
CIDR
/26
| CIDR | Subnet Mask | 전체 주소 수 |
|---|---|---|
| /24 | 255.255.255.0 | 256 |
| /25 | 255.255.255.128 | 128 |
| /26 | 255.255.255.192 | 64 |
| /27 | 255.255.255.224 | 32 |
| /28 | 255.255.255.240 | 16 |
5) 서브넷을 나누는 원리
192.168.1.0/24를 네 개의 같은 크기 서브넷으로 나누는 경우이다.
- 기존 Prefix는 /24이므로 호스트 비트는 8비트이다.
- 네 개의 서브넷이 필요하므로 2비트를 빌린다.
- 새 Prefix는 /26이 된다.
- 남은 호스트 비트는 6비트이다.
- 각 서브넷은 26 = 64개의 주소를 가진다.
- 주소 범위는 64씩 증가한다.
| 서브넷 | 네트워크 주소 | 일반 호스트 범위 | 브로드캐스트 주소 |
|---|---|---|---|
| 1 | 192.168.1.0 | 192.168.1.1~62 | 192.168.1.63 |
| 2 | 192.168.1.64 | 192.168.1.65~126 | 192.168.1.127 |
| 3 | 192.168.1.128 | 192.168.1.129~190 | 192.168.1.191 |
| 4 | 192.168.1.192 | 192.168.1.193~254 | 192.168.1.255 |
6) 네트워크·호스트·브로드캐스트 주소
| 주소 종류 | 의미 |
|---|---|
| 네트워크 주소 | 서브넷 자체를 식별하며 호스트 비트가 모두 0인 주소이다. |
| 호스트 주소 | 서브넷 안의 개별 장치에 할당할 수 있는 주소이다. |
| 브로드캐스트 주소 | 서브넷 안의 모든 호스트에 데이터를 전송하기 위한 주소이며 호스트 비트가 모두 1이다. |
7) CIDR 표기법
CIDR은 Class에 의존하지 않고 IP 주소 뒤의 Prefix Length로 네트워크 부분의 길이를 표시하는 방식이다.
10.0.0.0/8
172.16.0.0/12
192.168.1.0/24
192.168.1.64/26
- 필요한 규모에 맞춰 주소 블록을 유연하게 할당할 수 있다.
- Class A·B·C의 고정된 경계에 제한되지 않는다.
- IP 주소 낭비를 줄인다.
- 여러 네트워크 경로를 집약할 수 있다.
8) CIDR 주소 범위 해석
| CIDR | 호스트 비트 | 전체 주소 수 | 일반 호스트 수 |
|---|---|---|---|
| /24 | 8 | 256 | 254 |
| /25 | 7 | 128 | 126 |
| /26 | 6 | 64 | 62 |
| /27 | 5 | 32 | 30 |
| /28 | 4 | 16 | 14 |
9) Classful과 CIDR 비교
| 구분 | Classful Addressing | CIDR |
|---|---|---|
| 네트워크 경계 | Class에 따라 고정 | Prefix Length로 자유롭게 지정 |
| 대표 Prefix | /8, /16, /24 | /8~ /32 범위에서 요구에 맞게 사용 |
| 주소 활용 | 주소 낭비가 발생하기 쉬움 | 필요한 크기에 맞춰 효율적으로 할당 |
| 현재 사용 | 역사적 분류와 기초 학습에 사용 | 현재 네트워크와 클라우드 주소 설계에 사용 |
(5) Public IP와 Private IP
1) Public IP
Public IP는 공용 인터넷에서 전 세계적으로 고유하게 식별되고 라우팅되는 IP 주소이다.
- 인터넷 외부 시스템과 직접 통신하는 데 사용한다.
- ISP 또는 클라우드 서비스 제공자가 할당한다.
- 웹 서버, 메일 서버, 게임 서버 등의 공개 서비스에 사용할 수 있다.
- 인터넷에서 보일 수 있으므로 방화벽과 접근 통제가 필요하다.
- IPv4 주소 고갈로 인해 수량이 제한적이며 비용이 발생할 수 있다.
2) Static·Dynamic Public IP
| 구분 | 특징 | 주요 사용 |
|---|---|---|
| Static Public IP | 주소가 고정되어 변경되지 않는다. | 웹 서버, 메일 서버, DNS 서버 |
| Dynamic Public IP | 재연결이나 제공자의 정책에 따라 주소가 변경될 수 있다. | 가정용 인터넷, 모바일 연결 |
3) Private IP
Private IP는 가정, 회사, 데이터센터 등의 내부 네트워크에서 장치를 식별하기 위해 사용하는 주소이다.
- 같은 내부 네트워크의 장치끼리 통신할 때 사용한다.
- 공용 인터넷에서는 직접 라우팅되지 않는다.
- 서로 다른 사설 네트워크에서 같은 주소를 재사용할 수 있다.
- 라우터나 DHCP 서버가 내부 장치에 할당할 수 있다.
- 인터넷 접근에는 일반적으로 NAT가 필요하다.
4) 사설 IP 주소 범위
| 사설 주소 범위 | CIDR | 전통적 Class와의 관계 |
|---|---|---|
| 10.0.0.0~10.255.255.255 | 10.0.0.0/8 | Class A 범위 내부 |
| 172.16.0.0~172.31.255.255 | 172.16.0.0/12 | Class B 범위 일부 |
| 192.168.0.0~192.168.255.255 | 192.168.0.0/16 | 여러 Class C 네트워크 범위 |
5) Public IP와 Private IP 비교
| 구분 | Public IP | Private IP |
|---|---|---|
| 사용 범위 | 공용 인터넷 | 내부 네트워크 |
| 라우팅 | 인터넷에서 라우팅됨 | 인터넷에서 직접 라우팅되지 않음 |
| 고유성 | 전 세계적으로 고유 | 하나의 사설 네트워크 안에서 고유 |
| 할당 주체 | ISP·클라우드 제공자 | 네트워크 관리자·DHCP 서버 |
| 인터넷 접근 | NAT 없이 가능 | 일반적으로 NAT 필요 |
| 비용 | 할당 비용이 발생할 수 있음 | 내부에서 자유롭게 사용 가능 |
6) IP Class와 Private IP 범위의 차이
Class A·B·C는 주소의 네트워크 크기를 분류하던 방식이고, Public·Private은 주소가 공용 인터넷에서 라우팅되는지를 구분하는 방식이다.
| 분류 | 판단 기준 | 예시 |
|---|---|---|
| Classful 분류 | 첫 번째 Octet과 기본 네트워크 크기 | Class A, B, C |
| 접근 범위 분류 | 공용 인터넷에서의 라우팅 가능 여부 | Public IP, Private IP |
10.15.14.12는 전통적으로 Class A 범위에 속하면서 동시에 10.0.0.0/8 사설 주소 블록에 포함되므로 Private IP이다. 반면 11.0.0.1도 전통적으로 Class A 범위이지만 사설 주소 블록에는 포함되지 않으므로 Public IP로 할당될 수 있다.
(5) DNS와 DNS Record
1) DNS의 역할

DNS는 사람이 읽기 쉬운 도메인 이름을 컴퓨터가 통신에 사용하는 IP 주소로 변환하는 분산 시스템이다.
사용자는 숫자로 된 IP 주소 대신 www.example.com과 같은 도메인 이름을 사용하고, DNS는 해당 이름에 연결된 주소 정보를 제공한다.
2) DNS의 주요 구성 요소
| 구성 요소 | 역할 |
|---|---|
| DNS Resolver | 클라이언트의 DNS 질의를 받아 필요한 DNS 서버에 대신 조회한다. |
| Root DNS Server | 도메인의 최상위 구조를 기준으로 적절한 TLD 서버를 안내한다. |
| TLD Server | .com, .org, .kr 등의 최상위 도메인 정보를 관리한다. |
| Authoritative Name Server | 특정 도메인의 실제 DNS 레코드를 관리하고 최종 응답을 제공한다. |
3) DNS 조회 과정
- 브라우저가 운영체제 또는 DNS Resolver에 도메인 이름을 질의한다.
- Resolver가 캐시에서 해당 정보를 확인한다.
- 캐시에 없으면 Root DNS Server에 질의한다.
- Root DNS Server가 해당 TLD Server의 위치를 안내한다.
- TLD Server가 도메인의 권한 있는 네임서버를 안내한다.
- 권한 있는 네임서버가 도메인의 DNS Record를 반환한다.
- Resolver가 IP 주소를 클라이언트에 반환하고 일정 시간 캐시한다.
- 브라우저가 반환된 IP 주소를 사용하여 실제 서버 연결을 시작한다.
4) DNS Record

DNS Record는 도메인 이름에 연결된 주소와 서비스 정보를 저장하는 데이터베이스 항목이다.
| 레코드 | 역할 |
|---|---|
| A | 도메인 이름을 IPv4 주소에 연결한다. |
| AAAA | 도메인 이름을 IPv6 주소에 연결한다. |
| CNAME | 하나의 도메인 이름을 다른 도메인 이름의 별칭으로 연결한다. |
| MX | 도메인의 이메일을 수신할 메일 서버를 지정한다. |
| TXT | 도메인 검증과 보안 정책 등에 필요한 문자열 정보를 저장한다. |
5) DNS가 담당하지 않는 것
DNS는 목적지의 이름을 주소로 변환하지만, 실제 요청 데이터를 목적지까지 전송하지는 않는다.
DNS는 목적지 IP 주소를 알려준다. IP 라우팅은 그 주소를 가진 목적지까지 실제 패킷을 전달한다.
(6) 포트와 서비스
1) 포트의 정의
포트는 하나의 장치 안에서 네트워크 데이터를 처리할 특정 프로세스나 서비스를 식별하는 숫자형 통신 끝점이다.
- IP 주소는 네트워크에 연결된 장치를 식별한다.
- 포트 번호는 해당 장치 안의 애플리케이션이나 서비스를 식별한다.
- 운영체제는 패킷의 포트 번호를 확인하여 데이터를 적절한 프로세스에 전달한다.
- 포트는 TCP 또는 UDP와 같은 전송 프로토콜과 함께 사용된다.
2) 포트 번호 범위
| 구분 | 범위 | 사용 목적 |
|---|---|---|
| Well-known Port | 0~1023 | HTTP, HTTPS, DNS 등 널리 사용하는 표준 서비스 |
| Registered Port | 1024~49151 | 특정 애플리케이션과 사용자 서비스 |
| Dynamic·Private Port | 49152~65535 | 클라이언트의 임시 연결 |
3) 대표적인 포트 번호
| 서비스 | 기본 포트 | 용도 |
|---|---|---|
| FTP | 20, 21 | 파일 전송과 제어 |
| SSH | 22 | 암호화된 원격 관리 |
| SMTP | 25 | 이메일 전송 |
| DNS | 53 | 도메인 이름 조회 |
| HTTP | 80 | 암호화되지 않은 웹 통신 |
| HTTPS | 443 | 암호화된 웹 통신 |
4) IP 주소와 포트의 결합
203.0.113.10:443
203.0.113.10 → 목적지 장치
443 → 목적지 장치에서 실행 중인 HTTPS 서비스
(7) Ingress와 Egress
Ingress와 Egress는 네트워크 또는 시스템을 기준으로 트래픽이 들어오고 나가는 방향을 나타낸다.
1) Ingress
Ingress는 외부에서 특정 네트워크, 서버 또는 서비스 안으로 들어오는 트래픽이다.
- 외부 사용자가 웹 서버로 보내는 요청
- 다른 네트워크에서 내부 시스템으로 들어오는 연결
- 외부에서 데이터베이스에 접근하려는 트래픽
2) Egress
Egress는 특정 네트워크, 서버 또는 서비스에서 외부로 나가는 트래픽이다.
- 사용자 PC에서 웹 서버로 나가는 요청
- 서버가 외부 API에 전송하는 요청
- 웹 서버가 사용자에게 반환하는 응답
3) 관점에 따라 달라지는 통신 방향
| 통신 | 사용자 PC 기준 | 웹 서버 기준 |
|---|---|---|
| 웹 요청 | Egress | Ingress |
| 웹 응답 | Ingress | Egress |
(8) 방화벽
1) 방화벽의 역할

방화벽은 네트워크로 들어오고 나가는 트래픽을 검사하고, 정의된 규칙에 따라 허용하거나 차단하는 보안 시스템이다.
- 허용되지 않은 외부 접근을 차단한다.
- 필요한 서비스와 포트만 선택적으로 개방한다.
- 내부 시스템이 외부로 전송할 수 있는 트래픽을 제한한다.
- 악성 트래픽이 시스템에 도달할 가능성을 낮춘다.
2) 방화벽 규칙의 판단 기준
| 판단 기준 | 의미 |
|---|---|
| 출발지 IP | 트래픽을 전송한 장치나 네트워크 |
| 목적지 IP | 트래픽이 도착하려는 장치나 네트워크 |
| 포트 번호 | 접근하려는 서비스 |
| 프로토콜 | TCP, UDP 등의 전송 방식 |
| 방향 | Ingress 또는 Egress |
3) 하드웨어 방화벽과 소프트웨어 방화벽
| 구분 | 설치 위치 | 보호 범위 |
|---|---|---|
| 하드웨어 방화벽 | 내부 네트워크와 외부 네트워크 사이 | 여러 장치와 네트워크 전체 |
| 소프트웨어 방화벽 | 개별 컴퓨터 또는 서버의 운영체제 | 해당 장치의 트래픽 |
(9) 로드 밸런서
1) 로드 밸런서의 역할

로드 밸런서는 클라이언트와 여러 서버 사이에서 네트워크 요청을 적절한 서버로 분산하는 장치 또는 소프트웨어이다.
- 특정 서버에 요청이 집중되는 것을 방지한다.
- 여러 서버가 동일한 서비스를 함께 처리하게 한다.
- 서버 장애 시 정상 서버로 요청을 전달할 수 있다.
- 전체 시스템의 가용성과 응답 성능을 향상한다.
클라이언트 요청
↓
로드 밸런서
├─ 서버 A
├─ 서버 B
└─ 서버 C
2) L4와 L7 로드 밸런서
| 구분 | L4 로드 밸런서 | L7 로드 밸런서 |
|---|---|---|
| 동작 계층 | 전송 계층 | 애플리케이션 계층 |
| 판단 기준 | IP 주소, TCP·UDP, 포트 번호 | URL, HTTP 헤더, 쿠키, 요청 내용 |
| 특징 | 처리가 단순하고 빠름 | 애플리케이션 기준으로 세밀한 분기 가능 |
| 분산 예시 | 443번 포트 요청을 여러 서버에 분산 | /images와 /api 요청을 다른 서버 그룹에 분산 |
3) 외부·내부 로드 밸런서
| 구분 | 역할 |
|---|---|
| 외부 로드 밸런서 | 인터넷에서 들어오는 트래픽을 내부 서버에 분산한다. |
| 내부 로드 밸런서 | 내부 네트워크의 서비스 간 트래픽을 여러 서버에 분산한다. |
4) 방화벽과 로드 밸런서의 차이
| 구분 | 방화벽 | 로드 밸런서 |
|---|---|---|
| 핵심 질문 | 이 트래픽을 허용할 것인가? | 어느 서버가 처리할 것인가? |
| 주 목적 | 접근 통제와 보안 | 부하 분산과 가용성 |
(10) Bastion Host
1) Jump Box·Jump Server·Bastion Host

Bastion Host는 외부 네트워크에서 내부 서버로 관리 접속할 때 사용하는 통제된 중간 접속 지점이다.
Jump Box와 Jump Server도 내부 시스템에 접근하기 위한 중간 서버라는 의미로 사용되며, 문맥에 따라 유사한 개념으로 다뤄진다.
2) Bastion Host가 필요한 이유
- 내부 서버를 인터넷에 직접 노출하지 않는다.
- 외부 관리 접속 지점을 한곳으로 제한한다.
- 승인된 사용자만 내부 시스템에 접근하게 한다.
- 내부 서버마다 별도의 외부 접속 경로를 만드는 것을 방지한다.
- 원격 근무와 원격 시스템 관리에 사용할 수 있다.
3) 주요 보안 기능
| 기능 | 내용 |
|---|---|
| 인증 | SSH 키, 비밀번호, 다단계 인증 등으로 사용자를 확인한다. |
| 접근 제어 | 특정 사용자, 주소와 시간대만 접근하도록 제한할 수 있다. |
| 감사 로그 | 누가 언제 어떤 내부 시스템에 접근했는지를 기록한다. |
| 격리 | 외부 네트워크와 내부 서버 사이에 별도의 통제 지점을 둔다. |
4) 관리 접속 흐름
관리자 PC
↓ 인증 및 접근 제어
Bastion Host
↓ 내부망 접속
내부 서버 A / 내부 서버 B / 데이터베이스 서버
(11) 자료 외 보완
1) TCP와 UDP의 기본 차이
TCP와 UDP는 전송 계층에서 애플리케이션 간 데이터 전달 방식을 정의하지만, 신뢰성과 속도를 처리하는 방식이 다르다.
| 구분 | TCP | UDP |
|---|---|---|
| 연결 방식 | 연결 지향 | 비연결 지향 |
| 전달 확인 | 수신 여부를 확인하고 손실 시 재전송 | 기본적으로 전달 확인과 재전송을 보장하지 않음 |
| 순서 보장 | 전송 순서 보장 | 순서 보장 없음 |
| 오버헤드 | 상대적으로 큼 | 상대적으로 작음 |
| 적합한 통신 | 정확한 전달이 중요한 웹, 파일, 이메일 | 일부 손실보다 지연 최소화가 중요한 영상, 음성, 게임 |
2) NAT의 기본 역할
NAT(Network Address Translation)는 패킷의 IP 주소 또는 포트 정보를 변환하여 사설 네트워크와 공용 인터넷 사이의 통신을 연결하는 기술이다.
- 내부 장치는 Private IP를 출발지 주소로 사용해 인터넷 요청을 생성한다.
- 공유기나 게이트웨이가 출발지 Private IP를 Public IP로 변환한다.
- 필요한 경우 출발지 포트도 함께 변환하고 연결 정보를 기록한다.
- 응답이 Public IP로 돌아오면 기록된 변환 정보를 확인한다.
- 응답의 목적지를 원래 요청한 내부 장치의 Private IP와 포트로 변환한다.
내부 PC
192.168.0.10:53000
↓ NAT
공유기의 Public IP
203.0.113.5:40001
↓
인터넷 서버
- 여러 내부 장치가 하나의 Public IP를 공유할 수 있다.
- 인터넷에서 Private IP를 직접 사용할 수 없는 문제를 해결한다.
- 주소 변환 기능과 방화벽의 접근 통제 기능은 서로 다른 역할이다.
3) 요청과 응답의 패킷 이동 흐름
- 애플리케이션이 HTTP 요청 데이터를 생성한다.
- 전송 계층이 출발지와 목적지 포트 정보를 추가한다.
- 네트워크 계층이 출발지와 목적지 IP 주소를 추가한다.
- 데이터 링크 계층이 현재 네트워크 구간에서 사용할 프레임 정보를 추가한다.
- 패킷이 기본 게이트웨이와 여러 라우터를 거쳐 목적지 네트워크로 이동한다.
- 목적지 서버가 계층별 제어 정보를 제거하고 애플리케이션에 데이터를 전달한다.
- 서버는 요청을 처리하고 출발지와 목적지 정보를 반대로 구성하여 응답을 보낸다.
4) CIDR 주소에서 예약되는 주소
일반적인 IPv4 서브넷에서는 전체 주소 중 첫 번째 주소가 네트워크 주소, 마지막 주소가 브로드캐스트 주소로 사용된다.
| 항목 | 192.168.1.0/24 예시 |
|---|---|
| 네트워크 주소 | 192.168.1.0 |
| 일반 호스트 주소 | 192.168.1.1 ~ 192.168.1.254 |
| 브로드캐스트 주소 | 192.168.1.255 |
클라우드와 특정 네트워크 플랫폼에서는 플랫폼 운영을 위해 추가 주소를 예약할 수 있으므로 실제 사용 가능한 주소 수가 달라질 수 있다.
(12) 전체 요청 흐름 예시
사용자가 사설 네트워크의 PC에서 https://www.example.com에 접속하는 과정을 기준으로 전체 개념을 연결한다.
| 단계 | 동작 | 관련 개념 |
|---|---|---|
| 1 | 사용자가 브라우저에 도메인 이름을 입력한다. | Application, HTTPS |
| 2 | DNS Resolver가 도메인 이름에 연결된 IP 주소를 조회한다. | DNS, A·AAAA Record |
| 3 | 브라우저가 서버의 IP와 HTTPS 포트 443을 목적지로 결정한다. | IP Address, Port |
| 4 | TCP 연결을 설정하고 HTTPS 통신에 필요한 보안 절차를 진행한다. | TCP, HTTPS |
| 5 | 요청 데이터에 포트, IP와 프레임 정보가 계층별로 추가된다. | Layered Architecture, Encapsulation |
| 6 | 사용자 PC의 요청이 로컬 네트워크 밖으로 나간다. | Egress, Subnet |
| 7 | 게이트웨이가 Private IP를 Public IP로 변환한다. | Private IP, Public IP, NAT |
| 8 | 라우터들이 목적지 IP를 기준으로 패킷을 다음 네트워크로 전달한다. | IP Protocol, Routing |
| 9 | 패킷이 서버 측 네트워크로 들어온다. | Ingress |
| 10 | 방화벽이 목적지 IP, 포트 443, 프로토콜과 출발지를 확인한다. | Firewall |
| 11 | 로드 밸런서가 여러 서버 중 요청을 처리할 서버를 선택한다. | Load Balancer |
| 12 | 선택된 서버가 계층별 정보를 제거하고 HTTP 요청을 애플리케이션에 전달한다. | Decapsulation, HTTP |
| 13 | 서버가 요청을 처리한 뒤 응답 데이터를 생성한다. | Application |
| 14 | 응답이 서버에서 Egress되고 사용자 네트워크로 반환된다. | Egress, Routing, NAT |
| 15 | 사용자 PC가 응답을 수신하고 브라우저가 웹 페이지를 표시한다. | Ingress, HTTPS, Application |
도메인 이름
↓ DNS
목적지 IP 확인
↓ IP + Port
목적지 장치와 서비스 결정
↓ TCP/UDP
전송 방법 결정
↓ NAT
Private IP와 Public IP 변환
↓ Routing
목적지 네트워크로 이동
↓ Firewall
허용 여부 판단
↓ Load Balancer
처리 서버 선택
↓
애플리케이션 요청 처리 및 응답
(13) 핵심 정리
- 프로토콜은 서로 다른 장치가 데이터를 같은 규칙으로 해석하고 전송하게 한다.
- DNS는 도메인 이름을 IP 주소로 변환하고, IP는 패킷이 목적지 장치까지 이동할 주소를 제공한다.
- 서브넷과 CIDR은 IP 네트워크의 범위를 나누고 주소를 체계적으로 관리하는 기준이다.
- 포트는 목적지 장치 안에서 데이터를 처리할 애플리케이션이나 서비스를 식별한다.
- Ingress와 Egress는 특정 시스템을 기준으로 트래픽이 들어오고 나가는 방향을 나타낸다.
- 방화벽은 트래픽의 허용 여부를 판단하고, 로드 밸런서는 허용된 요청을 처리할 서버를 선택한다.
- Bastion Host는 내부 서버를 직접 노출하지 않고 관리자가 안전하게 접속하기 위한 중간 접속 지점이다.
(14) 핵심 키워드
| 키워드 | 의미 |
|---|---|
| Network | 장치들을 연결하여 데이터와 자원을 공유하는 구조 |
| Protocol | 네트워크에서 데이터를 주고받기 위한 규칙과 표준 |
| Layered Architecture | 통신 기능을 역할에 따라 여러 계층으로 분리한 구조 |
| Encapsulation | 송신 데이터에 계층별 제어 정보를 추가하는 과정 |
| IP Address | IP 네트워크에서 장치를 식별하는 논리 주소 |
| Public IP | 인터넷에서 전 세계적으로 고유하게 사용되는 IP 주소 |
| Private IP | 내부 네트워크에서 장치를 식별하는 사설 IP 주소 |
| Subnet | 큰 IP 네트워크를 나눈 작은 논리적 네트워크 |
| CIDR | IP 주소와 네트워크 프리픽스 길이를 함께 표현하는 방식 |
| DNS | 도메인 이름을 IP 주소 등의 정보로 변환하는 분산 시스템 |
| DNS Record | 도메인에 연결된 주소와 서비스 정보를 저장하는 항목 |
| Port | 장치 안에서 특정 프로세스나 서비스를 식별하는 통신 끝점 |
| Ingress | 특정 네트워크나 시스템 안으로 들어오는 트래픽 |
| Egress | 특정 네트워크나 시스템 밖으로 나가는 트래픽 |
| Firewall | 규칙에 따라 네트워크 트래픽을 허용하거나 차단하는 보안 시스템 |
| Load Balancer | 들어오는 요청을 여러 서버에 분산하는 시스템 |
| Bastion Host | 외부에서 내부 서버로 관리 접속하기 위한 통제된 중간 서버 |
| NAT | 사설망과 공용 인터넷 사이에서 IP 주소와 포트를 변환하는 기술 |
(15) 연결되는 개념
- 상위 개념: 컴퓨터 네트워크, 클라우드 인프라
- 선행 개념: 운영체제, 서버와 클라이언트
- 관련 개념: 라우팅, NAT, TCP·UDP, DNS, 방화벽, 로드 밸런싱
- 다음 학습: Azure VNet, Subnet, NIC, NSG, Azure Firewall, Azure Load Balancer
- 대응 실습 후보: IP 설정 확인, DNS 조회, 포트 연결 확인, 패킷 경로 확인
(16) 다음 학습
- Azure 네트워크 서비스: IP, Subnet, DNS, 방화벽과 로드 밸런서가 Azure에서 어떤 리소스로 구현되는지 연결하기 위해 학습한다.
- VNet 생성 및 Subnet 구성 실습: 논리적 네트워크 분리와 Private IP 할당을 실제 환경에서 확인하기 위해 진행한다.
- 스토리지 프로토콜: 파일 스토리지에서 사용하는 SMB와 NFS가 네트워크를 통해 파일을 공유하는 방식을 확인하기 위해 학습한다.
'Cloud > Part 3. 핵심 인프라' 카테고리의 다른 글
| 14. Azure Storage 서비스 선택 (0) | 2026.07.28 |
|---|---|
| 12. Azure에서는 네트워크를 어떻게 구성하는가? (0) | 2026.07.28 |
| 10. 클라우드 서버를 위한 Linux 기초 (0) | 2026.07.27 |
| 9. Azure Compute 서비스 선택 (0) | 2026.07.27 |