OSI 3계층인 네트워크 계층은 여러 LAN이 연결된 인터넷 같은 네트워크를 통해 데이터를 보낼 때 필요한 역할을 함
- 대표 프로토콜 : IPv4, IPv6, ICMP, IGMP, IPsec, OSPF, BGP
: 네트워크 계층에서 사용하는 주소. 통신 기능이 제공되는 기기들이 서로 통신을 하기 위해 필요한 고유 번호
| 구분 | IPv4 | IPv6 |
|---|---|---|
| 주소 길이 | 32비트 | 128비트 |
| 주소 표기 | 10진수, 점(.) 구분 | 16진수, 콜론(:) 구분 |
| 주소 개수 | 약 43억 개 | 사실상 무한대(3.4×10³⁸) |
| 예시 | 192.168.0.1 | 2001:0db8::1 |
| 브로드캐스트 | 지원 | 미지원(멀티캐스트/애니캐스트 사용) |
| 보안 | 선택 사항(IPSec 선택) | 기본 내장(IPSec 필수) |
| 설정 방식 | 수동, DHCP | 자동 설정(SLAAC) + DHCPv6 |
| 패킷 크기 | 20~60바이트 헤더 | 고정 40바이트 헤더 |
| 구분 | 클래스풀(Classful) | 클래스리스(Classless) |
|---|---|---|
| 주소 구분 방식 | A/B/C 등 고정 클래스 구간 | 서브넷 마스크(CIDR)로 유연하게 구분 |
| 서브넷 마스크 | 클래스별 기본값 고정 (예: Class C = 255.255.255.0) | /n 형식(CIDR)으로 가변 설정 가능 |
| 주소 낭비 | 많음 (필요 이상으로 큰 네트워크 할당) | 적음 (정확한 크기로 할당 가능) |
| 예시 | Class C → 192.168.1.0/24 | 192.168.1.0/27 |
| 사용 여부 | 과거(1980~1993) 사용 | 현재 인터넷 표준 |

| 구분 | 공인 IP(Public IP) | 사설 IP(Private IP) |
|---|---|---|
| 사용 범위 | 인터넷 전체에서 유일하게 사용 | 내부 네트워크(가정, 회사 등)에서만 사용 |
| 발급 주체 | ISP(인터넷 서비스 제공자) | 임의 사용 가능(정해진 범위 내) |
| IP 범위 | 사설 IP 범위 외 모든 주소 | A: 10.0.0.0 ~ 10.255.255.255 B: 172.16.0.0 ~ 172.31.255.255 C: 192.168.0.0 ~ 192.168.255.255 |
| 인터넷 직접 접속 | 가능 | 불가능(NAT 필요) |
| 보안성 | 외부 노출로 상대적으로 낮음 | 외부 직접 접근 불가로 상대적으로 높음 |
| 예시 | 203.0.113.25 | 192.168.0.15 |
NAT(Network Address Traslation)란?
: 내부 네트워크에서 사용하는 사설 IP 주소를 인터넷에서 사용 가능한 공인 IP 주소로 변환해주는 기술
- 주로 라우터나 방화벽에서 동작하며, IPv4 주소 부족 문제를 해결하고 내부 네트워크 구조를 외부에 숨기는 보안 효과도 있음
- 동작 방식
- 내부 → 외부: 사용자가 인터넷에 접속하면, 라우터가 사설 IP를 공인 IP로 바꿔 전송
- 외부 → 내부: 응답 패킷이 도착하면, 라우터가 기록해둔 변환 테이블을 참조해 해당 사설 IP로 다시 변환하여 전달- 종류
구분 Static NAT (정적 NAT) Dynamic NAT (동적 NAT) PAT (Port Address Translation) 개념 사설 IP ↔ 공인 IP를 고정 1:1 매핑 사설 IP ↔ 공인 IP를 풀에서 동적 1:1 매핑 여러 사설 IP ↔ 하나의 공인 IP (포트 번호로 구분) 동작 방식 미리 설정된 매핑 사용, 항상 동일한 변환 접속 시 빈 공인 IP를 풀에서 할당, 종료 시 반환 사설 IP+포트를 공인 IP+다른 포트로 변환 장점 외부에서 항상 같은 주소로 접근 가능 공인 IP 절약, 유연한 할당 공인 IP 1개로 다수 기기 동시 접속 가능 단점 공인 IP 낭비 가능성 큼 동시에 많은 접속 시 공인 IP 부족 가능 포트 충돌 가능성, 일부 서비스 연결 문제 주요 사용 예시 웹/메일 서버, VPN 서버 등 공개 서비스 기업 내부 네트워크, 제한된 공인 IP 환경 가정용 공유기, 소규모·중규모 네트워크 예시 192.168.0.10 → 203.0.113.10 192.168.0.10 → 203.0.113.11(풀에서 할당) 192.168.0.10:1025 → 203.0.113.20:30001
| 구분 | 의미 | 특징 | 예시(IPv4, 192.168.1.0/24) |
|---|---|---|---|
| 네트워크 ID 주소 | 네트워크 자체를 식별하는 주소 | 호스트 부분이 모두 0, 해당 네트워크의 첫 번째 주소 | 192.168.1.0 |
| 브로드캐스트 주소 | 같은 네트워크의 모든 장비에 패킷을 전송하는 주소 | 호스트 부분이 모두 1, 네트워크의 마지막 주소 | 192.168.1.255 |
| 게이트웨이 주소 | 다른 네트워크로 나가는 출입구 역할을 하는 라우터/공유기 주소 | 네트워크 내 사용 가능한 IP 중 하나를 할당 | 192.168.1.1 (관례상 첫 번째 주소 사용) |
| 로컬호스트 주소 | 자신의 컴퓨터를 가리키는 특별한 주소 | 네트워크 카드 사용 없이 내부 통신(Loopback) | 127.0.0.1 |
: IPv4 주소를 작성하는 양식. 큰 데이터를 잘못 보내거나 경로가 잘못 설정되었을 때 대비, IPv4 프로토콜 자체에 문제가 없는지 확인하는 기능 탑재

: 각 네트워크 구간의 물리적 제한을 지키기 위해 네트워크에서 데이터를 전송할 때, 전송 경로의 최대 전송 단위(MTU, Maximum Transmission Unit) 보다 큰 IP 패킷이 있으면, 이를 여러 조각(Fragment) 으로 나누어 보내는 것
: IPv4를 이용해 멀리 떨어진 컴퓨터끼리 통신이 잘 되는지 확인하고 안 된다면 원인 파악할 수 있게 도와주는 인터넷 제어 메시지 프로토콜

ping : 식별자와 순서 번호 작성됨| 유형 | 내용 |
|---|---|
| 8 | ICMP로 통신 확인 요청 |
| 0 | ICMP로 통신 확인 응답 |
| 3 | 목적지에 도착 불가능 일반적으로 내 컴퓨터의 잘못된 IP 주소 설정, 인터넷 연결 X, 잘못도니 목적지 주소 시 발생 |
| 11 | 목적지에 도착했지만 응답 시간 초과 일반적으로 방화벽에 차단된 경우 발생. 윈도우에서는 일반적으로 네트워크 방화벽이 ICMP 차단 |
: IP 주소로 통신하는 컴퓨터나 네트워크 장치들이 모두 가지고 있는 목적지의 IP 주소를 찾아갈 때 어떤 경로로 가야하는지 작성된 표
| 구성 요소 | 의미 | 예시 |
|---|---|---|
| 목적지 네트워크 (Destination) | 도달하려는 네트워크 주소 또는 호스트 주소 | 192.168.1.0 |
| 서브넷 마스크 (Netmask) | 네트워크 범위를 정의하는 값 | 255.255.255.0 |
| 게이트웨이 (Gateway / Next Hop) | 다음 경유지 장치(라우터)의 IP 주소 | 192.168.1.1 |
| 인터페이스 (Interface) | 해당 경로로 나가는 네트워크 포트/장치 | eth0, wlan0 |
| 메트릭 (Metric) | 경로의 우선순위를 나타내는 숫자(낮을수록 우선) | 10 |
| 플래그 (Flags) | 경로 속성 표시 (U=사용 가능, G=게이트웨이 사용 등) | UG |
| 타겟 타입 | 네트워크 대상인지(host) 단일 호스트인지 구분 | network / host |
: 내 네트워크에 없는 목적지 IP로 패킷을 보내야 할 때의 게이트웨이
0.0.0.0/0 또는 default 경로로 표시예시
- A 컴퓨터: 192.168.10.10/24, 기본 게이트웨이: 192.168.10.1
- 라우팅 테이블 예:
목적지 네트워크 넷마스크 게이트웨이 인터페이스 192.168.10.0 255.255.255.0 On-link 192.168.10.10 0.0.0.0 0.0.0.0 192.168.10.1 192.168.10.10
- 192.168.10.x → 같은 네트워크면 바로 MAC 주소를 찾아서 전송(ARP 사용)
그 외 모든 주소 → 기본 게이트웨이(192.168.10.1)로 먼저 보냄
이때도 먼저 ARP로 게이트웨이 MAC 주소를 알아내야 함
게이트웨이로 간 뒤, 라우터가 다음 경로로 전달
| 장치 | IP 주소 | MAC 주소 | 비고 |
|---|---|---|---|
| A 컴퓨터 | 192.168.10.10/24 | AA:AA:AA:AA:AA:AA | 기본 게이트웨이: 192.168.10.1 |
| A 공유기 | (L2 장치) | 11:11:11:11:11:11 | 스위칭/브리지 |
| 라우터 (A쪽) | 192.168.10.1/24 | 33:33:33:33:33:33 | A 네트워크 GW |
| 라우터 (C쪽) | 172.16.0.1/24 | 44:44:44:44:44:44 | C 네트워크 GW |
| 라우터 (B쪽) | 192.168.20.1/24 | 55:55:55:55:55:55 | B 네트워크 GW |
| C 컴퓨터 | 172.16.0.10/24 | CC:CC:CC:CC:CC:CC | 기본 게이트웨이: 172.16.0.1 |
| B 공유기 | (L2 장치) | 66:66:66:66:66:66 | 스위칭/브리지 |
| B 컴퓨터 | 192.168.20.20/24 | BB:BB:BB:BB:BB:BB | 기본 게이트웨이: 192.168.20.1 |
ping 192.168.20.20
)
192.168.20.20이 자기 서브넷(192.168.10.0/24)에 속하지 않음 확인192.168.10.1의 MAC 주소가 없으면 브로드캐스트 요청.192.168.10.1 → 33:33:33:33:33:33L2: dst MAC = 33:33:33:33:33:33, src MAC = AA:AA:AA:AA:AA:AA
L3: src IP = 192.168.10.10, dst IP = 192.168.20.20
L4: ICMP Echo Request
192.168.20.20이 라우터 B쪽 인터페이스(192.168.20.1)에 속함을 확인.192.168.20.20 → BB:BB:BB:BB:BB:BBL2: dst MAC = BB:BB:BB:BB:BB:BB, src MAC = 55:55:55:55:55:55
L3: src IP = 192.168.10.10, dst IP = 192.168.20.20
L4: ICMP Echo Request
L2: dst MAC = 55:55:55:55:55:55, src MAC = BB:BB:BB:BB:BB:BB
L3: src IP = 192.168.20.20, dst IP = 192.168.10.10
L4: ICMP Echo Reply
L2: dst MAC = AA:AA:AA:AA:AA:AA, src MAC = 33:33:33:33:33:33
L3: src IP = 192.168.20.20, dst IP = 192.168.10.10
L4: ICMP Echo Reply
ping 응답 시간 출력.Q1. OSI 3계층에서 멀리 떨어진 네트워크 대역을 찾아가기 위해 패킷의 경로를 결정하고 전달하는 과정을 무엇이라고 하는가? 라우팅
Q2. 라우팅 정보는 최종 목적지까지 가는 경로를 모두 포함하고 있다. X
Q3. 3계층에서 사용하는 주소는 무엇인가? IP 주소
Q4. IP 주소의 길이는 무엇인가? 32bits. 4bytes
Q5. IP 주소는 어떤 형식으로 표기하는가? 0.0.0.0 꼴. 4개의 16진수 필트
Q6. 192.168.100.100은 어떤 클래스의 IP 주소인가? C클래스
Q7. IP 주소가 192.168.100.100/24일 때 해당 컴퓨터가 연결된 LAN의 네트워크 대역은 무엇인가? 192.168.100.0
Q8. IP 주소가 192.168.100.100/24일 때 해당 컴퓨터가 브로드캐스트로 통신하려면 어떤 주소로 해야 하는가? 192.168.100.255
Q9. IP 주소가 192.168.100.100/24일 때 해당 컴퓨터가 연결된 LAN의 네트워크 대역에서 사용할 수 있는 IP 주소의 범위는 어떻게 되는가? 192.168.100.1 ~ 192.168.100.254
Q10. 나 자신을 뜻하는 로컬 호스트 주소는 무엇인가? 127.0.0.1
Q11. 윈도우의 명령 프롬프트에서 IP 주소를 확인할 수 있는 명령어는 무엇인가? ipconfig /all
Q12. IPv4 프로토콜 길이가 20bytes일 때 IPv4 프로토콜에서 인터넷 헤더 길이(IHL) 필드의 값은 얼마인가? IHL = 헤더 길이(바이트)/4 = 5
Q13. IPv4 프로토콜로 1,300bytes의 데이터를 보낼 때 IPv4 프로토콜에서 총 길이 필드의 값은 얼마인가? IP헤터(20bytes) + 데이터(1,300bytes) = 1320bytes
Q14. IPv4 프로토콜로 MTU를 넘는 데이터를 조각화해서 보낼 때 첫번째 데이터를 캡슐화한 IPv4 프로토콜의 아이디가 1111이었다면, 나머지 데이터를 캡슐화한 IPv4 프로토콜의 아이디는 무엇인가? 1111
Q15. IPv4 프로토콜로 MTU를 넘는 데이터를 조각화해서 보낼 때 첫번째 데이터를 캡슐화한 패킷으로 보낸 데이터가 1,480bytes였다면, 두번째 데이터를 캡슐화한 IPv4 프로토콜의 조각 오프셋(Fragment Offset)은 얼마인가? 1480byest/8(offset은 8byte 단위) = 185
Q16. IPv4 프로토콜로 보낸 패킷이 인터넷에서 영원이 떠돌아다니지 못하게 하기 위한 기능을 무엇이라고 하는가? TTL
Q17. IPv4 프로토콜에서 상위에 어떤 프로토콜이 캡슐화되었는지 알려주는 필드에 들어갈 값으로, 각 프로토콜(ICMP, TCP, UDP)을 의미하는 값은 얼마인가? ICMP : 1, TCP : 6, UDP : 17
Q18. ICMP 프로토콜을 이용해 통신을 확ㅇ니해 보면 유형값으로 통신이 제대로 되었는지 파악할 수 있다. 다음 내뇽에 맞는 유형값은 각각 얼마인가?
80 311Q19. 라우팅 테이블이 다음처럼 설정되었을 때 목적지 IP 주소가 8.8.8.8이면 해당 패킷은 어디로 전송되는가? 192.168.30.2
0.0.0.0 -> 192.168.30.2
192.168.10.0/24 -> 192.168.10.2
192.168.20.0/24 -> 192.168.20.2
Q20. MTU가 1500인 네트워크 장치들을 통해서 4,000bytes인 데이터를 보낼 때 몇 개의 데이터로 조각화되고, 마지막 패킷으로 보내는 데이터의 크기는 몇 바이트인가? MTU 1500 - IP 헤더 20 = 1480bytes. 앞 조각들 데이터 길이는 8byte의 배수여야 함. 1480 + 1480 + 1040 = 4000bytes. 즉, 3개 1040bytes
Q21. ping 테스트를 통해 받은 응답 패킷에서 IPv4 프로토콜을 확인했을 때 TTL이 119였다면 목적지 컴퓨터의 운영체제는 무엇으로 예상할 수 있는가? 윈도우