공유기의 주요 기능인 DHCP와 NAT
- DHCP : 공유기에 연결하 컴퓨터에 자동으로 IP 주소 설정하는 기능
- NAT : 공인 IP 하나를 여러 컴퓨터가 공유해서 사용할 수 있게 해주는 기능
: 컴퓨터와 공유기를 랜선을 통해 유선으로 연결하거나 와이파이를 통해 무선으로 연결하면 IP 주소를 자동으로 할당해주는 동적 호스트 구성 프로토콜
| 항목 | 값 |
|---|---|
| 전송 계층 | UDP |
| 포트 | Client 68 ↔ Server 67 |
| 초기 통신 | L2/L3 브로드캐스트 (MAC ff:ff:ff:ff:ff:ff, IP 0.0.0.0 → 255.255.255.255) |
| 핵심 옵션(일부) | 53: Message Type, 50: Requested IP, 54: Server Identifier, 51: Lease Time, 1: Subnet Mask, 3: Router(GW), 6: DNS, 58/59: T1/T2, 55: Parameter Request List, 82: Relay Agent Info |
Client (0.0.0.0:68, chaddr=클라이언트MAC)
└─DISCOVER────────────────────────────────────────────▶ 255.255.255.255:67
(옵션: 53=Discover, 55=PRL, 61=Client-ID, 12=HostName ...)
Server(s) (UDP 67)
◀─OFFER───────────────────────────────────────────────┘ (브로드캐스트 또는 유니캐스트)
(옵션: 53=Offer, 54=Server-ID, 51=Lease, 1/3/6/15..., yiaddr=제안IP)
Client
└─REQUEST────────────────────────────────────────────▶ 255.255.255.255:67
(옵션: 53=Request, 50=Requested-IP, 54=선택한 Server-ID)
선택된 Server
◀─ACK─────────────────────────────────────────────────┘ (브로드캐스트 또는 유니캐스트)
(옵션: 53=ACK, 51=Lease, 1/3/6/15..., yiaddr=최종IP, 58/59=T1/T2)
여러 서버가 OFFER를 보낼 수 있고, 클라이언트는 하나를 선택해 REQUEST에서 Server Identifier(54)로 명시
| 계층 | 출발지 | 도착지 | 주요 내용 |
|---|---|---|---|
| Ethernet | 클라이언트 MAC | ff:ff:ff:ff:ff:ff (브로드캐스트) | 아직 서버 MAC 모름 |
| IPv4 | 0.0.0.0 | 255.255.255.255 | 아직 IP 없음, 전체 브로드캐스트 |
| UDP | 포트 68 (클라이언트) | 포트 67 (서버) | DHCP 전용 포트 |
| DHCP | XID(트랜잭션 ID), 클라이언트 MAC | - | 메시지 타입=Discover, 원하는 옵션 요청 |
| 계층 | 출발지 | 도착지 | 주요 내용 |
|---|---|---|---|
| Ethernet | 서버 MAC | 브로드캐스트 또는 클라이언트 MAC | 아직 클라이언트 주소 모름 |
| IPv4 | 서버 IP | 255.255.255.255 yiaddr(제안 IP) 유니캐스트 | 아직 클라이언트 주소 모름 |
| UDP | 포트 67 (서버) | 포트 68 (클라이언트) | |
| DHCP | yiaddr=제안된 IP | - | 메시지 타입=Offer, Server ID, 임대 시간, 게이트웨이, DNS 등 포함 |
Broadcast flag가 1이면 브로드 캐스트, 0이면 유니캐스트(클라이언트 MAC 주소로 바로 응답)| 계층 | 출발지 | 도착지 | 주요 내용 |
|---|---|---|---|
| Ethernet | 클라이언트 MAC | ff:ff:ff:ff:ff:ff (브로드캐스트) | Offer 여러 개 올수도 있음 |
| IPv4 | 0.0.0.0 (초기) / 현재 IP(갱신 시) | 255.255.255.255 (초기) / 서버 IP(갱신 시) | |
| UDP | 포트 68 (클라이언트) | 포트 67 (서버) | |
| DHCP | 옵션=Requested IP, Server ID | - | 메시지 타입=Request, 클라이언트 MAC 주소와 사용할 IP 주소, 공유기 IP 주소, 추가 정보 |
Broadcast flag를 꺼놓거나 Discover 단계에서 클라이언트의 MAC 주소를 chaddr 필드로 알게되면 유니캐스트가 되어 IPv4에 서버 IP 담을수도 있음. 단 원칙은 브로드캐스트.| 계층 | 출발지 | 도착지 | 주요 내용 |
|---|---|---|---|
| Ethernet | 서버 MAC | 클라이언트 MAC (또는 브로드캐스트) | |
| IPv4 | 서버 IP | 255.255.255.255 또는 클라이언트 IP | |
| UDP | 포트 67 (서버) | 포트 68 (클라이언트) | |
| DHCP | yiaddr=최종 IP | - | 메시지 타입=ACK, 트랜잭션 ID, 추가 정보 |
: 사설 IP 주소(Private IP)를 공인 IP 주소(Public IP)로 변환하는 기술
| 구분 | 정적 NAT (Static NAT) | 동적 NAT (Dynamic NAT) | PAT (Port Address Translation, Overload NAT) |
|---|---|---|---|
| 특징 | 1:1 매핑 | 1:N 매핑 (풀에서 자동 할당) | N:1 매핑 (여러 사설 IP → 하나의 공인 IP, Port로 구분) |
| 매핑 방식 | 특정 사설 IP ↔ 특정 공인 IP 고정 | 사설 IP ↔ 공인 IP 풀 중 하나 동적 할당 | 사설 IP ↔ 공인 IP 하나, Port 번호로 식별 |
| 공인 IP 수요 | 내부 호스트 수와 동일 | 내부 호스트 수 ≤ 공인 IP 풀 크기 | 공인 IP 1개만 있어도 가능 |
| 보안성 | 비교적 낮음 (항상 고정 노출) | 상대적으로 높음 | 가장 높음 (내부 IP 식별 어려움) |
| 사용 예시 | 서버(웹, 메일) 운영 | 기업 내부 직원이 인터넷 접속 시 | 가정용 인터넷, 소규모 회사 |
| 예시 | 항상 192.168.1.10 → 210.10.10.10 | 192.168.1.20 → 210.10.10.11다른 때는 192.168.1.20 → 210.10.10.12 | 192.168.1.20:1025 → 210.10.10.11:30001192.168.1.30:1026 → 210.10.10.11:30002 |
: 외부(공인 IP)에서 특정 포트 번호로 들어온 요청을 내부(사설 IP)의 특정 장치/포트로 전달해주는 기능
203.0.113.10:80808080 → 192.168.1.100:80 192.168.1.100:80 (웹 서버) http://203.0.113.10:8080 접속만 알면 됨 → 공유기가 내부 웹 서버로 연결해줌Q1. DHCP를 이용한 통신 과정 중 첫 번째로, 클라이언트가 같은 LAN에 존재하는 DHCP 서버를 찾기 위해 브로드캐스트로 보내는 패킷의 이름은 무엇인가? Discover
Q2. DHCP를 이용한 통신 과정 중 두번째이자 서버가 클라이언트에게 받은 첫 번째 패킷에 대한 응답으로, 클라이언트가 사용할 IP, 서브넷 마스크, 공유기의 IP, DNS 서버의 IP, IP 주소를 사용할 수 있는 임대 기간 등을 브로드캐스트로 알려주는 패킷의 이름은 무엇인가? Offer
Q3. DHCP를 이용한 통신 과정 중 세 번째이자 서버가 보낸 두 번째 패킷에 대한 응답으로, 클라이언트가 서버에게 받은 IP 주소를 사용하겠다는 요청을 보내는 패킷의 이름은 무엇인가? Request
Q4. DHCP를 이용한 통신 과정 중 네 번째로 서버가 클라이언트에게 IP 주소를 사용해도 된다는 의미로 보내는 패킷의 이름은 무엇인가? ACK
Q5. 서버를 실행 중인 컴퓨터가 고정된 IP 주소를 사용해야 하는 이유는 무엇인가? 변경된 서버의 IP 주소를 클라이언트가 몰라서 클라이언트가 서버에 접속할 수 없게 됨
Q6. 사설 IP와 공인 IP를 각각 일대일로 미리 설정해두는 NAT 방식은 무엇인가? 정적 NAT
Q7. 사설 IP 주소를 사용하는 컴퓨터가 공인 IP 주소 목록에서 사용 가능한 하나의 공인 IP 주소를 필요할 때마다 할당받아 사용하는 NAT 방식은 무엇인가? 동적 NAT
Q8. 사설 IP 주소를 사용하는 컴퓨터가 하나의 공인 IP 주소를 공유하되, 각 컴퓨터는 고유한 포트 번호로 구분하여 사용하는 NAT 방식은 무엇인가? PAT
Q9. 공유기에 연결해서 사설 IP 주소를 사용하는 컴퓨터에 서버 프로그램이 실행중이다. 이 서버 프로그램에 외부의 클라이언트가 접속할 수 있게 하려면 공유기에 무엇을 설정해야 하는가? 포트포워딩
Q10. 공유기의 공인 IP 주소가 123.123.123.123이고, 다음처럼 포트포워딩 설정이 되었을 때 외부의 클라이언트가 서버에 접속하기 위해서 입력해야 하는 IP 주소와 포트 번호는 무엇인가? 123.123.123.123:1234
| 내부 IP | 외부 포트 | 내부 포트 |
|---|---|---|
| 100.100.100.100 | TCP(1234~1234) | TCP(80~80) |