2011-02-28 3 views
6

이것은 정말 어리석은 질문 일지 모르지만 나는 호기심이 많다.youtube.com의 해결 된 IP가 google.com으로 직접 연결되는 이유는 무엇입니까?

youtube.com의 ping이 해결 된 IP가 74.125.127.93 인 것으로 나타났습니다. 이제 브라우저에서이 IP에 액세스하면 http://74.125.127.93/ youtube 페이지가 나타날 것으로 예상됩니다. 대신 검색 엔진이 나타납니다.

커튼 뒤에서 무슨 일이 일어날 지 설명 할 수 있습니까? 감사합니다. .

+0

Google이 youtube를 소유하고 있기 때문에 – Zimbabao

+0

@ Shog9 다른 방법이 아니어야합니까? – swalog

답변

13

많은 서버 이름이 있지만 몇 개의 IP 주소 만 있기 때문에.

설명해 드리겠습니다. IPv4는 2^32 (40 억)의 서로 다른 IP 주소를 허용합니다. 많이 들리지만 대부분은 사용할 수 없습니다. IP 주소는 항상 블록으로 할당됩니다. 가장 작은 블록은 255 개의 주소 (8 비트 - 브로드 캐스트의 경우 1 개의 주소)이고 가장 큰 블록은 1600 만 개의 주소 (2^24-1)입니다. 중간 크기의 블록에는 64k 개의 주소 (16 비트)가 있습니다.

ISP의 경우 고정 주소 세트를받습니다. 물론 당신은 절대적으로 필요한 것보다 더 큰 블록을 요구합니다. 그렇지 않으면 주소가 다 떨어지고 ISP에게는 정말 좋지 않습니다. 두 개의 16 비트 블록을 요구할 수 있지만 두 블록을 결합하는 것은 항상 번거로운 일입니다.

지난주에는 IPv4 블록이 부족했습니다. 그래서 ... 당신은 64K 블록을 가지고 더 많은 것을 얻을 수 없습니다. 그러나 웹 서버를 운영하고자하는 150,000 명의 고객이 있습니다.

용액 : virtual servers. DNS "x.y.com"은 13.242.251.17이고 "a.y.com"은 동일한 주소이고 "b.y.com"입니다.

클라이언트가 요청할 때 항상 동일한 IP를 반환하는 DNS 쿼리를 수행합니다. 그런 다음 방금 가져온 IP에 HTTP 요청을 보냅니다. 트릭은 HTTP 요청에 서버 이름이 인 을 포함한다는 것입니다. 따라서 모든 요청이 동일한 IP 주소로 전송 되더라도 웹 서버는 여전히 사용자를 정말로 알아낼 수 있습니다.

이름을 지정하는 한. IP를 대신 사용하면 Google 검색 엔진 인 기본 서비스가 제공됩니다.

[편집]telnet으로 직접 시도 할 수 있습니다. telnet 74.125.127.93 80로 시작하고 입력 :

GET http://www.google.com/index.html HTTP/1.1 

히트를 두 번를 입력합니다. 해당 국가의 Google 홈페이지에 대한 리디렉션이 제공됩니다.이제 입력 :

GET http://www.youtube.com/ HTTP/1.1 

히트를 두 번를 입력합니다. 이번에 YouTube 홈페이지가 반환됩니다.

+0

IP를 사용하고 원하는 서비스에 도달 할 수있는 방법이 있습니까? –

+0

@NikhilGirraj : 나는 그 질문을 이해하지 못한다. 'telnet'을 IP 또는 DNS 이름과 함께 사용할 수 있습니다. –

+0

죄송 합니다만, 텔넷을 사용하지 않고 서버의 기본이 아닌 서비스에 액세스하고 도메인 이름 대신 IP를 사용하기로했습니다. 예를 들어 Google.com과 Youtube.com이 공유하는 IP를 사용하여 'youtube'에 액세스합니다. –

3

Google은 Youtube를 소유하고 있습니다.
이들은 이름 기반 가상 호스트와 함께 동일한로드 균형 조정 서버를 사용하여 탐색하려는 사이트를 탐지합니다.
클라이언트가 제공하는 호스트 헤더 (찾으려는 도메인)를 살펴보면이 작업을 수행 할 수 있습니다. 호스트 헤더가 다르므로 도메인을 통과 할 때처럼 ip로 직접 갈 때 항상 같은 사이트에있는 것은 아닙니다.

1

Google은 virtual hosting을 사용합니다. 요청을 처리 할 웹 서버가 요청 URL에 의해 결정되는 동일한 IP 주소에서 두 개 이상의 서비스가 사용됩니다.

관련 문제