| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- reversing.kr
- AWS Active Directory
- python
- AWS
- Amazon S3
- 리버싱
- TryHackMe
- C
- AWS 침해사고 사례 분석
- 드림핵
- dreamhack
- network
- operating system
- reversing
- AWS 인프라 분석
- 네트워크
- 운영체제
- AWS 아키텍처 분석
- AWS IAM Role
- IAM Federation
- terraform
- AWS 보안 아키텍처 분석
- 프로그래머스
- AWS 3 Tier Architecture
- AWS 침해 사고 사례 분석
- AWS 사고 사례 분석
- 침입 차단 시스템(IPS)
- AWS 보안 사고 사례 모음
- programmers
- AWS 인프라 아키텍처
- Today
- Total
lhywk 님의 블로그
[Network] 네트워크 계층 본문
네트워크 계층 (Network Layer)
네트워크 계층은 IP 주소를 활용하여 다른 네트워크와 통신하는 역할을 담당한다. 라우터는 이 계층에서 데이터를 목적지까지 전달하며, LAN 내부 통신에는 MAC 주소를 사용하지만, LAN 외부 통신 시에는 IP 주소가 필수적이다.

네트워크 A 내부 통신
네트워크 A 내의 서버(①)와 PC(②)는 같은 네트워크에 속해 있어 스위치를 통해 직접 통신한다. 이때 네트워크 인터페이스 계층(MAC 주소 기반 통신)이 사용되며, 라우터를 거치지 않는다.
네트워크 B 내부 통신
네트워크 B 내의 서버(③)와 PC(④)도 같은 네트워크에 속해 있어 스위치를 통해 직접 통신한다. 마찬가지로 MAC 주소를 사용하여 통신하며, 라우터를 거치지 않는다.
네트워크 A와 네트워크 B 간 통신
네트워크 A와 네트워크 B는 서로 다른 네트워크이므로, 라우터를 통해서만 통신이 가능하다. 네트워크 인터페이스 계층(MAC 주소)만으로는 통신할 수 없으며, 네트워크 계층(IP 주소)을 사용해야 한다. 라우터는 각 네트워크의 IP 주소를 기반으로 데이터를 전달한다.
IP 주소
IP 주소는 인터넷에서 각 장치를 식별하는 고유한 주소이다. 32비트(4바이트) 크기로, 보통 점(decimal)으로 구분된 4개의 8비트(옥텟)로 표현된다.
- 네트워크 주소(Network Address): 같은 네트워크 내에서 장치들을 그룹화하는 역할.
- 호스트 주소(Host Address): 네트워크 내에서 개별 장치를 식별하는 역할.
IP 주소 클래스(Class) 분류
IP 주소는 크게 A, B, C, D, E 클래스로 나뉘며, 각 클래스는 네트워크 부분과 호스트 부분의 비트 구성이 다르다. A, B, C 클래스는 맨 앞부분의 2진수 숫자에 따라 구분된다.

- A 클래스
- 네트워크 주소: 8비트 (1옥텟)
- 호스트 주소: 24비트 (3옥텟)
- IP 주소 범위: 1.0.0.0 ~ 127.255.255.255
- 사용처: 대형 네트워크 (글로벌 ISP, 대기업 등)
- 첫 옥텟 시작: 0xxxxxxx (0~127)
- 최대 호스트 수: (네트워크 주소와 브로드캐스트 주소 제외)
- B 클래스
- 네트워크 주소: 16비트 (2옥텟)
- 호스트 주소: 16비트 (2옥텟)
- IP 주소 범위: 128.0.0.0 ~ 191.255.255.255
- 사용처: 중간 규모의 네트워크 (대학, 중소기업 등)
- 첫 옥텟 시작: 10xxxxxx (128~191)
- 최대 호스트 수:
- C 클래스
- 네트워크 주소: 24비트 (3옥텟)
- 호스트 주소: 8비트 (1옥텟)
- IP 주소 범위: 192.0.0.0 ~ 223.255.255.255
- 사용처: 소규모 네트워크 (가정용 네트워크, 소기업 등)
- 첫 옥텟 시작: 110xxxxx (0~127)
- 최대 호스트 수:
- D 클래스 (멀티캐스트)
- IP 주소 범위: 224.0.0.0 ~ 239.255.255.255
- 사용처: 멀티캐스트 용도 (특정 그룹의 여러 장치에 데이터 전송).
- E 클래스 (실험적 용도)
- IP 주소 범위: 240.0.0.0 ~ 255.255.255.255
- 사용처: 연구 및 개발 용도로 예약된 주소.
IP 주소 클래스별 비교 요약
| 클래스 | 첫 번째 옥텟 범위 | 네트워크 비트 | 호스트 비트 | 최대 호스트 수 | 주요 용도 |
| A 클래스 | 0∼127 | 8비트 | 24비트 | 16,777,214 | 대기업, 글로벌 ISP |
| B 클래스 | 128∼191 | 16비트 | 16비트 | 65,534 | 중소기업, 대학, 기관 |
| C 클래스 | 192∼223 | 24비트 | 8비트 | 254 | 가정, 소규모 네트워크 |

네트워크 부 (Network part)
네트워크 부는 네트워크를 구별하는 역할을 한다.
기능
- 네트워크를 식별하여 어떤 네트워크에 속하는지 결정.
- 라우터(Router)가 데이터를 올바른 네트워크로 전달할 때 사용.
- IP 주소 할당 기관(IANA, ISP)에서 관리하며, 특정 네트워크 대역을 기관이나 기업에 할당.
특징
- 같은 네트워크에 속한 장치들은 동일한 네트워크 부를 공유.
- 다른 네트워크와 통신하려면 라우터를 거쳐야 함.
호스트 부 (Host part)
호스트 부는 네트워크 내에서 개별 장치를 식별하는 역할을 한다.
기능
- 동일한 네트워크 안에서 각 장치를 구별하는 역할.
- 네트워크 관리자가 네트워크 내에서 개별 장치에 IP 주소를 할당.
특징
- 같은 네트워크에 있는 모든 장치(PC, 서버 등)는 동일한 네트워크 부를 가지며, 고유한 호스트 부를 가짐.
- 네트워크 부가 동일하면 같은 네트워크에 속한 것으로 간주됨.
- 네트워크 내에서 호스트 부가 중복되면 충돌 발생 (즉, 같은 네트워크 안에서 같은 IP 주소를 가진 장치가 있을 수 없음).
IP 주소 구성 분석 및 데이터 전송 과정 ( 네트워크 간 통신 )
각 네트워크의 IP 주소는 네트워크 부분(Network Part)과 호스트 부분(Host Part)으로 나뉜다.

네트워크 1 - 공인 IP 주소(203.179.33.x)
- 네트워크 부분: 203.179.33
- 호스트 부분: .1 ~ .255
- 공인 IP: 인터넷을 통해 직접 접근 가능.
- 라우터가 인터넷과 연결되는 게이트웨이 역할을 수행.
네트워크 2 - 사설 IP 주소(192.168.24.x)
- 네트워크 부분: 192.168.24
- 호스트 부분: .1 ~ .255
- 사설 IP: 인터넷과 직접 연결되지 않으며, NAT(Network Address Translation)를 통해 인터넷 사용.
- 192.168.x.x 대역은 내부 네트워크에서만 사용되는 비공인(Private) IP 주소.
네트워크 1 내부 통신
- 네트워크 1 내의 장치들은 같은 네트워크 주소(203.179.33.x)를 공유하므로, 스위치를 통해 직접 통신 가능.
- 예: 203.179.33.11 -> 203.179.33.13 데이터 전송 시, 스위치가 패킷을 전달.
네트워크 2 내부 통신
- 네트워크 2 내의 장치들은 같은 네트워크 주소(192.168.24.x)를 공유하므로, 스위치를 통해 직접 통신 가능.
- 예: 192.168.24.2 -> 192.168.24.4 데이터 전송 시, 스위치가 패킷을 전달.
네트워크 1과 네트워크 2 간 통신
- 네트워크 1(203.179.33.x)에서 네트워크 2(192.168.24.x)로 데이터를 보내려면 라우터를 거쳐야 함.
- 라우터 1(203.179.33.1)이 네트워크 2의 라우터 2(192.168.24.1)로 패킷을 전달.
- 라우터 2는 받은 데이터를 네트워크 2 내부 장치(예: 192.168.24.3)에 전달.
ARP (Address Resolution Protocol)
ARP는 IP 주소에 대응하는 MAC 주소를 찾는 프로토콜이다.
- 네트워크에서 장치가 다른 장치의 MAC 주소를 모를 때, ARP를 사용하여 알아낸다.
- 같은 네트워크(LAN) 내에서만 동작하며, 다른 네트워크와 통신할 때는 라우터를 통해야 한다.

ARP Request (브로드캐스트)
- 10.9.0.2 (요청하는 PC)가 10.9.0.7의 MAC 주소를 모를 때 ARP 요청을 보낸다.
- 10.9.0.5는 네트워크 전체에 브로드캐스트(broadcast) 메시지를 전송한다.
- 즉, "10.9.0.7의 MAC 주소를 가진 장치는 누구인가?"라는 요청을 보낸다.
- "who-has 10.9.0.7? tell 10.9.0.5"
- 이 요청은 네트워크 상의 모든 장치(10.9.0.6,10.9.0.7,10.9.0.8)에 전달된다.
ARP Request (유니캐스트)
- 10.9.0.7이 자신의 MAC 주소(02:42:0a:09:00:07)를 응답으로 보낸다.
- 10.9.0.5에게 직접 유니캐스트(unicast) 방식으로 ARP Reply 전송한다.
- 즉, "10.9.0.7의 MAC 주소는 02:42:0a:09:00:07이다"라는 응답을 보낸다.
- " is at 02:42:0a:09:00:07"
ARP 캐시 저장
- 10.9.0.5는 10.9.0.7의 MAC 주소를 ARP 테이블(캐시)에 저장.
- 이후 10.9.0.7과 통신할 때는 더 이상 ARP 요청을 보내지 않고 캐시에 저장된 MAC 주소를 사용.
ICMP (Internet Control Message Protocol)
ICMP는 네트워크 장비(라우터, 게이트웨이, 서버 등) 간에 네트워크 상태 정보를 교환하고, 오류를 알리기 위한 프로토콜이다.
- IP 패킷의 전달 과정에서 문제가 발생하면, ICMP 메시지를 통해 송신자에게 알린다.
- 대표적인 사용 사례: ping 명령어.
ICMP 메시지 캡슐화 과정
ICMP 메시지는 IP 패킷 내에 포함되어 전송되며, 이더넷 프레임을 통해 실제 네트워크를 통해 전달된다.

- ICMP 메시지(제어 정보): 네트워크 오류나 상태를 전달하는 메시지.
- 예: Destination Unreachable (목적지 도달 불가), Time Exceeded (시간 초과) 등.
- IP 헤더: ICMP 메시지는 IP 패킷 내부에 포함되며, ICMP는 전송 계층(TCP, UDP)이 아닌 네트워크 계층(IP)에서 동작.
- 이더넷 헤더 & 트레일러: 패킷을 네트워크에서 물리적으로 전송하기 위해 추가되며, 이더넷 프레임으로 패킷을 캡슐화하여 실제 네트워크로 전송.
ICMP 주요 역할
1. 네트워크 상태 진단
- Ping 명령어:
- ICMP Echo Request를 전송하여 대상 장치가 응답(ICMP Echo Reply)하는지 확인.
- 네트워크가 정상적으로 연결되었는지 테스트하는 데 사용.
2. 오류 메시지 전달
- Destination Unreachable (목적지 도달 불가):
- 목적지 IP 주소가 없거나, 해당 네트워크에 도달할 수 없을 때 발생.
- Time Exceeded (시간 초과):
- 패킷이 네트워크에서 너무 오래 경유하여 TTL(Time to Live) 값이 0이 되었을 때 발생.
- Redirect Message (라우팅 경로 변경 요청):
- 라우터가 더 나은 경로를 발견했을 때, 송신자에게 새로운 경로를 안내.
ICMP의 중요성
- ICMP는 데이터 전송 자체를 담당하지 않지만, 네트워크 오류를 감지하고 해결하는 데 필수적.
- 라우터 및 네트워크 장비들이 네트워크 상태를 유지하고 최적화하는 데 사용.
- 네트워크 진단 도구(Ping, Traceroute 등)에서 필수적인 역할.
ICMP 메시지의 유형 (Type)
ICMP 메시지는 Type 필드를 기반으로 다양한 메시지를 전송하며, 대표적인 값들은 다음과 같다.
| Type 값 | 메시지 이름 | 설명 |
| 0 | Echo Reply | Ping 응답 (네트워크에서 목적지까지 도달 가능 여부 확인) |
| 4 | Source Quench | 패킷이 너무 많을 경우 전송 속도 조절 요청 |
| 5 | Redirect | 더 나은 경로를 알려줌 (라우팅 정보 업데이트) |
| 8 | Echo Request | Ping 요청 (상대방이 응답 가능한지 확인) |
| 11 | Time Exceeded | 패킷이 너무 오래 걸려 TTL 초과 시 전송 |
대표적인 사용 예시: Ping
ping 명령어는 ICMP를 활용하여 네트워크에서 특정 IP 주소 또는 도메인과 통신이 가능한지 확인하는 용도로 사용된다.
- ping www.google.com 명령어를 통해 구글 서버까지의 네트워크 연결 상태를 확인.
- ICMP Echo Request(Type: 8)를 보내고, 대상이 Echo Reply(Type: 0)로 응답하면 네트워크 연결이 정상적으로 작동함을 의미.
ICMP Echo Request/Reply 메시지
- 송신 측에서 전송한 패킷이 목적지(노드 또는 라우터)에 도착했는지 확인하는 데 사용됩니다.
- 대표적인 툴: ping (네트워크 연결 확인).

1. 노드 A(송신측) → 라우터 노드 B(수신측)에 ICMP Echo Request(타입 8)를 전송.
2. 노드 B는 ICMP Echo Request를 받으면 ICMP Echo Reply(타입 0)를 응답.
3. 송신 측이 Reply를 받으면 네트워크 연결이 정상적임을 확인 가능.
ICMP Destination Unreachable 메시지
- 라우터가 특정 노드로 패킷을 보낼 수 없을 때 발생.
- 패킷이 도착할 수 없는 이유를 포함하여 송신측에 전달.
주요 원인
- 네트워크에 대상 호스트가 존재하지 않음.
- 라우팅 테이블에 목적지 정보가 없음.
- 방화벽에서 ICMP를 차단함.
ICMP Redirect 메시지
- 라우터가 비효율적인 경로로 설정된 송신 노드에 더 나은 경로를 제시하는 메시지.
- 네트워크 경로를 최적화하는 역할.
작동 방식
1. 송신측 노드가 잘못된 라우팅 경로로 패킷을 보냄.
2. 라우터가 이 경로가 비효율적이라고 판단하고, 송신측에 ICMP Redirect 메시지(타입 5)를 전송.
3. 송신측은 새로운 최적의 경로로 패킷을 다시 보냄.
ICMP Time Exceeded 메시지

- 패킷이 무한 루프에 빠지지 않도록 TTL(Time to Live)을 체크하는 메시지.
- TTL이 0이 되면 ICMP Time Exceeded 메시지(타입 11)를 송신측에 전달.
작동 방식
1. 패킷은 여러 라우터를 거쳐 목적지까지 이동.
2. 각 라우터는 TTL 값을 1씩 감소시킴.
3. TTL 값이 0이 되면 패킷을 폐기하고, 송신측에 Time Exceeded 메시지를 전송.
4. 주로 traceroute 명령어에서 활용됨.
ICMP Source Quench 메시지

- 네트워크에서 트래픽이 과부하되었을 때 송신측에 전송량을 줄이도록 요청하는 메시지.
- 현재는 거의 사용되지 않음 (대체 기술이 많음).
작동 방식
1. 송신측(노드 A)이 많은 패킷을 보냄.
2. 라우터 A가 트래픽 과부하로 인해 병목현상이 발생.
3. 라우터 A가 ICMP Source Quench 메시지(타입 4)를 송신측으로 보냄.
라우터 (Router)

라우터는 네트워크의 대표적인 장비로서, 서로 다른 네트워크를 연결하고 데이터 패킷을 목적지까지 전달하는 역할을 한다.
- 종종 게이트웨이(Gateway)라고도 불린다.
라우터의 주요 기능
- 둘 이상의 네트워크를 연결하여 통신 가능하게 함.
- 브로드캐스트 트래픽을 차단하여 네트워크를 분리하고 트래픽을 효율적으로 관리.
- 최적의 경로를 찾기 위한 라우팅 테이블을 구성하여 패킷을 목적지까지 빠르게 전송.
- 패킷이 네트워크를 통해 이동할 때 가장 효율적인 경로(길잡이 역할)를 제공.

1. 네트워크 연결
라우터는 다양한 네트워크(예: 사내망과 외부 인터넷망)를 연결하여 서로 다른 네트워크 간의 통신을 가능하게 한다.
2. 최적 경로 선택 (라우팅)
라우터는 목적지까지 패킷을 전달하는 최적의 경로를 선택한다. 이를 위해 라우팅 테이블(Routing Table)을 활용하여 네트워크 상태를 분석하고 가장 효율적인 경로를 결정한다.
3. 브로드캐스트 차단
브로드캐스트(Broadcast)는 동일한 네트워크 내의 모든 장치에 데이터를 전송하는 방식이다. 라우터는 이를 차단하여 네트워크 부하를 줄이고, 다른 네트워크에 불필요한 트래픽이 퍼지는 것을 방지한다.
라우터와 스위치의 차이
| 구분 | 라우터(Router) | 스위치(Switch) |
| 기능 | 서로 다른 네트워크를 연결 | 동일 네트워크 내 장치들을 연결 |
| OSI 계층 | 네트워크 계층 (Layer 3) | 데이터 링크 계층 (Layer 2) |
| 트래픽 처리 | 최적의 경로를 찾아 패킷 전달 | MAC 주소 기반으로 데이터 전송 |
| 예제 | 가정용 인터넷 공유기, 기업용 라우터 | 사무실 내 네트워크 허브 |
라우팅 테이블

라우팅 테이블은 컴퓨터 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용된다.
정적 라우팅

- 관리자가 수동으로 특정 경로를 통해서만 패킷이 지나도록 설정.
- 네트워크 변경사항이 발생하면 라우팅 테이블을 수동으로 직접 고쳐야 함.
- 보안이 중요한 경우 선호.
- 라우팅 알고리즘을 통한 경로 설정이 이루어지지 않아 처리 부하 감소.
- 네트워크 환경 변화에 대한 능동적인 대처가 어려움.
- 비교적 환경 변화가 적은 형태의 네트워크에 적합.
동적 라우팅

- 라우터가 네트워크 연결 상태를 스스로 파악하여 최적의 경로를 선택해 전송.
- 네트워크 연결 형태가 변경되어도 자동으로 문제를 해결.
- 라우팅 알고리즘을 통해 자동으로 경로 설정이 이루어져 관리가 쉬움.
- 주기적인 라우팅 정보 송수신으로 인한 대역폭 낭비 초래.
- 네트워크 환경 변화 시 라우터의 처리 부하 증가로 지연이 발생.
- 수시로 환경이 변하는 형태의 네트워크에 적합.
IP 패킷 전송 과정
인터넷에서 데이터를 전송할 때는 IP 프로토콜(Internet Protocol)을 사용하여 IP 패킷(또는 IP 데이터그램)을 목적지까지 전달한다. 이 과정에서 라우터(Router)가 네트워크 경로를 설정하고 최적의 경로를 찾아 데이터를 전달한다.
IP 패킷 구조
IP 패킷은 IP 헤더 + 데이터로 구성되며, IP 헤더에는 다음과 같은 정보가 포함된다.
- 송신지 IP 주소: 데이터를 보내는 장치의 IP 주소
- 수신지 IP 주소: 데이터를 받을 장치의 IP 주소
- 데이터: 실제 전송되는 정보
- 예제: 목적지 IP 주소가 203.0.113.43으로 설정되어 있으며, 패킷은 이 IP 주소를 향해 이동.

1. 송신지에서 데이터 생성
- 송신지(서버)가 데이터를 생성하고, 이를 IP 패킷으로 변환.
- IP 계층(Internet Layer)에서 IP 헤더를 추가하고, 수신지 IP 주소(203.0.113.43)를 포함.
- 네트워크 인터페이스 계층(Network Interface Layer)을 통해 패킷을 네트워크 A로 전송.
2. 네트워크 간 라우팅
- 데이터가 여러 개의 네트워크(네트워크 A 네트워크 B 네트워크 F 네트워크 G)를 거쳐 이동.
- 라우터가 패킷을 분석하여 최적의 경로를 찾아 다음 네트워크로 전달.
- 경로 설정은 라우팅 테이블(Routing Table)에 따라 결정.
3. 목적지 네트워크에 도착
- 패킷이 목적지 네트워크 G에 도달하면, 해당 네트워크에서 최종 목적지 IP 주소(203.0.113.43)로 전달.
- 목적지 네트워크 인터페이스 계층에서 패킷을 받아 수신 장치로 보냄.
4. 수신지에서 데이터 수신
- 수신지(컴퓨터)가 IP 패킷을 수신하고, IP 계층에서 데이터를 해석하여 응용 프로그램으로 전달.
- 이제 수신지는 송신지로부터 받은 데이터를 활용할 수 있음.
출처
- 양대일, 홍성혁, IT@CookBook,네트워크 해킹과 보안(4판)
'Network' 카테고리의 다른 글
| [Network] 스니핑(Sniffing), 스푸핑(Spoofing) (1) | 2026.02.27 |
|---|---|
| [Network] 전송 계층 (0) | 2026.02.27 |
| [Network] 데이터링크 계층 (0) | 2026.02.26 |
| [Network] 물리 계층(네트워크 인터페이스 계층) (0) | 2026.02.26 |
| [Network] 네트워크 계층 구조 (0) | 2026.02.26 |