Архивы: по дате | по разделам | по авторам

Быстрый Интернет

Архив
автор : АЛЕКСАНДР УДАЛОВ    10.11.1997

 

Я проверил рекомендацию, почерпнутую Александром Удаловым в журнале "Byte". На ноутбуке Toshiba Tecra 740 под Windows NT Server 4.0 с третьим сервиспаком, BIND в режиме кэширования установился с пол-оборота и вот уже недели две как работает, не причиняя никаких хлопот. Пользуясь Интернетом и через дайлап, и в офисной сети, я замечаю его присутствие лишь по тому, что при заведомо невозможном доступе Explorer бодро сообщает: "Web site found. Waiting for reply…" Сталкиваться со "ржавыми" DNS-серверами мне приходилось, но сейчас эта проблема для меня не актуальна. Тем не менее, предлагаемая вашему вниманию статья еще может пригодиться как пользователям, так и провайдерам, не говоря уж о том, что она просто интересна сама по себе.

Георгий Кузнецов


Быстрое ли у вас соединение? Я не говорю о "коннекте", который может быть и 33600, как у меня бывает при удаче и глубокой ночью, и даже около 50000 (х2 или 56Kflex), к которому я со своим 40-долларовым провайдером усиленно готовлюсь.

Нет, я говорю о временах доступа к вашим любимым ("favorites", или там "bookmarked") сайтам. Как только вы заметите, что ping по доменному имени вашего ISP заметно медленнее, чем такой же ping, но по его IP-адресу, знайте, дело плохо: DNS-сервер вашего провайдера перегружен. Или вообще реализован на "ржавом" железе. Никто не признается, что это так. Мой теперешний провайдер будет одиннадцатым из опробованных мной в Москве… и никто не признается. Только под давлением неопровержимых улик. Можно иметь "выделенку", ISDN-соединение или даже тарелку с 2М, как мне тут разок показали в "zhurnal.ru", и все равно наблюдать меланхоличную смену субтитров в Netscape Navigator'e: "Looking up host x.y.z." (где-то тут, прямо сверху лежал этот хост… сейчас-сейчас…), затем, "Contacting host x.y.z." (никто еще и не думал дотрагиваться до вашего хоста, просто сервер имен верхнего уровня дает добро, разрешаясь IP-адресом). Самое время взять власть над DNS в свои руки. Простое и бесплатное решение предложено в августовском выпуске "Byte" Джонатаном Брикманом (Jonathan E. Brickman): "Заведите себе персональный DNS-сервер". Вот что вкратце предлагается.

Большинство рабочих станций клиентов, подключенных к Internet, по умолчанию сконфигурированы на применение сервера системы доменных имен (Domain Name System), или DNS-сервера. Этот сервер обычно находится у провайдера (ISP) или в локальной сети, имеющей доступ к Internet. Прежде чем рабочая станция сможет установить соединение с каким бы то ни было сервером в Сети, она должна получить IP-адрес этого сервера, что исполняется в такой последовательности:

  1. Рабочая станция посылает в систему доменных имен (DNS) текстовую строку, состоящую из полного ("буквенного") наименования хоста. Обычно DNS - это внешний сервер со своим собственным IP-адресом.
  2. DNS-сервер в своем кэше производит поиск IP-адреса, соответствующего имени хоста. Если он не обнаруживает нужного IP-адреса, то посылает запрос на верхний уровень в доменной иерархии и ожидает получения затребованной информации.
  3. DNS-сервер возвращает рабочей станции IP-адрес хоста.
  4. Рабочая станция использует IP-адрес для организации сеанса соединения с хостом.

Поскольку такая первоначальная связь с DNS-сервером часто ведется по перегруженному каналу к ISP, подобная организация взаимодействия обычно приводит к задержкам и даже к отсутствию отклика в соединении с Сетью.

К счастью, имеется хорошая альтернатива этому построению: вместо того, чтобы полагаться на DNS-сервер провайдера, рабочая станция в состоянии запустить свою собственную DNS-программу в фоновом режиме. Если все запросы к DNS будут производиться через локальный DNS-сервер рабочей станции, такая система DNS начнет вдобавок кэшировать результаты. Подобный кэш не только сохраняет простые эквиваленты "имя хоста - IP-адрес", но и запоминает маршруты, по которым он получает более детальные данные о запрашиваемом домене. Таким образом, ваш локальный сервер начинает аккумулировать иерархический перечень сведений о структуре Сети, запрошенных именно вами.

Поскольку локальный DNS-сервер строит свою базу знаний о Сети на основе свежих данных, получаемых с каждым его запуском, а также благодаря тому, что он вовсе не пользуется услугами перегруженного DNS-сервера вашего провайдера, одно только применение локального DNS-сервера практически всегда способно ускорить работу в сеансе вашего соединения с Сетью. Вот что нужно сделать для локальных систем на платформе Windows 95.

Требования со стороны DNS-сервера

Для запуска локального DNS-сервера на рабочей станции нужно прежде учесть ряд условий. Во-первых, как и следовало ожидать, подобная программа будет потреблять существенные системные ресурсы. Минимально это означает машину 486/66 или лучше под Windows 95 с 16 Мбайт RAM или более, 5 Мбайт или более свободного места на жестком диске, а также PPP-, SLIP- или LAN-соединение с Internet, организованное на встроенном TCP/IP-стеке Windows 95 (стеки Trumpet или другие альтернативные не тестировались и не рекомендованы).

Это жесткий минимум, а практически под Windows 95 сервер потребует довольно много системных ресурсов, что, в первую очередь, может заставить пересмотреть рекомендуемый минимальный предел RAM. Впрочем, 32 Мбайт должно хватить.

Другим ключевым моментом является полоса (bandwidth). Данный прием был испытан только с соединениями 28,8 Kbps и лучше. Сервер хорошо работает для любого TCP/IP-соединения, как со статическими, так и с динамическими IP-адресами, назначаемыми рабочей станции, а также по модемному коммутируемому соединению, по ISDN или T1. Сервер вдобавок настолько устойчив, что не требует перезапуска при обрыве и последующем восстановлении динамического IP-соединения, практически всегда сопровождаемого выдачей нового IP-адреса.

Еще один фактор важен для Windows 95. Дело в том, что лучшая из имеющихся программ была написана для Windows NT и соответствующая документация предостерегает от применения этой программы под Windows 95. Предостережение основано на известных утечках памяти (memory leaks) в организации TCP/IP-стека под Windows 95. Пока не нашел ничего членораздельного о том, исправлено ли положение в Windows 98 и исправимо ли вообще. Тем не менее, Джонатану Брикману удалось работать с программой на машине под Windows 95 без каких-либо проблем на протяжении нескольких недель. Правда, на эту машину потребовалось установить все известные пакеты модернизации MS Windows 95, включая ISDN Accelerator Pack, предоставляющий усовершенствованную утилиту "Удаленный доступ к сети" (Dial-up Networking). Соответственно, не рекомендуется применять программу на компьютере с Windows 95 безо всех этих модернизирующих и сервисных пакетов.

Инсталляция

Лучшим из имеющихся в настоящее время DNS-сервером для Win 32 почти с полной уверенностью можно назвать программу BIND-95/NT (Berkeley Internet Name Domain, последняя версия имеет номер 4.9.6а). Эта программа доступна для бесплатной (freeware) загрузки с http://www.windows95.com/apps/servers-misc.html и имеет размер 1,6 Мбайт. Предполагается, что если вы используете PPP- или SLIP-соединение, ваш компьютер получает доступ к Сети через TCP/IP-стек и утилиту "Удаленный доступ к сети" выделки компании Microsoft. Другими словами, программа может отказаться работать с TCP/IP-стеками иных изготовителей.

Для загрузки предлагается ZIP-файл. Следует распаковать файл во временную директорию, запустить SETUP.EXE. Можно почитать традиционный README файл. Там приведены минимальные требования к конфигурации компьютера, а также строгие предупреждения в отношении применения Windows 95 с этой программой. Есть также упоминание о редактировании реестра с целью увеличения количества доступных Windows сокетов, но на практике пока этого не потребовалось.

Затем появится приглашение, в котором, в частности, содержится строка: "Введите имя хоста этой машины..." (Enter this machine's Host name...). Здесь нужно набрать local, и localhost в следующем диалоге. Затем нужно ввести адрес подсети вашей сети. Если вы используете модемное, либо ISDN-соединение с провайдером, то вполне подойдет 255.255.255.0. Для соединений через локальную сеть правильный адрес вашей подсети узнайте у системного администратора.

Теперь требуется выбрать директорию для файлов программы. Вполне годится предлагаемая по умолчанию: C:\var\named. Инсталлятор после этого создает директории и копирует файлы. Затем появляется следующее приглашение: "Для создания конфигурационных файлов выберите нужную вам установку BIND" (For creation of configuration files, please select the setup you want for BIND). Поскольку конфигурирование ведется для единственной рабочей станции, а не первичной или вторичной системы DNS для целого домена или подсети, из трех предлагаемых вариантов здесь следует выбрать только кэширующую DNS (caching-only DNS).

Инсталлятор создает соответствующие файлы для выбранного типа сервера. По завершении выдается сообщение о том, что сервер работает. В перечне текущих процессов появляется запись named95, это и есть сервер. Теперь нужно открыть или создать файл с именем C:\WINDOWS\HOSTS в текстовом редакторе. Если такой файл отсутствует, его надо создать со следующими строками в содержимом:

127.0.0.1     localhost

127.0.0.1     local.localhost

Если же этот файл уже существует, но без этих строк, их нужно добавить. Подобная запись устанавливает локальный домен (.localhost), а также определяет вашу рабочую станцию в качестве хоста в домене (local.localhost). Таким образом, рабочая станция начнет взаимодействовать с Сетью, как если бы она имела свой собственный домен, что фактически и есть на самом деле, хоть это известно только самой рабочей станции.

При работе с коммутируемым соединением нужно открыть папку "Удаленный доступ к сети" (Dial-up Networking), правой кнопкой мыши щелкнуть на иконке вашего предварительно сконфигурированного соединения. В появившемся окне надо выбрать "Свойства" (Properties), затем "Тип сервера" (Server Type), щелкнуть на "Настройка TCP/IP" (TCP/IP Settings) и выбрать "Адреса назначаются сервером" (Server Assigned Name Server Addresses). Затем нужно щелкнуть "ОК" несколько раз, возвращаясь к окну "Свойства" (Properties), и повторить всю эту процедуру для каждого используемого вами коммутируемого соединения.

Потом нужно вызвать "Панель настроек сети" (Network Control Panel), щелкнуть на "TCP/IP --> Контроллер удаленного доступа" (TCP/IP --> Dial-up adapter) и на "Свойства" (Properties). Теперь надо выбрать закладку "Конфигурация DNS" (DNS Configuration). Если DNS не задействована, щелкнуть на "Задействовать DNS" (Enable DNS) и набрать local для имени хоста и localhost в строке домена. В разделе "Порядок поиска DNS-сервера" (DNS Server Search Order) набрать адрес 127.0.0.1, щелкнуть на "Добавить" (Add) и на "ОК".

При выходе из "Панели настроек сети" не следует перезагружать систему, как это предлагается. Дело в том, что в некоторых системах инсталлятор не помещает команду запуска программы в меню автоматического запуска (Startup). Прежде чем перезагружаться, нужно проверить установки Startup на наличие такой команды и добавить ее, если инсталлятор не смог этого сделать самостоятельно. Вот теперь можно перезагрузиться.

Если все сделано правильно, появится запущенное на исполнение и закрытое (minimized) окно оболочки DOS. Это ваш локальный процесс DNS. Если его по какой-то причине придется завершить, теперь для доступа к Сети вам прежде потребуется запустить его вновь. К сожалению, ограничения Windows 95 означают, что соответствующая команда не в состоянии запускать этот процесс иначе, чем в окне DOS. Это обстоятельство может вызвать определенные неудобства, которые, впрочем, несущественны на фоне значительного выигрыша.

Анализ результатов

Так. Инсталлировал. Перезагрузился, и, как один деятель привык пугать, "Процесс пошел!" Точнее, процесс запустился. Дозваниваюсь до своего провайдера, устанавливаю соединение, запускаю Net Monitor (http://www.windows95.com): набрать статистики, сличить отчеты до и после установки BIND, а также посмотреть, как влияет proxy-сервер (или его отсутствие) и кэш браузера. На глаз все шевелится быстрее, а вот чтобы количественно сличить "пинги" в "логах" - потребуется некоторое время. Одно ясно: надо бы еще покумекать, как бы "приватизировать" весь провайдерский софт к себе на машинку, ей-богу.

С этой мыслью звоню пока в одну фирму, интересующуюся хостингом в домене высшего уровня. Отвечает секретарша, говорит, что ее босса, занятого этим делом, сейчас нет на месте, но можно обо всем переговорить и с ней, она вполне в курсе. Осторожно осведомляюсь, что за профиль у компании, извините, концерна. "У-у-у, - слышу в ответ,- мы ведем бизнес широкого профиля. Тыщи наименований только в оптовой номенклатуре, от бананов до джакузи. Но теперь нам нужен Web-сайт хороший. И вообще… провайдерами скоро станем: эту, как ее… "Цицку" подержанную за 15 тыщ баксов купили", - с некоторой даже обидой в голосе заключает секретарша. Тут я, не скрою, предался приятным фантазиям, пока "логи" анализируются. Конечно, вспомнилась та старая байка про нового русского, купившего "Цицку", чтобы попасть в Интернет. Но не только это. Представляю себе "босса широкого профиля". Вот он, как живой: обананил, обдовганил российскую глубинку. Купил дачку на Кипре, другую - в Переделкино, потому как патриот. Выполнил на свой счет евроремонт для церквушки в родном Козолупинске, тамошнему попу купил "Вольву" и мобильный телефон для задушевных бесед, попадье - джакузи. Теперь вот родное чадо в лицее кто-то подговорил Интернета потребовать у папаши. Папаша, как водится, собрал свою братву: "Через месяц чтоб было, Роцит вашу мать!" И завертелось…

Вот такой провайдер мне нравится, несмотря на подержанную "Цицку". Пока боссову дитенку не надоест онлайновый Quake, доступ к Сети через эту "Дженерал Бананас" будет превосходным, на "Силиконах" там, или "Пролайантах", и выигрыш от "локализации" DNS-сервера окажется минимальным.

Так, а что у нас в анализе? Есть выигрыш! И чем дальше, тем больше: через недельку-другую соберу весь свой Интернет к себе в кэш, со всеми IP-адресами и маршрутами. Осталось уговорить других пользователей моего провайдера попробовать, глядишь, сотня с небольшим серферов одновременно перестанет "сажать" друг друга и Сеть в полосе, в теории достаточной для полтысячи. Пробуйте, пишите!

А я пока поиграюсь с QNX Demo Disk. Вот уж точно: "Виндовс мастдай!" На единственной 1,44 Мбайт дискете поместились настоящая многозадачная ОС QNX, графическая оболочка Photon типа Win95 с работающей поддержкой типа Plug-n-Play, полным TCP/IP-стеком, Web-сервер с нехилым Web-браузером, файловый менеджер с текстовым редактором, еще ворох всякой всячины. Работают эти лилипутские сокровища почти на любом тостере с 386 процессором, 3,5-дюймовым драйвом (жесткий диск не нужен!) и 6 Мбайт RAM. В браузерчике все летает со свистом, только что Java не поддерживается пока, да бог с ней! (http://www.qnx.com/iat или, по-русски: http://www.swd.ru, есть русская конференция на сервере ОКБ МЭИ: orbita.qnx).

Еще новость, от которой весь Интернет вибрирует уже сутки: англичане придумали, как Интернет по электросети передавать. Надо будет обстоятельно переговорить с моим знакомым электриком из местного РЭУ (URL недоступен), как бы приспособить под это дело мой силовой отвод. А не то телефонисты с их поминутной оплатой в следующем году обдерут меня как липку.

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.