네트워크 인터페이스에 대한 깊이 이해: localhost, 루프백 주소, 및 로컬 네트워크
Takashi Yamamoto
Infrastructure Engineer · Leapcell

많은 컴퓨터 사용자가 localhost
, 127.0.0.1
을 사용하거나 로컬 머신의 IP 주소를 직접 입력하는 시나리오를 접했을 것입니다. 언뜻 보기에 이 세 가지 방법은 모두 로컬 머신에 액세스하는 것처럼 보이지만, 왜 이렇게 세 가지 다른 형태가 존재할까요? 이들 사이에는 어떤 차이점이 있을까요? 겉으로는 비슷해 보이지만 실제로는 상당히 중요한 차이가 있습니다.
또한, 공용 및 사설 네트워크, 네트워크 인터페이스 카드(NIC) 및 IP 주소 간의 관계에 대해 혼동스러울 수 있습니다. 다음 설명은 이러한 주제를 명확히 할 것입니다.
로컬 머신 IP
컴퓨터 마더보드에는 여러 개의 내장 네트워크 인터페이스 카드(NIC)가 함께 제공되며, 일반적으로 다음과 같은 유형으로 분류됩니다.
가상 NIC (루프백)
참고: 이는 물리적 네트워크 인터페이스가 아닌 가상 네트워크 인터페이스입니다. 로컬 루프백 주소(또는 인터페이스)라고도 하며, 일반적으로 127.0.0.1
을 로컬 루프백 주소로 사용합니다.
유선 NIC / 이더넷 카드
이것은 이더넷(근거리 통신망)에 사용됩니다. 사람들이 네트워크 카드를 언급할 때, 일반적으로 케이블을 통해 네트워크에 연결되는 이 유형을 의미합니다.
무선 NIC (WLAN)
이 유형의 네트워크 카드는 무선 근거리 통신망(WLAN)에 사용됩니다. 랩톱에는 일반적으로 무선 NIC가 내장되어 있으며, 이는 무선 기술을 사용하고 이더넷 카드처럼 물리적 케이블이 필요하지 않습니다.
이러한 각 네트워크 인터페이스에는 로컬 머신 IP 주소가 할당됩니다.
localhost
는 특별한 도메인 이름입니다
무엇보다도 localhost
는 IP 주소가 아니라 특별한 도메인 이름(접미사 없음)입니다. 기본적으로 로컬 IP 주소(127.0.0.1
)로 확인됩니다. localhost
의 확인은 로컬 hosts
파일을 통해 관리됩니다. 원하는 경우 localhost
가 공용 IP 주소 또는 다른 IP 주소로 확인되도록 구성할 수 있습니다(hosts
파일을 사용하여 수정할 수 있음). 그러나 대부분의 경우 다음과 같이 확인됩니다.
- IPv4:
127.0.0.1
- IPv6:
[::1]
hosts
파일 위치:
C:\Windows\System32\drivers\etc
127.0.0.1
은 로컬 머신을 위해 예약된 개인 IP 주소입니다
127.0.0.1
은 로컬 루프백 주소를 나타내는 개인 IP 주소입니다. 기본적으로 가상 NIC(루프백 인터페이스)에 바인딩된 IP 주소입니다.
루프백 주소란 무엇인가요?
루프백 주소는 호스트가 자체와 통신하기 위해 사용하는 특수 주소입니다(즉, 특수 대상 주소).
동일한 호스트의 두 서비스가 할당된 머신 주소 대신 루프백 주소를 사용하는 경우 TCP/IP 프로토콜 스택의 하위 레이어를 우회할 수 있습니다. 즉, 통신이 링크 레이어, 물리 레이어 또는 이더넷을 거치지 않고 네트워크 및 전송 레이어 내에서 직접 처리될 수 있습니다.
네트워크 번호가 127
인 주소 블록은 실제 네트워크 주소가 아닙니다. 이 범위의 주소로 전송된 IP 패킷은 외부 네트워크 인터페이스로 전송되지 않고 호스트 내에 유지됩니다.
따라서 127.0.0.1
은 로컬 TCP/IP 스택을 테스트하는 데 자주 사용되는 예약된 주소 중 하나입니다. 이 주소를 성공적으로 핑할 수 있다면 머신이 네트워크에 연결되어 있는지 여부에 관계없이 네트워크 인터페이스 카드(NIC) 및 IP 프로토콜 스택이 올바르게 설치되었음을 나타냅니다.
사실 IPv4는 전체 127.0.0.0/8
서브넷을 루프백 테스트용으로 예약합니다(몇 가지 예외 포함). 127.0.0.1
은 이 범위의 주소 중 하나일 뿐입니다. 이 범위 내의 모든 주소를 핑하거나 웹 브라우저에 이러한 주소를 입력하여 로컬 웹 서비스에 액세스할 수 있습니다.
또 다른 일반적으로 혼동되는 IP 주소는 0.0.0.0
입니다. 127.0.0.1
과 달리 0.0.0.0
은 머신 자체를 다른 방식으로 나타내며 다른 컨텍스트에서 사용됩니다.
사용 사례 예시:
컴퓨터에 두 개의 NIC가 있다고 가정합니다.
- 하나는 공용 IP를 사용하여 인터넷에 연결됩니다.
- 다른 하나는 개인 IP를 사용하여 로컬 네트워크에 연결됩니다.
컴퓨터가 웹 서비스를 호스팅하고 외부(인터넷) 및 내부(LAN) 소스에서 모두 액세스할 수 있도록 하려면 서버가 0.0.0.0
에서 수신하도록 구성할 수 있습니다.
localhost
, 로컬 머신 IP 및 127.0.0.1
의 차이점
네트워크 요구 사항
localhost
및127.0.0.1
은 활성 네트워크 연결이 필요하지 않습니다. 머신이 완전히 오프라인 상태인 경우에도 이러한 주소에 액세스하면 로컬 시스템으로 확인됩니다.- 로컬 머신 IP(유선 및 무선 네트워크 IP)에는 활성 네트워크 연결이 필요합니다. 이것들은 머신에 대한 외부 액세스를 허용하는 IP 주소입니다.
액세스 범위
localhost
는 로컬 액세스 전용으로 사용됩니다.127.0.0.1
도 로컬 액세스 전용입니다.- 로컬 머신 IP는 로컬 및 외부 액세스 모두에 사용할 수 있습니다.
도메인 vs. IP 주소
localhost
는 도메인 이름이며 기본적으로127.0.0.1
로 확인됩니다.- 로컬 머신 IP는 머신의 실제 NIC에 할당된 실제 IP 주소이며, 이를 통해 외부 장치가 액세스할 수 있습니다.
로컬 네트워크에서의 사용
- 근거리 통신망(LAN) 내에서 동일한 서브넷의 컴퓨터는 머신에 할당된 IP 주소(개인 IP)를 사용하여 연결할 수 있습니다. 이는 로컬 전용인
localhost
또는127.0.0.1
에는 적용되지 않습니다.
네트워크 인터페이스 (NIC) 주소 & IP 주소
NIC 주소 (MAC 주소)
NIC(네트워크 인터페이스 카드) 주소, 즉 MAC 주소(Media Access Control)는 네트워크 장치를 고유하게 식별하는 데 사용되는 물리적 또는 하드웨어 주소입니다.
OSI 모델에서:
- **네트워크 레이어(레이어 3)**는 IP 주소를 담당합니다.
- **데이터 링크 레이어(레이어 2)**는 MAC 주소를 담당합니다.
각 MAC 주소는 고유하며 장치의 NIC에 할당됩니다. 이는 ID 카드 번호가 사람을 고유하게 식별하는 방법과 유사하게 전역적으로 고유합니다.
IP 주소
**IP 주소(인터넷 프로토콜 주소)**는 네트워킹에 사용되는 논리적 주소입니다. MAC 주소와 달리 IP 주소는 변경 가능하며 네트워크 구성에 따라 할당됩니다.
요약
- MAC 주소: NIC에 할당된 고정된, 고유한 물리적 주소입니다.
- IP 주소: NIC에 할당된 변경 가능한 논리적 주소입니다.
IP 및 MAC 주소를 확인하려면 다음 명령을 사용하세요:
ipconfig /all
공용 IP vs. 개인 IP
IP 주소를 통한 장치 액세스
127.0.0.1
→ 로컬 머신에 액세스합니다.- 개인 IP → LAN 내의 다른 장치에 액세스합니다.
- 공용 IP → 인터넷의 다른 장치에 액세스합니다.
공용 IP 주소 (인터넷 IP)
인터넷 액세스가 가능한 회사 네트워크를 설정하려면 회사는 인터넷 서비스 제공업체(ISP)로부터 광대역 연결을 확보해야 합니다. ISP는 공용 IP 주소를 할당하여 회사 네트워크 내의 장치가 인터넷에 액세스할 수 있도록 합니다.
- 공용 IP 주소는 인터넷 NIC(인터넷 네트워크 정보 센터)에서 할당하고 관리합니다.
- 공용 IP가 있는 장치는 인터넷에서 직접 액세스할 수 있습니다.
- 공용 IP는 **광역 통신망(WAN)**의 일부입니다.
개인 IP 주소 (LAN IP)
개인 IP는 내부 장치를 연결하기 위해 조직 또는 가정 네트워크 내에서 사용됩니다. 이러한 주소는 인터넷에서 라우팅할 수 없으며 외부 네트워크에 액세스하기 전에 **NAT(네트워크 주소 변환)**를 사용하여 변환해야 합니다.
- 개인 IP는 내부 사용을 위해 정의되며 인터넷에서 직접 액세스할 수 없습니다.
- 개인 IP 장치가 인터넷에 액세스해야 하는 경우 개인 IP를 공용 IP로 변환하는 NAT 게이트웨이를 거쳐야 합니다.
공용 및 사설 네트워크 액세스
사설 네트워크(LAN) 장치가 **공용 네트워크(인터넷)**에 액세스해야 하는 경우 **SNAT(소스 NAT)**를 거쳐야 합니다.
- 공용 인터넷(ISP에서 관리)은 공용 IP로 구성됩니다.
- 개인 IP는 인터넷에서 라우팅할 수 없으며 NAT를 통해 변환되지 않으면 차단됩니다.
공용 네트워크(인터넷) 장치가 사설 네트워크(LAN) 장치에 액세스해야 하는 경우 DNAT(대상 NAT), VPN 또는 포트 포워딩이 필요합니다.
공용 인터넷을 통해 두 개의 사설 네트워크 간의 통신을 위해 **VPN(가상 사설망)**을 사용할 수 있습니다.
내부 네트워크 vs. 외부 네트워크
- **내부 네트워크(LAN)**는 기본적으로 사설 네트워크입니다.
- **외부 네트워크(WAN)**에는 공용 인터넷과 기타 사설 네트워크가 모두 포함될 수 있습니다.
핵심 내용:
- "공용 네트워크" ≠ "외부 네트워크."
- 간단히 말해서 공용 네트워크 = 외부 네트워크이고 사설 네트워크 = 내부 네트워크이지만, 기술적으로 정의는 약간 다릅니다.
IP 주소의 전체 범위
IP 주소는 다음 범위를 갖는 5개의 클래스로 나뉩니다.
- 클래스 A:
1.0.0.1 – 127.255.255.254
- 클래스 B:
128.0.0.1 – 191.255.255.254
- 클래스 C:
192.0.0.1 – 223.255.255.254
- 클래스 D:
224.0.0.0 – 239.255.255.255
(멀티캐스트용으로 예약됨) - 클래스 E:
240.0.0.0 – 255.255.255.255
(미래 사용을 위해 예약됨)
이 중에서 클래스 A, B 및 C가 인터넷에서 일반적으로 사용됩니다.
- 클래스 D는 멀티캐스트 통신에 사용됩니다.
- 클래스 E는 미래 및 실험적 목적을 위해 예약됩니다.
특수 IP 주소
0.0.0.0
→ 현재 호스트를 나타냅니다.255.255.255.255
→ 현재 서브넷에 대한 브로드캐스트 주소입니다.- 클래스 E IP(
11110
접두사) → 실험적 사용을 위해 예약되었습니다. - 루프백 주소(
127.x.x.x
) → 로컬 루프백 테스트를 위해 예약되었습니다(예: 웹 서버 테스트를 위한127.0.0.1
). - 네트워크 ID는
0
으로 시작할 수 없습니다.0.0.0.0
은 로컬 네트워크를 나타내기 때문입니다.
공용 IP 주소 범위
클래스 A, B 및 C 내에서 특정 범위는 공용 IP 주소용으로 지정됩니다.
-
클래스 A 공용 IP:
1.0.0.0 – 9.255.255.255
11.0.0.0 – 126.255.255.255
-
클래스 B 공용 IP:
128.0.0.0 – 172.15.255.255
172.32.0.0 – 191.255.255.255
-
클래스 C 공용 IP:
192.0.0.0 – 192.168.255.255
192.169.0.0 – 223.255.255.255
개인 IP 주소 범위
다음 IP 주소 범위는 사설 네트워크용으로 예약되어 있으며 인터넷에서 라우팅할 수 없습니다.
- 클래스 A 개인 IP:
10.0.0.0 – 10.255.255.255
(10.0.0.0/8
) - 클래스 B 개인 IP:
172.16.0.0 – 172.31.255.255
(172.16.0.0/12
) - 클래스 C 개인 IP:
192.168.0.0 – 192.168.255.255
(192.168.0.0/16
)
이러한 주소는 인터넷 당국에서 할당하지 않으며 내부 네트워크 사용을 위한 것입니다. 인터넷과 직접 통신할 수 없더라도 **NAT(네트워크 주소 변환)**를 통해 사설 네트워크 장치가 공용 인터넷에 액세스할 수 있습니다.
프린터, 관리형 스위치 및 스마트 장치와 같은 많은 내부 네트워크 장치도 공용 IP 리소스를 절약하기 위해 개인 IP 주소를 사용합니다.
서브넷 & 근거리 통신망 (LAN)
서브넷이란 무엇인가요?
서브넷은 동일한 물리적 네트워크 장치(예: 스위치 또는 허브)를 공유하는 컴퓨터 네트워크의 세그먼트를 나타냅니다. 동일한 서브넷 내의 컴퓨터는 직접 통신할 수 있습니다.
근거리 통신망(LAN)이란 무엇인가요?
LAN은 제한된 영역(예: 사무실, 건물 또는 가정 네트워크) 내에 상호 연결된 여러 장치로 구성된 네트워크입니다. LAN에는 여러 서브넷이 포함될 수 있습니다.
- LAN의 모든 장치가 동일한 서브넷에 있는 경우 직접 통신할 수 있습니다.
- **LAN은 VLAN(가상 근거리 통신망)**을 사용하여 여러 서브넷으로 나눌 수 있습니다.
장치는 동일한 서브넷 내에서만 통신할 수 있습니다
동일한 서브넷에 있는 장치는 서로 직접 통신할 수 있습니다. 두 장치가 다른 서브넷에 있는 경우 라우터를 통해 통신해야 합니다.
두 IP가 동일한 서브넷에 속하는지 확인하는 방법
두 IP 주소가 동일한 서브넷에 속하는지 확인하려면 서브넷 마스크를 사용하세요:
- IP 주소와 서브넷 마스크를 이진수로 변환합니다.
- 두 값 모두에서 비트 AND 연산을 수행합니다.
- 결과를 비교합니다. 일치하면 두 IP가 동일한 서브넷에 있습니다.
예시 1
주어진 정보:
- IP 주소 1:
192.168.1.1
- 서브넷 마스크:
255.255.255.0
- IP 주소 2:
192.168.1.2
- 서브넷 마스크:
255.255.255.0
분석:
두 주소 모두 192.168.1.0 서브넷에 속하므로 동일한 서브넷에 있습니다.
예시 2
주어진 정보:
- IP 주소 1:
192.168.1.1
- 서브넷 마스크:
255.255.255.0
- IP 주소 2:
192.168.1.2
- 서브넷 마스크:
255.255.0.0
분석:
언뜻 보기에 두 IP는 비슷해 보입니다. 하지만:
255.255.255.0
이 있는192.168.1.1
은 192.168.1.0/24에 속합니다.255.255.0.0
이 있는192.168.1.2
는 192.168.0.0/16에 속합니다.
서브넷 ID가 다르기 때문에 동일한 서브넷에 있지 않습니다.
예시 3
주어진 정보:
- IP 주소 1:
192.168.1.1
- 서브넷 마스크:
255.255.252.0
- IP 주소 2:
192.168.2.1
- 서브넷 마스크:
255.255.252.0
분석:
- 예시 1과 달리 여기서는 서브넷 마스크가
255.255.255.0
대신 255.255.252.0입니다. - 192.168.1.1과 192.168.2.1은 모두 192.168.0.0/22에 속합니다.
동일한 서브넷 범위에 속하므로 동일한 서브넷에 있습니다.
마지막 생각
localhost, 127.0.0.1
, 로컬 IP 및 공용/사설 IP를 이해하는 것은 네트워킹 및 시스템 관리에 매우 중요합니다. 주요 내용은 다음과 같습니다.
localhost
는 도메인 이름입니다(기본적으로127.0.0.1
).127.0.0.1
은 로컬 테스트에 사용되는 루프백 주소입니다.- 로컬 IP는 외부 액세스를 허용하는 반면
127.0.0.1
과localhost
는 그렇지 않습니다. - 공용 IP는 인터넷에서 라우팅할 수 있는 반면 개인 IP는 내부 네트워크 내에서 사용됩니다.
- 서브넷 마스크는 두 IP가 동일한 서브넷에 속하는지 여부를 결정합니다.
- 라우터는 다른 서브넷 간에 통신하는 데 필요합니다.
이러한 기본 사항을 이해하면 네트워크 환경을 효율적으로 문제 해결하고 구성할 수 있습니다.
Leapcell은 백엔드 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하세요.
무제한 프로젝트를 무료로 배포하세요
- 사용량에 대해서만 비용을 지불하세요. 요청 없음, 요금 없음.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼만 지불하세요.
- 예: $25로 평균 응답 시간 60ms에서 694만 개의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리할 수 있는 자동 확장.
- 운영 오버헤드가 전혀 없습니다. 구축에만 집중하세요.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ