IP 주소 ':: 1'은 무엇입니까?


107

네트워크 연결이없는 로컬 컴퓨터에서 소켓을 가지고 놀았습니다. 아래를 참조하십시오.

IPAddress address = IPAddress.Any; // doesn't work
IPAddress address = IPAddress.Parse("::1"); // works

그렇다면 정확히 ::1IP 주소는 무엇입니까? 사용 가능한 기본 IP 주소입니까 아니면 루프백 주소입니까? 전용 IP 주소와 네트워크 연결이있는 시스템에서 위 코드 (작업 라인)는 어떻게됩니까?

편집하다:

정확한 코드는 특정 IP 주소를 소켓에 바인딩하는 데 사용됩니다. 여기있어:

ServicePoint sp = ServicePointManager.FindServicePoint(uri);
sp.BindIPEndPointDelegate = new BindIPEndPoint(Bind);
// here's the bind delegate:
private IPEndPoint Bind(ServicePoint sp, IPEndPoint ep, int retryCount)
{
   return new IPEndPoint(IPAddress.Parse("::1"), 0);
}

4
IPAddress.Any입니다 ::0당신은 사용해야 IPAddress.Loopback지역 (루프백) 연결.
J-16 SDiZ 2011 년

나는이 SuperUser.com에 게시되어 있어야합니다 생각
Kamyar

나는 말하는 부분 IPAddress.Pars이 정말로 IPAddress.Parse맞다고 가정하고 있습니다 .
Brad

답변:


150

::1IPv6의 루프백 주소입니다. .NET의 IPv6 버전이라고 생각하면됩니다 127.0.0.1.

http://en.wikipedia.org/wiki/Localhost 참조


1
위의 예 IPAddress.Parse("127.0.0.1")에서는 내 컴퓨터에서 작동하지 않습니다.
Xaqron 2011 년

1
@Xaqron-IPv4 TCP / IP 스택에 문제가 있음을 의미하기 때문에 수퍼 유저 질문처럼 들립니다.
Joel Coehoorn 2011 년

Xaqron, 방화벽이 v4 트래픽을 차단하지만 v6 트래픽은 차단하지 않을 수 있습니까?
SilverbackNet 2011 년

사용 Windows Server 2008 Enterprise Edition 64-bit하고 있으며 타사 방화벽이 설치되어 있지 않습니다. 사용 가능한 127.0.0.1동안 소켓에 바인딩 할 수없는 이유가 궁금 ::1합니다.
Xaqron 2011 년

@Xaqron, 사용하려는 코드를 보여줄 수 있습니까? 당신은 "작동한다"와 "작동하지 않는다"라고 말하지만 그것은 우리에게 도움이되지 않습니다.
Brad

18

정보를 조금 더 추가하기 위해 IPv6에서 루프백 주소는 127 개의 0과 1 즉 (0000 ... 127 회 ..1)로 표시됩니다. 그것의 표현은 다음과 같이 했어야 -> 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001 하지만 우리는이에 대한 몇 가지 짧은 형식의 표현이있다. 단일 블록에 모두 0이 있으면 단일 0으로 대체 할 수 있습니다. 따라서-> 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0001이 됩니다. 다시 우리는 0의 런이 있음을 볼 수 있으며 제거 할 수 있으며-> :: 0001- > :: 1을 얻습니다 .


2
(명확하게
말하자면
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.