Зарождение предпосылок создания глобальной Сети происходило в полном соответствий с глобальным философским законом о превращении количественных изменении в качественные. Как известно в период с 1945-1960 гг. в СССР и США проводились работы не только по созданию компьютеров, но и по интерактивному взаимодействию человека с машиной. В результате появились первые интерактивные устройства и вычислительные машины, работающие в режиме разделения времени. Правда, кого-то при этом щедро финансировали, а кто-то был иногда работать чуть ли не в подполье. Нашим ученым приходилось соблюдать конспирацию, дабы их не заподозрили в симпатий к «лженауке кибернетике». А ведь именно так определил новую науку советский научный словарь, изданный в середине XX века! Быть может, отголоски той эпохи можно встретить в отечественном термине ЭВМ, что, как известно, означает «электронно-вычислительная машина» и, как можно предположить, вполне сродни выражение «деревянно-письменный стол».
В 1957 г. в США, по указанию президента Дуайта Эйзенфаура, в составе Отдела Обороны (DoD, Department of Defence) формируется два правительственных органа: Национальная аэрокосмическая администрация NASA (National Aeronautics and Space Administration), которая в представлений не нуждается, а также Агентство по Передовым Оборонным Исследованиям (DAPRA или Defence Advanced Research Projects Agency). Сделано это было с целью продвижения военных технологий США на лидирующие позиций в мире.
Прогресс человечества и военные технологий всегда идут вместе, поэтому весь начальный этап развития нарождающей Сети будет связан с военными ведомством США. В начале 60-х годов основные работы DAPRA были посвящены разработке метода соединений компьютеров друг с другом. Агентство выделяет денежные средства для привлечения к перспективным разработкам университетов и корпораций (Массачусетский Технологический Институт -MIT, некоммерческая организация, занимающаяся стратегическими исследованиями и разработками -RAND Corporation).
В 1962 г. Дж. Ликлайдер (J.C.R. Liclider) публикует работу «Galactic Network», в котором предсказывает возможность существования в будущем глобальной компьютерной связи между людьми, имеющими мгновенный доступ к программам и базам данных из любой точки земного шара. Как это не удивительно, его предвидение в полном мере отражало современное устройство всемирной Сети. Тогда же, в августе 1962 г., вышла статья Дж. Ликлайдера и В. Сларка «Интерактивная связь человека с компьютером».
Возглавим первую исследовательскую программу, начатую DAPRA 4 октября 1962 г. Ликлайдер сумел увлечь своей концепцией группу ученых, среди которых был и его преемник- исследователь из MIT Лоуренс Робертс (Lowrence G. Roberts), а также Ивана Сазерленда (Ivan Sutherland) и Боба Тейлора (Bob Taylor).
В июле 1961 г. Леонард Клейнрок (Leonard Kleinrock) разработал и впервые опубликовал статью «Информационный поток в крупных коммутационных Сетях», где представил новую теорию передачи данных. Это была первая публикация по теорий коммутаций пакетов. В 1964 г. новая концепция вышла уже в книге. Тогда же Л. Клейнрок убедил Л. Робертса в возможности коммуникаций с использованием пакетов и в преимуществах своей теорий перед древнейшим принципом коммутаций каналов. Как известно, при пакетной коммутаций необходимые для передачи данные разбиваются на фрагменты, к каждому из которых присоединяется заголовок (адрес), одержащий полную информацию о доставке пакета по назначению. В результате один канал связи может использоваться для одновременно передачи данных множества пользователей, тогда как при коммутаций каналов, широко используемой в традиционной телефонной связи, канал связи выделяется исключительно к услугам двух пользователей, расположенные на его концах.
В преддверии
Для проверки новой концепций пакетной коммутаций Л. Робертс и Т. Мерилл еще в 1965 г. соединили компьютер TX-2 в штате Массачусетс (MIT, Лабораторий Линкольна) с компьютером Q-32 в System Development Corporation (Санта-Моника, Калифорния) с помощью низкоскоростных телефонных коммутируемых линий (пока еще без коммутаций пакетов).
Таким образом, в 1965 г. в США была создана первая в историй маленькая, но вовсе даже нелокальная компьютерная сеть. Результатом эксперимента стало понимание того, что компьютеры могут успешно работать вместе, выполняя программы и осуществляя выборку данных. Стало также ясным и то, что телефонная сеть с коммутацией каналов абсолютно непригодна для построения компьютерной сети. Разумеется, Л. Клейнрок еще раз убедился в необходимости пакетной коммутаций, и это было в тот момент самым главным.
В конце 1966 г. DARPA пригласило Л. Робертса для реализаций проекта компьютерной сети ARPANET. Целями проекта были объединения исследовательских учреждений, проведение экспериментов в области компьютерной коммуникаций, а также изучение способов поддержки надежной связи в условиях ядерного нападения.
Итак, Л. Робертс начал работать над разработкой концепций децентрализованного (распределенного) управления военными и гражданскими объектами в период ведения войн. Довольно быстро появился план ARPANET. В 1967 г. на симпозиуме по Принципам Взаимодействия (Operating Principles), организованной Ассоциацией машинных вычислений (ACM, Association for Computing Machinery), которая была основана еще 1947 г. и является первым научным и образовательным компьютерным сообществом, был представлен проект сети с коммутацией пакетов. И тогда же, в 1967 г. первое издание проекта ARPANET опубликовано Л. Робертсом.
В 1964 г. группа сотрудников RAND Corporation написала статью по сетям с пакетной коммутацией для надежных голосовых коммуникаций в военных системах. Работы, которые проводились в середине 60-х годах в MIT, RAND, и NPL, были во многом параллельными, и эти организаций не имели информации о деятельности друг друга. Разговор Л. Робертса с сотрудниками NPL увенчался заимствованием слова «пакет» и решение увеличить предлагаемую скорость передачи по каналам проектируемой сети ARPANET с 2,4 Кб/с до 50 Кб/с.
В конце 1969 г. в одну компьютерную сеть были включены четыре исследовательских центра:
- University of California Los Angeles (UCLA);
- Stanford Research Institute (SRI);
- University of California at Santa Barbara (UCSB);
- University of Utah.
Рождение
В октябре 1969 г. было послано первое электронное сообщение между узлами UCLA (Калифорнийский Университет, Лос-Анджелес) и SRI (Исследовательский Институт Стэнфорда). Говорят, что в самом начале работы эта сеть сразу же «зависла», но процесс пошел.
Вот так четыре удаленных компьютера были объединены в первоначальную конфигурацию ARPANET. Так, собственно и началось становление и рост Internet’а, которому уже, если можно считать, 33 года. Одновременно Р. Кан разработал общую архитектуру сети ARPANET, Л. Робертс разработал топологию и экономические вопросы, Л. Клейнрок представил все средства измерений и анализа сети.
Так и завершился начальный этап становления Интернета.
Основные понятия о Сети
Локальная сеть представляет собой набор компьютеров, периферийных устройств (принтеров и т. п.) и коммутационных устройств, соединенных кабелями.
Подавляющая часть компьютеров западного мира объединена в ту или иную сеть. Опыт эксплуатации сетей показывает, что около 80% всей пересылаемой по сети информации замыкается в рамках одного офиса. Поэтому особое внимание разработчиков стали привлекать так называемые локальные вычислительные сети (LAN). Локальные вычислительные сети отличаются от других сетей тем, что они обычно ограничены умеренной географической областью (одна комната, одно здание, один район).
Существует два типа компьютерных сетей: одноранговые сети и сети с выделенным сервером. Одноранговые сети не предусматривают выделение специальных компьютеров, организующих работу сети. Каждый пользователь, подключаясь к сети, выделяет в сеть какие-либо ресурсы (дисковое пространство, принтеры) и подключается к ресурсам, предоставленным в сеть другими пользователями. Такие сети просты в установке, налаживании; они существенно дешевле сетей с выделенным сервером. В свою очередь сети с выделенным сервером, несмотря на сложность настройки и относительную дороговизну, позволяют осуществлять централизованное управление.
И все компьютерные сети или практически применяют (если так можно назвать базовые топологий) построения локальной сети:
Топология «Шина»
Все компьютеры подключаются к одному кабелю. На его концах должны быть расположены терминаторы. По такой топологии строятся 10 Мегабитные сети 10Base-2 и10Base-5. В качестве кабеля используется Коаксиальные кабели.
Топология «Шина»
Пассивная топология, строится на использовании одного общего канала связи и коллективного использования его в режиме разделения времени. Нарушение общего кабеля или любого из двух терминаторов приводит к выходу из строя участка сети между этими терминаторами (сегмент сети). Отключение любого из подключенных устройств на работу сети никакого влияния не оказывает. Неисправность канала связи выводит из строя всю сеть Все компьютеры в сети “слушают” несущую и не участвуют в передаче данных между соседями. Пропускная способность такой сети снижается с увеличением нагрузки или при увеличении числа узлов.
Для соединения кусков шины могут использоваться активные устройства — повторители (repeater) с внешним источником питания.
Топология “Звезда”
Каждый компьютер (и т.п.) подключен отдельным проводом к отдельному порту устройства, называемого концентратором или повторителем (репитер), или хабом(Hub).
Топология “Звезда”
Концентраторы могут быть как активные, так и пассивные. Если между устройством и концентратором происходит разрыв соединения, то вся остальная сеть продолжает работать. Правда, если этим устройством был единственный сервер, то работа будет несколько затруднена. При выходе из строя концентратора сеть перестанет работать.
Данная сетевая топология наиболее удобна при поиске повреждений сетевых элементов: кабеля, сетевых адаптеров или разъемов. При добавлении новых устройств «звезда» также удобней по сравнению с топологией общая шина. Также можно принять во внимание, что 100 и 1000 Мбитные сети строятся по топологии «Звезда».
Топология “Кольцо”
Активная топология. Все компьютеры в сети связаны по замкнутому кругу. Прокладка кабелей между рабочими станциями может оказаться довольно сложной и дорогостоящей если они расположены не по кольцу, а, например, в линию. В качестве носителя в сети используется витая пара или оптоволокно. Сообщения циркулируют по кругу. Рабочая станция может передавать информацию другой рабочей станции только после того, как получит право на передачу (маркер), поэтому коллизии исключены. Информация передается по кольцу от одной рабочей станции к другой, поэтому при выходе из строя одного компьютера, если не принимать специальных мер выйдет из строя вся сеть.
Время передачи сообщений возрастает пропорционально увеличению числа узлов в сети. Ограничений на диаметр кольца не существует, т.к. он определяется только расстоянием между узлами в сети.
Кроме приведенных выше топологий сетей широко применяются т. н. гибридные топологии: “звезда-шина”, “звезда-кольцо”, “звезда-звезда”.
Топология “Кольцо
Часто на одном компьютере используются сетевые программы разных фирм, работающие одновременно. Для обеспечения совместимости программ Международная Организация по Стандартизации (ISO — International Standards Organization) разработала модель сетевой архитектуры, получившую известность как OSI-модель. Модель Взаимодействия Открытых Систем (Open Systems Interconnect) описывает структуру сетевых уровней. Не все разработчики программ в точности следуют этой модели, однако она дает основы понимания способов взаимодействия сетевых компонент. Получившая широкую известность модель OSI содержит семь дискретных уровней, каждый из которых обеспечивает выполнение определенной части сетевых функций при обмене данными между компьютерами сети, это:
- Физический уровень;
- Канальный уровень;
- Сетевой уровень;
- Транспортный уровень;
- Сеансовый уровень;
- Представительный уровень;
- Прикладной уровень.
Протокол управления передачей (ТСР)
ЧТО ТАКОЕ TCP/IP?
TCP/IP — это установка протоколов, используемых для связи компьютерных сетей и маршрутизации движения информации между большим количеством различных компьютеров. «TCP» означает «Протокол контроля передачи», а «IP» означает «Протокол межсетевого взаимодействия». Протоколы стандартизированы описанными допустимыми форматами, обработкой ошибок, передачей сообщений и стандартами связи. Компьютерные системы, которые подчиняются протоколам связи, таким как TCP/IP, могут использовать общий язык. Это позволяет им передавать сообщения безошибочно к нужным получателям, не смотря на большие различия в аппаратуре и программном обеспечении различных машин. Многие большие сети были выполнены с этими протоколами, включая DARPA сеть. Разнообразные университеты, учреждения и компьютерные фирмы связаны в глобальную сеть, которая следует протоколам TCP/IP. Тысячи индивидуальных машин подсоединены к сети. Любая машина сети может взаимодействовать с любой другой. Машины в сети называются «hosts»(главные ЭВМ) или «nodes»(узловые ЭВМ). TCP/IP обеспечивает базу для многих полезных средств, включая электронную почту, передачу файлов и дистанционную регистрацию. Электронная почта предназначена для передачи коротких текстовых файлов. Прикладные программы для передачи файлов могут передавать очень большие файлы, содержащие программы и данные. Они также могут выполнять контрольные проверки правильности передачи данных. Дистанционная регистрация позволяет пользователям одного компьютера зарегистрироваться на удаленной машине и продолжать интерактивный сеанс связи с этой машиной.
Протокол межсетевого взаимодействия (IP)
IP определяет несвязанную пакетную доставку. Эта доставка связывает одну или более пакетно-управляемые сети в глобальную сеть. Термин «несвязанную» означает, что получающая и посылающая машины не связаны собой непосредственным контуром. Здесь индивидуальные пакеты данных (дейтаграммы) маршрутизируются через различные машины глобальной сети к локальной сети-получателю и получающей машине. Таким образом, сообщения разбиваются на несколько дейтаграмм, которые посылаются отдельно. Заметьте, что несвязанная пакетная доставка сама по себе ненадежна. Отдельные дейтаграммы могут быть получены или не получены и с большой вероятностью могут быть получены не в том порядке, в котором они были посланы. TCP увеличивает надежность. Дейтаграмма состоит из заголовка, информации и области данных. Заголовок используется для маршрутизации и процесса дейтаграммы. Дейтаграмма может быть разбита на малые части в зависимости от физических возможностей локальной сети, по которой она передается. (Когда шлюз посылает дейтаграмму к локальной сети, которая не может разместить дейтаграмму как единый пакет, она должна быть разбита на части, которые достаточно малы для передачи по этой сети). Заголовки фрагментов дейтаграммы содержат информацию, необходимую для сбора фрагментов в законченную дейтаграмму. Фрагменты необязательно прибывают по порядку, в котором они были посланы; программный модуль, выполняющий IP протокол на получающей машине, должен собирать фрагменты в исходную дейтаграмму. Если какие-либо фрагменты утеряны, полная дейтаграмма сбрасывается.
Протокол контроля передачи (TCP)
Протокол контроля передачи данных (TCP) работает совместно с IP для обеспечения надежной доставки. Он предлагает средства обеспечения надежности того, что различные дейтаграммы, составляющие сообщения, собираются в правильном порядке на принимающей машине и что некоторые пропущенные дейтаграммы будут посланы снова, пока они не будут приняты правильно. Первая цель TCP -это обеспечение надежности, безопасности и сервиса виртуального контура связи между парами связанных процессов на уровне ненадежных внутрисетевых пакетов, где могут случиться потери, уничтожение, дублирование, задержка или потеря упорядоченности пакетов. Таким образом, обеспечение безопасности, например, такой как ограничение доступа пользователей, к соответствующим машинам, может быть выполнено посредством TCP. TCP касается только общей надежности. Имеется несколько соображений относительно возможности получения надежного сервиса дейтаграмм. Если дейтаграмма послана через локальную сеть к удаленной главной машине, то промежуточные сети не гарантируют доставку. Кроме того, посылающая машина не может знать маршрут передачи дейтаграммы. Надежность пути «источник-приемник» обеспечивается TCP на фоне ненадежности среды. Это делает TCP хорошо приспособленной к широкому разнообразию приложений многомашинных связей. Надежность обеспечивается посредством контрольной суммы (коды обнаружения ошибок) последовательных чисел в заголовке TCP, прямого подтверждения получения данных и повторной передачи неподтвержденных данных.
ПОНЯТИЕ УРОВНЯ ПРОТОКОЛА.
Протоколы связи программного обеспечения поделены на различные уровни, где самый низкий уровень — это аппаратный уровень, который физически передает данные, а самый высокий уровень — это прикладная программа на главной машине. Каждый уровень отличается своим комплексом прав и ни один протокол не может включать все задачи различных уровней. Как обсуждалось ранее, IP — протокол межсетевых связей имеет дело с маршрутизацией дейтаграмм, в то время как TCP — протокол контроля передачи, который имеет выше уровень, чем IP, предоставляет надежную передачу сообщений, разделенных на дейтаграммы. Прикладные программы, в свою очередь, полагаются на TCP при посылке информации к машине-получателю. В прикладных программах используют TCP/IP, чтобы обеспечить полную дуплексную виртуальную связь между машинами. Фактически, вся информация поделена на дейтаграммы, которые затем могут быть фрагментированы при дальнейшей передаче. Модули программного обеспечения, выполняющие IP, затем снова собирают отдельные дейтаграммы. В то время как модули, выполняющие TCP, обеспечивают, что различные дейтаграммы снова соберутся в том порядке, в каком они были посланы. Существует несколько высокоуровневых специальных протоколов для специфических приложений, таких как telnet (TC) и ftp (TC) и протоколов для таких функций сети, таких как управление шлюзами. В этом руководстве, однако, есть ссылки на эти протоколы как на программы и сервис.
DHCP: искусство управления IP-адресами
Появление протокола Dynamic Host Configuration Protocol (DHCP) заметно упростило жизнь сетевых администраторов. Если раньше IP-адреса приходилось задавать вручную (хорошо еще, если с центральной консоли), то теперь эта процедура выполняется автоматически.
Протокол DHCP был предложен в 1993 г., его развитием занимается специальная рабочая группа (DHC WG), входящая в состав IETF. Наиболее полное современное описание DHCP содержится в документе RFC 2131 (март 1997 г.), который пришел на смену более ранним редакциям RFC 1531 и 1541. В настоящее время DHCP имеет статус предварительного стандарта.
DHCP появился не на пустом месте — различные схемы управления IP-адресами в сетевой среде предлагались и раньше. Однако эти схемы имеют, по крайней мере, один из двух недостатков — не допускают динамического назначения IP-адресов либо позволяют передавать от сервера на станцию-клиент лишь небольшое число параметров конфигурации.
При разработке протокола DHCP преследовалась цель устранить оба ограничения. Требовался механизм, который позволил бы ликвидировать стадию ручного конфигурирования компьютеров, поддерживал многосегментные сети, не требуя наличия DHCP-сервера в каждой подсети, не конфликтовал с существующими сетевыми протоколами и компьютерами, имеющими статичную конфигурацию, был способен взаимодействовать с ретранслирующими агентами протокола BOOTP и обслуживать BOOTP-клиентов, наконец, допускал управление передаваемыми параметрами конфигурации. Что касается более узких задач, то DHCP должен был обеспечивать уникальность сетевых адресов, используемых разными компьютерами сети в данный момент, сохранение прежней конфигурации клиентской станции после перезагрузки клиента или сервера, автоматическое присвоение параметров конфигурации вновь подключенным машинам.
Как это работает
Когда на клиентской машине выполняется программа dhclient, являющаяся клиентом DHCP, она начинает широковещательную рассылку запросов на получение настроечной информации. По умолчанию эти запросы делаются на 68 порт UDP. Сервер отвечает на UDP 67, выдавая
клиенту адрес IP и другую необходимую информацию, такую, как сетевую маску, маршрутизатор и серверы DNS. Вся эта информация дается в форме «аренды» DHCP и верна только определенное время (что настраивается администратором сервера DHCP). При таком подходе устаревшие адреса IP тех клиентов, которые больше не подключены к сети, могут быть автоматически, использоваться повторно.
Клиенты DHCP могут получить от сервера очень много информации. Подробный список находится в странице Справочника dhcp-options.
Принципы архитектуры и формат сообщени
Работа протокола DHCP базируется на классической схеме клиент-сервер. В роли клиентов выступают компьютеры сети, стремящиеся получить IP-адреса в так называемую аренду (lease), а DHCP-серверы выполняют функции диспетчеров, которые выдают адреса, контролируют их использование и сообщают клиентам требуемые параметры конфигурации. Сервер поддерживает пул свободных адресов и, кроме того, ведет собственную регистрационную базу данных. Взаимодействие DHCP-серверов со станциями-клиентами осуществляется путем обмена сообщениями.
Формат сообщения DHCP (в скобках — размер поля в байтах)
Протокол DHCP поддерживает три механизма выделения адресов: автоматический, динамический и ручной. В первом случае клиент получает постоянный IP-адрес, в последнем DHCP используется только для уведомления клиента об адресе, который администратор присвоил ему вручную. Оба эти варианта не таят в себе чего-либо принципиально нового, а вот динамический механизм заслуживает детального рассмотрения.
Выдача адреса в аренду производится по запросу клиента. DHCP-сервер (или группа серверов) гарантирует, что выделенный адрес до истечения срока его аренды не будет выдан другому клиенту; при повторных обращениях сервер старается предложить клиенту адрес, которым тот пользовался ранее. Со своей стороны, клиент может запросить пролонгацию срока аренды адреса либо, наоборот, досрочно отказаться от него. Протоколом предусмотрена также выдача IP-адреса в неограниченное пользование. При острой нехватке адресов сервер может сократить срок аренды адреса по сравнению с запрошенным.
Последовательность событий при выделении IP-адреса
Недостатки DHCP
Освобождая сетевых администраторов от множества рутинных операций, DHCP оставляет нерешенными ряд проблем, которые рано или поздно могут возникнуть в реальной сетевой среде.
К недостаткам этого протокола, прежде всего, следует отнести крайне низкий уровень информационной безопасности, что обусловлено непосредственным использованием протоколов UDP и IP. В настоящее время не существует практически никакой защиты от появления в сети несанкционированных DHCP-серверов, способных рассылать клиентам ошибочную или потенциально опасную информацию — некорректные или уже задействованные IP-адреса, неверные сведения о маршрутизации и т.д. И наоборот, клиенты, запущенные с неблаговидными целями, могут извлекать конфигурационные сведения, предназначенные для <законных> компьютеров сети, и тем самым оттягивать на себя значительную часть имеющихся ресурсов. Понятно, что возможности административного ограничения доступа, о которых говорилось выше, не способны закрыть эту брешь в системе информационной безопасности.
Настройка конфигураций вручную и автоматическая конфигурация
Если локальная Сеть является частью более крупной Сети, где используется протокол TCP/IP и предусмотрена специальная сетевая служба — протокол динамической настройки конфигураций хост-системы (DHCP, Dynamic Host Configuration Protocol), можно настроить параметры TCP/IP на автоматическую конфигурацию. Для этого на вкладке параметров TCP/IP устанавливается переключатель Enable DHCP. Он указывает серверу, что параметры TCP/IP следует получить на центральном узле. В противном случае необходимо для каждой сетевой платы серверного компьютера, использующей TCP/IP, самостоятельно установить указанные выше параметры.
Кроме того, можно инсталлировать TCP/IP позднее, дважды щелкнув мышью по значке Network Protocol Panel, выбрав в списке протоколов TCP/IP (рис.1).
Если такая информация уже введена (или вводится впоследствии), она будет переопределять установки DHCP. Если же информация была введена раньше, надо удалить содержимое полей и проверить окно Enable Automatic DHCP Configuration. При следующем запуске рабочей станции
она получит всю недостающую информацию от DHCP-сервера, как и в предыдущем случае. Все эти окна конфигурации можно найти под пиктограммой Network в Windows и Windows NT. Когда DHCP-сервис установлен и проинициализирован на сервере, а станция получила от DHCP причитающуюся ей информацию, все управление TCP/IP-сетью можно переложить на сервер DHCP. Кроме того, такие изменения в проекте сети, как выделение новых подсетей и WINS-сервисы, могут проделываться автоматически.
Благодаря DHCP и WINS, Windows NT Server разрешает многие проблемы, связанные с сетями TCP/IP. Трудности обременительного администрирования, требуемого для использования протокола TCP/IP, и необходимость приспособить его к динамической природе сегодняшних сетей успешно преодолены. Перемещением пользователей, установлением доступа по телефону и ограниченным количеством IP-адресов можно управлять посредством Windows NT Server, DHCP и WINS.