В последнее время некоторые пользователи сталкиваются с проблемой некорректного отображения страниц (“глюков”) популярного сервиса YouTube, когда после набора в адресной строке браузера www.youtube.com загружаемая страница выглядит примерно так:
Обычно после возникновения подобной ситуации пользователи бросаются обвинять своего интернет-провайдера в наличии проблем, параллельно пытаясь выяснить, что же это за проблемы.
Дабы облегчить данную задачу, спешу прояснить ситуацию.
Ни DNS-сервера провайдера, ни сетевое оборудование, ни антивирусные программы тут ни при чем.
Подобные проблемы (“глюки”) возникают при некорректной загрузке или сбоях таблиц стилей (css), скриптов и пр. элементов оформления, в результате чего интерфейс страницы не генерируется и не загружаются ролики.
В случае с YouTube список ошибок выглядит так:
Из анализа ошибок можно четко понять: проблемы имеются непосредственно у YouTube при загрузке контента для зоны RU, т.е. России, т.к. Google использует локальные сервера кэша изображений и скриптов (s.ytimg.com).
Говоря проще: проблемы у YouTube c российской версией сервиса (с настройками для российского сегмента).
Обсуждать, в результате чего на видеосерверах Google возникают данные ошибки, бессмысленно, ибо причин может быть великое множество (начиная с обновления/изменения/коррекции/сбоев программного обеспечения на серверах и заканчивая загруженностью кэш-серверов).
С высокой степенью вероятности можно утверждать, что причины кроются в проблемах с локальными кэш-серверами Google, где хранятся скрипты и изображения.
Проблемы возникают у тех пользователей, у кого резолвятся московские кэш-сервера static.cache.l.google.com/s.ytimg.com, имеющие IP 212.188.7.ххх.
Под эту категорию, как минимум, попадают столичные пользователи Домашнего Интернета БИЛАЙН (Корбины-Телеком) и СТРИМа, а также клиенты любых других провайдеров, у кого резолвятся именно эти московские сервера Google.
АКАДО (COMCOR), ONLIME (использует магистрального провайдера RETN) и РТКОММ (RTCOMM) резолвят европейские кэш-сервера (74.125.163.xxx и т.п.).
У других клиентов БИЛАЙНа (клиентов ГОЛДЕН-ТЕЛЕКОМа) также резолвятся европейские кэш-сервера (173.194.5.ххх).
Вот, к примеру, трасса до локального s.ytimg.com (static.cache.l.google.com) со стороны сетей КОРБИНА-ТЕЛЕКОМ:
2 ms 2 ms 2 ms m10-bb-teng2-2.msk.corbina.net [195.14.54.142]
2 ms 2 ms 2 ms m10-cr01-te2-2.msk.stream-internet.net [195.34.36.157]
3 ms 2 ms 2 ms ss-crs-1-be7.msk.stream-internet.net [195.34.59.205]
3 ms 3 ms 2 ms a197-crs-1-be5.msk.stream-internet.net [195.34.59.106]
3 ms 2 ms 2 ms a197-cr01-po6.msk.stream-internet.net [195.34.59.101]
3 ms 2 ms 2 ms 212.188.0.38
2 ms 2 ms 2 ms static.cache.l.google.com [212.188.7.21]
Как видно, кэш-сервер находится в Москве, и также видно, что данный сервер не всегда корректно работает:
Поэтому проблема заключается именно в нестабильной работе московских кэш-серверов Google.
В принципе, должно быть очевидно, что сервера s.ytimg.com располагаются в разных географических зонах, в т.ч. и в России, дабы обеспечить лучшую доступность и работоспособность ресурса, а также равномерное распределение нагрузки.
Это объясняет, например, почему YouTube через proxy-сервисы отображается корректно: данные сервисы используют IP других стран (IP иных маршрутных направлений), т.е., говоря проще, обращаются к другим кэш-серверам.
В одном из материалов, посвященных данной проблеме, найденных мной в Интернете, автор утверждал, что Google якобы специально блокирует российские IP в момент высоких нагрузок на свои ресурсы, считая Россию “страной третьего мира”.
Более чем уверен, что это не может соответствовать действительности в силу нескольких факторов:
1. Для Google российский рынок крайне важен, поэтому собственная сеть Google протянута аж до площадки M9 в Москве, где принимает участие в свободном обмене на MSK-IX, да и кэш-сервера в Москве установлены.
2. Google выгодно любое увеличение трафика с YouTube, т.к. увеличение числа посетителей приносит прибыль, а Google как американская компания уж точно не будет “пилить сук, на котором сидит”. Это будет алогично с любых позиций.
3 (и самый главный). Принудительное изменение маршрутизации к кэш-серверам (выбор других кэш-серверов) решает проблему, что также доказывает непричастность к обрезке трафика в сторону российских IP.
Иными словами, блокировка или же приоритизация одних IP над другими тут ни при чем и будет крайне опасной для репутации Google и, как следствие, экномически невыгодной, — проблема заключается в банальной неработоспособности российских кэш-серверов Google (естественно, пользователей ряда российских IP система маршрутизации отправляет на ближайшие кэш-сервера, т.е. на московские, которые не всегда работают).
Однако хочу дополнительно отметить, что московских кэш-серверов у Google много, естественно, описываемые проблемы не случаются одновременно на всех серверах, поэтому ряд пользователей с указанными трудностями не столкнется (и не сталкивался ранее вообще), иначе бы уже Интернет был завален сообщениями со всех городов нашей необъятной страны.
Tracking сайта youtube.com в момент подобных проблем показывает, что Resource interpreted as script but transferred with MIME type text/html (источник интерпретирован как скрипт, но отображен как MIME type text/html), для изображений аналогично — Resource interpreted as image but transferred with MIME type text/html.
Решить данную проблему можно эффективно и довольно просто, принудительно прописав в файле hosts адреса других кэш-серверов (например, адрес одного из европейких кэш-серверов — 74.125.163.103 и т.д.), т.е. дописать в файле hosts две строчки:
74.125.163.103 s.ytimg.com
74.125.163.103 static.cache.l.google.com
В принципе, вместо предложенного IP 74.125.163.103 можно взять любой другой, который резолвится от static.cache.l.google.com или s.ytimg.com (естественно, что для IP в первой и второй строчках должны быть прописаны одинаковые значения).
В принципе, можно прописать только первую строчку с s.ytimg.com, однако для полноценного функционирования всех сервисов Google при наличии проблем на московских кэш-серверах лучше перестраховаться и дополнительно прописать адрес и для кэша.
Но данную процедуру нужно осуществлять только тем пользователям, кто в действительности испытывает проблемы с отображением страниц сервиса YouTube, остальным этого делать явно не стоит, поскольку не на всех московских кэш-серверах Google сейчас имеются проблемы, а любое дополнительное прописывание IP-серверов, располоденных вне России, увеличивает нагрузку на внешние апстримы провайдеров, да и московские кэш-сервера все же ближе и быстрее будут, что не менее важно.
Те, кто столкнулся с аналогиными проблемами, но не хочет изменять файл hosts или не умеет этого делать, могут бороться с данной проблемой другими альтернативными методами:
первое — использовать web-анонимайзеры типа proxer.ru или же программы-анонимайзеры;
второе — прописать настройки (IP) proxy-серверов другой страны в настройках браузера (счастливым пользователям Opera прописывать ничего не нужно, достаточно включить функцию Opera Turbo, и IP сменится на норвежский);
третье — подождать, пока нормализуется ситуация, т.е. зайти на данный сайт позже (естественно, не забывая перед следующим заходом очистить кэш браузера); обычно проблемы наблюдаются в ночное время суток.
Подытоживая сказанное:
вышеперечисленное еще раз четко демонстрирует, что проблемы с некорректным отображением страниц YouTube являются проблемами именно Google, а не российских интернет-провайдеров.
P.S. Также рекомендую ознакомиться с материалами
«Об особенностях ресурсов потокового видео»,
«YouTube: осеннее обострение ухудшения качества доступа»
и «YouTube: весна будет?».
Уверен, что и эта информация для многих окажется полезной.