2008-11-08 10 views
19

어떤 IP가 어떤 ISP에 공개 정보로 할당되어 있습니까? 지리적 IP 서비스가이 정보를 얻고이 정보를 유지하는 방법은 무엇입니까?IP에 의한 지리 정보 검색은 어떻게 작동합니까?

이러한 서비스 중 하나를 사용하지 않고 특정 IP가 속한 위치를 개인적으로 파악할 수 있습니까?

+2

[xkcd IP map] (http://xkcd.com/195/)에 관심이있을 수 있습니다. –

답변

36

가치가있는 점에 대해 저는 10 년 이상 ISP 업계의 고위직에서 근무했으며 이에 대해 많은 경험을 가지고 있습니다.

큰 IP 범위는 각각 Regional Internet RegistriesIANA으로 할당됩니다.

지역은 일반적으로 대륙 크기입니다 - IP 주소는 국가 별 기준으로 이 아니며이 아닙니다.

차례로 RIR은 IP 주소를 ISP에 할당하고 ISP는이를 최종 사용자에게 할당합니다.

각 RIR은 whois 서버를 유지 관리하며 어떤 ISP에 넷 블록이 할당되었는지뿐만 아니라 어느 정도의 최종 사용자 및 해당 최종 사용자의 주소를 알아낼 수 있습니다.

많은 ISP가 모든 단일 고객에 대해이 정보를 기입하지 않습니다. 따라서 DSL 서비스의 거주자 가입자 인 경우 Geo 레코드가 자신의 주소가 아닌 ISP의 주소를 제공 할 가능성이 큽니다.

다양한 GeoLocation 공급자는 대부분 이러한 whois 레코드를 마이닝하여 작동합니다. 그렇게하는 적법성은 회색 영역의 것입니다. RIPE의 데이터베이스 저작권 정책은 here입니다.

IANA는 DNS의 루트 영역도 유지 관리하지만 IP 할당 기능과는 완전히 별개입니다. 도메인 이름 작업과 IP 주소를 구별하는 것은 매우 중요합니다.

2

데이터가 업데이트되는 속도가 느리거나 복제 속도가 느린 경우가 있습니다. 저의 직장은 몇 년 전 ISP를 변화 시켰고 Google은 이전에 캐나다 IP 주소 (미국에 기반을두고 있음)를 할당 받았습니다. 몇 달 동안 Google은 google.ca를 Google의 기본 검색 엔진으로 계속 제공했습니다. 내 집 IP 주소가 내 도시에서 온 시간의 1/2 정도, 다른 1/2는 다른 주에있는 도시에서 나온 것입니다.

제이슨은 프로세스가 동일하지만 업데이트가 훨씬 느리고 데이터가 정확하지 않다는 것이 맞습니다.

+0

그렇습니다. 도메인 스택을 아래로 이동하면 상황이 느려지고 느려지고 전파되는 데 오래 걸립니다. –

+0

ISP가 다른 국가에서 본부를 운영하는 경우 문제가 있습니다. Joel은 그의 주인이 캐나다인 인 것에 대해 이것을 썼습니다. –

+0

제이슨 - 그 쓰레기. 그것은 당신이 얼마나 "스택 아래에 있는가"가 아닙니다. 모든 ISP는 "whois"데이터에 즉시 표시되는 변경 작업을 수행 할 수 있습니다. 느린 점은 GeoLoc 제공 업체가 해당 데이터를 크롤링하는 것입니다 (아마도 불법입니다). – Alnitak

4

매핑 테이블과 코드에 통합 할 수있는 서비스가있는 다양한 라이브러리가 있습니다.

가장 중요한 점은 은 IP 주소와 전세계 어느 곳과도 직접적인 관계가 없음을 의미합니다. 주소는 대략적인 지리적 인 조직에 큰 블록으로 할당되며, 차례로 작은 블록을 할당합니다. 이는 특정 IP 주소에 대해 여러 수준에서 발생할 수 있습니다 (Alnitak은 프로세스를 잘 설명합니다).

사실 : WHOIS 데이터가 정확할 필요는 없습니다. 주소 블록이 있다면 화성에 있다고 말할 수 있습니다. 최종 조직의 위치를 ​​좁히더라도 (알래스카의 아주 작은 ISP) 사용자가 하와이에서 전화 접속을 사용하고 있거나 서버가 괌의 한 회사를 호스팅하고있을 수 있습니다.

따라서 IP 주소 (또는 도메인 이름)를 물리적 위치에 매핑 할 때 항상 위험 요소가 있습니다. 이것은 절대하지 말아야하는 것은 아니며 거칠거나 불완전한 정보가 매우 유용한 많은 응용 프로그램이 있습니다.

1

알 니탁의 답변은 꽤 많은 것입니다.

보조 정보로 .dll을 사용하여 사용자 위치를 확인하려는 경우 CodePlex에있는 IPAddressExtension을 사용해 볼 수 있습니다. 그것은 위치에 ISP의 내부 데이터베이스가 있습니다. Alnitak에 의해 위에서 언급했듯이, 각 ISP는 IP 블록을 가지고 있습니다. 그래서이 정보는 모두 .dll 안에 묻혀 있습니다. :)

정말 사용하기 쉽습니다. .dll을 참조한 다음 System.Net.IpAddress 개체의 인스턴스를 만드십시오! 확장이 목록에 표시됩니다.

나는 또한 그 codeplex 프로젝트/제품의 저자임을 선언해야합니다.

:

EDIT 그것을 확인하시기 바랍니다 : 나 해당 제품의 저자 인에 대한 추가 정보를 표시합니다.

+3

자신이 실제로 IPAddressExtension의 저자임을 나타내려면 답변을 편집해야합니다. 그렇지 않으면 사람들이 SO 이용 약관을 악용한다고 생각할 수 있습니다. – bzlm

4

"작동 방식"에 대한 구체적인 질문에 대답하려면 : 많은 수작업이 필요하며 데이터베이스는 대부분 수동으로 유지 관리됩니다. 다른 답변에서 지적한 것과 같이 IP 범위와 국가, 특정 국가의 지역 간 실질 상관 관계는 없습니다. 최근에는 IP 주소 공간 분배 시스템이 더욱 분산되어 작은 개인 공급 업체가 지리적 영역에 관계없이 IPv4 주소 범위를 획득 할 수 있음을 의미합니다. Google은 Urchin이 Google 웹 로그 분석 서비스를 이용할 수 있도록하기 위해이 서비스를 사용했습니다.이 서비스는 매우 정확하게 IP-to-Geographic-Region 정보를 제공합니다.

MaxMind (개인적인 용도로는 무료이며 데이터베이스는 어느 정도 개방되어 있음) 또는 Google Analytics (개인적으로는 무료)과 같은 서비스를 사용하지 않으려는 경우 무료이며 따라서 항상 약간 오래된 데이터베이스가 있습니다. 주위에 떠 다니는, 때로는 플랫 파일로.