정보통신기사 필기

3계층 — 네트워크 계층 (Network Layer)

역할: IP 주소 기반 경로 결정(라우팅)과 패킷 전달
PDU: 패킷 (Packet) | 장비: 라우터, L3스위치, IP공유기
프로토콜역할특징
IP주소 지정·패킷 전달비연결형. IPv4(32bit) / IPv6(128bit)
ICMP오류 메시지·진단ping 명령어가 ICMP 사용
ARPIP→MAC 주소 변환같은 네트워크 내 MAC 주소 조회
OSPF링크상태 라우팅다익스트라 알고리즘. 대규모 네트워크
RIP거리벡터 라우팅최대 홉 15. 30초마다 갱신
BGPAS간 외부 라우팅인터넷 백본. TCP 179 사용
IP 주소 클래스
클래스범위서브넷 마스크용도
A1 ~ 126255.0.0.0 (/8)대규모 네트워크
B128 ~ 191255.255.0.0 (/16)중규모 네트워크
C192 ~ 223255.255.255.0 (/24)소규모 네트워크
D224 ~ 239—멀티캐스트
E240 ~ 255—예약 (실험용)
🔍 클래스 나누는 원리 · 사설 IP · 특수 주소 · 클래스 판별기 → 「IP 주소 클래스 A~E」 상세 보기
IPv4 vs IPv6 완전 비교
항목IPv4IPv6
주소 길이32 bit128 bit
표현 방식10진수 점 표기
192.168.0.1
16진수 콜론 표기
2001:0db8:85a3::8a2e:0370:7334
주소 개수약 43억 개 (2³²)
→ 고갈 문제 발생
약 3.4×10³⁸ 개 (2¹²⁸)
→ 사실상 무한대
헤더 구조가변 길이
최소 20 bytes. 옵션 필드 있음
고정 40 bytes
옵션 → 확장 헤더로 분리
헤더 필드 수12개 필드8개 필드 (단순화)
체크섬있음 (헤더 체크섬)없음 (상위 계층에서 처리)
단편화라우터에서 가능송신 측에서만 가능
(라우터 부담 감소)
브로드캐스트있음없음
(멀티캐스트·애니캐스트로 대체)
멀티캐스트선택적기본 지원
보안별도 설정 필요 (IPSec 선택)IPSec 기본 내장
NAT필요 (주소 부족 해소용)불필요 (충분한 주소)
QoS제한적트래픽 클래스·플로우 레이블
주소 설정수동 또는 DHCP자동 설정(SLAAC) 또는 DHCPv6
등장 시기1981년 (RFC 791)1998년 (RFC 2460)
IPv6 주소 표기 규칙

기본 표기

128bit를 16bit씩 8그룹으로 나눔
각 그룹을 16진수로 표기, 콜론(:)으로 구분

2001:0db8:0000:0000:0000:0000:0000:0001

축약 표기 규칙

① 각 그룹 앞의 0 생략 가능
2001:db8:0:0:0:0:0:1

② 연속된 0 그룹은 :: 로 생략 (1회만)
2001:db8::1

IPv6 주소 유형
유형설명IPv4 대응
유니캐스트
(Unicast)
1:1 통신. 단일 인터페이스 식별일반 IP 주소
멀티캐스트
(Multicast)
1:다(多) 통신. 특정 그룹에 전송클래스 D (224~239)
애니캐스트
(Anycast)
1:1 통신. 가장 가까운 노드에 전송
IPv6에서 새로 등장한 개념
해당 없음
IPv4 → IPv6 전환 기술
듀얼 스택: 장비가 IPv4·IPv6 동시 지원
터널링: IPv6 패킷을 IPv4로 감싸서 전송
NAT64: IPv6 ↔ IPv4 주소 변환
⚠ 시험 핵심 포인트
· IPv4 = 32bit / IPv6 = 128bit — 가장 기본!
· IPv4 표기: 10진수·점(.) / IPv6 표기: 16진수·콜론(:)
· IPv6 = 브로드캐스트 없음 (애니캐스트로 대체)
· IPv6 = IPSec 기본 내장 / IPv4는 선택
· IPv6 헤더 = 고정 40 bytes (IPv4는 최소 20bytes 가변)
· 애니캐스트 = IPv6에서 새로 등장한 개념 (IPv4에 없음)
🔀 루프백 · 미지정 · 링크 로컬 · 멀티캐스트 특수 주소를 IPv4와 IPv6 짝으로 비교한 표는 「IP 클래스 · 서브넷마스크 · CIDR」 섹션에 있다 → 바로 가기
🧮 서브넷팅 · CIDR 계산법(마스크 변환표 · 네트워크 주소 구하기 · 블록 크기 · 실전 예제)은 「IP 주소 클래스 · 서브넷 마스크 · CIDR」 섹션에 클래스와 함께 모아 두었다 → 바로 가기
ARP / RARP 완전 정리
ARP = Address Resolution Protocol — 주소 결정 프로토콜
RARP = Reverse ARP — 역방향 주소 결정 프로토콜
둘 다 2~3계층 경계에서 동작 (IP ↔ MAC 주소 변환 담당)
ARP vs RARP 핵심 비교
항목ARPRARP
풀네임Address Resolution ProtocolReverse Address Resolution Protocol
변환 방향IP → MACMAC → IP
알고 있는 것IP 주소MAC 주소
알고 싶은 것MAC 주소IP 주소
동작 계층2~3계층 경계2~3계층 경계
전송 방식브로드캐스트 요청
유니캐스트 응답
브로드캐스트 요청
유니캐스트 응답
사용 환경일반 네트워크 통신디스크 없는 워크스테이션
(현재는 DHCP로 대체)
현재 사용현재도 필수 사용거의 미사용 (DHCP 대체)
ARP 동작 원리
상황: PC A(192.168.1.1)가 PC B(192.168.1.2)에게 데이터를 보내려 함
PC A는 B의 IP는 알지만 MAC 주소를 모름 → ARP로 알아냄
① ARP Request (브로드캐스트) PC A → FF:FF:FF:FF:FF:FF (전체에게) "192.168.1.2 쓰는 사람 MAC 주소 알려줘!" ② ARP Reply (유니캐스트) PC B → PC A (나한테만) "나야! MAC은 AA:BB:CC:DD:EE:FF" ③ ARP 캐시 저장 PC A의 ARP 테이블에 저장 192.168.1.2 → AA:BB:CC:DD:EE:FF (일정 시간 후 만료 → 재요청) ④ 이후 통신 ARP 없이 캐시에서 MAC 주소 바로 사용
RARP 동작 원리
① RARP Request (브로드캐스트) 디스크 없는 장치 → 전체에게 "내 MAC은 AA:BB:CC:DD:EE:FF인데 IP 주소가 뭐야?" ② RARP Server 응답 (유니캐스트) RARP 서버 → 요청 장치 "너의 IP는 192.168.1.5야!" ※ 현재는 DHCP가 이 역할을 대체
ARP 패킷 구조
Hardware Type
16 bit
Protocol Type
16 bit
HW Len
8 bit
Proto Len
8 bit
Operation
16 bit
Sender MAC Address
48 bit
Sender IP Address
32 bit
Target MAC Address
48 bit
Target IP Address
32 bit
필드크기값설명
Hardware Type16 bit1 = 이더넷네트워크 하드웨어 유형
Protocol Type16 bit0x0800 = IPv4상위 프로토콜 유형
HW Len8 bit6 (이더넷 MAC)MAC 주소 길이 (bytes)
Proto Len8 bit4 (IPv4)IP 주소 길이 (bytes)
Operation16 bit1=Request, 2=Reply요청/응답 구분 ← 자주 출제!
Sender MAC48 bit송신자 MAC패킷 보낸 장치의 MAC
Sender IP32 bit송신자 IP패킷 보낸 장치의 IP
Target MAC48 bitRequest 시 00:00...찾고 싶은 장치 MAC (모르면 0)
Target IP32 bit찾는 IPMAC을 알고 싶은 장치 IP
ARP 관련 추가 개념
개념설명용도
Gratuitous ARP
(무상 ARP)
자신의 IP로 ARP Request 전송
자기 자신에 대한 ARP
IP 충돌 감지 / 네트워크 장비의 MAC 갱신 / 장애 복구 후 알림
Proxy ARP 라우터가 다른 네트워크 대신
ARP에 응답
서브넷 마스크 없는 구형 장비 지원
다른 네트워크 장치 대리 응답
ARP 스푸핑
(ARP Spoofing)
가짜 ARP Reply로 ARP 캐시 오염
트래픽을 공격자에게 유도
중간자 공격(MITM) / 도청
→ 대응: ARP 검사(DAI) 사용
ARP 캐시 IP↔MAC 매핑 임시 저장 테이블
TTL 만료 시 재요청
반복 ARP 요청 방지, 성능 향상
→ arp -a 명령으로 확인 가능
⚠ 시험 핵심 포인트
· ARP = IP → MAC 변환 / RARP = MAC → IP 변환 (방향 구분 필수!)
· ARP Request = 브로드캐스트 / ARP Reply = 유니캐스트
· Operation 코드: 1 = Request, 2 = Reply — 자주 출제!
· Target MAC = Request 시 00:00:00:00:00:00 (모르므로 0으로 채움)
· RARP는 현재 DHCP로 대체됨
· ARP 스푸핑 = MITM 공격의 핵심 수단 — 보안 문제로 출제
📨 ICMP / IGMP — 3계층 보조 프로토콜
3계층에는 IP 혼자 있는 게 아니다. IP는 배달만 할 뿐 실패를 알리지도, 그룹을 관리하지도 못해서, 그 빈자리를 ICMP(오류 보고) 와 IGMP(그룹 관리) 가 채운다.
프로토콜프로토콜 번호맡은 일
IP—주소 지정과 경로 배달 (비신뢰·비연결)
ICMP1배달이 실패한 이유를 알림 · 상태 진단 (ping · traceroute)
IGMP2멀티캐스트 그룹 가입·탈퇴 관리
ARP / RARP—IP ↔ MAC 주소 변환 (위 참고)
🧠 프로토콜 번호 4개는 그냥 외운다 — 「1 · 2 · 6 · 17」
ICMP 1 · IGMP 2 · TCP 6 · UDP 17. IP 헤더의 Protocol 필드에 들어가는 값이다.
ICMP·IGMP는 IP 안에 실려 전달되지만 상위 계층이 아니라 3계층에 속하는 동반 프로토콜이다. 시험 단골
📮 ICMP — Internet Control Message Protocol
IP 헤더 (Protocol = 1) 안에 ICMP 메시지가 실린다 ┌──────────┬──────────┬────────────────┐ │ Type 8bit│ Code 8bit│ Checksum 16bit │ └──────────┴──────────┴────────────────┘ 그 아래 ─ 문제가 된 원본 IP 헤더 + 데이터 앞 8바이트 ※ 원본 패킷의 앞부분을 되돌려 보내므로 "어느 패킷이 왜 실패했는지" 송신자가 알 수 있다
Type메시지구분언제 발생하나
0Echo Reply질의ping 응답
3Destination Unreachable
목적지 도달 불가
오류호스트·네트워크·포트가 없거나 막힘 — 가장 많이 나옴
4Source Quench오류혼잡하니 천천히 보내라 (현재는 거의 미사용)
5Redirect오류더 좋은 경로가 있으니 다른 라우터로 보내라
8Echo Request질의ping 요청
11Time Exceeded
시간 초과
오류TTL이 0이 되어 폐기 — traceroute의 원리
12Parameter Problem오류IP 헤더 필드 값이 잘못됨
13 / 14Timestamp Request / Reply질의왕복 지연 시간 측정
🧠 번호 3개만 확실히 — 「3 · 8/0 · 11」
3 = 도달 불가(가장 흔한 오류) · 8 → 0 = ping(요청→응답) · 11 = 시간 초과(TTL 0).
ICMP는 오류 메시지와 질의 메시지 두 갈래인데, 짝수 0·14는 응답, 홀수 8·13은 요청인 것만 봐도 절반은 갈린다.
ping (도달 여부 · RTT 측정) 송신 ──[ICMP Type 8 Echo Request]──▶ 목적지 송신 ◀─[ICMP Type 0 Echo Reply ]─── 목적지 traceroute (경로 추적) ← TTL을 1씩 늘리는 것이 전부 TTL=1 ─▶ 1번 라우터에서 0 → Type 11 시간초과 회신 ⇒ 1홉 주소 획득 TTL=2 ─▶ 2번 라우터에서 0 → Type 11 시간초과 회신 ⇒ 2홉 주소 획득 TTL=3 ─▶ … 목적지 도달 시 Type 0(또는 Type 3 포트도달불가) ⇒ 종료
⚠️ ICMP의 성격 — 자주 나오는 진술
• 오류를 알릴 뿐 고치지는 않는다. 복구는 상위 계층(TCP)이나 응용의 몫
• ICMP 오류 메시지에 대해서는 다시 ICMP를 보내지 않는다 (무한 반복 방지)
• 멀티캐스트·브로드캐스트 주소에 대해서는 오류 메시지를 보내지 않는다
• 단편화된 패킷은 첫 번째 조각에 대해서만 보낸다
• 보안: Smurf(브로드캐스트 ICMP 증폭) · Ping of Death(규격 초과 ICMP) 공격에 악용되어 방화벽에서 막는 경우가 많다
📡 IGMP — Internet Group Management Protocol
호스트가 라우터에게 "나 이 멀티캐스트 그룹 들을게요 / 안 들을게요"를 알리는 프로토콜. 멀티캐스트 주소는 D 클래스(224.0.0.0 ~ 239.255.255.255) 를 쓴다.
라우터 ──── Query (그룹 듣는 사람 있나요?) ────▶ 호스트들 라우터 ◀─── Report (네, 저 224.1.1.1 들어요) ──── 호스트 라우터 ◀─── Leave (저 이제 안 들어요) ──── 호스트 ← v2부터 ⇒ 아무도 Report 하지 않는 그룹의 트래픽은 그 구간으로 보내지 않는다
버전추가된 것특징
IGMPv1Query · Report탈퇴 메시지가 없어 타임아웃으로 판단 → 느림
IGMPv2Leave 메시지즉시 탈퇴 가능 → 전환이 빨라짐. 가장 널리 쓰임
IGMPv3소스 지정(SSM)"이 그룹을 이 송신자한테서만 받겠다" 지정 가능
예약 멀티캐스트 주소대상
224.0.0.1서브넷의 모든 호스트
224.0.0.2서브넷의 모든 라우터
224.0.0.5 / 224.0.0.6OSPF 전체 라우터 / DR·BDR
224.0.0.9RIPv2
IGMP 스누핑(Snooping) — L2 스위치가 오가는 IGMP 메시지를 몰래 엿봐서, 멀티캐스트 트래픽을 실제로 가입한 포트로만 내보내는 기능. 이게 없으면 스위치는 멀티캐스트를 브로드캐스트처럼 전 포트에 뿌려 대역폭을 낭비한다. IPTV가 대표적인 활용처다.
⚖️ ICMP vs IGMP 한눈에
구분ICMPIGMP
프로토콜 번호12
목적오류 보고 · 진단멀티캐스트 그룹 관리
대상 주소주로 유니캐스트D 클래스 멀티캐스트
대표 도구 · 용도ping · tracerouteIPTV · 화상회의 · 실시간 방송
주고받는 주체호스트 ↔ 라우터 ↔ 호스트호스트 ↔ 라우터
🧠 C·G 로 가른다 — ICMP의 C는 Control(제어·오류), IGMP의 G는 Group(그룹). "오류면 ICMP, 그룹이면 IGMP".
📖 기출 포인트
물음답
ping 명령이 사용하는 프로토콜은?ICMP (Echo Request 8 / Reply 0)
traceroute가 경로를 알아내는 원리는?TTL을 1씩 증가시켜 Type 11(시간 초과) 회신을 받는다
IP 헤더의 Protocol 값 1 · 2 · 6 · 17은?ICMP · IGMP · TCP · UDP
멀티캐스트 그룹 가입·탈퇴를 관리하는 프로토콜은?IGMP
멀티캐스트에 사용하는 IP 클래스는?D 클래스 (224 ~ 239)
ICMP와 IGMP가 속한 계층은?3계층(네트워크) — IP에 캡슐화되지만 상위 계층이 아니다
L2 스위치가 멀티캐스트를 가입 포트로만 보내는 기능은?IGMP 스누핑
⚙️ 처리 방법 — 이 계층이 하는 일
기능내용
논리 주소 지정IP 주소로 전 세계 어디든 지정 (MAC은 같은 네트워크 안에서만)
경로 결정 (라우팅)목적지까지 어느 길로 보낼지 결정. RIP · OSPF · BGP
패킷 전달 (포워딩)라우팅 테이블을 보고 다음 홉으로 넘김
단편화 · 재조립
Fragmentation
다음 구간의 MTU보다 크면 쪼갠다. IPv4는 라우터가, IPv6는 송신 측만 수행
주소 변환IP ↔ MAC (ARP/RARP), 사설 ↔ 공인 (NAT)
혼잡 · 오류 보고ICMP 로 도달 불가·시간 초과 등을 알림 (ping · traceroute)
⚠ IP는 비연결형 · 비신뢰성 — 순서 보장도, 도착 보장도 하지 않는다. 신뢰성은 4계층 TCP 가 책임진다.
📐 계측 — 네트워크 계층에서 무엇을 보는가
도구 · 지표무엇을 알 수 있나
ping (ICMP Echo)도달 여부 · RTT(왕복 지연) · 패킷 손실률
traceroute / tracert경유 라우터(홉) 목록과 구간별 지연 — 어디서 끊겼는지 특정
TTL홉을 지날 때마다 1씩 감소, 0이면 폐기 → 무한 루프 방지
MTU / 단편화율단편화가 잦으면 성능 저하. Path MTU Discovery로 확인
라우팅 테이블 · 컨버전스 시간경로 변경 후 안정화까지 걸리는 시간
패킷 손실률 · 지연 · 지터QoS 3대 지표
🔗 이 계층과 이어지는 단원
📝 3계층 시험 포인트
• PDU = 패킷, 주소 = IP, 장비 = 라우터 · L3 스위치
• IP는 비연결형 · 비신뢰성 — 신뢰성은 4계층 TCP가 담당
• 라우팅 = RIP(거리벡터, 최대 15홉) · OSPF(링크상태, 다익스트라) · BGP(AS 간, TCP 179)
• ICMP = 오류·상태 보고 (ping, traceroute) / ARP = IP→MAC
• 사용 가능 호스트 = 2ⁿ − 2
• TTL은 홉마다 감소 → 무한 루프 방지