프롬프트
file: 활용-10-1-IP주소 서브넷마스크 게이트웨이 DNS서버 구분하기.md
프롬프트 영역으로 마우스를 옮기고 Copy 버튼을 누르면 클립보드에 프롬프트의 내용이 복사됩니다.마이크로파이썬에서 network.WLAN의 ifconfig( ) 메소드에 나타나는 IP 주소, 서브넷 마스크, 게이트웨이, DNS 서버에 대해 설명해 줘.
AI가 만든 결과
MicroPython에서 network.WLAN
인터페이스의 ifconfig()
메소드는 현재 네트워크 인터페이스가 사용 중인 네트워크 정보를 반환합니다. 일반적으로 다음과 같은 튜플 형태로 (IP 주소, 서브넷 마스크, 게이트웨이, DNS 서버)를 확인할 수 있습니다.
import network wlan = network.WLAN(network.STA_IF) wlan.active(True) # wlan.connect("SSID", "PASSWORD") 등으로 연결한 뒤... print(wlan.ifconfig()) # 예) ('192.168.0.100', '255.255.255.0', '192.168.0.1', '8.8.8.8')
위와 같은 예시 출력이 나온다면, 튜플의 각 항목은 아래를 의미합니다:
IP 주소 (IP address)
- 장치(ESP32, ESP8266 등)가 할당받거나 수동으로 설정한 IPv4 주소입니다.
- 예:
192.168.0.100
- DHCP 서버(공유기)로부터 자동 할당을 받거나, 수동으로
wlan.ifconfig(...)
를 통해 설정할 수 있습니다.
서브넷 마스크 (Subnet mask)
- IP 주소가 어느 부분까지가 네트워크 영역이고, 어느 부분부터가 호스트 영역인지 식별하는 데 사용합니다.
- 일반적으로 가정용 네트워크는
255.255.255.0
(슬래시 24) 형태를 자주 사용합니다.
게이트웨이 (Gateway)
- 외부 네트워크(인터넷)에 접근할 때 경유하는 라우터(공유기)의 IP 주소입니다.
- 예:
192.168.0.1
- 다른 서브넷(네트워크)에 있는 IP 주소와 통신할 때는 기본 게이트웨이를 거쳐 데이터를 전달합니다.
DNS 서버 (DNS server)
- 도메인 네임을 IP 주소로 변환(또는 반대로)할 때 사용하는 DNS(Domain Name System) 서버 IP 주소입니다.
- 예:
8.8.8.8
(Google Public DNS),1.1.1.1
(Cloudflare DNS) 등 - 공유기에서 자동으로 할당해주는 경우도 있고, 원하는 DNS 서버 주소를 수동으로 지정할 수도 있습니다.
수동 설정 방법
DHCP가 아닌 정적 IP(Static IP) 환경을 구성하려면, 다음과 같이 ifconfig()
메소드에 튜플을 직접 지정할 수 있습니다.
wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect("MyWiFi", "password") # IP, 서브넷 마스크, 게이트웨이, DNS를 수동 지정 wlan.ifconfig(('192.168.0.50', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
이후 wlan.ifconfig()
를 다시 호출해 보면, 설정한 네트워크 파라미터가 정상적으로 적용된 것을 확인할 수 있습니다.
요약
- IP 주소: 장치가 할당받은/지정한 고유 IPv4 주소
- 서브넷 마스크: 어떤 부분이 네트워크 영역, 어떤 부분이 호스트 영역인지를 결정
- 게이트웨이: 외부 네트워크로 나가는 기본 라우터(공유기) 주소
- DNS 서버: 도메인 이름을 IP로 변환할 때 사용하는 서버 주소
MicroPython 환경에서도 일반적인 네트워크 장치와 마찬가지로, 이 네 가지 정보를 통해 네트워크 통신이 이루어집니다. DHCP를 통해 자동으로 할당받거나, 수동으로 지정하여 사용하면 됩니다.