
cmd
Windows에서 및를 사용하면 ping
다음과 같은 결과가 나타납니다.
- "localhost"를 핑하는 중:
- 핑 "192.168.0.10"(로컬 IP 주소):
두 상황이 완전히 똑같지 않나요?
내 말은, 동일한 인터페이스, 동일한 시스템, 동일한 주소로 핑을 보내고 있다는 뜻입니다. 왜 이렇게 다른 결과가 나오는 걸까요?
편집: 내 ipconfig /all
화면은 다음과 같습니다.
답변1
동일한 인터페이스를 핑하고 있지 않습니다., 물리적 인터페이스가 없어도 여전히 "로컬 호스트"가 있습니다.
귀하는 localhost
컴퓨터의 "외부" IP가 아닌 "내부" IP에서 컴퓨터를 참조하는 데 사용됩니다. 따라서 핑 패킷은 물리적 네트워크 인터페이스를 통과하지 않습니다. 물리적 홉 없이 포트에서 포트로 패킷을 직접 보내는 가상 루프백 인터페이스를 통해서만 가능합니다.
전통적으로 우리는 이것이 IPv4 주소로 해석될 것으로 기대했지만, 왜 가 localhost
로 해석되는지 여전히 궁금할 것입니다 . 이는 전통적으로 TLD입니다(참조:::1
127.0.0.1
.localhost
RFC 2606) 이는 루프백 IP 주소를 다시 가리킵니다(IPv4의 경우 참조).RFC 3330, 특히 127.0.0.0/8).
localhost
다음을 사용하여 검색하면 nslookup
다음이 제공됩니다.
nslookup localhost
...
Name: localhost
Addresses: ::1
127.0.0.1
따라서 Windows는 IPv6 루프백 IP 주소 사용을 선호합니다 ::1
(참조:RFC 2373)이 먼저 나열되어 있습니다.
좋습니다. 어디에서 왔습니까? 호스트 파일을 살펴보겠습니다.
type %WINDIR%\System32\Drivers\Etc\Hosts
...
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
...
흠, Windows의 DNS 설정을 살펴봐야 합니다.
이 KB 문서굵게 강조된 Windows 선호 사항에 영향을 미치는 설정에 대해 설명합니다.
레지스트리 편집기에서 다음 레지스트리 하위 키를 찾아 클릭합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters
비활성화된 구성요소 항목을 수정하려면 비활성화된 구성요소를 두 번 클릭하십시오.
참고: 비활성화된 구성 요소 항목을 사용할 수 없는 경우 해당 항목을 만들어야 합니다. 이렇게 하려면 다음 단계를 따르세요.
편집 메뉴에서 새로 만들기를 가리킨 다음 DWORD(32비트) 값을 클릭합니다.
비활성화된 구성 요소를 입력한 다음 Enter 키를 누릅니다.
비활성화된 구성요소를 두 번 클릭합니다.
값 데이터: 필드에 다음 값 중 하나를 입력하여 IPv6 프로토콜을 원하는 상태로 구성한 다음 확인을 클릭합니다.
0
모든 IPv6 구성 요소를 활성화하려면 입력하세요 . (윈도우 기본 설정)0xffffffff
IPv6 루프백 인터페이스를 제외한 모든 IPv6 구성 요소를 비활성화하려면 입력하세요 . 또한 이 값은 접두사 정책 테이블의 항목을 수정하여 IPv6보다 IPv4(인터넷 프로토콜 버전 4) 사용을 선호하도록 Windows를 구성합니다. 자세한 내용은 소스 및 대상 주소 선택을 참조하세요.0x20
접두사 정책 테이블의 항목을 수정하여 IPv6보다 IPv4를 선호하도록 입력하세요 .0x10
모든 비터널 인터페이스(LAN 및 PPP(지점 간 프로토콜) 인터페이스 모두)에서 IPv6을 비활성화하려면 입력합니다 .0x01
모든 터널 인터페이스에서 IPv6을 비활성화하려면 입력하세요 . 여기에는 ISATAP(사이트 내 자동 터널 주소 지정 프로토콜), 6to4 및 Teredo가 포함됩니다.0x11
IPv6 루프백 인터페이스를 제외한 모든 IPv6 인터페이스를 비활성화하려면 입력합니다 .이 설정을 적용하려면 컴퓨터를 다시 시작하세요.
이 접두사 정책 테이블은 무엇입니까?
netsh interface ipv6 show prefixpolicies
(또는prefixpolicy
이전 버전에서는)
Precedence Label Prefix
---------- ----- --------------------------------
50 0 ::1/128
45 13 fc00::/7
40 1 ::/0
10 4 ::ffff:0:0/96
7 14 2002::/16
5 5 2001::/32
1 11 fec0::/10
1 12 3ffe::/16
1 10 ::/96
이 표는 DNS 확인 중에 어떤 접두사가 다른 접두사보다 우선적으로 적용되는지 결정합니다.
아, 그러면 해당 KB를 사용하여 IPv4가 IPv6보다 우선순위가 높다는 것을 나타내는 항목을 여기에 추가할 수 있습니다.
메모:호환성 문제가 발생하지 않는 한 이 동작을 재정의할 이유가 없습니다. Windows Server에서 이 설정을 변경하면 메일 서버가 손상되므로 주의해서 처리해야 합니다.
답변2
답변3
Localhost와 귀하의 IP 주소는 동일하지 않습니다.
로컬 호스트는 시스템에 연결된 특수 소프트웨어 전용 IP 주소입니다. Localhost 또는 127.0.0.1은 루프백 주소입니다. 항상 시스템을 가리키며 컴퓨터에서만 액세스할 수 있습니다. 이 라우팅은 OS 수준에서 발생하며 절대로 NIC를 떠나지 않습니다. 따라서 네트워크에 도달할 가능성이 없습니다....
자신의 IP 주소를 ping하는 것은 비슷하지만 IP 주소인지 감지해야 하므로 전체 네트워킹 스택이 포함될 가능성이 있습니다.올바르게 라우팅하세요...
효과는 동일해야 하지만 차이가 있을 수 있습니다.
예를 들어, 네트워크 케이블을 분리하세요. 고정 IP 주소를 핑(Ping)하십시오. 호스트에 대한 경로가 없거나 기타 오류가 발생할 수 있습니다. 이제 localhost 또는 127.0.0.1로 ping을 실행하면 작동합니다.
답변4
"Localhost" 별칭이 IPv6 루프백으로 확인되는 것처럼 보이지만 IPv4 주소를 명시적으로 사용하면 분명히 그렇지 않습니다.