Точка зрения
АрхивКомментарий дняОкинуть взглядом бескрайние просторы Сети кажется возможным лишь для гигантских поисковых машин, но на деле все проще: построить карту Интернет по силам одному человеку и одному компьютеру.
Сегодня, когда Интернет представляется отдельному пользователю пусть конечным, но какого-то совершенно невообразимого объёма информационным пространством, этот самый рядовой пользователь - на месте которого в данном случае вы, без опасения ошибиться, можете представить себя самое - боится даже подумать об организации проекта, который задействовал бы хотя бы десятую часть ресурсов Сети. Одного взгляда на скромное упоминание о трёх с лишним миллиардах документов, встречающего на лицевой странице Google, достаточно, чтобы умертвить в зародыше любую подобную идею. А ведь, согласитесь, анализ тенденций и динамики развития Веб может быть не просто интересным, но и ценным. Впрочем, стоит ли об этом говорить, если нет самой физической возможности охватить Сеть взглядом одного компьютера и одного человека? К счастью, не всё так плохо - как доказывает опыт некоего Баррета Лайона (Barrett Lyon), замахнувшегося ни много, ни мало на самостоятельное построение карты глобальной информационной сети.
Идея, развиваемая нашим героем на протяжении вот уже почти месяца, родилась практически на пустом месте. Однажды Баррет, обсуждая за обедом с коллегами по работе (а работают они в компании Network Presence, так что и удивляться специфическим интересам друзей не следует) небезызвестный в недавнем прошлом Internet Mapping Project (IMP), заявил, что сумеет в одиночку сделать инструмент, не просто аналогичный, но превосходный по функциональности. Друзья выразили общее сомнение, что и положило начало проекту Opte. Вообще, постороннему человеку, случайно услышавшему тот спор, было бы трудно не принять сторону оппонентов Баррета: IMP, стартовавший в 1998-м году и, похоже, завядший после дот-ком бума, был посвящён построению полноценной объёмной карты узлов сети Интернет, на один сбор сведений о которых ушло шесть месяцев. Баррет (возможно, в Network Presence за обедом подают спиртное?) пообещал написать программу, которая сделает то же самое за один день всего на одном компьютере.
Впрочем, основатель Opte знает о чём говорит. Повторять все его рассуждения здесь вряд ли будет разумным, поскольку полное их понимание требует наличия определённых знаний об устройстве и принципах функционирования Интернет, но, пожертвовав некоторыми деталями, можно верно обрисовать общую идею. Суть её сводится к тому, что число узлов на просторах Сети далеко не бесконечно. Грубо говоря, максимальное число компьютеров, которые могут работать на виртуальных просторах, ограничено планкой в 2 в 32 степени: сегодня каждый компьютер, подключенный к Интернет, владеет собственным IP-адресом, на запись которого (согласно правилам доминирующей пока что системы адресации IPv4) отводится 4 байта (32 бита). Если быть более точным, ситуация оказывается и сложней, и проще одновременно. К примеру, иногда за одним адресом скрывается несколько машин, представляющих общую локальную сеть. Но и далеко не все адреса из 32-битного адресного пространства могут быть использованы (часть из них зарезервирована для специальных нужд и пока не задействована). Исключив из рассмотрения локальные сети и выбросив зарезервированные адреса, максимальное количество узлов в Сети Баррет оценил в 2 в 24 степени. Если каждую секунду сканировать около 200 машин, карту Интернет можно составить за сутки!
Для определения того, используется ли определённый IP-адрес, Баррет задействовал стандартную утилиту traceroute: эта программка позволяет проследить путь до нужного узла, получив информацию о всех промежуточных машинах, находящихся между сканирующим и сканируемым компьютерами. Методично перебирая все возможные (за вышепоумянутыми исключениями) адреса, можно получить всю необходимую информацию для построения карты. Задачу сбора данных и адресного перебора Баррет возложил на собственную программу, которая находится в стадии бета-тестирования. Задачу визуализации - на свободную программу Graphviz. Вся работа ведётся на компьютере, управляемом операционной системой FreeBSD. Как показали предварительные эксперименты, на сканирование 2.5 миллионов узлов требуется всего три минуты (при наличии скоростного Интернет-канала). Таким образом на всю Сеть понадобится только 10 часов. Плюс некоторое время на генерацию карты. Пока идёт отладка, самым большим достижением стало построение карты одной пятой части Интернет. Баррет, развивающий свой проект на принципах open source, надеется на помощь других энтузиастов и, к моменту окончания тестирования, планирует запустить сканер одновременно на 10 компьютерах, что позволит сделать карту более детальной. По всей видимости, ждать первую полную картину расположения узлов в Сети следует к концу ноября. А после Баррет надеется строить её регулярно - каждую неделю.
Для чего, кроме удовлетворения любопытства и, возможно, жажды необычного эстетствующих технарей нужно динамическое картографирование Сети? Предполагается, что оно позволит выявлять и наглядно демонстрировать инциденты и тенденции в развитии Веб: на такой карте можно отследить и проанализировать как последствия крупных катаклизмов (военных конфликтов, природных явлений) в реальном мире, так и в самой Сети - изучая её эволюцию, выявляя проблемы и происшествия, и т.п. и т.д. С прицелом на очередной неумолимо надвигающийся на нас Интернет-бум, коммерческая ценность такой информации может быть очень высокой. И если у вас есть хорошая идея относительно применения результатов Opte - будьте готовы заняться её воплощением.