인터넷 프로토콜(IP) 주소는 인터넷에서 TCP/IP 프로토콜을 사용하는 통신 가능 장치를 식별하는 데 사용되는 고유한 식별자입니다. IP 주소 체계를 기반으로 구축된 대표적인 네트워크 사례로는 월드 와이드 웹(WWW)과 인터넷이 있습니다.
IP 서브넷 내 각 장치의 주소(IP 주소 범위의 일부)는 반드시 고유해야 합니다. 즉, 동일한 서브넷에 있는 두 장치가 동일한 IP 주소를 가질 수 없습니다. 이 규칙을 어길 경우 IP 주소 충돌이 발생합니다.
IPv4 주소는 xxxx 형식의 4개 옥텟으로 구성됩니다. 여기서 각 옥텟은 8비트 또는 십진수로 0부터 255까지의 값을 가집니다. 예를 들어, 201.112.192.230과 같습니다. IPv6 주소는 훨씬 더 넓은 주소 범위를 지원하며 y:y:y:y:y:y:y:y와 같은 형식을 가집니다. 각 y는 16진수로 0부터 FFFF 사이의 값을 가지는 세그먼트입니다. 예시로는 2001:0db8:0001:0000:0000:0ab9:C0A8:0102와 같습니다.
IP 주소는 네트워크에 연결된 장치의 위치를 지정하고 네트워크 인터페이스를 식별하는 데 중요한 역할을 합니다.
또한, 네트워크에 연결된 각 장치는 두 가지 유형의 IP 주소를 가질 수 있다는 점을 알아야 합니다.
- 개인 또는 내부 IP 주소
- 공용 또는 외부 IP 주소
내부 IP 주소는 내부 네트워크 내에서 메시지를 전송하고 연결을 설정하는 데 사용됩니다. 이러한 주소를 사용하는 장치는 전역적으로 연결할 수 없으며, LAN(근거리 통신망) 내에서만 접근이 가능합니다. 또한, 서로 다른 네트워크 서브넷에서 동일한 내부 IP 주소를 사용할 수 있으므로 내부 IP 주소는 고유 식별자일 필요는 없습니다.
외부 IP 주소는 인터넷에서 전 세계적으로 접근할 수 있습니다. 이 주소는 인터넷에서 고유하며, 연결된 장치의 위치를 식별하는 데 사용됩니다. IANA(Internet Assigned Numbers Authority)는 각 국가에 고유한 주소 범위를 할당하기 때문에 가능합니다.
Windows
명령 프롬프트 사용
Windows의 명령 프롬프트에서 `ipconfig` 명령을 실행하면 Windows 시스템에 설치된 모든 네트워크 어댑터 목록을 볼 수 있습니다. 이더넷, Wi-Fi 등과 같은 연결 방식에 따라 여러 개의 IP 주소가 표시될 수 있습니다.
아래는 그 예시입니다.
네트워크 및 공유 센터
시스템/네트워크 어댑터의 IP 주소를 확인하는 또 다른 방법은 “네트워크 및 공유 센터”를 이용하는 것입니다. 제어판을 열고 “네트워크 및 인터넷” → “네트워크 및 공유 센터” → “연결: <Wi-Fi>/<이더넷>” → “자세히”로 이동하여 확인할 수 있습니다.
표시는 다음과 같습니다.
설정 앱
시작 메뉴에서 설정 앱을 엽니다. 그 후, “네트워크 및 인터넷” → 연결 유형 선택(예: Wi-Fi) → “하드웨어 속성”으로 이동합니다. 아래 그림은 설정 앱의 네트워크 상세 정보를 보여주는 스크린샷입니다.
Linux
Linux는 시스템의 IP 주소를 확인하는 다양한 방법을 제공합니다. Linux 배포판을 기반으로 한 GUI 네트워크 관리자 외에도, 대부분의 배포판에서 기본적으로 지원되는 공통 CLI 명령 세트가 존재합니다. 여기서는 이러한 명령을 중심으로 살펴보겠습니다.
IP 명령
`ip` 명령은 다양한 옵션을 제공합니다. 모든 네트워크 인터페이스를 나열하려면 `ip a` 명령을 사용하거나, 특정 네트워크 인터페이스 이름을 지정할 수 있습니다. 아래 예시를 참고하세요.
$ ip addr show eth0
6: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:8c:b4:c4 brd ff:ff:ff:ff:ff:ff
inet 172.23.120.4/20 brd 172.23.127.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe8c:b4c4/64 scope link
valid_lft forever preferred_lft forever
$
hostname 명령
`-I` 플래그와 함께 사용되는 `hostname` 명령은 다양한 네트워크 인터페이스에 연결된 모든 IP 주소를 나열할 수 있습니다.
$ hostname -I
172.23.120.4 10.42.0.0 10.42.0.1
$
ifconfig 명령
`ip` 명령과 마찬가지로 `ifconfig` 명령은 여전히 많은 배포판에서 지원되지만, Linux 시스템에서 네트워크 매개변수를 확인하고 수정하는 데 사용되는 기본적인 명령이었습니다. `ifconfig -a`를 사용하여 모든 네트워크 어댑터와 해당 IP 주소를 확인하거나, `ifconfig` 명령에 특정 네트워크 인터페이스를 지정하여 확인할 수 있습니다.
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.23.120.4 netmask 255.255.240.0 broadcast 172.23.127.255
inet6 fe80::215:5dff:fe8c:b4c4 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:8c:b4:c4 txqueuelen 1000 (Ethernet)
RX packets 1339936 bytes 1152733066 (1.1 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 393472 bytes 333379281 (333.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
$
위의 모든 방법은 네트워크 어댑터의 내부 IP 주소를 표시합니다. Linux 터미널에서 외부 또는 공용 IP 주소를 확인하려면, 아래의 일반적인 도구 중 하나를 사용할 수 있습니다. 이러한 모든 명령은 외부 서비스와 통신하여 공용 IP 주소를 가져옵니다.
$ curl ifconfig.me
$ curl ident.me
$ curl ipinfo.io/ip
$ dig +short myip.opendns.com @resolver1.opendns.com
$ host myip.opendns.com resolver1.opendns.com
Mac
Mac에서는 GUI 방식이나 터미널을 통해 IP 주소를 확인할 수 있습니다.
GUI 방식
- Apple 메뉴에서 “시스템 환경설정”을 엽니다.
- 상단 메뉴에서 “보기”를 클릭하고 “네트워크”를 선택합니다.
- 왼쪽 메뉴에서 올바른 네트워크 연결을 선택합니다.
- 오른쪽에 Mac의 IP 주소가 표시됩니다.
CLI 방식
- Mac에서 “터미널”을 엽니다.
- 이더넷 연결의 경우, `ipconfig getifaddr en1` 명령을 사용하여 IP 주소를 가져올 수 있습니다.
예시:
[email protected] ~ % ipconfig getifaddr en1
192.168.1.117
[email protected] ~ %
웹사이트의 IP
시스템의 개인 및 공용 IP 주소 외에도, 웹 브라우저나 다른 응용 프로그램을 통해 통신하는 인터넷 웹사이트의 공용 IP 주소가 있습니다. 사용자는 DNS 이름을 사용하여 웹사이트를 열거나 통신하지만, 컴퓨터는 백엔드에서 IP 주소를 사용하여 이 통신을 가능하게 합니다.
ping, nslookup, dig와 같은 모든 시스템에서 일반적으로 사용할 수 있는 유틸리티를 사용하여 웹사이트의 IP 주소를 확인할 수 있습니다. `ping`은 IP를 가져오는 데만 사용되는 것은 아니지만, 프로세스 중에 IP 주소를 가져오고 출력에서 확인할 수 있습니다. 이 또한 다양한 운영체제에서 사용할 수 있는 일반적인 유틸리티입니다. 다음은 각각의 작동 예시입니다.
핑
$ ping -c4 wikipedia.com
PING wikipedia.com (91.198.174.194) 56(84) bytes of data.
64 bytes from ncredir-lb.esams.wikimedia.org (91.198.174.194): icmp_seq=1 ttl=57 time=7.53 ms
64 bytes from ncredir-lb.esams.wikimedia.org (91.198.174.194): icmp_seq=2 ttl=57 time=7.58 ms
64 bytes from ncredir-lb.esams.wikimedia.org (91.198.174.194): icmp_seq=3 ttl=57 time=7.56 ms
64 bytes from ncredir-lb.esams.wikimedia.org (91.198.174.194): icmp_seq=4 ttl=57 time=7.59 ms
--- wikipedia.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 7.532/7.564/7.591/0.022 ms
$
더 많은 `ping` 명령 예제를 탐색해 볼 수 있습니다.
nslookup
$ nslookup wikipedia.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: wikipedia.com
Address: 91.198.174.194
Name: wikipedia.com
Address: 2620:0:862:ed1a::3
$
dig
$ dig +short wikipedia.com
91.198.174.194
$
만약 편리한 터미널이 없거나 사용하기 불편하다면 걱정하지 마세요. 브라우저에서 바로 웹사이트의 IP 주소 정보를 확인할 수 있는 다양한 후이즈(whois) 도구가 있습니다.
그 중 하나는 koreantech.org 도구에서 사용할 수 있습니다.
IP를 확인하고자 하는 웹사이트의 도메인 이름을 입력하고 “호스트 찾기” 버튼을 클릭하기만 하면, 해당 도구가 웹사이트의 IP 주소와 위치, 호스팅 정보 등 다양한 유용한 정보를 표시해 줍니다.
결론
IP 주소는 오늘날 인터넷 작동 방식의 핵심 요소입니다. 이 글에서는 사설 IP와 공용 IP의 차이점, 그리고 Windows, Linux, Mac 시스템을 포함하여 네트워크 인터페이스에 할당된 IP 주소를 확인하는 방법에 대해 알아보았습니다.