Протоколы в локальных и глобальных сетях
Как назначать номера сетей и подсетей После того, как решено, использовать подсети или множество IP-сетей, вы должны решить, как назначать им номера. Обычно это довольно просто. Каждой физической сети, например, Ethernet или Token Ring, назначается отдельный номер подсети или номер сети. В некоторых случаях имеет смысл назначать одной физической сети несколько подсетевых номеров. Например… Читать ещё >
Протоколы в локальных и глобальных сетях (реферат, курсовая, диплом, контрольная)
Министерство образования и науки Республики Казахстан Костанайский социально технический университет им. акад. З. Алдамжар ДИПЛОМНАЯ РАБОТА На тему: «Протоколы в локальных и глобальных сетях»
по специальности — «ВТиПО»
Выполнил Сейтгалиев Д.Е.
Костанай 2011
Содержание Введение
1. Теоретические основы организации компьютерных сетей
1.1 Общие сведения о сетях
1.2 Топология сетей
2. Локальные компьютерные сети
2.1 Классификация локальной компьютерной сети
2.2 Структура локальных компьютерных сетей
2.3 Физическая среда передачи в локальных сетях
2.4 Типы локальной компьютерной сети
3. Глобальные компьютерные сети
3.1 Характеристика глобальных компьютерных сетей
3.2 Сеть Internet
3.3 Примеры глобальных сетей
3.4 Отличия локальных сетей от глобальных сетей
3.5 Тенденция к сближению локальных сетей и глобальных сетей
4. Основные протоколы обмена в компьютерных сетях
4.1 Характеристика протокола TCP/IP
4.2 Протокол Ethernet
4.3 Протокол ARP
4.4 Межсетевой протокол IP
4.5 Протокол UDP
4.6 Протокол TCP
4.7 Протоколы прикладного уровня Заключение Список использованных источников Приложение
Введение
Актуальность темы. Вхождение Республики Казахстан в мировое информационное пространство влечет за собой широчайшее использование новейших информационных технологий, и в первую очередь, компьютерных сетей. При этом резко возрастают и качественно видоизменяются возможности пользователя как в деле оказания услуг своим клиентам, так и при решении собственных организационно-экономических задач.
Уместно отметить, что современные компьютерные сети являются системой возможности и характеристики, которые в целом существенно превышают соответствующие показатели простой суммы составляющих элементов сети персональных компьютеров при отсутствии взаимодействия между ними. Достоинства компьютерных сетей обусловили их широкое распространение в информационных системах кредитно-финансовой сферы, органов государственного управления и местного самоуправления, предприятий и организаций.
С развитием компьютерной техники широкое использование приобрели компьютерные сети. По своему размеру, т. е. количеству машин и расстоянию между ними, они делятся на локальные и глобальные. Примерами локальных могут быть сети вуза, предприятия, нескольких фирм, находящихся недалеко друг от друга, глобальных — Internet.
Для передачи данных в сети используются сетевые протоколы передачи данных. Некоторое время назад существовало несколько протоколов несовместимых между собой, что зачастую создавало большие проблемы при объединении сетей. Примером же универсального протокола является семейство TCP/IP. История его возникновения связана с задачей, поставленной после второй мировой войны правительством США. Требовалось создать единую сеть, которая бы могла своими средствами находить маршруты передачи их, а также в случае повреждения некоторых каналов связи перенаправлять поток информации по другим каналам. При реализации этого проекта были созданы отдельные представители семейства протоколов TCP/IP. Сама сеть через некоторое время разрослась до необычайных размеров, её представление сейчас известно всем как Internet.
Протокол управления передачей (Transmission Control Protocol, TCP) является доминирующим протоколом транспортного уровня в Интернет. Согласно исследованиям, от 60% до 90% всего трафика в Интернет, включая трафик службы World Wide Web, передачи файлов (FTP), электронной почты (E-mail) и т. д., передается с помощью протокола TCP.
Столь широкое применение протокола TCP определило пристальное внимание к нему со стороны специалистов, занимающихся проблемами обеспечения качества обслуживания (Quality of Service, QoS) в Интернет. Помимо традиционных измерений и имитационного моделирования, в последнее десятилетие значительное число исследовательских работ было адресовано разработке математических моделей функционирования протокола TCP. В числе авторов, получивших важные результаты в этой области, можно отметить К. Авраченкова, M. Mathis, J. Padhye, N. Cardwell, B. Sikdar и ряд других авторов. В то же время предполагается, что одну из основных составляющих трафика Интернет в ближайшем будущем будут создавать услуги передачи мультимедийной информации: потоковое видео, Интернет-радио и т. п.
В связи с отмеченными особенностями, рассмотрение протоколов локальных и глобальных сетей (протокола передачи пользовательских дейтаграмм (User Datagram Protocol, UDP), протокола TCP, протокола UDP, протокола TFRC и других) является актуальным и необходимым. Таким образом, теоретическая и практическая значимость решаемых в дипломной работе задач определяет ее актуальность.
Цель дипломной работы является изучение протоколов локальных и глобальных сетей.
Поставленная цель достигается путем решения следующих задач:
— исследовать теоретические основы организации компьютерных сетей;
— изучить классификацию, принцип построения локальной компьютерной сети;
— дать характеристику глобальных компьютерных сетей, рассмотреть отличия локальных сетей от глобальных сетей;
— рассмотреть основные протоколы обмена в компьютерных сетях, дать им характеристику;
— подведение итогов работы и внесение предложений по данной теме.
Методы исследования. Проведенные в дипломной работе исследования основываются на теории вероятностей, теории восстановления, математической статистике и высшей алгебре.
Научная новизна. В дипломной работе предпринята попытка изложить основные принципы построения компьютерных сетей, основные протоколы локальных компьютерных сетей и глобальных компьютерных сетей.
Практическая ценность. Материалы дипломной работы могут быть использованы в качестве учебных материалов об особенностях локальных и глобальных сетей, протоколов сетей для студентов, обучающихся по специальностям «Вычислительные машины, комплексы, системы и сети», «Автоматизированные машины, комплексы, системы и сети», «Программное обеспечение вычислительной техники и автоматизированных систем», для студентов, которые хотели бы получить базовые знания
Структура дипломной работы состоит из введения, основной части, состоящей из 4 разделов, заключение, списка использованных источников и приложения. В дипломной работе рассмотрены протоколы, используемые в локальных и глобальных компьютерных сетях, протоколы семейства TCP/IP. В связи с особенностями протоколов TCP/IP — широкая, реализация практически во всех современных операционных системах, можно смело говорить об их универсальности.
1. Теоретические основы организации компьютерных сетей
1.1 Общие сведения о сетях
Современное производство требует высоких скоростей обработки информации, удобных форм ее хранения и передачи. Необходимо также иметь динамичные способы обращения к информации, способы поиска данных в заданные временные интервалы; реализовывать сложную математическую и логическую обработку данных. Управление крупными предприятиями, управление экономикой на уровне страны требуют участия в этом процессе достаточно крупных коллективов. Такие коллективы могут располагаться в разных районах города, в различных регионах страны и даже в различных странах. Для решения задач управления, обеспечивающих реализацию экономической стратегии, становятся важными и актуальными скорость и удобство обмена информацией, а также возможность тесного взаимодействия всех участвующих в процессе выработки управленческих решений.
Принцип централизованной обработки данных не отвечал высоким требованиям к надежности процесса обработки, затруднял развитие систем и не мог обеспечить необходимые временные параметры при диалоговой обработке данных в многопользовательском режиме. Кратковременный выход из строя централизованной ЭВМ приводил к роковым последствиям для системы в целом, так как приходилось дублировать функции центральной ЭВМ, значительно увеличивая затраты на создание и эксплуатацию систем обработки данных.
Появление малых ЭВМ, микроЭВМ и персональных компьютеров потребовало нового подхода к организации систем обработки данных, к созданию новых информационных технологий. Возникло логически обоснованное требование перехода от использования отдельных ЭВМ в системах централизованной обработки данных к распределенной обработке данных, т. е. обработке, выполняемой на независимых, но связанных между собой компьютерах, представляющих распределенную систему.
Для реализации распределенной обработки данных были созданы многомашинные ассоциации, структура которых разрабатывается по одному из следующих направлений:
— многомашинные вычислительные комплексы (МВК) — группа установленных рядом вычислительных машин, объединенных с помощью специальных средств сопряжения и выполняющих совместно информационно-вычислительный процесс;
— компьютерные (вычислительные) сети — совокупность компьютеров и терминалов, соединенных с помощью каналов связи в единую систему, удовлетворяющую требованиям распределенной обработки данных.
Компьютерные сети являются высшей формой многомашинных ассоциаций. Выделяют основные отличия компьютерной сети от многомашинного вычислительного комплекса.
Первое отличие — размерность. В состав многомашинного вычислительного комплекса входят обычно две, максимум три ЭВМ, расположенные преимущественно в одном помещении. Вычислительная сеть может состоять из десятков и даже сотен ЭВМ, расположенных на расстоянии друг от друга от нескольких метров до тысяч километров.
Второе отличие — разделение функций между ЭВМ. Если в многомашинном вычислительном комплексе функции обработки данных, передачи и управления системой могут быть реализованы в одной ЭВМ, то в вычислительных сетях эти функции разделены между различными ЭВМ.
Третье отличие — необходимость решения в сети задачи маршрутизации сообщений. Сообщение от одной ЭВМ к другой может быть передано по различным маршрутам в зависимости от состояния каналов связи, соединяющих ЭВМ друг с другом.
Компьютерная сеть — это совокупность компьютеров и различных устройств, обеспечивающих информационный обмен между компьютерами в сети без использования каких-либо промежуточных носителей информации. Все многообразие компьютерных сетей можно классифицировать по группе признаков:
1) Территориальная распространенность;
2) Ведомственная принадлежность;
3) Скорость передачи информации;
4) Тип среды передачи;
В зависимости от территориального расположения абонентских систем вычислительные сети можно разделить на три основных класса:
— глобальные сети (WAN — Wide Area Network);
— региональные сети (MAN — Metropolitan Area Network);
— локальные сети (LAN — Local Area Network).
Локальные — это сети, перекрывающие территорию не более 10 м², региональные — расположенные на территории города или области, глобальные на территории государства или группы государств, например, всемирная сеть Internet.
По принадлежности различают ведомственные и государственные сети. Ведомственные принадлежат одной организации и располагаются на ее территории. Государственные сети — сети, используемые в государственных структурах.
По скорости передачи информации компьютерные сети делятся на низко-, среднеи высокоскоростные.
По типу среды передачи разделяются на сети коаксиальные, на витой паре, оптоволоконные, с передачей информации по радиоканалам, в инфракрасном диапазоне.
В классификации сетей существует два основных термина: LAN и WAN. LAN (Local Area Network) — локальные сети, имеющие замкнутую инфраструктуру до выхода на поставщиков услуг. Термин «LAN» может описывать и маленькую офисную сеть, и сеть уровня большого завода, занимающего несколько сотен гектаров. Зарубежные источники дают даже близкую оценку — около шести миль (10 км) в радиусе; использование высокоскоростных каналов.
WAN (Wide Area Network) — глобальная сеть, покрывающая большие географические регионы, включающие в себя как локальные сети, так и прочие телекоммуникационные сети и устройства. Пример WAN — сети с коммутацией пакетов (Frame Relay), через которую могут «разговаривать» между собой различные компьютерные сети.
Термин «корпоративная сеть» также используется в литературе для обозначения объединения нескольких сетей, каждая из которых может быть построена на различных технических, программных и информационных принципах.
Рассмотренные выше виды сетей являются сетями закрытого типа, доступ к ним разрешен только ограниченному кругу пользователей, для которых работа в такой сети непосредственно связана с их профессиональной деятельностью. Глобальные сети ориентированы на обслуживание любых пользователей.
На рисунке 1, рассмотрим способы коммутации компьютеров и виды сетей Рисунок 1 — Способы коммутации компьютеров и виды сетей.
1.2 Топология сетей Компьютеры могут соединяться кабелями, образуя различную топологию сети (звездная, шинная, кольцевая и др.). Следует различать компьютерные сети и сети терминалов (терминальные сети). Компьютерные сети связывают компьютеры, каждый из которых может работать и автономно. Терминальные сети обычно связывают мощные компьютеры (майнфреймы), а в отдельных случаях и ПК с устройствами (терминалами), которые могут быть достаточно сложны, но вне сети их работа или невозможна, или вообще теряет смысл. Например, сеть банкоматов или касс по продажи авиабилетов. Строятся они на совершенно иных, чем компьютерные сети, принципах и даже на другой вычислительной технике.
Топология сети определяется размещением узлов в сети и связей между ними. Из множества возможных построений выделяют следующие структуры.
Топология «звезда». Каждый компьютер через сетевой адаптер подключается отдельным кабелем объединяющему устройству. Все сообщения проходят через центральное устройство, которое обрабатывает поступающие сообщения и направляет их к нужным или всем компьютерам (рис.1).
Звездообразная структура чаще всего предполагает нахождение в центральном узле специализированной ЭВМ или концентратора.
Достоинства «звезды»:
— простота периферийного оборудования;
— каждый пользователь может работать независимо от остальных пользователей;
— высокий уровень защиты данных;
— легкое обнаружение неисправности в кабельной сети.
Недостатки «звезды»:
— выход из строя центрального устройства ведет к остановке всей сети;
— высокая стоимость центрального устройства;
— уменьшение производительности сети с увеличением числа компьютеров, подключенных к сети.
Топология «кольцо». Все компьютеры соединяются друг с другом в кольцо. Здесь пользователи сети равноправны. Информация по сети всегда передается в одном направлении (рис.2). Кольцевая сеть требует специальных повторителей, которые, приняв информацию, передают ее дальше как бы по эстафете; копируют в свою память (буфер), если информация предназначается им; изменяют некоторые служебные разряды, если это им разрешено. Информацию из кольца удаляет тот узел, который ее послал.
Достоинства «кольца»:
— отсутствие дорогого центрального устройства;
— легкий поиск неисправных узлов;
— отсутствует проблема маршрутизации;
— пропускная способность сети разделяется между всеми пользователями, поэтому все пользователи гарантированно последовательно получают доступ к сети;
— простота контроля ошибок.
Недостатки «кольца»:
— трудно включить в сеть новые компьютеры;
— каждый компьютер должен активно участвовать в пересылке информации, для этого нужны ресурсы, чтобы не было задержек в основной работе этих компьютеров;
— в случае выхода из строя, хотя одного компьютера или отрезка кабеля вся сеть парализуется.
Топология «общая шина». Общая шина наиболее широко распространенна в локальных вычислительных сетях. Топология «общая шина» предполагает использование одного кабеля (шины), к которому непосредственно подключаются все компьютеры сети (рис.3). В данном случае кабель используется всеми станциями по очереди, т. е. шину может захватить в один момент только одна станция. Доступ к сети (к кабелю) осуществляется путем состязания между пользователями. В сети принимаются специальные меры для того, чтобы при работе с общим кабелем компьютеры не мешали друг другу передавать данные. Возникающие конфликты разрешаются соответствующими протоколами. Информация передается на все станции сразу.
Достоинства «обшей шины»:
— простота построения сети;
— сеть легко расширяется;
— эффективно используется пропускная способность канала;
— надежность выше, т.к. выход из строя отдельных компьютеров не нарушит работоспособности сети в целом.
Недостатки «общей шины»:
— ограниченная длина шины;
— нет автоматического подтверждения приема сообщений;
— возможность возникновения столкновений (коллизий) на шине, когда пытаются передать информацию сразу несколько станций;
— низкая защита данных;
— выход из строя какого-либо отрезка кабеля ведет к нарушению работоспособности сети;
— трудность нахождения места обрыва.
Топология «дерево». Эта структура позволяет объединить несколько сетей, в том числе с различными топологиями или разбить одну большую сеть на ряд подсетей (рис. 4).
Разбиение на сегменты позволит выделить подсети, в пределах которых идет интенсивный обмен между станциями, разделить потоки данных и увеличить, таким образом, производительность сети в целом. Объединение отдельных ветвей (сетей) осуществляется с помощью устройств, называемых мостами или шлюзами. Шлюз применяется в случае соединения сетей, имеющих различную топологию и различные протоколы. Мосты объединяют сети с одинаковой топологией, но может преобразовывать протоколы. Разбиение сети на подсети осуществляется с помощью коммутаторов и маршрутизаторов. [5]
2. Локальные компьютерные сети Локальная вычислительная сеть объединяет абонентов, расположенных в пределах небольшой территории. В настоящее время не существует четких ограничений на территориальный разброс абонентов. Обычно такая сеть привязана к конкретному месту. Протяженность такой сети можно ограничить пределами 2 — 2,5 км.
Основной назначение любой компьютерной сети — предоставление информационных и вычислительных ресурсов подключенным к ней пользователям.
С этой точки зрения локальную вычислительную сеть можно рассматривать как совокупность серверов и рабочих станций.
Сервер — компьютер, подключенный к сети и обеспечивающий ее пользователей определенными услугами. Серверы могут осуществлять хранение данных, управление базами данных, удаленную обработку заданий, печать заданий и ряд других функций, потребность в которых может возникнуть у пользователей сети. Сервер — источник ресурсов сети.
Рабочая станция — персональный компьютер, подключенный к сети, через который пользователь получает доступ к ее ресурсам. Рабочая станция сети функционирует как в сетевом, так и в локальном режиме. Она оснащена собственной операционной системой (MS DOS, Windows и т. д.), обеспечивает пользователя всеми необходимыми инструментами для решения прикладных задач.
Компьютерные сети, как было сказано выше, реализуют распределенную обработку данных. Обработка данных в этом случае распределена между двумя объектами: клиентом и сервером.
Клиент — задача, рабочая станция или пользователь компьютерной сети. В процессе обработки данных клиент может сформировать запрос на сервер для выполнения сложных процедур, чтения файлов, поиск информации в базе данных и т. д.
Сервер, определенный ранее, выполняет запрос, поступивший от клиента. Результаты выполнения запроса передаются клиенту. Сервер обеспечивает хранение данных общего пользования, организует доступ к этим данным и передает данные клиенту.
Клиент обрабатывает полученные данные и представляет результаты обработки в виде, удобном для пользователя. Для подобных систем приняты термины — системы или архитектура клиент — сервер.
Архитектура клиент — сервер может использоваться как в одноранговых сетях, так и в сети с выделенным сервером.
2.1 Классификация локальной компьютерной сети Локальные вычислительные сети подразделяются на два кардинально различающихся класса: одноранговые (одноуровневые или Peer to Peer) сети и иерархические (многоуровневые).
Одноранговая сеть представляет собой сеть равноправных компьютеров, каждый из которых имеет уникальное имя (имя компьютера) и обычно пароль для входа в него во время загрузки оранговой сети. Имя и пароль входа назначаются владельцем ПК средствами оранговой сети. Одноранговые сети могут быть организованы с помощью таких операционных систем, как LANtastic, Windows'3.11, Novell NetWare Lite. Указанные программы работают как с DOS, так и с Windows. Одноранговые сети могут быть организованы также на базе всех современных 32-разрядных операционных систем — Windows'95 OSR2, Windows NT Workstation версии, OS/2) и некоторых других.
Одноранговая сеть, в которой нет единого центра управления взаимодействием рабочих станций и нет единого центра для хранения данных. Сетевая операционная система распределена по рабочим станциям. Каждая станция сети может выполнять функции, как клиента, так и сервера. Она может обслуживать запросы от других рабочих станций и направлять свои запросы на обслуживание в сеть. Пользователю сети доступны все устройства, подключенные к другим станциям.
Достоинства одноранговых сетей:
— низкая стоимость;
— высокая надежность.
Недостатки одноранговых сетей:
— зависимость эффективности работы сети от количества станций;
— сложность управления сетью;
— сложность обеспечения защиты информации;
— трудности обновления и изменения программного обеспечения станций.
Наибольшей популярностью пользуются одноранговые сети на базе сетевых операционных систем LANtastic, NetWare Lite. 7, с.91]
В сети с выделенным сервером один из компьютеров выполняет функции хранения данных, предназначенных для использования всеми рабочими станциями, управления взаимодействием между рабочими станциями и ряд сервисных функций.
Такой компьютер обычно называют сервером сети. На нем устанавливается сетевая операционная система, к нему подключаются все разделяемые внешние устройства — жесткие диски, принтеры и модемы.
Взаимодействие между рабочими станциями в сети, как правило, осуществляются через сервер.
Достоинства сети с выделенным сервером:
— надежна система защиты информации;
— высокое быстродействие;
— отсутствие ограничений на число рабочих станций;
— простота управления по сравнению с одноранговыми сетями.
Недостатки сети:
— высокая стоимость из-за выделения одного компьютера на сервер;
— зависимость быстродействия и надежности от сервера;
— меньшая гибкость по сравнению с одноранговыми сетями.
Сети выделенным сервером являются наиболее распространенными у пользователей компьютерных сетей. Сетевые операционные системы для таких сетей — LANServer (IBM), Windows NT Server версий 3.51 и 4.0 и NetWare (Novell). 4, с.45]
В иерархических локальных сетях имеется один или несколько специальных компьютеров — серверов, на которых хранится информация, совместно используемая различными пользователями.
Сервер в иерархических сетях — это постоянное хранилище разделяемых ресурсов. Сам сервер может быть клиентом только сервера более высокого уровня иерархии. Поэтому иерархические сети иногда называются сетями с выделенным сервером. Серверы обычно представляют собой высокопроизводительные компьютеры, возможно, с несколькими параллельно работающими процессорами, с винчестерами большой емкости, с высокоскоростной сетевой картой (100 Мбит/с и более). Компьютеры, с которых осуществляется доступ к информации на сервере, называются станциями или клиентами.
Локальные компьютерные сети классифицируются по назначению:
Сети терминального обслуживания. В них включается ЭВМ и периферийное оборудование, используемое в монопольном режиме компьютером, к которому оно подключается, или быть общесетевым ресурсом.
Сети, на базе которых построены системы управления производством и учрежденческой деятельности. Они объединяются группой стандартов МАР/ТОР. В МАР описываются стандарты, используемые в промышленности. ТОР описывают стандарты для сетей, применяемых в офисных сетях.
Сети, которые объединяют системы автоматизации, проектирования. Рабочие станции таких сетей обычно базируются на достаточно мощных персональных ЭВМ, например фирмы Sun Microsystems.
Сети, на базе которых построены распределенные вычислительные системы.
По классификационному признаку локальные компьютерные сети делятся на кольцевые, шинные, звездообразные, древовидные;
По признаку скорости — на низкоскоростные (до 10 Мбит/с), среднескоростные (до 100 Мбит/с), высокоскоростные (свыше 100 Мбит/с);
По типу метода доступа — на случайные, пропорциональные, гибридные;
По типу физической среды передачи — на витую пару, коаксиальный или оптоволоконный кабель, инфракрасный канал, радиоканал.
2.2 Структура локальных компьютерных сетей Способ соединения компьютеров называется структурой или топологией сети. Сети Ethernet могут иметь топологию «шина» и «звезда». В первом случае все компьютеры подключены к одному общему кабелю (шине), во втором — имеется специальное центральное устройство (хаб), от которого идут «лучи» к каждому компьютеру, т. е. каждый компьютер подключен к своему кабелю.
Структура типа «шина», рисунок 2(а), проще и экономичнее, так как для нее не требуется дополнительное устройство и расходуется меньше кабеля. Но она очень чувствительна к неисправностям кабельной системы. Если кабель поврежден хотя бы в одном месте, то возникают проблемы для всей сети. Место неисправности трудно обнаружить.
В этом смысле «звезда», рисунок 2 (б), более устойчива. Поврежденный кабель — проблема для одного конкретного компьютера, на работе сети в целом это не сказывается. Не требуется усилий по локализации неисправности.
В сети, имеющей структуру типа «кольцо», рисунок 2(в), информация передается между станциями по кольцу с переприемом в каждом сетевом контроллере. Переприем производится через буферные накопители, выполненные на базе оперативных запоминающих устройств, поэтому при выходе их строя одного сетевого контроллера может нарушиться работа всего кольца.
Достоинство кольцевой структуры — простота реализации устройств, а недостаток — низкая надежность.
Все рассмотренные структуры — иерархические. Однако, благодаря использованию мостов, специальных устройств, объединяющих локальные сети с разной структурой, из вышеперечисленных типов структур могут быть построены сети со сложной иерархической структурой[8].
2.3 Физическая среда передачи в локальных сетях Весьма важный момент — учет факторов, влияющих на выбор физической среды передачи (кабельной системы). Среди них можно перечислить следующие:
Требуемая пропускная способность, скорость передачи в сети;
Размер сети;
Требуемый набор служб (передача данных, речи, мультимедиа и т. д.), который необходимо организовать.
Требования к уровню шумов и помехозащищенности;
Общая стоимость проекта, включающая покупку оборудования, монтаж и последующую эксплуатацию.
Основная среда передачи данных ЛКС — неэкранированная витая пара, коаксиальный кабель, многомодовое оптоволокно. При примерно одинаковой стоимости одномодового и многомодового оптоволокна, оконечное оборудование для одномодового значительно дороже, хотя и обеспечивает большие расстояния. Поэтому в ЛКС используют, в основном, многомодовую оптику.
Основные технологии локальной компьютерной сети: Ethernet, ATM. Технологии FDDI (2 кольца), применявшаяся ранее для опорных сетей и имеющая хорошие характеристики по расстоянию, скорости и отказоустойчивости, сейчас мало используется, в основном, из-за высокой стоимости, как, впрочем, и кольцевая технология Token Ring, хотя обе они до сих пор поддерживаются на высоком уровне всеми ведущими вендорами, а в отдельных случаях (например, применение FDDI для опорной сети масштаба города, где необходима высокая отказоустойчивость и гарантированная доставка пакетов) использование этих технологий все еще может быть оправданным.
2.4 Типы локальной компьютерной сети
Ethernet — изначально коллизионная технология, основанная на общей шине, к которой компьютеры подключаются и «борются» между собой за право передачи пакета. Основной протокол — CSMA/CD (множественный доступ с чувствительностью несущей и обнаружению коллизий). Дело в том, что если две станции одновременно начнут передачу, то возникает ситуация коллизии, и сеть некоторое время «ждет», пока «улягутся» переходные процессы и опять наступит «тишина». Существует еще один метод доступа — CSMA/CA (Collision Avoidance) — то же, но с исключением коллизий. Этот метод применяется в беспроводной технологии Radio Ethernet или Apple Local Talk — перед отправкой любого пакета в сети пробегает анонс о том, что сейчас будет происходить передача, и станции уже не пытаются ее инициировать.
Ethernet бывает полудуплексный (Half Duplex), по всем средам передачи: источник и приемник «говорит по очереди» (классическая коллизионная технология) и полнодуплексный (Full Duplex), когда две пары приемника и передатчика на устройствах говорят одновременно. Этот механизм работает только на витой паре (одна пара на передачу, одна пара на прием) и на оптоволокне (одна пара на передачу, одна пара на прием).
Ethernet различается по скоростям и методам кодирования для различной физической среды, а также по типу пакетов (Ethernet II, 802.3, RAW, 802.2 (LLC), SNAP).
Ethernet различается по скоростям: 10 Мбит/с, 100 Мбит/с, 1000 Мбит/с (Гигабит). Поскольку недавно ратифицирован стандарт Gigabit Ethernet для витой пары категории 5, можно сказать, что для любой сети Ethernet могут быть использованы витая пара, одномодовое (SMF) или многомодовое (MMF) оптоволокно. В зависимости от этого существуют различные спецификации:
10 Мбит/с Ethernet: 10BaseT, 10BaseFL, (10Base2 и 10Base5 существуют для коаксиального кабеля и уже не применяются);
100 Мбит/с Ethernet: 100BaseTX, 100BaseFX, 100BaseT4, 100BaseT2;
Gigabit Ethernet: 1000BaseLX, 1000BaseSX (по оптике) и 1000BaseTX (для витой пары) Существуют два варианта реализации Ethernet на коаксиальном кабеле, называемые «тонкий» и «толстый» Ethernet (Ethernet на тонком кабеле 0,2 дюйма и Ethernet на толстом кабеле 0,4 дюйма)[9. с.57].
Тонкий Ethernet использует кабель типа RG-58A/V (диаметром 0,2 дюйма). Для маленькой сети используется кабель с сопротивлением 50 Ом. Коаксиальный кабель прокладывается от компьютера к компьютеру. У каждого компьютера оставляют небольшой запас кабеля на случай возможности его перемещения. Длина сегмента 185 м, количество компьютеров, подключенных к шине — до 30.
После присоединения всех отрезков кабеля с BNC-коннекторами (Bayonel-Neill-Concelnan) к Т-коннекторам (название обусловлено формой разъема, похожей на букву «Т») получится единый кабельный сегмент. На его обоих концах устанавливаются терминаторы («заглушки»). Терминатор конструктивно представляет собой BNC-коннектор (он также надевается на Т-коннектор) с впаянным сопротивлением. Значение этого сопротивления должно соответствовать значению волнового сопротивления кабеля, т. е. для Ethernet нужны терминаторы с сопротивлением 50 Ом.
Толстый Ethernet — сеть на толстом коаксиальном кабеле, имеющем диаметр 0,4 дюйма и волновое сопротивление 50 Ом. Максимальная длина кабельного сегмента — 500 м.
Прокладка самого кабеля почти одинакова для всех типов коаксиального кабеля.
Для подключения компьютера к толстому кабелю используется дополнительное устройство, называемое трансивером. Трансивер подсоединен непосредственно к сетевому кабелю. От него к компьютеру идет специальный трансиверный кабель, максимальная длина которого 50 м. На обоих его концах находятся 15-контактные DIX-разъемы (Digital, Intel и Xerox). С помощью одного разъема осуществляется подключение к трансиверу, с помощью другого — к сетевой плате компьютера.
Трансиверы освобождают от необходимости подводить кабель к каждому компьютеру. Расстояние от компьютера до сетевого кабеля определяется длиной трансиверного кабеля.
Создание сети при помощи трансивера очень удобно. Он может в любом месте в буквальном смысле «пропускать» кабель. Эта простая процедура занимает мало времени, а получаемое соединение оказывается очень надежным.
Кабель не режется на куски, его можно прокладывать, не заботясь о точном месторасположении компьютеров, а затем устанавливать трансиверы в нужных местах. Крепятся трансиверы, как правило, на стенах, что предусмотрено их конструкцией.
При необходимости охватить локальной сетью площадь большую, чем это позволяют рассматриваемые кабельные системы, применяется дополнительные устройства — репитеры (повторители). Репитер имеет 2-портовое исполнение, т. е. он может объединить 2 сегмента по 185 м. Сегмент подключается к репитеру через Т-коннектор. К одному концу Т-коннектора подключается сегмент, а на другом ставится терминатор.
В сети может быть не больше четырех репитеров. Это позволяет получить сеть максимальной протяженностью 925 м.
Существуют 4-портовые репитеры. К одному такому репитеру можно подключить сразу 4 сегмента.
Длина сегмента для Ethernet на толстом кабеле составляет 500 м, к одному сегменту можно подключить до 100 станций. При наличии трансиверных кабелей до 50 м длиной, толстый Ethernet может одним сегментом охватить значительно большую площадь, чем тонкий. Эти репитеры имеют DIX-разъемы и могут подключаться трансиверами, как к концу сегмента, так и в любом другом месте.
Очень удобны совмещенные репитеры, т. е. подходящие и для тонкого и для толстого кабеля. Каждый порт имеет пару разъемов: DIX и BNC, но он не могут быть задействованы одновременно. Если необходимо объединять сегменты на разном кабеле, то тонкий сегмент подключается к BNC-разъему одного порта репитера, а толстый — к DIX-разъему другого порта.
Репитеры очень полезны, но злоупотреблять ими не стоит, так как они приводят к замедлению работы в сети.
Ethernet на витой паре Витая пара — это два изолированных провода, скрученных между собой. Для Ethernet используется 8-жильный кабель, состоящий из четырех витых пар. Для защиты от воздействия окружающей среды кабель имеет внешнее изолирующее покрытие.
Основной узел на витой паре — hub (в переводе называется накопителем, концентратором или просто хаб). Каждый компьютер должен быть подключен к нему с помощью своего сегмента кабеля. Длина каждого сегмента не должна превышать 100 м. На концах кабельных сегментов устанавливаются разъемы RJ-45. Одним разъемом кабель подключается к хабу, другим — к сетевой плате. Разъемы RJ-45 очень компактны, имеют пластмассовый корпус и восемь миниатюрных площадок.
Хаб — центральное устройство в сети на витой паре, от него зависит ее работоспособность. Располагать его надо в легкодоступном месте, чтобы можно было легко подключать кабель и следить за индикацией портов.
Хабы выпускаются на разное количество портов — 8, 12, 16 или 24. Соответственно к нему можно подключить такое же количество компьютеров.
Технология Fast Ethernet IEEE 802.3U
Технология Fast Ethernet была стандартизирована комитетом IEEE 802.3. Новый стандарт получил название IEEE 802.3U. Скорость передачи информации 100 Мбит/с. Fast Ethernet организуется на витой паре или оптоволокне.
В сети Fast Ethernet организуются несколько доменов конфликтов, но с обязательным учетом класса повторителя, используемого в доменах.
Репитеры Fast Ethernet (IEEE 802.3U) бывают двух классов и различаются по задержке в мкс. Соответственно в сегменте (логическом) может быть до двух репитеров класса 2 и один репитер класса 1. Для Ethernet (IEEE 802.3) сеть подчиняется правилу 5−4-3−2-1.
Правило 5−4-3−2-1 гласит: между любыми двумя рабочими станциями не должно быть более 5 физических сегментов, 4 репитеров (концентраторов), 3 «населенных» физических сегментов, 2 «населенных» межрепитерных связей (IRL), и все это должно представлять собой один коллизионный домен (25,6 мкс).
Физически из концентратора «растет» много проводов, но логически это все один сегмент Ethernet и один коллизионный домен, в связи с ним любой сбой одной станции отражается на работе других. Поскольку все станции вынуждены «слушать» чужие пакеты, коллизия происходит в пределах всего концентратора (на самом деле на другие порты посылается сигнал Jam, но это не меняет сути дела). Поэтому, хотя концентратор — это самое дешевое устройство и, кажется, что оно решает все проблемы заказчика, советуем постепенно отказаться от этой методики, особенно в условиях постоянного роста требований к ресурсам сетей, и переходить на коммутируемые сети. Сеть их 20 компьютеров, собранная на репитерах 100 Мбит/с, может работать медленнее, чем сеть из 20 компьютеров, включенных в коммутатор 10 Мбит/с. Если раньше считалось «нормальным» присутствие в сегменте до 30 компьютеров, то в нынешних сетях даже 3 рабочие станции могут загрузить весь сегмент.
В Fast Ethernet внутри одного домена конфликтов могут находиться не более двух повторителей класса II (рисунок 3) или не более одного повторителя класса I (рисунок 4)
Различные типы кабелей и устройств Fast Ethernet дают разную величину задержки RTD. Витая пара категории 5 — 1,11 бит-тайм на метр длины, оптоволоконный кабель 1 бит-тайм также на метр длины, сетевой адаптер — 50 бит-тайм, медиаконвертеры от 50 до 100, повторитель класса I -140, повторитель класса II — 92 бит-тайм. Задержку RTD между двумя сетевыми узлами рассчитать несложно, она равняется сумме соответствующих задержек их сетевых адаптеров и всех промежуточных сетевых компонентов (кабелей, повторителей).
В представленном на рисунке 5 примере сети задержка сигнала на пути от ПК, А до ПК В равна 373,15 бит-тайм. Разумеется, задержка RTD между любыми двумя узлами не должна превышать 512 бит-тайм. Отсюда вытекают ограничения на число повторителей (не более двух, класса II) и на физические размеры сетей Fast Ethernet. Максимальный размер сети на базе витой пары (спецификация 100Base-TX) с двумя повторителями класса II составляет 205 м, а два компьютера (устройства DTE) могут быть связаны между собой отрезком оптоволоконного кабеля длиной 412 м.
Технология Gigabit Ethernet
Следующий шаг в развитии технологии Ethernet — разработка проекта стандарта IEEE-802.32. Данный стандарт предусматривает скорость обмена информацией между станциями локальной сети 1 Гбит/с. Предполагая, что устройства Gigabit Ethernet будут объединять сегменты сетей с Fast Ethernet со скоростями 100 Мбит/с. Разрабатываются сетевые карты со скоростью 1 Гбит/с, а также серия сетевых устройств, таких как коммутаторы и маршрутизаторы.
В сети с Gigabit Ethernet будет использоваться управление трафиком, контроль перегрузок и обеспечение качества обслуживания (Quality Of Service — QOS). Стандарт Gigabit Ethernet — один из серьезных соперников развивающейся сегодня технологии АТМ.
Технологии АТМ Сеть АТМ имеет звездообразную топологию. Сеть АТМ строится на основе одного или нескольких коммутаторов, являющихся неотъемлемой частью данной коммуникационной структуры.
Высокая скорость передачи и чрезвычайно низкая вероятность ошибок в волоконно-оптических системах выдвигают на первый план задачу создания высокопроизводительных систем коммутации на основе стандартов АТМ.
Простейший пример такой сети — один коммутатор, обеспечивающий коммутацию пакетов, данных и несколько оконечных устройств.
АТМ — это метод передачи информации между устройствами в сети маленькими пакетами фиксированной длины, названными ячейками (cells). Фиксация размеров ячейки имеет ряд существенных преимуществ по сравнению с пакетами переменной длины.
Во-первых, ячейки фиксированной длины требуют минимальной обработки при операциях маршрутизации в коммутаторах. Это позволяет максимально упростить схемные решения коммутаторов при высоких скоростях коммутации.
Во-вторых, все виды обработки ячеек по сравнению с обработкой пакетов переменной длины значительно проще, так как отпадает необходимость в вычислении длины ячейки.
В-третьих, в случае применения пакетов переменной длины передача длинного пакета данных могла бы вызвать задержку выдачи в линию пакетов с речью или видео, что привело бы к их искажению.
Модель АТМ имеет четырехуровневую структуру. Различают несколько уровней:
пользовательский (User Layer) — включает уровни, начиная с сетевого и выше (IPX/SPX или TCP/IP);
адаптации (АТМ Adaptation Layer — AAL);
ATM (ATM Layer);
физический (Physical Layer).
Пользовательский уровень обеспечивает создание сообщения, которое должно быть передано в сеть АТМ и соответствующим образом преобразовано.
Уровень адаптации (AAL) обеспечивает доступ пользовательских приложений к коммутирующим устройствам АТМ. Данный уровень формирует стандартные АТМ-ячейки и передает их передает их на уровень АТМ для последующей обработки.
Физический уровень обеспечивает передачу ячеек через разнообразные коммутационные среды. Данный уровень состоит из двух подуровней — подуровня преобразования передачи, реализующего различные протоколы передачи по физическим линиям, и подуровня адаптации к среде передачи.
Оконечные устройства АТМ — сети, подключающиеся к коммутаторам через интерфейс, называемый UNI — интерфейс пользователя с сетью. UNI может быть интерфейсом между рабочей станцией, ПК, АТС, маршрутизатором, или каким угодно «черным ящиком» и АТМ-коммутатором.
3. Глобальные компьютерные сети
3.1 Характеристика глобальных компьютерных сетей Первоначально глобальные сети решали задачу доступа удаленных ЭВМ и терминалов к мощным ЭВМ, которые назывались host-компьютер (часто используют термин сервер). Такие подключения осуществлялись через коммутируемые или некоммутируемые каналы телефонных сетей или через спутниковые выделенные сети передачи данных, например, сети, работающие по протоколу Х.25.
Для подключения к таким сетям передачи данных использовались модемы, работающие под управлением специальных телекоммуникационных программ, таких как BITCOM, COMIT, PROCOM, MITEZ и т. д. Эти программы, работая под операционной системой MS-DOS, обеспечивали установление соединения с удаленным компьютером и обмен с ним информацией.
С закатом эры MS-DOS их место занимает встроенное в операционные системы коммуникационное программное обеспечение. Примером могут служить средства Windows95 или удаленный доступ (RAS) в WindowsNT.
В настоящее время все реже используются подключенные к глобальным сетям одиночные компьютеры. Это в основном домашние ПК. В основной массе абонентами компьютерных сетей являются компьютеры, включенные в локальные вычислительные сети (ЛВС), и поэтому часто решается задача организации взаимодействия нескольких удаленных локальных вычислительных сетей. При этом требуется обеспечить удаленному компьютеру связь с любым компьютером удаленной локальной сети, и, наоборот, любому компьютеру ЛВС с удаленным компьютером. Последнее становится весьма актуальным при расширении парка домашних и персональных компьютеров.
Глобальные сети Wide Area Networks, WAN), которые также называют территориальными компьютерными сетями, служат для того, чтобы предоставлять свои сервисы большому количеству конечных абонентов, разбросанных по большой территории — в пределах области, региона, страны, континента или всего земного шара. Ввиду большой протяженности каналов связи построение глобальной сети требует очень больших затрат, в которые входит стоимость кабелей и работ по их прокладке, затраты на коммутационное оборудование и промежуточную усилительную аппаратуру, обеспечивающую необходимую полосу пропускания канала, а также эксплуатационные затраты на постоянное поддержание в работоспособном состоянии разбросанной по большой территории аппаратуры сети.
Типичными абонентами глобальной компьютерной сети являются локальные сети предприятий, расположенные в разных городах и странах, которым нужно обмениваться данными между собой. Услугами глобальных сетей пользуются также и отдельные компьютеры. Крупные компьютеры класса мэйнфреймов обычно обеспечивают доступ к корпоративным данным, в то время как персональные компьютеры используются для доступа к корпоративным данным и публичным данным Internet.
Глобальные сети обычно создаются крупными телекоммуникационными компаниями для оказания платных услуг абонентам. Такие сети называют публичными или общественными. Существуют также такие понятия, как оператор сети и поставщик услуг сети. Оператор сети (network operator) — это та компания, которая поддерживает нормальную работу сети. Поставщик услуг, часто называемый также провайдером (service provider), — та компания, которая оказывает платные услуги абонентам сети. Владелец, оператор и поставщик услуг могут объединяться в одну компанию, а могут представлять и разные компании.
Гораздо реже глобальная сеть полностью создается какой-нибудь крупной корпорацией (такой, например, как Dow Jones или «Транснефть») для своих внутренних нужд. В этом случае сеть называется частной. Очень часто встречается и промежуточный вариант — корпоративная сеть пользуется услугами или оборудованием общественной глобальной сети, но дополняет эти услуги или оборудование своими собственными. Наиболее типичным примером здесь является аренда каналов связи, на основе которых создаются собственные территориальные сети.
Кроме вычислительных глобальных сетей существуют и другие виды территориальных сетей передачи информации. В первую очередь это телефонные и телеграфные сети, работающие на протяжении многих десятков лет, а также телексная сеть.
Ввиду большой стоимости глобальных сетей существует долговременная тенденция создания единой глобальной сети, которая может передавать данные любых типов: компьютерные данные, телефонные разговоры, факсы, телеграммы, телевизионное изображение, телетекс (передача данных между двумя терминалами), видеотекс (получение хранящихся в сети данных на свой терминал) и т. д., и т. п. На сегодня существенного прогресса в этой области не достигнуто, хотя технологии для создания таких сетей начали разрабатываться достаточно давно — первая технология для интеграции телекоммуникационных услуг ISDN стала развиваться с начала 70-х годов. Пока каждый тип сети существует отдельно и наиболее тесная их интеграция достигнута в области использования общих первичных сетей — сетей PDH и SDH, с помощью которых сегодня создаются постоянные каналы в сетях с коммутацией абонентов. Тем не менее, каждая из технологий, как компьютерных сетей, так и телефонных, старается сегодня передавать «чужой» для нее трафик с максимальной эффективностью, а попытки создать интегрированные сети на новом витке развития технологий продолжаются под преемственным названием Broadband ISDN (B-ISDN), то есть широкополосной (высокоскоростной) сети с интеграцией услуг. Сети B-ISDN будут основываться на технологии АТМ, как универсальном транспорте, и поддерживать различные службы верхнего уровня для распространения конечным пользователям сети разнообразной информации — компьютерных данных, аудиои видеоинформации, а также организации интерактивного взаимодействия пользователей.
В странах СНГ крупнейшими глобальными сетями считаются Спринт сеть (современное название Global One), сеть Инфотел, сети Роснет и Роспак, работающие по протоколу Х.25, а также сети Relcom и Internet, работающие по протоколу TCP/IP.
В качестве сетевого оборудования применяются центры коммутации, которые для сетей Х.25 часто исполняются как специализированные устройства фирм-производителей Siemens, Telenet, Alcatel, Ericsson и др., а для сети с TCP/IP используются маршрутизаторы фирм Cisco и Decnis. Структура сетей показана на рисунке 6[11, с. 95.].
3.2 Сеть Internet
Internet является старейшей глобальной сетью. Internet предоставляет различные способы взаимодействия удаленных компьютеров и совместного использования распределенных услуг и информационных ресурсов.
Internet работает по протоколу TCP/IP. Основным «продуктом», который вы можете найти в Internet, является информация. Эта информация собрана в файлы, которые хранятся на хост-компьютерах, и она может быть представлена в различных форматах. Формат данных зависит от того, каким сетевым сервисом вы воспользовались, и какие возможности по отображению информации есть на ПК. Любой компьютер, который поддерживает протоколы TCP/IP, может выступать в качестве хост-компьютера.
Ключом к получению информации в Internet являются адреса ресурсов. Вам придется использовать почтовые адреса (mail addresses) при пересылке сообщений по электронной почте своим коллегам и адреса хост-компьютеров (host names) для соединения с ними и для получения файлов с информацией.
Одним из недостатков передачи данных по сети Internet является недостаточная защита информации.
Услуги Internet
Передача файлов по протоколу FTP. Информационный сервис, основанный на передаче файлов с использованием протокола FTP (протокол передачи файлов).
Поиск файлов с помощью системы Archie. Archie — первая поисковая система необходима для нахождения нужной информации, разбросанной по Internet.
Электронная почта. ЭП — это вид сетевого сервиса. ЭП предусматривает передачу сообщений от одного пользователя, имеющего определенный компьютерный адрес, к другому. Она позволяет быстро связаться друг с другом.
Списки рассылки. Список рассылки — это средство, предоставляющее возможность вести дискуссию группе пользователей, имеющих общие интересы.
Телеконференции. Телеконференции в Internet предоставляют возможность вести дискуссии (при помощи сообщений) по тысячам размещенных тем.
Возможности сети Internet
Интернет представляет собой глобальную компьютерную сеть, содержащую гигантский объем информации по любой тематике, доступной на коммерческой основе для всех желающих, и предоставляющую большой спектр информационных услуг. В настоящее время Интернет представляет собой объединение более 40 000 различных локальных сетей, за что она получила название сеть сетей. Каждая локальная сеть называется узлом или сайтом, а юридическое лицо, обеспечивающее работу сайта — провайдером. Сайт состоит из нескольких компьютеров — серверов, каждый из которых предназначен для хранения информации определенного типа и в определенном формате. Каждый сайт и сервер на сайте имеют уникальные имена, посредствам которых они идентифицируются в Интернет.
Для подключения в Интернет пользователь должен заключить контракт на обслуживание с одним из провайдеров в его регионе[12,с.207].
Доступ к информационным ресурсам Имеется несколько видов информационных ресурсов в Интернет, различающихся характером информации, способом ее организации, методами работы с ней. Каждый вид информации хранится на сервере соответствующего типа, называемых по типу хранимой информации. Для каждой информационной системы существуют свои средства поиска необходимой информации во всей сети Интернет по ключевым словам. В Интернет работают следующие информационные системы:
World Wide Web (WWW) — Всемирная информационная паутина. Эта система в настоящее время является наиболее популярной и динамично развивающейся. Информация в WWW состоит из страниц (документов). Страницы могут содержать графику, сопровождаться анимацией изображений и звуком, воспроизводимым непосредственно в процессе поступления информации на экран пользователя. Информация в WWW организована в форме гипертекста. Это означает, что в документе существуют специальные элементы — текст или рисунки, называемые гипертекстовыми ссылками (или просто ссылками), щелчок мышью на которых выводит на экран другой документ, на который указывает данная ссылка. При этом новый документ может храниться на совершенно другом сайте, возможно, расположенном в другом конце земного шара.
Gopher-система. Эта система является предшественником WWW и сейчас утрачивает свое значение, хотя пока и поддерживается в Интернет. Просмотр информации на Gopher-сервере организуется с помощью древовидного меню, аналогичного меню в приложениях Windows или аналогично дереву каталогов (папок) файловой системы. Меню верхнего уровня состоит из перечня крупных тем, например, экономика, культура, медицина и др. Меню следующих уровней детализируют выбранный элемент меню предыдущего уровня. Конечным пунктом движения вниз по дереву (листом дерева) служит документ аналогично тому, как конечным элементом в дереве каталогов является файл.
FTP (File Transfer Protocol) — система, служащая для пересылки файлов. Работа с системой аналогична работе с системой NC. Файлы становятся доступными для работы (чтение, исполнения) только после копирования на собственный компьютер. Хотя пересылка файлов может быть выполнена с помощью WWW, FTP-системы продолжают оставаться весьма популярными ввиду их быстродействия и простоты использования.
Адресация и протоколы в Интернет Компьютер, подключенный к Интернет, и использующий для связи с другими компьютерами сети специальный протокол TCP/IP, называется хостом. Для идентификации каждого хоста в сети имеются следующие два способа адресации, всегда действующие совместно.
Первый способ адресации, называемый IP-адресом, аналогичен телефонному номеру. IP-адрес хоста назначается провайдером, состоит из четырех групп десятичных цифр (четырех байтов), разделенных точками, заканчивается точкой.
Аналогично телефонам, каждый компьютер в Интернет должен иметь уникальный IP-адрес. Обычно пользователь свой IP-адрес не использует. Неудобство IP-адреса состоит в его безликости, отсутствии смысловой характеристики хоста и потому трудной запоминаемости.
Второй способ идентификации компьютеров называется системой доменных имен, именуемой DNS (Domain Naming System).
DNS-имена назначаются провайдером и, например, имеет вид: win.smtp.dol.ru.
Приведенное выше доменное имя состоит из четырех, разделенных точками, простых доменов (или просто доменов). Число простых доменов в полном доменном имени может быть произвольным. Каждый из простых доменов характеризует некоторое множество компьютеров. Домены в имени вложены друг в друга, так что любой домен (кроме последнего) представляет собой подмножество домена, следующего за ним справа. Так, в приведенном примере DNS-имени домены имеют следующий смысл:
ru — домены страны, в данном случае обозначает все домены в России;
dol — домен провайдера, в данном случае обозначает компьютеры, локальной сети российской фирмы Demos;
smtp — домен группы серверов Demos, обслуживающих систему электронной почты;
win — имя конкретного компьютера из группы smtp.
Таким образом, по всей организации и внутренней структуре DNS-система напоминает полный путь к конкретному файлу в дереве каталогов и файлов. Одно из различий состоит в том, что домен более высокого уровня в DNS-имени находится правее. Так же, как и IP-адрес, DNS-имя должно однозначно идентифицировать компьютер в Интернет. Полное доменное имя должно заканчиваться точкой.
Протокол Frame Relay (FR)
Frame Relay — это протокол, который описывает интерфейс доступа к сетям быстрой коммутации пакетов. Он позволяет эффективно передавать крайне неравномерно распределенный по времени трафик и обеспечивает высокие скорости прохождения информации через сеть, малые времена задержек и рациональное использование полосы пропускания.
По сетям FR возможна передача не только собственно данных, но и также оцифрованного голоса.
Согласно семиуровневой модели взаимодействия открытых систем OSI, FR — протокол второго уровня. Однако он не выполняет некоторых функций, обязательных для протоколов этого уровня, но выполняет функции протоколов сетевого уровня. В то же время FR позволяет устанавливать соединение через сеть, что в соответствии с OSI, относится к функции протоколов третьего уровня.
3.3 Примеры глобальных сетей
В СНГ в последние годы интенсивно внедряется сетевая компьютерная инфраструктура. Независимые государства развивают свои компьютерные сети и активно включаются в мировое информационное сообщество на базе глобальных международных сетей.
В сетях СНГ основными каналами связи являются: коммутируемая телефонная сеть общего пользования, выделенные телефонные линии связи, специальные сети передачи данных (ПД-200, «Искра») и сеть абонентского телеграфа. В последнее время используются также линии связи на оптоволоконных кабелях, сотовая связь и радиосвязь. Основные национальные сети, а также международные сети, услугами которых могут пользоваться граждане СНГ:
БЕЛИКОС — белорусский узел коммерческой сети СИТЕК, работающей на территории СНГ, Балтии и Болгарии.
ИКСМИР (информационно-коммерческая сеть «Мировой информационный рынок») — сеть функционирует в 12 регионах СНГ. Обеспечивает электронную почту, коммерческие предложения, рекламу, курсы валют, биржевые новости, цены на рынках, законодательства стран и расписания движения железнодорожного и авиационного транспорта.
СИТЕК — объединение национальных и региональных сетей коммерческого направления: биржевой и валютный рынки, товары и услуги, законодательство.
ЭСТ — электронная система торгов фондовой биржи дает возможность удаленным клиентам участвовать в торгах биржи.
EUNET / RELCOM — международная коммерческая сеть, ориентированная в основном на предприятия и организации среднего класса. Популярность сети обусловлена приемлемым уровнем сервиса и относительно низкими ценами.
FIDONET — международная некоммерческая сеть, обеспечивающая свободный обмен информацией через BBS — электронные доски объявлений. Абоненты сети пользуются информацией BBS бесплатно.
PAY — система электронных платежей, объединяет многие банки России, Украины, Беларуси, Казахстана и Кыргызстана, а также позволяет производить платежи в Азербайджане, Узбекистане и государствах Балтии.
SPRINTNET — крупнейшая в мире сеть электронной почты. Основной физической средой передачи данных является оптоволоконный кабель, включая трансатлантический канал. Сеть осуществляет передачу сообщений на факсимильные аппараты, средства телексной и телетексной связи, обеспечивает электронные платежи и международные расчеты. Дает возможность пользователям доступа к большинству мировых сетей,
SWIFT — общество международных межбанковских финансовых телекоммуникаций. Сеть гарантирует оперативную пересылку и безопасное хранение финансовых документов абонентов в 130 странах мира и бесперебойное обслуживание клиентов в течение 24 часов.
Особая роль среди глобальных сетей принадлежит мировому сообществу сетей Internet. 14, с.30]
3.4 Отличия локальных сетей от глобальных сетей
Рассмотрим основные отличия локальных сетей от глобальных более детально. Так как в последнее время эти отличия становятся все менее заметными, то будем считать, что в данном разделе мы рассматриваем сети конца 80-х годов, когда эти отличия проявлялись весьма отчетливо, а современные тенденции сближения технологий локальных и глобальных сетей будут рассмотрены в следующем разделе.
Протяженность, качество и способ прокладки линий связи. Класс локальных вычислительных сетей по определению отличается от класса глобальных сетей небольшим расстоянием между узлами сети. Это в принципе делает возможным использование в локальных сетях качественных линий связи: коаксиального кабеля, витой пары, оптоволоконного кабеля, которые не всегда доступны (из-за экономических ограничений) на больших расстояниях, свойственных глобальным сетям, В глобальных сетях часто применяются уже существующие линии связи (телеграфные или телефонные), а в локальных сетях они прокладываются заново. Топология Локальные сети Распределенная программа Сложность методов передачи и оборудования. В условиях низкой надежности физических каналов в глобальных сетях требуются более сложные, чем в локальных сетях, методы передачи данных и соответствующее оборудование. Так, в глобальных сетях широко применяются модуляция, асинхронные методы, сложные методы контрольного суммирования, квитирование и повторные передачи искаженных кадров. С другой стороны, качественные линии связи в локальных сетях позволили упростить процедуры передачи данных за счет применения немодулированных сигналов и отказа от обязательного подтверждения получения пакета.
Скорость обмена данными. Одним из главных отличий локальных сетей от глобальных является наличие высокоскоростных каналов обмена данными между компьютерами, скорость которых (10,16и100 Мбит/с) сравнима со скоростями работы устройств и узлов компьютера — дисков, внутренних шин обмена данными и т. п. За счет этого у пользователя локальной сети, подключенного к удаленному разделяемому ресурсу (например, диску сервера), складывается впечатление, что он пользуется этим диском, как «своим». Для глобальных сетей типичны гораздо более низкие скорости передачи данных — 2400,9600,28 800,33600 бит/с, 56 и 64 Кбит/с и только на магистральных каналах — до 2 Мбит/с.
Разнообразие услуг. Локальные сети предоставляют, как правило, широкий набор услуг — это различные виды услуг файловой службы, услуги печати, услуги службы передачи факсимильных сообщений, услуги баз данных, электронная почта и другие, в то время как глобальные сети в основном предоставляют почтовые услуги и иногда файловые услуги с ограниченными возможностями — передачу файлов из публичных архивов удаленных серверов без предварительного просмотра их содержания.
Оперативность выполнения запросов. Время прохождения пакета через локальную сеть обычно составляет несколько миллисекунд, время же его передачи через глобальную сеть может достигать нескольких секунд. Низкая скорость передачи данных в глобальных сетях затрудняет реализацию служб для режима on-line, который является обычным для локальных сетей.
Разделение каналов. В локальных сетях каналы связи используются, как правило, совместно сразу несколькими узлами сети, а в глобальных сетях — индивидуально.
Использование метода коммутации пакетов. Важной особенностью локальных сетей является неравномерное распределение нагрузки. Отношение пиковой нагрузки к средней может составлять 100:1 и даже выше. Такой трафик обычно называют пульсирующим. Из-за этой особенности трафика в локальных сетях для связи узлов применяется метод коммутации пакетов, который для пульсирующего трафика оказывается гораздо более эффективным, чем традиционный для глобальных сетей метод коммутации каналов. Эффективность метода коммутации пакетов состоит в том, что сеть в целом передает в единицу времени больше данных своих абонентов. В глобальных сетях метод коммутации пакетов также используется, но наряду с ним часто применяется и метод коммутации каналов, а также некоммутируемые каналы — как унаследованные технологии некомпьютерных сетей.
Масштабируемость. «Классические» локальные сети обладают плохой масштабируемостью из-за жесткости базовых топологий, определяющих способ подключения станций и длину линии. При использовании многих базовых топологий характеристики сети резко ухудшаются при достижении определенного предела по количеству узлов или протяженности линий связи. Глобальным же сетям присуща хорошая масштабируемость, так как они изначально разрабатывались в расчете на работу с произвольными топологиями. 15, с.37−38]
3.5 Тенденция к сближению локальных сетей и глобальных сетей Если принять во внимание все перечисленные выше различия локальных и глобальных сетей, то становится понятным, почему так долго могли существовать раздельно два сообщества специалистов, занимающиеся этими двумя видами сетей. Но за последние годы ситуация резко изменилась.
Специалисты по локальным сетям, перед которыми встали задачи объединения нескольких локальных сетей, расположенных в разных, географически удаленных друг от друга пунктах, были вынуждены начать освоение чуждого для них мира глобальных сетей и телекоммуникаций. Тесная интеграция удаленных локальных сетей не позволяет рассматривать глобальные сети в виде «черного ящика», представляющего собой только инструмент транспортировки сообщений на большие расстояния. Поэтому все, что связано с глобальными связями и удаленным доступом, стало предметом повседневного интереса многих специалистов по локальным сетям.
С другой стороны, стремление повысить пропускную способность, скорость передачи данных, расширить набор и оперативность служб, другими словами, стремление улучшить качество предоставляемых услуг — все это заставило специалистов по глобальным сетям обратить пристальное внимание на технологии, используемые в локальных сетях. Таким образом, в мире локальных и глобальных сетей явно наметилось движение навстречу друг другу, которое уже сегодня привело к значительному взаимопроникновению технологий локальных и глобальных сетей.
Одним из проявлений этого сближения является появление сетей масштаба большого города (MAN), занимающих промежуточное положение между локальными и глобальными сетями. При достаточно больших расстояниях между узлами они обладают качественными линиями связи и высокими скоростями обмена, даже более высокими, чем в классических локальных сетях. Как и в случае локальных сетей, при построении MAN уже существующие линии связи не используются, а прокладываются заново.
Сближение в методах передачи данных происходит на платформе оптической цифровой (немодулированной) передачи данных по оптоволоконным линиям связи. Из-за резкого улучшения качества каналов связи в глобальных сетях начали отказываться от сложных и избыточных процедур обеспечения корректности передачи данных. Примером могут служить сети frame relay. В этих сетях предполагается, что искажение бит происходит настолько редко, что ошибочный пакет просто уничтожается, а все проблемы, связанные с его потерей, решаются программами прикладного уровня, которые непосредственно не входят в состав сети frame relay.
За счет новых сетевых технологий и, соответственно, нового оборудования, рассчитанного на более качественные линии связи, скорости передачи данных в уже существующих коммерческих глобальных сетях нового поколения приближаются к традиционным скоростям локальных сетей (в сетях frame relay сейчас доступны скорости 2 Мбит/с), а в глобальных сетях АТМ и превосходят их, достигая 622 Мбит/с.
В результате службы для режима on-line становятся обычными и в глобальных сетях. Наиболее яркий пример — гипертекстовая информационная служба World Wide Web, ставшая основным поставщиком информации в сети Internet. Ее интерактивные возможности превзошли возможности многих аналогичных служб локальных сетей, так что разработчикам локальных сетей пришлось просто позаимствовать эту службу у глобальных сетей. Процесс переноса служб и технологий из глобальных сетей в локальные приобрел такой массовый характер, что появился даже специальный термин — intranet-технологии (intra — внутренний), обозначающий применение служб внешних (глобальных) сетей во внутренних — локальных.
Локальные сети перенимают у глобальных сетей и транспортные технологии. Все новые скоростные технологии (Fast Ethernet, Gigabit Ethernet, l00VG-AnyLAN) поддерживают работу по индивидуальным линиям связи наряду с традиционными для локальных сетей разделяемыми линиями. Для организации индивидуальных линий связи используется специальный тип коммуникационного оборудования — коммутаторы. Коммутаторы локальных сетей соединяются между собой по иерархической схеме, подобно тому, как это делается в телефонных сетях: имеются коммутаторы нижнего уровня, к которым непосредственно подключаются компьютеры сети, коммутаторы следующего уровня соединяют между собой коммутаторы нижнего уровня и т. д. Коммутаторы более высоких уровней обладают, как правило, большей производительностью и работают с более скоростными каналами, уплотняя данные нижних уровней. Коммутаторы поддерживают не только новые протоколы локальных сетей, но и традиционные — Ethernet и Token Ring.
В локальных сетях в последнее время уделяется такое же большое внимание методам обеспечения защиты информации от несанкционированного доступа, как и в глобальных сетях. Такое внимание обусловлено тем, что локальные сети перестали быть изолированными, чаще всего они имеют выход в «большой мир» через глобальные связи. При этом часто используются те же методы — шифрование данных, аутентификация пользователей, возведение защитных барьеров, предохраняющих от проникновения в сеть извне.
И наконец, появляются новые технологии, изначально предназначенные для обоих видов сетей. Наиболее ярким представителем нового поколения технологий является технология АТМ, которая может служить основой не только локальных и глобальных компьютерных сетей, но и телефонных сетей, а также широковещательных видеосетей, объединяя все существующие типы трафика в одной транспортной сети. 15, с.41]
Таким образом, классифицируя сети по территориальному признаку, различают локальные (LAN), глобальные (WAN) и городские (MAN) сети.
Локальные компьютерные сети — сосредоточены на территории не более 1−2 км; построены с использованием дорогих высококачественных линий связи, которые позволяют, применяя простые методы передачи данных, достигать высоких скоростей обмена данными порядка 100 Мбит/с. Предоставляемые услуги отличаются широким разнообразием и обычно предусматривают реализацию в режиме on-line.
Глобальные компьютерные сети — объединяют компьютеры, рассредоточенные на расстоянии сотен и тысяч километров. Часто используются уже существующие не очень качественные линии связи. Более низкие, чем в локальных сетях, скорости передачи данных (десятки килобит в секунду) ограничивают набор предоставляемых услуг передачей файлов, преимущественно не в оперативном, а в фоновом режиме, с использованием электронной почты. Для устойчивой передачи дискретных данных применяются более сложные методы и оборудование, чем в локальных сетях.
Городские — занимают промежуточное положение между локальными и глобальными сетями. При достаточно больших расстояниях между узлами (десятки километров) они обладают качественными линиями связи и высокими скоростями обмена, иногда даже более высокими, чем в классических локальных сетях. Как и в случае локальных сетей, при построении MAN уже существующие линии связи не используются, а прокладываются заново.
Мы рассмотрели сравнительные характеристики, достоинства и недостатки наиболее популярных сейчас информационных технологий: локальной компьютерной сети и глобальной компьютерной сети. Существует много других эффективных и полезных технологий, число их увеличивается с каждым днем, поэтому, чтобы не отстать от ритма современной жизни, нужно постоянно быть в курсе новинок технических средств ПЭВМ, системного программного обеспечения и прикладных компьютерных технологий.
4. Основные протоколы обмена в компьютерных сетях Для обеспечения согласованной работы в сетях передачи данных используются различные коммуникационные протоколы передачи данных — наборы правил, которых должны придерживаться передающая и принимающая стороны для согласованного обмена данными. Протоколы — это наборы правил и процедур, регулирующих порядок осуществления некоторой связи. Протоколы — это правила и технические процедуры, позволяющие нескольким компьютерам при объединении в сеть общаться друг с другом.
Совокупность стандартов, определяющих параметры взаимодействия компьютеров, стали называть протоколом. Протоколы различны в зависимости от структуры сети. Для организации передачи информации в сети, разработали специальные правила — стандарты, затем эти правила объединили в протоколы.
Протокол определяет способ доступа компьютера к кабелю — передающей среде, и также способ передачи информации от одного компьютера к другому.
Существует множество протоколов. И хотя все они участвуют в реализации связи, каждый протокол имеет различные цели, выполняет различные задачи, обладает своими преимуществами и ограничениями.
Протоколы работают на разных уровнях модели взаимодействия открытых систем OSI/ISO. Функции протоколов определяются уровнем, на котором он работает. Несколько протоколов могут работать совместно. Это так называемый стек, или набор, протоколов.
Как сетевые функции распределены по всем уровням модели OSI, так и протоколы совместно работают на различных уровнях стека протоколов. Уровни в стеке протоколов соответствуют уровням модели OSI. В совокупности протоколы дают полную характеристику функций и возможностей стека.
Передача данных по сети, с технической точки зрения, должна состоять из последовательных шагов, каждому из которых соответствуют свои процедуры или протокол. Таким образом, сохраняется строгая очередность в выполнении определенных действий.
Кроме того, все эти действия должны быть выполнены в одной и той же последовательности на каждом сетевом компьютере. На компьютере-отправителе действия выполняются в направлении сверху вниз, а на компьютере-получателе снизу вверх.
Компьютер-отправитель в соответствии с протоколом выполняет следующие действия: Разбивает данные на небольшие блоки, называемыми пакетами, с которыми может работать протокол, добавляет к пакетам адресную информацию, чтобы компьютер-получатель мог определить, что эти данные предназначены именно ему, подготавливает данные к передаче через плату сетевого адаптера и далее — по сетевому кабелю.
Компьютер-получатель в соответствии с протоколом выполняет те же действия, но только в обратном порядке: принимает пакеты данных из сетевого кабеля; через плату сетевого адаптера передает данные в компьютер; удаляет из пакета всю служебную информацию, добавленную компьютером-отправителем, копирует данные из пакета в буфер — для их объединения в исходный блок, передает приложению этот блок данных в формате, который оно использует.
И компьютеру-отправителю, и компьютеру-получателю необходимо выполнить каждое действие одинаковым способом, с тем чтобы пришедшие, по сети данные совпадали с отправленными.
Если, например, два протокола будут по-разному разбивать данные на пакеты и добавлять информацию (о последовательности пакетов, синхронизации и для проверки ошибок), тогда компьютер, использующий один из этих протоколов, не сможет успешно связаться с компьютером, на котором работает другой протокол.
До середины 80-ых годов большинство локальных сетей были изолированными. Они обслуживали отдельные компании и редко объединялись в крупные системы. Однако, когда локальные сети достигли высокого уровня развития и объем передаваемой ими информации возрос, они стали компонентами больших сетей. Данные, передаваемые из одной локальной сети в другую по одному из возможных маршрутов, называются маршрутизированными. Протоколы, которые поддерживают передачу данных между сетями по нескольким маршрутам, называются маршрутизируемыми протоколами.
Windows NT Server содержит несколько протоколов, используемых при взаимодействии компьютеров:
NetBIOS (Network Basic Input/Output System)
NetBEUI (NetBIOS Extended User Interface)
TCP/IP (Transmission Control Protocol/Internet Protocol)
NWLink IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange)
DLC (Data Link Control)
AppleTalk
Streams
PPTP (Point-to-Point Tunneling Protocol)
XNS;
IPX/SPX и NWLmk;
Набор протоколов OSI.
Семейство протоколов TCP/IP широко применяется во всем мире для объединения компьютеров в сеть Internet, реализации обмена данными межу машинами. Основное внимание уделено примерам, основанным на реализации TCP/IP в ОС UNIX. Однако основные положения применимы ко всем реализациям TCP/IP.
Рассмотрим более подробно каждый стек протоколов.
Как говорилось выше, среди множества протоколов можно выделить наиболее распространенные.
NetBIOS (Network Basic Input/Output System)
Впервые протокол NetBIOS появился в 1984 году в качестве интерфейса передачи сообщений по локальной сети, разработанной компаниями IBM и Sytek. NetBIOS позволяет организовывать работу, как одноранговых сетей, так и сетей клиент-сервер.
NetBIOS использует для работы другой разработанный для него протокол NETBEUI. О нем мы поговорим чуть ниже. NetBIOS устанавливается автоматически при инсталляции Windows NT.
Основные особенности протокола NetBIOS:
Каждому компьютеру, который использует протокол NETBEUI присваивается логическое имя, например, BOSS. По этому имени к нему могут обратиться пользователи других компьютеров. Если говорить по другому — протокол NetBIOS использует для своей работы службу имен. Как же происходит это знакомство?
Компьютеры узнают имена друг друга «прослушивая» объявления при подключении каждого из них в сеть или посылая непосредственно запрос на конкретное имя. Например, BOSS заходит в сеть и «говорит»: «I'm ready», а потом может дать запрос на поиск имени другого компьютера, например Worker. Каждый компьютер хранит имена других компьютеров у себя в отдельной динамической таблице. В такой сети не нужен отдельный централизованный сервер имен. Но в этом способе знакомства есть и недостатки. Например, когда компьютер начинает «спрашивать» имя компьютера, который еще не объявил себя, он рассылает запрос этого имени по сети, но эта проблема может возникнуть не у одного компьютера. Поэтому все вот такие запросы существенно влияют, в обратную сторону, на производительность сети и даже могут вызывать проблемы перегрузки.
Итак, когда BOSS нашел компьютер Worker. Согласно протоколу NetBIOS он с будет с ним «выясняет отношения» (обмениваться данными) пока кому-то из них не надоест и он «повесит трубку», т. е. другими словами прекратит сеанс общения. В NetBIOS возможен другой способ передачи информации между компьютерами — циркулярная рассылка сообщений или каких-то уведомлений друг другу.
NetBIOS — чрезвычайно быстрый протокол с очень малыми затратами ресурсов компьютера на пересылку данных, поэтому он используется во многих базовых операциях Windows NT. К сожалению, этот протокол не поддерживает маршрутизации, следовательно, он не может использоваться в сетях с возможностями маршрутизации.
Сети, поддерживающие маршрутизацию, используют такие устройства, которые анализируют содержимое пакета информации и определяют точное его место следования. В крупных сетях, которые состоят из несколькими локальных (сети масштаба предприятия) пакеты информации могут следовать не только в пределах одной локальной сети. Таким сетям очень нужна поддержка маршрутизации. 18]
NetBEUI (NetBIOS Extended User Interface)
NetBEUI — простой транспортный сетевой протокол, разработанный для сетей NetBIOS. NetBEUI, как и NetBIOS, не поддерживает маршрутизации, поэтому он не в силах отличит локальное сообщение от не локального. Его не используют в глобальных сетях. Но зато NetBEUI — самый быстрый транспортный протокол из всех протоколов Windows NT. К числу достоинств NetBEUI относятся не только его скорость, но и хорошая защищенность от ошибок, простота реализации и малые затраты ресурсов компьютера. Самый главный недостаток NetBEUI — отсутствие маршрутизации, но у него есть и несколько других специфических недостатков.
Протокол NetBIOS работает совместно NetBEUI. Это основной протокол Windows NT, поскольку вся сетевая архитектура разработана на его основе, самый основной кирпичик этой архитектуры — поддержка службы имен. В Windows NT даже есть такой термин — NetBIOS-имя. NetBIOS устанавливается автоматически с Windows NT, кроме этого он самый простой, надежный и быстрый сетевой протокол
Кроме этого, NetBEUI используется в сетях Windows for Workgroups, Windows 3. x, DOS.
TCP/IP (Transmission Control Protocol/Internet Protocol)
TCP/IP это не один протокол, хотя часто его называют именно так. Это целое семейство протоколов. А в целом TCP/IP — единый промышленный стандарт, разработанный для глобальных сетей (Wide Area Networks, WAN). Протокол TCP/IP, начал свое развитие еще со времени создания первого протокола работающего в сети ARPAnet, но окончательно создан был агентством DARPA (U.S. Department of Defence Advanced Research Projects Agency) в конце 60-х — начале 70-х годов как результат исследования сетей с коммутацией пакетов (т.е. распределения пакетов по сети с точной доставкой на нужное место). TCP/IP поддерживает маршрутизацию.
В этом моменте необходимо отметить следующую особенность. Дело в том, что сетевая плата, которая установлена на каждый компьютер в сети имеет определенный физический адрес. Так вот протокол NETBIOS для организации пересылки сообщений использует именно это реальный физический адрес сетевой платы. TCP/IP используют второй адрес, именно адрес станции назначения пакета информации — сетевой адрес. По этому адресу он и определяет локальное это сообщение, или глобальное.
Все стандарты для TCP/IP публикуются в серии специальных документов называемых RFC (Request for Comments) под соответствующими номерами.
В эволюции TCP/IP было много этапов. Приведу тут некоторые исторические данные:
1970 Узлы сети ARPANET начали использовать первый сетевой протокол
1972 Первая спецификация Telnet оформлена как RFC 318 .
1973 Введен протокол File Transfet Protocol, RFC 454 .
1974 Представлена программа Transmission Control Program (TCP) .
1981 В RFC 791 опубликован стандарт IP .
1982 Агентство DCA (Defence Communications Agency) и агентство ARPA объединили протокол TCP (Transmission Control Protocol) и IP (Internet Protocol) в набор TCP/IP .
1983 Сеть ARPANET переключилась на протокол TCP/IP .
1984 Введена доменная система имен (Domain Name System, DNS).
В наше время развитием семейства протоколов TCP/IP управляет Международная общественная организация, именуемая Сообществом Интернета (Internet Society, ISOC). 19, с.55]
Протокол TCP/IP в Windows NT обеспечивает сетевое взаимодействие компьютеров, работающих не только под управлением Windows NT, но и возможность подключения к ним сетевых устройств и компьютеров под управлением других операционных систем. Добавление протокола TCP/IP в конфигурацию Windows обеспечивает ряд преимуществ.
Основной плюс — TCP/IP оправданно считается наиболее совершенным и распространенным протоколом из всех доступных на сегодняшний день.
Все современные операционные системы поддерживают протокол TCP/IP, и почти все крупные сети используют его для приема/передачи данных. Кроме того, протокол TCP/IP является стандартным для Интернет. Поэтому если в сети используется доступ в Интернет, что сейчас встречается на каждом шагу, то тут только один выход — непременно устанавливать протокол TCP/IP. TCP/IP очень хорош и для расширения сети. С его использованием локальные сети «легко превращаются …» в глобальные
Другое преимущество TCP/IP — возможность объединения неоднородных систем. Сегодня существует множество утилит доступа и передачи данных, позволяющих взаимодействовать самым различным системам. Некоторые из них, например FTP (File Transfer Protocol) и Telnet, поставляются с Windows NT Server. Об этих особенностях мы поговорим позже.
Протокол TCP/IP — каркас для разработки приложений, которые используют архитектуру клиент/сервер. Но эта особенность нужна скорее программистам, а не системным администраторам.
Для организации централизованной системы управления сетью Windows NT с возможностью подключения к Интернет наилучшим решением является использование протокола TCP/IP. Кроме того, TCP/IP обладает большим количеством служб, которые делают его простым в повседневном управлении и обслуживанииNWLink IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange)
NWLink (IPX/SPX) представляет собой разработанную в Microsoft «чистую» реализацию семейства протоколов IPX/SPX для сетей NetWare фирмы Novell .
IPX/SPX (Internetwork Packet eXchange/Sequenced Packed eXcange) в сущности, состоит из двух протоколов IPX и SPX. IPX — протокол без подтверждения приема/передачи информации в сети, а SPX — позволяет получить подтверждение. IPX/SPX быстродействующий и производительный протокол, так же как и NETBIOS .
NWLink (IPX/SPX) протокол был включен в Windows NT для организации взаимодействия с серверами NetWare. NWLink позволяет клиентам Windows NT работать с ресурсами, находящимися на серверах NetWare, и наоборот. Иначе говоря, наличие протокола NWLink на сервере Windows NT необходимо для взаимодействия с клиентами и серверами NetWare .
Кроме этого, да будет вам известно, что некоторые сетевые игрушки, типа DOOM, использует именно протокол IPX!
DLC Протокол DLC (Data Link Control) используется в Windows NT в первую очередь для подключения к большим машинам IBM и, что еще важнее, — для подключения к сетевым принтерам (имеется в виду принтеры со встроенной сетевой платой).
AppleTalk Протокол AppleTalk используется для взаимодействия с компьютерами Macintosh. Включая поддержку AppleTalk, вы разрешаете клиентам Macintosh читать и записывать файлы на сервере Windows NT, печатать на принтерах Windows NT, и наоборот.
Streams Протокол Streams является специальным интерфейсом для разработки специальных сетевых утилит. Это интерфейс общего назначения, который используется другими протоколами.
Протоколы DLC, AppleTalk, Streams это специальные протоколы и они не поддерживают передачи по сети информации так, как это делает NETBIOS. Для их работы нужно и специальное программное обеспечение, которое не поставляется с Windows NT.
PPTP (Point-to-Point Tunneling Protocol) Этот протокол специально разработан, чтобы организовывать защищенные локальные передачи информации по глобальным сетям. Его применение тесно связано с использованием специальной службы удаленного доступа, с которой мы с вами познакомимся в следующем уроке.
Xerox Network System (XNS) был разработан фирмой Xerox для своих сетей Ethernet. Его широкое применение началось с 80=ых годов, но постепенно он был вытеснен протоколом TCP/IP. XNS — большой и медленный протокол, к тому же он применяет значительное количество широковещательных сообщений, что увеличивает трафик сети.
Набор протоколов OSI — полный стек протоколов, где каждый протокол соответствует конкретному уровню модели OSI. Набор содержит маршрутизируемые и транспортные протоколы, серии протоколов IEEE Project 802, протокол сеансового уровня, представительского уровня и нескольких протоколов прикладного уровня. Они обеспечивают полнофункциональность сети, включая доступ к файлам, печать и т. д.
Особенно следует остановиться на стеке протоколов IPX/SPX. Этот стек является оригинальным стеком протоколов фирмы Novell, который она разработала для своей сетевой операционной системы NetWare еще в начале 80-х годов. Протоколы Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX), которые дали имя стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньше степени, чем IPX/SPX. По количеству установок протоколы IPX/SPX лидируют, и это обусловлено тем, что сама ОС NetWare занимает лидирующее положение с долей установок в мировом масштабе примерно в 65%.
На физическом и канальном уровнях в сетях Novell используются все популярные протоколы этих уровней (Ethernet, Token Ring, FDDI и другие).
На сетевом уровне в стеке Novell работает протокол IPX, а также протоколы обмена маршрутной информацией RIP и NLSP. IPX является протоколом, который занимается вопросами адресации и маршрутизации пакетов в сетях Novell. Маршрутные решения IPX основаны на адресных полях в заголовке его пакета, а также на информации, поступающей от протоколов обмена маршрутной информацией. Например, IPX использует информацию, поставляемую либо протоколом RIP, либо протоколом NLSP (NetWare Link State Protocol) для передачи пакетов компьютеру назначения или следующему маршрутизатору. Протокол IPX поддерживает только дейтаграммный способ обмена сообщениями, за счет чего экономно потребляет вычислительные ресурсы. Итак, протокол IPX обеспечивает выполнение трех функций: задание адреса, установление маршрута и рассылку дейтаграмм.
Транспортному уровню модели OSI в стеке Novell соответствует протокол SPX, который осуществляет передачу сообщений с установлением соединений.
На верхних прикладном, представительном и сеансовом уровнях работают протоколы NCP и SAP. Протокол NCP (NetWare Core Protocol) является протоколом взаимодействия сервера NetWare и оболочки рабочей станции. Этот протокол прикладного уровня реализует архитектуру клиент-сервер на верхних уровнях модели OSI. С помощью функций этого протокола рабочая станция производит подключение к серверу, отображает каталоги сервера на локальные буквы дисководов, просматривает файловую систему сервера, копирует удаленные файлы, изменяет их атрибуты и т. п., а также осуществляет разделение сетевого принтера между рабочими станциями.
SAP (Service Advertising Protocol) — протокол объявления о сервисе — концептуально подобен протоколу RIP. Подобно тому, как протокол RIP позволяет маршрутизаторам обмениваться маршрутной информацией, протокол SAP дает возможность сетевым устройствам обмениваться информацией об имеющихся сетевых сервисах.
Серверы и маршрутизаторы используют SAP для объявления о своих сервисных услугах и сетевых адресах. Протокол SAP позволяет сетевым устройствам постоянно корректировать данные о том, какие сервисные услуги имеются сейчас в сети. При старте серверы используют SAP для оповещения оставшейся части сети о своих услугах. Когда сервер завершает работу, то он использует SAP для того, чтобы известить сеть о прекращении действия своих услуг.
В сетях Novell серверы NetWare 3. x каждую минуту рассылают широковещательные пакеты SAP. Пакеты SAP в значительной степени засоряют сеть, поэтому одной из основных задач маршрутизаторов, выходящих на глобальные связи, является фильтрация трафика SAP-пакетов и RIP-пакетов.
Особенности стека IPX/SPX обусловлены особенностями ОС NetWare, а именно ориентацией ее ранних версий на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Поэтому Novell нужны были протоколы, на реализацию которых требовалось минимальное количество оперативной памяти и которые бы быстро работали на процессорах небольшой вычислительной мощности. В результате, протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных сетях и не очень — в больших корпоративных сетях, так как слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека (например, для установления связи между клиентами и серверами).
Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать у нее лицензию, долгое время ограничивали распространенность его только сетями NetWare. Однако к моменту выпуска версии NetWare 4.0, Novell внесла и продолжает вносить в свои протоколы серьезные изменения, направленные на приспособление их для работы в корпоративных сетях. Сейчас стек IPX/SPX реализован не только в NetWare, но и в нескольких других популярных сетевых ОС — SCO UNIX, Sun Solaris, Microsoft Windows NT. [21]
Вот мы с вами и немного разобрались с существующими сетевыми протоколами. Но, кроме просто установки соответствующего протокола для корректной работы сети в целом, протокола в частности существуют еще и сетевые службы. Например, как вы уже теперь знаете, протокол TCP/IP включает в себя много утилит, которые поддерживают те или иные возможности его работы. Так вот для их работы в Windows NT Server включены специальные службы. Наряду с этими есть и другие сетевые службы. Некоторые из этих служб уже встроены в Windows NT Server после инсталляции.
4.1 Характеристика протокола TCP/IP
Термин «TCP/IP» обычно обозначает все, что связано с протоколами TCP и IP. Он охватывает целое семейство протоколов, прикладные программы и даже саму сеть. В состав семейства входят протоколы UDP, ARP, ICMP, TEL-NET, FTP и многие другие. TCP/IP — это технология межсетевого взаимодействия, технология internet. Сеть, которая использует технологию internet, называется «internet». Если речь идет о глобальной сети, объединяющей множество сетей с технологией internet, то ее называют Internet.
Модуль IP создает единую логическую сеть Архитектура протоколов TCP/IP предназначена для объединенной сети, состоящей из соединенных друг с другом шлюзами отдельных разнородных пакетных подсетей, к которым подключаются разнородные машины. Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу средств связи. Однако предполагается, что каждая подсеть может принять пакет информации (данные с соответствующим сетевым заголовком) и доставить его по указанному адресу в этой конкретной подсети. Не требуется, чтобы подсеть гарантировала обязательную доставку пакетов и имела надежный сквозной протокол. Таким образом, две машины, подключенные к одной подсети, могут обмениваться пакетами.
Когда необходимо передать пакет между машинами, подключенными к разным подсетям, то машина-отправитель посылает пакет в соответствующий шлюз (шлюз подключен к подсети также как обычный узел). Оттуда пакет направляется по определенному маршруту через систему шлюзов и подсетей, пока не достигнет шлюза, подключенного к той же подсети, что и машина-получатель; там пакет направляется к получателю. Объединенная сеть обеспечивает датаграммный сервис.
Проблема доставки пакетов в такой системе решается путем реализации во всех узлах и шлюзах межсетевого протокола IP. Межсетевой уровень является по существу базовым элементом во всей архитектуре протоколов, обеспечивая возможность стандартизации протоколов верхних уровней[22].
Структура связей протокольных модулей Логическая структура сетевого программного обеспечения, реализующего протоколы семейства TCP/IP в каждом узле сети internet, выглядит следующим образом. Прямоугольники обозначают обработку данных, а линии, соединяющие прямоугольники, — пути передачи данных. Горизонтальная линия внизу рисунка обозначает кабель сети Ethernet, которая используется в качестве примера физической среды; «o» — это трансивер. Знак «*» — обозначает IP-адрес, а «@» — адрес узла в сети Ethernet (Ethernet-адрес). Понимание этой логической структуры является основой для понимания всей технологии internet. В дальнейшем мы будем часто ссылаться на эту схему.
Введем ряд базовых терминов, которые мы будем использовать в дальнейшем.
Драйвер — это программа, непосредственно взаимодействующая с сетевым адаптером.
Модуль — это программа, взаимодействующая с драйвером, сетевыми прикладными программами или другими модулями.
Драйвер сетевого адаптера и, возможно, другие модули, специфичные для физической сети передачи данных, предоставляют сетевой интерфейс для протокольных модулей семейства TCP/IP.
Название блока данных, передаваемого по сети, зависит от того, на каком уровне стека протоколов он находится. Блок данных, с которым имеет дело сетевой интерфейс, называется кадром; если блок данных находится между сетевым интерфейсом и модулем IP, то он называется IP-пакетом; если он между модулем IP и модулем UDP, то — UDP-датаграммой; если между модулем IP и модулем TCP, то — TCP-сегментом (или транспортным сообщением); наконец, если блок данных находится на уровне сетевых прикладных процессов, то он называется прикладным сообщением.
Потоки данных В случае использования протокола TCP (Transmission Control Protocol — протокол управления передачей), данные передаются между прикладным процессом и модулем TCP. Типичным прикладным процессом, использующим протокол TCP, является модуль FTP (File Transfer Protocol — протокол передачи файлов). Стек протоколов в этом случае будет FTP/TCP/IP/ENET. При использовании протокола UDP (User Datagram Protocol — протокол пользовательских датаграмм), данные передаются между прикладным процессом и модулем UDP. Например, SNMP (Simple Network Management Protocol — простой протокол управления сетью) пользуется транспортными услугами UDP. Его стек протоколов выглядит так: SNMP/UDP/IP/ENET.
Модули TCP, UDP и драйвер Ethernet являются мультиплексорами. Действуя как мультиплексоры, они переключают несколько входов на один выход. Они также являются демультиплексорами. Как демультиплексоры, они переключают один вход на один из многих выходов в соответствии с полем типа в заголовке протокольного блока данных.
Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он может быть направлен либо в модуль ARP (Address Resolution Protocol — адресный протокол), либо в модуль IP (Internet Protocol — межсетевой протокол). На то, куда должен быть направлен Ethernet-кадр, указывает значение поля типа в заголовке кадра.
Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP, либо UDP, что определяется полем «протокол» в заголовке IP-пакета.
Если UDP-датаграмма попадает в модуль UDP, то на основании значения поля «порт» в заголовке датаграммы определяется прикладная программа, которой должно быть передано прикладное сообщение. Если TCP-сообщение попадает в модуль TCP, то выбор прикладной программы, которой должно быть передано сообщение, осуществляется на основе значения поля «порт» в заголовке TCP-сообщения.
Мультиплексирование данных в обратную сторону осуществляется довольно просто, так как из каждого модуля существует только один путь вниз. Каждый протокольный модуль добавляет к пакету свой заголовок, на основании которого машина, принявшая пакет, выполняет демультиплексирование.
Данные от прикладного процесса проходят через модули TCP или UDP, после чего попадают в модуль IP и оттуда — на уровень сетевого интерфейса.
Хотя технология internet поддерживает много различных сред передачи данных, здесь мы будем предполагать использование Ethernet, так как именно эта среда чаще всего служит физической основой для IP-сети. Шестибайтный Ethernet-адрес является уникальным для каждого сетевого адаптера и распознается драйвером. Машина имеет также четырехбайтный IP-адрес. Этот адрес обозначает точку доступа к сети на интерфейсе модуля IP с драйвером. IP-адрес должен быть уникальным в пределах всей сети Internet.
Работающая машина всегда знает свой IP-адрес и Ethernet-адрес.
Работа с несколькими сетевыми интерфейсами Машина может быть подключена одновременно к нескольким средам передачи данных. Для машин с несколькими сетевыми интерфейсами модуль IP выполняет функции мультиплексора и демультиплексора.
Таким образом, он осуществляет мультиплексирование входных и выходных данных в обоих направлениях. Модуль IP в данном случае сложнее, чем в первом примере, так как может передавать данные между сетями. Данные могут поступать через любой сетевой интерфейс и быть ретранслированы через любой другой сетевой интерфейс. Процесс передачи пакета в другую сеть называется ретрансляцией IP-пакета. Машина, выполняющая ретрансляцию, называется шлюзом. Ретранслируемый пакет не передается модулям TCP или UDP. Некоторые шлюзы вообще могут не иметь модулей TCP и UDP.
4.2 Протокол Ethernet
Кадр Ethernet содержит адрес назначения, адрес источника, поле типа и данные. Размер адреса в Ethernet — 6 байт. Каждый сетевой адаптер имеет свой Ethernet-адрес. Адаптер контролирует обмен информацией, про исходящий в сети, и принимает адресованные ему Ethernet-кадры, а также Ethernet-кадры с адресом «FF:FF:FF:FF:FF:FF» (в 16-ричной системе), который обозначает «всем», и используется при широковещательной передаче.
В документации по TCP/IP термины шлюз (gateway) и IP-маршрутизатор (IP-router) часто используются как синонимы. Мы сочли возможным использовать более распространенный термин «шлюз» .
Ethernet реализует метод МДКН/ОС (множественный доступ с контролем несущей и обнаружением столкновений). Метод МДКН/ОС предполагает, что все устройства взаимодействуют в одной среде, в каждый момент времени может передавать только одно устройство, а принимать могут все одновременно. Если два устройства пытаются передавать одновременно, то происходит столкновение передач, и оба устройства после случайного (краткого) периода ожидания пытаются вновь выполнить передачу.
Аналогия с разговором Хорошей аналогией взаимодействиям в среде Ethernet может служить разговор группы вежливых людей в небольшой темной комнате. При этом аналогией электрическим сигналам в коаксиальном кабеле служат звуковые волны в комнате.
Каждый человек слышит речь других людей (контроль несущей). Все люди в комнате имеют одинаковые возможности вести разговор (множественный доступ), но никто не говорит слишком долго, так как все вежливы. Если человек будет невежлив, то его попросят выйти (т.е. удалят из сети). Все молчат, пока кто-то говорит. Если два человека начинают говорить одновременно, то они сразу обнаруживают это, поскольку слышат друг друга (обнаружение столкновений). В этом случае они замолкают и ждут некоторое время, после чего один из них вновь начинает разговор. Другие люди слышат, что ведется разговор, и ждут, пока он кончится, а затем могут начать говорить сами. Каждый человек имеет собственное имя (аналог уникального Ethernet-адреса). Каждый раз, когда кто-нибудь начинает говорить, он называет по имени того, к кому обращается, и свое имя, например, «Слушай Петя, это Андрей, /*текст сообщения*/» Если кто-то хочет обратиться ко всем, то он говорит: «Слушайте все, это Андрей, /*текст сообщения*/» (широковещательная передача).
4.3 Протокол ARP
При посылке IP-пакета определяется Ethernet-адрес назначения следующим образом: для отображения IP-адресов в Ethernet адреса используется протокол ARP (Address Resolution Protocol — адресный протокол). Отображение выполняется только для отправляемых IP-пакетов, так как только в момент отправки создаются заголовки IP и Ethernet.
ARP-таблица для преобразования адресов Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IPи Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом.
Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием.
ARP-таблица необходима потому, что IP-адреса и Ethernet-адреса выбираются независимо, и нет какого-либо алгоритма для преобразования одного в другой. Поэтому для определения искомого Ethernet-адреса используется ARP-таблица.
Запросы и ответы протокола ARP
Как же заполняется ARP-таблица? Она заполняется автоматически модулем ARP, по мере необходимости. Когда с помощью существующей ARP-таблицы не удается преобразовать IP-адрес, то происходит следующее:
1) По сети передается широковещательный ARP-запрос.
2) Исходящий IP-пакет ставится в очередь.
Каждый сетевой адаптер принимает широковещательные передачи. Все драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: «Если ваш IP-адрес совпадает с указанным, то сообщите мне ваш Ethernet-адрес» .
Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: «Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес» .
Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу.
Продолжение преобразования адресов Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Как вы помните, ранее на шаге 2 исходящий IP-пакет был поставлен в очередь. Теперь с использованием обновленной ARP-таблицы выполняется преобразование IP-адреса в Ethernet-адрес, после чего Ethernet-кадр передается по сети. Полностью порядок преобразования адресов выглядит так:
1) По сети передается широковещательный ARP-запрос.
2) Исходящий IP-пакет ставится в очередь.
3) Возвращается ARP-ответ, содержащий информацию о соответствии IPи Ethernet-адресов. Эта информация заносится в ARP-таблицу.
4) Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, поставленного в очередь, используется ARP-таблица.
5) Ethernet-кадр передается по сети Ethernet.
Короче говоря, если с помощью ARP-таблицы не удается сразу осуществить преобразование адресов, то IP-пакет ставится в очередь, а необходимая для преобразования информация получается с помощью запросов и ответов протокола ARP, после чего IP-пакет передается по назначению.
Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. Протокол IP будет уничтожать IP-пакеты, направляемые по этому адресу. Протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP-адресом.
Некоторые реализации IP и ARP не ставят в очередь IP-пакеты на то время, пока они ждут ARP-ответов. Вместо этого IP-пакет просто уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через UDP. Такое восстановление выполняется с помощью таймаутов и повторных передач. Повторная передача сообщения проходит успешно, так как первая попытка уже вызвала заполнение ARP-таблицы.
Следует отметить, что каждая машина имеет отдельную ARP-таблицу для каждого своего сетевого интерфейса. 23, с.22−25]
4.4 Межсетевой протокол IP
Модуль IP является базовым элементом технологии internet, а центральной частью IP является его таблица маршрутов. Протокол IP использует эту таблицу при принятии всех решений о маршрутизации IP-пакетов. Содержание таблицы маршрутов определяется администратором сети. Ошибки при установке маршрутов могут заблокировать передачи.
Прямая маршрутизация Когда A посылает IP-пакет B, то заголовок IP-пакета содержит в поле отправителя IP-адрес узла A, а заголовок Ethernet-кадра содержит в поле отправителя Ethernet-адрес A. Кроме этого, IP-заголовок содержит в поле получателя IP-адрес узла B, а Ethernet-заголовок содержит в поле получателя Ethernet-адрес B.
В этом простом примере протокол IP является излишеством, которое мало что добавляет к услугам, предоставляемым сетью Ethernet. Однако протокол IP требует дополнительных расходов на создание, передачу и обработку IP-заголовка. Когда в машине B модуль IP получает IP-пакет от машины A, он сопоставляет IP-адрес места назначения со своим и, если адреса совпадают, то передает датаграмму протоколу верхнего уровня. В данном случае при взаимодействии A с B используется прямая маршрутизация.
Косвенная маршрутизация В данном случае сеть internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные шлюзом D. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IPи Ethernet-адреса.
За исключением D все машины имеют стек протоколов. Шлюз D соединяет все три сети и, следовательно, имеет три IP-адреса и три Ethernet-адреса. Машина D имеет стек протоколов TCP/IP, который содержит три модуля ARP и три драйвера Ethernet. Обратим внимание на то, что машина D имеет только один модуль IP.
Менеджер сети присваивает каждой сети Ethernet уникальный номер, называемый IP-номером сети. Когда машина A посылает IP-пакет машине B, то процесс передачи идет в пределах одной сети. При всех взаимодействиях между машинами, подключенными к одной IP-сети, используется прямая маршрутизация, обсуждавшаяся в предыдущем примере.
Когда машина D взаимодействует с машиной A, то это прямое взаимодействие. Когда машина D взаимодействует с машиной E, то это прямое взаимодействие. Когда машина D взаимодействует с машиной H, то это прямое взаимодействие. Это так, поскольку каждая пара этих машин принадлежит одной IP-сети.
Однако когда машина A взаимодействует с машинами, включенными в другую IP-сеть, то взаимодействие уже не будет прямым. Машина A должна использовать шлюз D для ретрансляции IP-пакетов в другую IP-сеть. Такое взаимодействие называется косвенным.
Маршрутизация IP-пакетов выполняется модулями IP и является прозрачной для модулей TCP, UDP и прикладных процессов.
Если машина A посылает машине E IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам A. IP-адрес места назначения является адресом E, но поскольку модуль IP в A посылает IP-пакет через D, Ethernet-адрес места назначения является адресом D.
Модуль IP в машине D получает IP-пакет и проверяет IP-адрес места назначения. Определив, что это не его IP-адрес, шлюз D посылает этот IP-пакет прямо к E.
Итак, при прямой маршрутизации IPи Ethernet-адреса отправителя соответствуют адресам того узла, который послал IP-пакет, а IPи Ethernet-адреса места назначения соответствуют адресам получателя. При косвенной маршрутизации IPи Ethernet-адреса не образуют таких пар.
В данном примере сеть internet является очень простой. Реальные сети могут быть гораздо сложнее, так как могут содержать несколько шлюзов и несколько типов физических сред передачи. В приведенном примере несколько сетей Ethernet объединяются шлюзом для того, чтобы локализовать широковещательный трафик в каждой сети. 24]
Правила маршрутизации в модуле IP
Выше мы показали, что происходит при передаче сообщений, а теперь рассмотрим правила или алгоритм маршрутизации.
Для отправляемых IP-пакетов, поступающих от модулей верхнего уровня, модуль IP должен определить способ доставки — прямой или косвенный — и выбрать сетевой интерфейс. Этот выбор делается на основании результатов поиска в таблице маршрутов.
Для принимаемых IP-пакетов, поступающих от сетевых драйверов, модуль IP должен решить, нужно ли ретранслировать IP-пакет по другой сети или передать его на верхний уровень. Если модуль IP решит, что IP-пакет должен быть ретранслирован, то дальнейшая работа с ним осуществляется также, как с отправляемыми IP-пакетами.
Входящий IP-пакет никогда не ретранслируется через тот же сетевой интерфейс, через который он был принят.
Решение о маршрутизации принимается до того, как IP-пакет передается сетевому драйверу, и до того, как происходит обращение к ARP-таблице.
IP-адрес Менеджер сети присваивает IP-адреса машинам в соответствии с тем, к каким IP-сетям они подключены. Старшие биты 4-х байтного IP-адреса определяют номер IP-сети. Оставшаяся часть IP-адреса — номер узла (хост-номер). Для машины из табл.1 с IP-адресом 223.1.2.1 сетевой номер равен 223.1.2, а хост-номер — 1. Напомним, что IP-адрес узла идентифицирует точку доступа модуля IP к сетевому интерфейсу, а не всю машину.
Существуют 5 классов IP-адресов, отличающиеся количеством бит в сетевом номере и хост-номере. Класс адреса определяется значением его первого октета.
Адреса класса A предназначены для использования в больших сетях общего пользования. Они допускают большое количество номеров узлов. Адреса класса B используются в сетях среднего размера, например, сетях университетов и крупных компаний. Адреса класса C используются в сетях с небольшим числом компьютеров. Адреса класса D используются при обращениях к группам машин, а адреса класса E зарезервированы на будущее.
Некоторые IP-адреса являются выделенными и трактуются по-особому. В выделенных IP-адресах все нули соответствуют либо данному узлу, либо данной IP-сети, а IP-адреса, состоящие из всех единиц, используются при широковещательных передачах. Для ссылок на всю IP-сеть в целом используется IP-адрес с нулевым номером узла. Особый смысл имеет IP-адрес, первый октет которого равен 127. Он используется для тестирования программ и взаимодействия процессов в пределах одной машины. Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы «петля». Данные не передаются по сети, а возвращаются модулям верхнего уровня, как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127. 25]
Выбор адреса Прежде чем вы начнете использовать сеть с TCP/IP, вы должны получить один или несколько официальных сетевых номеров. Выделением номеров (как и многими другими вопросами) занимается DDN Network Information Center (NIC). Выделение номеров производится бесплатно и занимает около недели. Вы можете получить сетевой номер вне зависимости от того, для чего предназначена ваша сеть. Даже если ваша сеть не имеет связи с объединенной сетью Internet, получение уникального номера желательно, так как в этом случае есть гарантия, что в будущем при включении в Internet или при подключении к сети другой организации не возникнет конфликта адресов.
Одно из важнейших решений, которое необходимо принять при установке сети, заключается в выборе способа присвоения IP-адресов вашим машинам. Этот выбор должен учитывать перспективу роста сети. Иначе в дальнейшем вам придется менять адреса. Когда к сети подключено несколько сотен машин, изменение адресов становится почти невозможным.
Организации, имеющие небольшие сети с числом узлов до 126, должны запрашивать сетевые номера класса C. Организации с большим числом машин могут получить несколько номеров класса C или номер класса B. Удобным средством структуризации сетей в рамках одной организации являются подсети.
Подсети Адресное пространство сети internet может быть разделено на непересекающиеся подпространства — «подсети», с каждой из которых можно работать как с обычной сетью TCP/IP. Таким образом, единая IP-сеть организации может строиться как объединение подсетей. Как правило, подсеть соответствует одной физической сети, например, одной сети Ethernet.
Конечно, использование подсетей необязательно. Можно просто назначить для каждой физической сети свой сетевой номер, например, номер класса C. Однако такое решение имеет два недостатка. Первый, и менее существенный, заключается в пустой трате сетевых номеров. Более серьезный недостаток состоит в том, что если ваша организация имеет несколько сетевых номеров, то машины вне ее должны поддерживать записи о маршрутах доступа к каждой из этих IP-сетей. Таким образом, структура IP-сети организации становится видимой для всего мира. При каких-либо изменениях в IP-сети информация о них должна быть учтена в каждой из машин, поддерживающих маршруты доступа к данной IP-сети.
Подсети позволяют избежать этих недостатков. Ваша организация должна получить один сетевой номер, например, номер класса B. Стандарты TCP/IP определяют структуру IP-адресов. Для IP-адресов класса B первые два октета являются номером сети. Оставшаяся часть IP-адреса может использоваться как угодно. Например, вы можете решить, что третий октет будет определять номер подсети, а четвёртый октет — номер узла в ней. Вы должны описать конфигурацию подсетей в файлах, определяющих маршрутизацию IP-пакетов. Это описание является локальным для вашей организации и не видно вне ее. Все машины вне вашей организации видят одну большую IP-сеть. Следовательно, они должны поддерживать только маршруты доступа к шлюзам, соединяющим вашу IP-сеть с остальным миром. Изменения, происходящие в IP-сети организации, не видны вне ее. Вы легко можете добавить новую подсеть, новый шлюз и т. п.
Как назначать номера сетей и подсетей После того, как решено, использовать подсети или множество IP-сетей, вы должны решить, как назначать им номера. Обычно это довольно просто. Каждой физической сети, например, Ethernet или Token Ring, назначается отдельный номер подсети или номер сети. В некоторых случаях имеет смысл назначать одной физической сети несколько подсетевых номеров. Например, предположим, что имеется сеть Ethernet, охватывающая три здания. Ясно, что при увеличении числа машин, подключенных к этой сети, придется ее разделить на несколько отдельных сетей Ethernet. Для того чтобы избежать необходимости менять IP-адреса, когда это произойдет, можно заранее выделить для этой сети три подсетевых номера — по одному на здание. (Это полезно и в том случае, когда не планируется физическое деление сети. Просто такая адресация позволяет сразу определить, где находится та или иная машина). Однако прежде, чем выделять три различных подсетевых номера одной физической сети, тщательно проверьте, что все ваши программы способны работать в такой среде.
Вы также должны выбрать «маску подсети». Она используется сетевым программным обеспечением для выделения номера подсети из IP-адресов. Биты IP-адреса, определяющие номер IP-сети, в маске подсети должны быть равны 1, а биты, определяющие номер узла, в маске подсети должны быть равны 0. Как уже отмечалось, стандарты TCP/IP определяют количество октетов, задающих номер сети. Часто в IP-адресах класса B третий октет используется для задания номера подсети. Это позволяет иметь 256 подсетей, в каждой из которых может быть до 254 узлов. Маска подсети в такой системе равна 255.255.255.0. Но, если в вашей сети должно быть больше подсетей, а в каждой подсети не будет при этом более 60 узлов, то можно использовать маску 255.255.255.192. Это позволяет иметь 1024 подсети и до 62 узлов в каждой. (Напомним, что номера узлов 0 и «все единицы» используются особым образом.)
Обычно маска подсети указывается в файле стартовой конфигурации сетевого программного обеспечения. Протоколы TCP/IP позволяют также запрашивать эту информацию по сети.
Имена. Людям удобнее называть машины по именам, а не числами. Например, у машины по имени alpha может быть IP-адрес 223.1.2.1. В маленьких сетях информация о соответствии имен IP-адресам хранится в файлах «hosts» на каждом узле. Конечно, название файла зависит от конкретной реализации. В больших сетях эта информация хранится на сервере и доступна по сети. Несколько строк из файла «hosts» могут выглядеть примерно так:
223.1.2.1 alpha
223.1.2.2 beta
223.1.2.3 gamma
223.1.2.4 delta
223.1.3.2 epsilon
223.1.4.2 iota
В первом столбце — IP-адрес, во втором — название машины.
В большинстве случаев файлы «hosts» могут быть одинаковы на всех узлах. Заметим, что об узле delta в этом файле есть всего одна запись, хотя он имеет три IP-адреса. Узел delta доступен по любому из этих IP-адресов. Какой из них используется, не имеет значения. Когда узел delta получает IP-пакет и проверяет IP-адрес места назначения, то он опознает любой из трех своих IP-адресов.
IP-сети также могут иметь имена. Если у вас есть три IP-сети, то файл «networks» может выглядеть примерно так:
223.1.2 development
223.1.3 accounting
223.1.4 factory
В первой колонке — сетевой номер, во второй — имя сети.
В данном примере alpha является узлом номер 1 в сети development, beta является узлом номер 2 в сети development и т. д.
Показанный выше файл hosts удовлетворяет потребности пользователей, но для управления сетью internet удобнее иметь названия всех сетевых интерфейсов. Менеджер сети, возможно, заменит строку, относящуюся к delta:
223.1.2.4 devnetrouter delta
223.1.3.1 accnetrouter
223.1.4.1 facnetrouter
Эти три строки файла hosts задают каждому IP-адресу узла delta символьные имена. Фактически, первый IP-адрес имеет два имени: «devnetrouter» и «delta», которые являются синонимами. На практике имя «delta» используется как общеупотребительное имя машины, а остальные три имени — для администрирования сети.
Файлы hosts и networks используются командами администрирования и прикладными программами. Они не нужны собственно для работы сети internet, но облегчают ее использование. 25]
IP-таблица маршрутов Как модуль IP узнает, какой именно сетевой интерфейс нужно использовать для отправления IP-пакета? Модуль IP осуществляет поиск в таблице маршрутов. Ключом поиска служит номер IP-сети, выделенный из IP-адреса места назначения IP-пакета.
Таблица маршрутов содержит по одной строке для каждого маршрута. Основными столбцами таблицы маршрутов являются номер сети, флаг прямой или косвенной маршрутизации, IP-адрес шлюза и номер сетевого интерфейса. Эта таблица используется модулем IP при обработке каждого отправляемого IP-пакета.
В большинстве систем таблица маршрутов может быть изменена с помощью команды «route». Содержание таблицы маршрутов определяется менеджером сети, поскольку менеджер сети присваивает машинам IP-адреса.
Порядок прямой маршрутизации Узел alpha посылает IP-пакет узлу beta. Этот пакет находится в модуле IP узла alpha, и IP-адрес места назначения равен IP-адресу beta (223.1.2.2). Модуль IP с помощью маски подсети выделяет номер сети из IP-адреса и ищет соответствующую ему строку в таблице маршрутов. В данном случае подходит первая строка.
Остальная информация в найденной строке указывает на то, что машины этой сети доступны напрямую через интерфейс номер 1. С помощью ARP-таблицы выполняется преобразование IP-адреса в соответствующий Ethernet-адрес, и через интерфейс 1 Ethernet-кадр посылается узлу beta.
Если прикладная программа пытается послать данные по IP-адресу, который не принадлежит сети development, то модуль IP не сможет найти соответствующую запись в таблице маршрутов. В этом случае модуль IP отбрасывает IP-пакет. Некоторые реализации протокола возвращают сообщение об ошибке «Сеть не доступна» .
Порядок косвенной маршрутизации Узел alpha посылает IP-пакет узлу epsilon. Этот пакет находится в модуле IP узла alpha, и IP-адрес места назначения равен IP-адресу узла epsilon (223.1.3.2). Модуль IP выделяет сетевой номер из IP-адреса (223.1.3) и ищет соответствующую ему строку в таблице маршрутов. Соответствие находится во второй строке.
Запись в этой строке указывает на то, что машины требуемой сети доступны через шлюз devnetrouter. Модуль IP в узле alpha осуществляет поиск в ARP-таблице, с помощью которого определяет Ethernet-адрес, соответствующий IP-адресу devnetrouter. Затем IP-пакет, содержащий IP-адрес места назначения epsilon, посылается через интерфейс 1 шлюзу devnetrouter.
IP-пакет принимается сетевым интерфейсом в узле delta и передается модулю IP. Проверяется IP-адрес места назначения, и, поскольку он не соответствует ни одному из собственных IP-адресов delta, шлюз решает ретранслировать IP-пакет.
Модуль IP в узле delta выделяет сетевой номер из IP-адреса места назначения IP-пакета (223.1.3) и ищет соответствующую запись в таблице маршрутов. Таблица маршрутов в узле delta выглядит так:
Соответствие находится во второй строке. Теперь модуль IP напрямую посылает IP-пакет узлу epsilon через интерфейс номер 3. Пакет содержит IPи Ethernet-адреса места назначения равные epsilon.
Узел epsilon принимает IP-пакет, и его модуль IP проверяет IP-адрес места назначения. Он соответствует IP-адресу epsilon, поэтому содержащееся в IP-пакете сообщение передается протокольному модулю верхнего уровня.
Установка маршрутов До сих пор мы рассматривали то, как используется таблица маршрутов для маршрутизации IP-пакетов. Но откуда берется информация в самой таблице маршрутов?
Фиксированные маршруты Простейший способ проведения маршрутизации состоит в установке маршрутов при запуске системы с помощью специальных команд. Этот метод можно применять в относительно маленьких IP-сетях, в особенности, если их конфигурации не часто меняются.
На практике большинство машин автоматически формирует таблицы маршрутов. Например, UNIX добавляет записи о IP-сетях, к которым есть непосредственный доступ. Стартовый файл может содержать команды
ifconfig ie0 128.6.4.4 netmask 255.255.255.0
ifconfig ie1 128.6.5.35 netmask 255.255.255.0
Они показывают, что существуют два сетевых интерфейса, и устанавливают их
IP-адреса. Система может автоматически создать две записи в таблице маршрутов. Эти записи определяют, что IP-пакеты для локальных подсетей 128.6.4 и 128.6.5 должны посылаться через указанные интерфейсы. В стартовом файле могут быть команды, определяющие маршруты доступа к другим IP-сетям. Например:
route add 128.6.2.0 128.6.4.1 1
route add 128.6.6.0 128.6.5.35 0
Эти команды показывают, что в таблицу маршрутов должны быть добавлены две записи. Первый адрес в командах является IP-адресом сети, второй адрес указывает шлюз, который должен использоваться для доступа к данной IP-сети, а третий параметр является метрикой. Метрика показывает, на каком «расстоянии» находится описываемая IP-сеть. В данном случае метрика — это количество шлюзов на пути между двумя IP-сетями. Маршруты с метрикой 1 и более определяют первый шлюз на пути к IP-сети. Маршруты с метрикой 0 показывают, что никакой шлюз не нужен — данный маршрут задает дополнительный сетевой номер локальной IP-сети.
Таким образом, команды, приведенные в примере, говорят о том, что для доступа к IP-сети 128.6.2 должен использоваться шлюз 128.6.4.1, а IP-сеть 128.6.6 — это просто дополнительный номер для физической сети, подключенной к интерфейсу 128.6.5.35.
Можно определить маршрут по умолчанию, который используется в тех случаях, когда IP-адрес места назначения не встречается в таблице маршрутов явно. Обычно маршрут по умолчанию указывает IP-адрес шлюза, который имеет достаточно информации для маршрутизации IP-пакетов со всеми возможными адресами назначения.
Если ваша IP-сеть имеет всего один шлюз, тогда все, что нужно сделать, — это установить единственную запись в таблице маршрутов, указав этот шлюз как маршрут по умолчанию. После этого можно не заботиться о формировании маршрутов в других узлах. (Конечно, сам шлюз требует больше внимания.)
Перенаправление маршрутов Большинство экспертов по межсетевому взаимодействию рекомендуют оставлять решение проблем маршрутизации шлюзам. Плохо иметь на каждой машине большую таблицу маршрутов. Дело в том, что при каких-либо изменениях в IP-сети приходится менять информацию во всех машинах. Например, при отключении какого-нибудь канала связи для восстановления нормальной работы нужно ждать, пока кто-то заметит это изменение в конфигурации IP-сети и внесет исправления во все таблицы маршрутов.
Простейший способ поддержания адекватности маршрутов заключается в том, что изменение таблицы маршрутов каждой машины выполняется по командам только одного шлюза. Этот шлюз должен быть установлен как маршрут по умолчанию. (В ОС UNIX это делается командой «route add default 128.6.4.27 1», где 128.6.4.27 является IP-адресом шлюза.) Как было описано выше, каждая машина посылает IP-пакет шлюзу по умолчанию в том случае, когда не находит лучшего маршрута. Однако когда в IP-сети есть несколько шлюзов, этот метод работает не так хорошо. Кроме того, если таблица маршрутов имеет только одну запись о маршруте по умолчанию, как использовать другие шлюзы, если это более выгодно? Ответ состоит в том, что большинство шлюзов способны выполнять «перенаправление» в тех случаях, когда они получают IP-пакеты, для которых существуют более выгодные маршруты. «Перенаправление» является специальным типом сообщения протокола ICMP (Internet Control Message Protocol — протокол межсетевых управляющих сообщений). Сообщение о перенаправлении содержит информацию, которую можно интерпретировать так: «В будущем для IP-адреса XXXX используйте шлюз YYYY, а не меня». Корректные реализации TCP/IP должны использовать сообщения о перенаправлении для добавления записей в таблицу маршрутов. Предположим, таблица маршрутов в начале выглядит следующим образом:
Эта таблица содержит запись о локальной IP-сети 128.6.4 и маршрут по умолчанию, указывающий шлюз 128.6.4.27. Допустим, что существует шлюз 128.6.4.30, который является лучшим путем доступа к IP-сети 128.6.7. Как им воспользоваться? Предположим, что нужно посылать IP-пакеты по IP-адресу 128.6.7.23. Первый IP-пакет пойдет на шлюз по умолчанию, так как это единственный подходящий маршрут, описанный в таблице. Однако шлюз 128.6.4.27 знает, что существует лучший маршрут, проходящий через шлюз 128.6.4.30. (Как он узнает об этом, мы сейчас не рассматриваем. Существует довольно простой метод определения лучшего маршрута.) В этом случае шлюз 128.6.4.27 возвращает сообщение перенаправления, где указывает, что IP-пакеты для узла 128.6.7.23 должны посылаться через шлюз 128.6.4.30. Модуль IP на машине-отправителе должен добавить запись в таблицу маршрутов:
Все последующие IP-пакеты для узла 128.6.7.23 будут посланы прямо через указанный шлюз.
До сих пор мы рассматривали способы добавления маршрутов в IP-таблицу, но не способы их исключения. Что случится, если шлюз будет выключен? Хотелось бы иметь способ возврата к маршруту по умолчанию после того, как какой-либо маршрут разрушен. Однако если шлюз вышел из строя или был выключен, то он уже не может послать сообщение перенаправления. Поэтому должен существовать метод определения работоспособности шлюзов, с которыми ваша машина связана непосредственно. Лучший способ обнаружения неработающих шлюзов основан на выявлении «плохих» маршрутов. Модуль TCP поддерживает различные таймеры, которые помогают ему определить разрыв соединения. Когда случается сбой, то можно пометить маршрут как «плохой» и вернуться к маршруту по умолчанию. Аналогичный метод может использоваться при обработке ошибок шлюза по умолчанию. Если два шлюза отмечены как шлюзы по умолчанию, то машина может использовать их по очереди, переключаясь между ними при возникновении сбоев[27].
Слежение за маршрутизацией Заметим, что сообщения перенаправления не могут использоваться самими шлюзами. Перенаправление — это просто способ оповещения обычного узла о том, что нужно использовать другой шлюз. Сами шлюзы должны иметь полную картину о положении дел в сети internet и уметь вычислять оптимальные маршруты доступа к каждой подсети. Обычно они поддерживают эту картину, обмениваясь информацией между собой. Для этой цели существуют несколько специальных протоколов маршрутизации. Один из способов, с помощью которого узлы могут определять действующие шлюзы, состоит в слежении за обменом сообщениями между ними. Для большинства протоколов маршрутизации существует программное обеспечение, позволяющее обычным узлам осуществлять такое слежение. При этом на узлах поддерживается полная картина положения дел в сети internet точно так же, как это делается в шлюзах. Динамическая корректировка таблицы маршрутов позволяет посылать IP-пакеты по оптимальным маршрутам.
Таким образом, слежение за маршрутизацией в некотором смысле «решает» проблему поддержания корректности таблиц маршрутов. Однако существуют несколько причин, по которым этот метод применять не рекомендуется. Наиболее серьезной проблемой является то, что протоколы маршрутизации пока еще подвергаются частым пересмотрам и изменениям. Появляются новые протоколы маршрутизации. Эти изменения должны учитываться в программном обеспечении всех машин.
Несколько более специальная проблема связана с бездисковыми рабочими станциями. По своей природе бездисковые машины сильно зависят от сети и от файл-серверов, с которых они осуществляют загрузку программ, и где располагается их область своппинга. Исполнение программ, следящих за широковещательными передачами в сети, на бездисковых машинах связано с большими трудностями. Протоколы маршрутизации построены в основном на широковещательных передачах. Например, все сетевые шлюзы могут широковещательно передавать содержание своих таблиц маршрутов через каждые 30 секунд. Программы, которые следят за такими передачами, должны быть загружены на бездисковые станции через сеть. На достаточно занятой машине программы, которые не используются в течение нескольких секунд, обычно отправляются в область своппинга. Поэтому программы, следящие за маршрутизацией, большую часть времени находятся в своппинге. Когда они вновь активизируются, должна производиться подкачка из своппинга. Как только посылается широковещательное сообщение, все машины активизируют программы, следящие за маршрутизацией. Это приводит к тому, что многие бездисковые станции будут выполнять подкачку из своппинга в одно и тоже время. Поэтому в сети возникнет временная перегрузка. Таким образом, исполнение программ, прослушивающих широковещательные передачи, на бездисковых рабочих станциях очень нежелательно.
Протокол ARP с представителем Протокол ARP с представителем является альтернативным методом, позволяющим шлюзам принимать все необходимые решения о маршрутизации. Он применяется в сетях с широковещательной передачей, где для отображения IP-адресов в сетевые адреса используется протокол ARP или ему подобный. Здесь мы вновь будем предполагать, что имеем дело с сетью Ethernet.
Во многом метод, реализуемый протоколом ARP с представителем, аналогичен использованию маршрутов по умолчанию и сообщений перенаправления. Но протокол ARP с представителем не затрагивает таблиц маршрутов, все делается на уровне адресов Ethernet. Протокол ARP с представителем может использоваться либо для маршрутизации IP-пакетов ко всем сетям, либо только в локальной сети, либо в какой-то комбинации подсетей. Проще всего продемонстрировать его использование при работе со всеми адресами.
Чтобы использовать протокол, нужно настроить узел так, будто все машины в мире подключены непосредственно к вашей локальной сети Ethernet. В ОС UNIX это делается командой «route add default 128.6.4.2 0», где 128.6.4.2 — IP-адрес вашего узла. Как уже отмечалось, метрика 0 говорит о том, что все IP-пакеты, которым подходит данный маршрут, должны посылаться напрямую по локальной сети.
Когда нужно послать IP-пакет узлу в локальной сети Ethernet, ваша машина должна определить Ethernet-адрес этого узла. Для этого она использует ARP-таблицу. Если в ARP-таблице уже есть запись, соответствующая IP-адресу места назначения, то из нее просто берется Ethernet-адрес, и кадр, содержащий IP-пакет, отправляется. Если такой записи нет, то посылается широковещательный ARP-запрос. Узел с искомым IP-адресом назначения принимает его и в ARP-ответе сообщает свой Ethernet-адрес. Эти действия соответствуют обычному протоколу ARP, описанному выше.
Протокол ARP с представителем основан на том, что шлюзы работают как представители удаленных узлов. Предположим, в подсети 128.6.5 имеется узел 128.6.5.2 (узел A). Он желает послать IP-пакет узлу 128.6.4.194, который подключен к другой сети Ethernet (узел B). Существует шлюз с IP-адресом 128.6.5.1, соединяющий две подсети (шлюз R).
Если в ARP-таблице узла A нет маршрута доступа к узлу B, то узел A посылает ARP-запрос узлу B. Фактически машина A спрашивает: «Если кто-нибудь знает Ethernet-адрес узла 128.6.4.194, сообщите мне его». Узел B не может ответить на запрос самостоятельно. Он подключен к другой сети Ethernet и никогда даже не увидит этот ARP-запрос. Однако шлюз R может работать от его имени. Шлюз R отвечает: «Я здесь, IP-адресу 128.6.4.194 соответствует Ethernet-адрес 2:7:1:0:EB:CD», где 2:7:1:0:EB:CD в действительности является Ethernet-адресом шлюза. Это создает иллюзию, что узел 128.6.4.194 подключен непосредственно к той же локальной сети Ethernet, что и узел A, и имеет Ethernet-адрес 2:7:1:0:EB:CD. Когда узел A захочет послать новый IP-пакет узлу B, он использует указанный Ethernet-адрес. Кадр, содержащий IP-пакет, попадет к шлюзу R, а он переправит его по назначению.
Заметим, что полученный эффект такой же, как если бы в таблице маршрутов была запись за исключением того, что маршрутизация выполняется на уровне модуля ARP, а не модуля IP.
Обычно рекомендуется использовать таблицу маршрутов, так как архитектура протоколов TCP/IP предусматривает выполнение маршрутизации на межсетевом уровне. Однако иногда протокол ARP с представителем очень полезен. Он может помочь в следующих случаях:
1)в IP-сети есть узел, который не умеет работать с подсетями;
2)в IP-сети есть узел, который не может соответствующим образом реагировать на сообщения перенаправления;
3)нежелательно выбирать какой-либо шлюз как маршрут по умолчанию;
4)программное обеспечение не способно восстанавливаться при сбоях на маршрутах.
Иногда протокол ARP с представителем выбирают из-за удобства. Дело в том, что он упрощает работу по начальной установке таблицы маршрутов. Даже в простейших IP-сетях требуется устанавливать маршрут по умолчанию, то есть использовать команду типа «route add default …», как в ОС UNIX. При изменении IP-адреса шлюза эту команду приходится менять во всех узлах. Если же использовать протокол ARP с представителем, т. е. в команде установки маршрута по умолчанию указать метрику 0, то при замене IP-адреса шлюза команду начальной установки менять не придется, так как протокол ARP с представителем не требует явного задания IP-адресов шлюзов. Любой шлюз может ответить на ARP-запрос.
Для того, чтобы избавить пользователей от обязательной начальной установки маршрутов, некоторые реализации TCP/IP используют протокол ARP с представителем по умолчанию в тех случаях, когда не находят подходящих записей в таблице маршрутов.
4.5 Протокол UDP
Протокол UDP (User Datagram Protocol — протокол пользовательских датаграмм) является одним из двух основных протоколов, расположенных непосредственно над IP. Он предоставляет прикладным процессам транспортные услуги, которые не многим отличаются от услуг, предоставляемых протоколом IP. Протокол UDP обеспечивает ненадежную доставку датаграмм и не поддерживает соединений из конца в конец. К заголовку IP-пакета он добавляет два поля, одно из которых, поле «порт», обеспечивает мультиплексирование информации между разными прикладными процессами, а другое поле — «контрольная сумма» — позволяет поддерживать целостность данных.
Примерами сетевых приложений, использующих UDP, являются NFS (Network File System — сетевая файловая система) и SNMP (Simple Network Management Protocol — простой протокол управления сетью).
Порты Взаимодействие между прикладными процессами и модулем UDP осуществляется через UDP-порты. Порты нумеруются начиная с нуля. Прикладной процесс, предоставляющий некоторые услуги другим прикладным процессам (сервер), ожидает поступления сообщений в порт, специально выделенный для этих услуг. Сообщения должны содержать запросы на предоставление услуг. Они отправляются процессами-клиентами.
Например, сервер SNMP всегда ожидает поступлений сообщений в порт 161. Если клиент SNMP желает получить услугу, он посылает запрос в UDP-порт 161 на машину, где работает сервер. В каждом узле может быть только один сервер SNMP, так как существует только один UDP-порт 161. Данный номер порта является общеизвестным, то есть фиксированным номером, официально выделенным для услуг SNMP. Общеизвестные номера определяются стандартами Internet.
Данные, отправляемые прикладным процессом через модуль UDP, достигают места назначения как единое целое. Например, если процесс-отправитель производит 5 записей в UDP-порт, то процесс-получатель должен будет сделать 5 чтений. Размер каждого записанного сообщения будет совпадать с размером каждого прочитанного. Протокол UDP сохраняет границы сообщений, определяемые прикладным процессом. Он никогда не объединяет несколько сообщений в одно и не делит одно сообщение на части.
Контрольное суммирование Когда модуль UDP получает датаграмму от модуля IP, он проверяет контрольную сумму, содержащуюся в ее заголовке. Если контрольная сумма равна нулю, то это означает, что отправитель датаграммы ее не подсчитывал, и, следовательно, ее нужно игнорировать. Если два модуля UDP взаимодействуют только через одну сеть Ethernet, то от контрольного суммирования можно отказаться, так как средства Ethernet обеспечивают достаточную степень надежности обнаружения ошибок передачи. Это снижает накладные расходы, связанные с работой UDP. Однако рекомендуется всегда выполнять контрольное суммирование, так как возможно в какой-то момент изменения в таблице маршрутов приведут к тому, что датаграммы будут посылаться через менее надежную среду.
Если контрольная сумма правильная (или равна нулю), то проверяется порт назначения, указанный в заголовке датаграммы. Если к этому порту подключен прикладной процесс, то прикладное сообщение, содержащееся в датаграмме, становится в очередь для прочтения. В остальных случаях датаграмма отбрасывается. Если датаграммы поступают быстрее, чем их успевает обрабатывать прикладной процесс, то при переполнении очереди сообщений поступающие датаграммы отбрасываются модулем UDP[29].
4.6 Протокол TCP
Протокол TCP предоставляет транспортные услуги, отличающиеся от услуг UDP. Вместо ненадежной доставки датаграмм без установления соединений, он обеспечивает гарантированную доставку с установлением соединений в виде байтовых потоков.
Протокол TCP используется в тех случаях, когда требуется надежная доставка сообщений. Он освобождает прикладные процессы от необходимости использовать таймауты и повторные передачи для обеспечения надежности. Наиболее типичными прикладными процессами, использующими TCP, являются FTP (File Transfer Protocol — протокол передачи файлов) и TELNET. Кроме того, TCP используют система X-Window, rcp (remote copy — удаленное копирование) и другие «r-команды». Большие возможности TCP даются не бесплатно. Реализация TCP требует большой производительности процессора и большой пропускной способности сети. Внутренняя структура модуля TCP гораздо сложнее структуры модуля UDP.
Прикладные процессы взаимодействуют с модулем TCP через порты. Для отдельных приложений выделяются общеизвестные номера портов. Например, сервер TELNET использует порт номер 23. Клиент TELNET может получать услуги от сервера, если установит соединение с TCP-портом 23 на его машине.
Когда прикладной процесс начинает использовать TCP, то модуль TCP на машине клиента и модуль TCP на машине сервера начинают общаться. Эти два оконечных модуля TCP поддерживают информацию о состоянии соединения, называемого виртуальным каналом. Этот виртуальный канал потребляет ресурсы обоих оконечных модулей TCP. Канал является дуплексным; данные могут одновременно передаваться в обоих направлениях. Один прикладной процесс пишет данные в TCP-порт, они проходят по сети, и другой прикладной процесс читает их из своего TCP-порта.
Протокол TCP разбивает поток байт на пакеты; он не сохраняет границ между записями. Например, если один прикладной процесс делает 5 записей в TCP-порт, то прикладной процесс на другом конце виртуального канала может выполнить 10 чтений для того, чтобы получить все данные. Но этот же процесс может получить все данные сразу, сделав только одну операцию чтения. Не существует зависимости между числом и размером записываемых сообщений с одной стороны и числом и размером считываемых сообщений с другой стороны.
Протокол TCP требует, чтобы все отправленные данные были подтверждены принявшей их стороной. Он использует таймауты и повторные передачи для обеспечения надежной доставки. Отправителю разрешается передавать некоторое количество данных, не дожидаясь подтверждения приема ранее отправленных данных. Таким образом, между отправленными и подтвержденными данными существует окно уже отправленных, но еще неподтвержденных данных. Количество байт, которые можно передавать без подтверждения, называется размером окна. Как правило, размер окна устанавливается в стартовых файлах сетевого программного обеспечения. Так как TCP-канал является дуплексным, то подтверждения для данных, идущих в одном направлении, могут передаваться вместе с данными, идущими в противоположном направлении. Приемники на обеих сторонах виртуального канала выполняют управление потоком передаваемых данных для того, чтобы не допускать переполнения буферов.
Подробное описание протокола TCP
TCP (Transmission Control Protocol, Протокол управления передачей) был спроектирован в качестве связующего протокола для обеспечения интерактивной работы между компьютерами. TCP обеспечивает надежность и достоверность обмена данными между процессами на компьютерах, входящих в общую сеть. TCP, с одной стороны, взаимодействует с прикладным протоколом пользовательского приложения, а с другой, с протоколом, обеспечивающим «низкоуровневые» функции: маршрутизацию и адресацию пакетов, которые, как правило, выполняет IP.
В операционной системе реализация TCP представляет собой отдельный системный модуль (драйвер), через который, как правило, проходят все вызовы функций протокола. Интерфейс между прикладным процессом и TCP представляет собой библиотеку вызовов, такую же как библиотека системных вызовов, например, для работы с файлами. Вы можете открыть или закрыть соединение (как открыть или закрыть файл) и отправить или принять данные из установленного соединения (аналогично операциям чтения и записи файла). Вызовы TCP могут работать с прикладным приложением в асинхронном режиме. Безусловно, реализация TCP в каждой системе может осуществлять множество собственных функций, но любая из этих реализации должна обеспечивать минимум функциональности, которая требуется стандартами TCP.
Схема работы пользовательского приложения с TCP, в общих чертах, состоит в следующем. Для передачи данных пользовательскому процессу надо вызвать соответствующую функцию TCP, с указанием на буфер передаваемых данных. TCP упаковывает эти данные в сегменты своего стека и вызывает функцию передачи протокола нижнего уровня, например IP.
На другом конце, получатель TCP группирует поступившие от протокола нижнего уровня данные в принимающие сегменты своего буфера, проверяет целостность данных, передает данные пользовательскому процессу и уведомляет отправителя об их получении.
Пользовательский интерфейс с TCP может выполнять такие команды как открыть (OPEN) или закрыть (CLOSE) соединение, отправить (SEND) или принять (RECEIVE) данные, или получить статус соединения (STATUS). Эти вызовы подобны любым другим вызовам функций операционной системы из пользовательской программы, таким как открытие, чтение или закрытие файла.
В модели межсетевого соединения взаимодействие TCP и протоколов нижнего уровня, как правило, не специфицировано, за исключением того, что должен существовать механизм, который обеспечивал бы асинхронную передачу информации от одного уровня к другому. Результатом работы этого механизма является инкапсуляция протокола более высокого уровня в тело протокола более низкого уровня. Реализуется этот механизм через интерфейс вызовов между TCP и IP.
В результате работы этого механизма каждый TCP-пакет вкладывается в «конверт» протокола нижнего уровня, например, IP. Получившаяся таким образом дейтаграмма содержит в себе TCP-пакет так же как TCP-пакет содержит пользовательские данные.
Простейшая модель работы TCP-протокола выглядит обманчиво гладко, поскольку на самом деле реальная работа изобилует множеством деталей и тонкостей.
Прямоугольники обозначают обработку данных, а линии, соединяющие прямоугольники, — пути передачи данных. Горизонтальная линия внизу рисунка обозначает кабель сети Ethernet, которая используется в качестве примера физической среды. Понимание этой логической структуры является основой для понимания всей технологии TCP/IP.
Далее более подробно рассмотрим возможности, принципы построения и основные функции протокола TCP:
Потоки данных, стек протоколов, механизм гнезд и мультиплексирование соединений
Процедура установления соединения и передача данных
Механизмы обеспечения достоверности передаваемых данных
Механизм контроля потока данных
Флаг важности пакета, средства обеспечения безопасности протокола
Потоки данных, стек протоколов, механизм гнезд и мультиплексирование соединений
Для установления соединения между двумя процессами на различных компьютерах сети необходимо знать не только Internet-адреса компьютеров, но и номер ТСР-порта, который процесс использует на данном компьютере. В совокупности с Internet-адресом компьютера порты образуют систему гнезд (sockets). Пара гнезд уникально идентифицирует каждое соединение или поток данных в сети Internet, а порт обеспечивает независимость каждого ТСР-канала на данном компьютере. Безусловно, несколько процессов на машине могут использовать один и тот же ТСР-порт, но с точки зрения удаленного процесса между этими процессами не будет никакой разницы.
Рассмотрим потоки данных, проходящие через протоколы. При использовании протокола TCP данные передаются между прикладным процессом и модулем TCP. Типичным прикладным процессом, использующим протокол TCP, является модуль FTP (File Transfer Protocol, Протокол передачи фай-лов). Стек протоколов в этом случае будет FTP/TCP/IP/ENET. При использовании протокола UDP (User Datagram Protocol, Протокол дейтаграмм пользователя) данные передаются между прикладным процессом и модулем UDP. Например, SNMP (Simple Network Management Protocol, Простой протокол управления сетью) пользуется транспортными услугами UDP. Его стек протоколов выглядит так: SNMP/UDP/IP/ENET.
Одно гнездо на компьютере может быть задействовано в соединениях с несколькими гнездами на удаленных компьютерах. Кроме того, одно и то же гнездо может передавать поток данных в обоих направлениях. Таким образом, механизм гнезд позволяет на одном компьютере одновременно работать нескольким приложениям и уникально идентифицирует каждый поток данных сети. Это называется мультиплексированием соединений.
Модули TCP, UDP и драйвер Ethernet являются мультиплексорами типа n x
Действуя как мультиплексоры, они переключают несколько входов на один выход. Они также являются демультиплексорами типа 1 х n. Как демультиплексоры, они переключают один вход на один из многих выходов в соответствии с полем типа в заголовке протокольного блока данных. Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он может быть направлен либо в модуль ARP, либо в модуль IP. (Значение поля типа в заголовке кадра указывает, куда должен быть направлен Ethernet-кадр).
Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP, либо UDP, что определяется полем «Protocol» в заголовке IP-пакета. Если TCP-сообщение попадает в модуль TCP, то выбор прикладной программы, которой должно быть передано сообщение, осуществляется на основе значения поля «порт» в заголовке TCP-сообщения.
Мультиплексирование данных в обратную сторону осуществляется довольно просто, так как из каждого модуля существует только один путь вниз. Каждый протокольный модуль добавляет к пакету свой заголовок, на основании которого машина, принявшая пакет, выполняет демультиплексирование.
Назначение портов приложениям на каждом компьютере происходит независимо друг от друга. TCP может самостоятельно выбирать порт, с которым будет работать приложение, или приложение укажет, с каким портом на данном компьютере оно будет работать. Однако, как правило, часто используемые приложения — сервисы используют одни и те же номера портов, которые уже стали общеизвестными, например, такие как HTTP, FTP, SMTP и др., для того, чтобы к данному процессу на компьютере можно было присоединиться, указывая только адрес машины. Например, Internet браузер, если ему не указать дополнительно, ищет по указанному адресу приложение, работающее с портом 80, — это наиболее распространенный порт для серверов WWW.
Кроме того, машина может быть снабжена несколькими сетевыми интерфейсами, тогда она должна осуществлять мультиплексирование типа пхт, т. е. между несколькими прикладными программами и сетевыми интерфейсами.
Установление соединения и передача данных
Соединение определяется вызовом команды OPEN с аргументами в виде номера локального порта и гнезда (IP-адрес + порт) удаленного процесса. Функция OPEN вызывается и в том случае, когда данный процесс намерен передавать информацию (активный OPEN), и когда процесс ожидает поступления информации (пассивный OPEN). Функция возвращает идентификатор соединения, по которому пользователь может ссылаться в своих последующих вызовах. Идентификатор соединения указывает на структуру данных, в которой хранятся переменные и информация данного TCP-соединения. Эта структура данных называется Управляющая Структура Передачи — Transmission Control Block (TCB).
ТСВ хранит такие параметры соединения, как адреса локального и удаленного гнезд, указатели на полученные и отправляемые пользовательские данные, указатели на очередь блоков для повторной отправки, номер текущего сегмента и т. д., то есть всю информацию, используемую данным соединением.[29]
Как уже отмечено выше, открытие соединения может быть активным и пассивным. Пассивное открытие обозначает, что процесс ожидает поступления сигнала открытия соединения и не пытается открыть канал самостоятельно. Иными словами, канал, открытый с одного конца как пассивный, ожидает инициирующего сигнала от какого-либо из хостов. Этот тип открытия канала используется процессами, которые предоставляют свой сервис через заранее известный номер своего порта (например, HTTP, SMTP и т. д.) и работают с механизмом общеизвестных гнезд.
Процесс может вызвать функцию пассивного открытия канала и ждать получения сигнала активного открытия канала от другого процесса, и только после получения такого сигнала соединение будет установлено. Соединение будет так же установлено, если два процесса активно откроют канал навстречу друг другу. Эта гибкость в установлении соединения особенно важна в распределенных сетях, когда компьютеры работают асинхронно.
Только в двух случаях принципиально важно, чтобы гнездо на данном компьютере было открыто как пассивное, а на другой стороне как активное:
1. Когда локальное пассивное открытие соединения полностью определяет гнездо на другой стороне.
2. Локальное пассивное открытие гнезда не предполагает каких-либо ограничений на гнездо с другой стороны, т. е. любое гнездо может присоединиться к данному сервису.
Если у вас на одном гнезде открыто пассивно, с соответствующими записями ТСВ, несколько соединений, то при открытии активного соединения на другом конце будет задействовано ТСВ, соответствующее параметрам, заданным активным гнездом. Если такого не существует, выбирается любое другое открытое гнездо.
Процедура установления соединения использует специальный флаг синхронизации — SYN и состоит из трех этапов обмена сообщениями — так называемое «трехходовое квитирование». Использование именно трех тактов квитирующих сообщений всегда достаточно, чтобы синхронизировать потоки данных.
Инициализация соединения начинается с обмена пакетами, которые отправляются при открытии канала пользователем, например, командой OPEN, и содержат флаг SYN и свой начальный порядковый номер пакетов данных. После этого гнезда ожидают пакет с ТСВ-партнера. Соединение считается установленным, когда в обоих направлениях синхронизируются нумерующие последовательности передаваемых пакетов, т. е. и клиент и сервер «знают», пакет с каким номером поступит с противоположного конца соединения.
Соединение закрывается, когда гнезда обмениваются пакетами, содержащими команду FIN. При этом все ресурсы системы, занятые ТСВ-данных соединений, должны быть освобождены.
Вообще говоря, TCP сам определяет, как группировать и когда отправлять очередной блок данных. Однако в некоторых случаях, пользователю необходимо быть уверенным, что все данные, переданные на уровень TCP, отправлены. Для этих целей существует функция «проталкивания пакета» — PUSH-функция. Вызов этой функции позволяет проконтролировать отправку всех буферизированных TCP-протоколом данных.
Пользователь, отправляющий пакет вызовом SEND, указывает, передаются ли в сегменте или в предшествующих сегментах данные немедленно, или при передаче будет использоваться механизм кэширования данных, тогда данные будут отправляться в соответствии с установками системы. Когда же TCP получает пакет с флагом PUSH, а этот флаг устанавливается PUSH-функцией, вся кэшированная информация, вне зависимости от того, сформирована она одним вызовом команды SEND или несколькими, будет немедленно отправлена получателю. 30. с.249]
Назначение PUSH-функции и PUSH-флага состоит только в «проталкивании» данных к пользователю, минуя механизм кэширования. Команда PUSH не производит никаких дополнительных группировок или других действий над данными.
Следует отметить, что существует взаимосвязь между PUSH-функцией и использованием буферов данных, используемых как TCP, так и пользовательским интерфейсом. Всякий раз, когда с данными, помещенными в пользовательский буфер получателя, ассоциирован PUSH-флаг, буфер немедленно передается пользователю, даже если он не заполнен до конца. Если данные заполнили буфер до получения PUSH-флага, эти данные передадутся пользователю в размере целого буфера.
Механизмы обеспечения достоверности передаваемых данных
Протокол ТСР должен уметь работать с поврежденными, потерянными, дублированными или поступившими с изменением порядка пакетами. Это достигается благодаря механизму присвоения порядкового номера каждому передаваемому пакету данных и механизму проверок получения пакетов подтверждения доставки.
Когда TCP передает сегмент данных, копия этих данных помещается в очередь повтора передачи и запускается таймер ожидания подтверждения. Когда система получает подтверждение — сегмент TCP, содержащий управляющий флаг АСК, что этот пакет данных получен, она удаляет его из очереди. Сегмент подтверждения получения содержит номер полученного сегмента, на основании которого и происходит контроль доставки данных адресату. Если подтверждение не поступило до истечения срока таймера, пакет отправляется еще раз. Уведомление TCP о получении пакета данных еще не означает, что он был доставлен конечному пользователю. Оно только означает, что TCP выполнил возложенные на него функции.
При передаче информации каждому байту данных присваивается порядковый номер, поэтому, в какой бы последовательности эти пакеты не достигали точки назначения, они всегда будут собраны в изначально заданной последовательности. Порядковый номер первого байта данных в передаваемом сегменте называется порядковым номером сегмента. Нумерация проводится «с головы состава», т. е. от заголовка пакета. TCP-пакет также содержит «подтверждающий номер» (acknowledgment number), который представляет собой номер следующего ожидаемого пакета данных передачи в обратном направлении. Иными словами, номер обозначает: «до сих пор я все получил». Механизм с использованием «подтверждающего номера» позволяет исключать дублирование пакетов при повторной отправке недоставленных данных.
Кроме определения порядка следования информационных пакетов, «порядковый номер» играет большую роль в механизме синхронизации соединения и контроле потерянных пакетов при разрывах соединения. Однако необходимо помнить, что величина счетчика — нумератора все же ограничена. Пакеты могут нумероваться числами от 0 до 2(32−1). Таким образом, все арифметические операции со счетчиком пакетов производятся по модулю 232. Это не означает, что гнезда, в процессе соединения, могут обмениваться только ограниченным количеством пакетов. Поскольку в процессе обмена получатель и отправитель знают предыдущий, последующий номера пакетов и длину пакета, а эти величины хранятся в структуре ТСВ при образовании соединения, все операции сравнения по модулю 232 проводятся корректно.
Здесь стоит сказать несколько слов о механизме предотвращения появления в сети пакетов с одинаковыми номерами. Они могут появиться, например, при установлении и быстром сбросе соединения или при сбросе соединения и его быстром восстановлении, т. е. когда номер испорченного пакета может сразу использоваться новым пакетом данных. Механизм предотвращения подобных ситуаций основан на генерировании начального числа последовательности пакетов, а поскольку счетчик циклический, то не все ли равно, с какого места начинать отсчет.
Так, при установлении нового соединения генерируется 32-битное число ISN (Initial Sequence Number). Генератор использует 32 младших разряда машинного таймера, который меняется каждые 4 микросекунды (полный цикл — 4,55 часа). Это число и служит отсчетом нумератора пакетов. Кроме того, каждая дейтаграмма в сети имеет ограниченное время жизни MSL — Maximum Life Time, которое значительно меньше периода генератора. Таким образом, в сети гарантируется невозможность возникновения конфликтов пакетов с одинаковыми номерами.
Поврежденные пакеты отсеиваются механизмом проверки величины контрольной суммы данных, которая размещается в каждом передаваемом пакете.
Механизм контроля потока данных
Протокол TCP позволяет получателю последовательности пакетов регулировать передаваемый отправителем поток данных. Этот механизм основан на том, что при передаче флага подтверждения получения пакета (АСК) в ТСР-сегменте передается размер буфера данных, который может быть передан отправителем, не дожидаясь разрешения на отправку очередной порции данных от получателя. Иными словами — передается размер свободного места в стеке протокола, куда записываются только что принятые и ожидающие дальнейшей обработки данные. Из стека данные обрабатываются и передаются соответствующим процессам. Этот механизм позволяет избегать «пробок» при передаче данных между системами различной производительности.
" Окно" задается в количестве байт, отсчитываемых от номера байта, заданного в поле номера пакета «подтвержденного получения» (acknowledgment number) данных. Нулевой размер окна означает для отправителя команду приостановить передачу до готовности принимать данные получателем. Необходимо заметить, что в этом случае отправитель посылает однобайтные пакеты и на основании информации пакетов подтверждения возобновляет или нет дальнейшую передачу данных.
Безусловно, большой размер окна позволяет передавать данные быстрее, поскольку отправителю пакета не нужно ждать сигнала готовности приема от получателя. Однако в случае сбоя передачи, соответственно, возрастет объем данных, которые нужно отправить заново. При небольшом же размере окна сбойные сегменты данных можно локализовать с минимальными потерями.
Механизм контроля потока данных позволяет TCP влиять на изменение размера «окна» передачи. Это, в свою очередь, помогает значительно оптимизировать скорость достоверного обмена данных между процессами в гетерогенных сетях Internet.
Флаг важности пакета, средства обеспечения безопасности протокола
Протокол TCP наследует все параметры секретности и приоритетности пакета, используемые IP и позволяет работать с ними для обеспечения собственной безопасности. В TCP-спецификации термин «секретность и изолированность» обозначает безопасность соединения, изолированность потоков данных и другие ограничения, которые обеспечивает IP.
Кроме того, TCP поддерживает некоторые дополнительные механизмы, которые поддерживаются специальным аппаратным и программным обеспечением TCP.
Для того чтобы TCP мог полностью реализовать свои возможности работы с иерархией приоритетных пакетов и информацией различного уровня секретности, необходима также поддержка этих возможностей и со стороны протоколов высокого уровня, и самих пользовательских приложений, и операционных систем.
Кроме наследуемых от IP-параметров, TCP имеет в своем распоряжении механизм работы с флагом важности пакетов — URG. Этот механизм позволяет отправителю «настоятельно сообщать» получателю о том, что тот или иной пакет содержит срочную информацию и позволяет получателю сигнализировать, когда вся срочная информация им получена. Такой механизм уведомления, т. е. манипулирование с URG-флагом TCP-пакета используется, например, при обработке асинхронных событий.
Состав и предназначение полей заголовка
ТСР-сегменты отправляются как IP-дейтаграммы. Заголовок TCP, следующий за IP-заголовком, содержит информацию TCP-протокола.
Source Port (16 бит). Порт отправителя.
Destination Port (16 бит). Порт получателя.
Sequence Number (32 бита). Номер кадра. Номер кадра первого октета данных в этом сегменте (за исключением пакета, где присутствует флаг SYN). Если в пакете присутствует флаг SYN, то номер данного пакета становится номером начала последовательности (ISN) и номером первого октета данных становится номер ISN+1.
Acknowledgment Number (32 бита). Поле номера кадра подтвержденного получения. Если пакет содержит установленный контрольный бит АСК, то это поле содержит номер следующего пакета данных отправителя, который ожидает получатель. При установленном соединении пакет подтверждения отправляется всегда.
Data Offset (4 бита). Поле величины смещения данных. Оно содержит количество 32-битных слов заголовка TCP-пакета. Это число определяет смещение расположения данных в пакете.
Reserved (6 бит). Резервное поле. Поле зарезервировано.
Флаги управления (слева направо):
URG: Флаг срочности
АСК: Флаг пакета, содержащего подтверждение получения
PSH: Флаг форсированной отправки
RST: Переустановка соединения
SYN: Синхронизация чисел последовательности
FIN: Флаг окончания передачи со стороны отправителя
Window (16 бит). Окно. Это поле содержит количество байт данных, которое отправитель данного сегмента может принять, отсчитанное от номера байта, указанного в поле Acknowledgment Number.
Checksum (16 бит). Поле контрольной суммы. Это поле содержит 16 бит суммы побитных дополнений 16-битных слов заголовка и данных. Если сегмент содержит нечетное число байт заголовка и данных, последний байт дополняется справа нулями. При вычислении контрольной суммы поле контрольной суммы полагается равным нулю.
Urgent Pointer (16 бит). Поле указателя срочных данных. Это поле содержит значение счетчика пакетов, начиная с которого следуют пакеты повышенной срочности. Это поле принимается во внимание только в сегментах с установленным флагом URG.
Options. Поле дополнительных параметров: может быть переменной длины.
Padding. Заполнение: переменная длина. Заполнение (нулями) TCP-заголовка используется для выравнивания его по 32-битному слову.
Псевдозаголовок Между TCP-заголовком и IP-заголовком располагается так называемый псевдозаголовок (рис. 2.14). Он состоит из IP-адреса отправителя (Source Address), IP-адреса получателя (Destination Address), типа протокола (PTCL) и длины TCP-пакета (TCP Length). Он предназначен для «страховки» неправильной маршрутизации TCP-пакета. Информация, расположенная в этом заголовке передается TCP от IP-протокола как аргумент или результат обработки вызова IP-функции. 32]
4.7 Протоколы прикладного уровня Почему существуют два транспортных протокола TCP и UDP, а не один из них? Дело в том, что они предоставляют разные услуги прикладным процессам. Большинство прикладных программ пользуются только одним из них. Вы выбираете тот протокол, который наилучшим образом соответствует вашим потребностям. Если вам нужна надежная доставка, то лучшим может быть TCP. Если вам нужна доставка датаграмм, то лучше может быть UDP. Если вам нужна эффективная доставка по длинному и ненадежному каналу передачи данных, то лучше может подойти протокол TCP. Если нужна эффективность на быстрых сетях с короткими соединениями, то лучшим может быть протокол UDP. Если ваши потребности не попадают ни в одну из этих категорий, то выбор транспортного протокола не ясен. Однако прикладные программы могут устранять недостатки выбранного протокола. Например, если вы выбрали UDP, а вам необходима надежность, то прикладная программа должна обеспечить надежность. Если вы выбрали TCP, а вам нужно передавать записи, то прикладная программа должна вставлять маркеры в поток байтов так, чтобы можно было различить записи.
Какие же прикладные программы доступны в сетях с TCP/IP? Общее их количество велико и продолжает постоянно увеличиваться. Некоторые приложения существуют с самого начала развития internet. Например, TELNET и FTP.
Протоколы прикладного уровня ориентированы на конкретные прикладные задачи. Они определяют как процедуры по организации взаимодействия определенного типа между прикладными процессами, так и форму представления информации при таком взаимодействии.
Протокол TELNET
Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные «сетевые виртуальные терминалы» строчного типа, работающие в коде ASCII, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т. д.) TELNET работает на базе протокола TCP. На прикладном уровне над TELNET находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала.
Работа с TELNET походит на набор телефонного номера. Пользователь набирает на клавиатуре что-то вроде telnet delta и получает на экране приглашение на вход в машину delta.
Протокол FTP
Протокол FTP (File Transfer Protocol — протокол передачи файлов) распространен также широко как TELNET. Он является одним из старейших протоколов семейства TCP/IP. Также как TELNET он пользуется транспортными услугами TCP. Существует множество реализаций для различных операционных систем, которые хорошо взаимодействуют между собой. Пользователь FTP может вызывать несколько команд, которые позволяют ему посмотреть каталог удаленной машины, перейти из одного каталога в другой, а также скопировать один или несколько файлов.
Протокол SMTP
Протокол SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты) поддерживает передачу сообщений (электронной почты) между произвольными узлами сети internet. Имея механизмы промежуточного хранения почты и механизмы повышения надежности доставки, протокол SMTP допускает использование различных транспортных служб. Он может работать даже в сетях, не использующих протоколы семейства TCP/IP. Протокол SMTP обеспечивает как группирование сообщений в адрес одного получателя, так и размножение нескольких копий сообщения для передачи в разные адреса. Над модулем SMTP располагается почтовая служба конкретных вычислительных систем.
Протокол SNMP
Протокол SNMP (Simple Network Management Protocol — простой протокол управления сетью) работает на базе UDP и предназначен для использования сетевыми управляющими станциями. Он позволяет управляющим станциям собирать информацию о положении дел в сети internet. Протокол определяет формат данных, их обработка и интерпретация остаются на усмотрение управляющих станций или менеджера сети.
Взаимозависимость протоколов семейства TCP/IP
Ниже на рисунке представлена схема взаимосвязей между протоколами семейства TCP/IP.
Рис. 2 Структура взаимосвязей протоколов семейства TCP/IP
В данном разделе проведен обзор сетевых протоколов. Были рассмотрены протоколы TPC/IP, IPX/SPX, NetBIOS. Более подробно рассмотрен стек протоколов TPC/IP, так как он является наиболее используемым в настоящее время протоколом. Дана краткая характеристика протоколов FTP, telnet, SNMP и других протоколов.
компьютер сеть локальный протокол
Заключение
По результатам проделанной работы можно подвести следующие выводы.
Компьютерные сети на качественно новом уровне позволяют обеспечить основные характеристики:
— максимальную функциональность, т. е. пригодность для самых разных видов операций,
— интегрированность, заключающуюся в сосредоточении всей информации в едином центре,
— оперативность информации и управления, определяемые возможностью круглосуточной работы в реальном масштабе времени,
— функциональную гибкость, т. е. возможность быстрого изменения параметров системы,
— развитую инфраструктуру, т. е. оперативный сбор, обработку и представление в единый центр всей информации со всех подразделений,
— минимизированные риски посредством комплексного обеспечения безопасности информации, которая подвергается воздействию случайных и преднамеренных угроз.
Последний пункт очень важен, поскольку в сети могут содержаться данные, которые могут быть использованы в ходе конкурентной борьбы, но, в целом, если безопасность находится на должном уровне, локальные сети становятся просто необходимыми в современных условиях экономики и управления.
Локальные сети реализуют распределенную обработку информации, соответственно обработка распределяется между всеми компьютерами сети, что позволяет увеличить производительность компьютеров. Локальная сеть — это не просто механическая сумма персональных компьютеров, она значительно расширяет возможности пользователей.
Глобальные компьютерные сети используются для объединения абонентов разных типов: отдельных компьютеров разных классов — от мэйнфреймов до персональных компьютеров, локальных компьютерных сетей, удаленных терминалов.
Ввиду большой стоимости инфраструктуры глобальной сети существует острая потребность передачи по одной сети всех типов трафика, которые возникают на предприятии, а не только компьютерного: голосового трафика внутренней телефонной сети, работающей на офисных АТС (РВХ), трафика факс-аппаратов, видеокамер, кассовых аппаратов, банкоматов и другого производственного оборудования.
Для поддержки мультимедийных видов трафика создаются специальные технологии: ISDN, B-ISDN. Кроме того, технологии глобальных сетей, которые разрабатывались для передачи исключительно компьютерного трафика, в последнее время адаптируются для передачи голоса и изображения. Для этого пакеты, переносящие замеры голоса или данные изображения, приоритезируются, а в тех технологиях, которые это допускают, для их переноса создается соединение с заранее резервируемой пропускной способностью. Имеются специальные устройства доступа — мультиплексоры «голос — данные» или «видео — данные», которые упаковывают мультимедийную информацию в пакеты и отправляют ее по сети, а на приемном конце распаковывают и преобразуют в исходную форму — голос или видеоизображение.
Глобальные сети предоставляют в основном транспортные услуги, транзитом перенося данные между локальными сетями или компьютерами. Существует нарастающая тенденция поддержки служб прикладного уровня для абонентов глобальной сети: распространение публично-доступной аудио-, видеои текстовой информации, а также организация интерактивного взаимодействия абонентов сети в реальном масштабе времени. Эти службы появились в Internet и успешно переносятся в корпоративные сети, что называется технологией intranet.
Все устройства, используемые для подключения абонентов к глобальной сети, делятся на два класса: DTE, собственно вырабатывающие данные, и DCE, служащие для передачи данных в соответствии с требованиями интерфейса глобального канала и завершающие канал.
Технологии глобальных сетей определяют два типа интерфейса: «пользователь-сеть» (UNI) и «сеть-сеть» (NNI). Интерфейс UNI всегда глубоко детализирован для обеспечения подключения к сети оборудования доступа от разных производителей. Интерфейс NNI может быть детализирован не так подробно, так как взаимодействие крупных сетей может обеспечиваться на индивидуальной основе.
Глобальные компьютерные сети работают на основе технологии коммутации пакетов, кадров и ячеек. Чаще всего глобальная компьютерная сеть принадлежит телекоммуникационной компании, которая предоставляет службы своей сети в аренду. При отсутствии такой сети в нужном регионе предприятия самостоятельно создают глобальные сети, арендуя выделенные или коммутируемые каналы у телекоммуникационных или телефонных компаний.
На арендованных каналах можно построить сеть с промежуточной коммутацией на основе какой-либо технологии глобальной сети (Х.25, frame relay, АТМ) или же соединять арендованными каналами непосредственно маршрутизаторы или мосты локальных сетей. Выбор способа использования арендованных каналов зависит от количества и топологии связей между локальными сетями.
Для обеспечения согласованной работы внутри сети применяются протоколы — это набор правил, регулирующих порядок в сети на разных уровнях взаимодействия. Были рассмотрены основные стеки протоколов, и была дана краткая их характеристика.
В настоящее время наблюдается тенденция к сближению протоколов локальных и глобальных сетей. Ярким примером являются протоколы технологии АТМ, работающие без изменений как в тех, так и в других сетях. Тем не менее, большинство протоколов, используемых сегодня, относятся либо к локальным, либо к глобальным сетям и не могут применяться не по прямому назначению.
Различия между протоколами локальных и глобальных сетей происходят в основном из-за различий между свойствами каналов, использующихся в этих сетях.
Каналы локальных сетей имеют небольшую длину и высокое качество, а каналы глобальных сетей — наоборот, большую длину и низкое качество.
Небольшая длина каналов локальных сетей создала возможность совместного использования их узлами сети в режиме разделения времени. Практически все протоколы локальных сетей имеют версию работы на разделяемых средах передачи данных, хотя более поздние протоколы (Fast Ethernet, Gigabit Ethernet) имеют также и версию работы на индивидуальных каналах в полнодуплексном режиме. Большая протяженность каналов глобальных сетей делает нерациональными любые процедуры разделения канала во времени, так как длительность этих процедур становится слишком большой. Поэтому каналы глобальных сетей используются всегда на индивидуальной основе как связи типа «точка — точка» .
Высокое качество кабелей локальных сетей послужило причиной отказа от использования в протоколах локальных сетей процедур восстановления искаженных и потерянных кадров. Этих процедур нет ни в протоколах семейства Ethernet, ни у протокола Token Ring, ни у протокола FDDI. В то же время в протоколах глобальных сетей, ориентирующихся на каналы плохого качества, процедурам восстановления кадров всегда уделялось большое внимание. Например, в сетях Х.25 восстановлением кадров занимаются сразу два смежных протокола — LAP-B на канальном уровне и протокол Х.25/3 — на сетевом[35].
Начало массового использования цифровых оптоволоконных каналов в глобальных сетях, обеспечивающих высокое качество передачи данных, послужило причиной разработки протоколов глобальных сетей нового поколения, в которых отсутствуют процедуры восстановления кадров. Такой особенностью обладают, например, сети frame relay и ATM.
Таким образом, одно из отличий протоколов локальных и глобальных сетей преодолено за счет продвижения глобальных сетей навстречу локальным. Второе отличие сегодня снимается за счет быстрого внедрения в локальные сети техники микросегментации, отказывающейся от использования разделяемых сред и предоставляющей каждому узлу сети индивидуальный коммутируемый канал. В результате, протоколы локальных и глобальных сетей все больше сближаются, а существование технологии АТМ доказывает, что принципиальных причин для существования между этими классами протоколов четкой границы сегодня не существует и ее окончательное исчезновение — не за горами.
Список использованных источников
1. Герасименко В. Г., Нестеровский И. П., Пентюхов В. В. и др. Вычислительные сети и средства их защиты: Учебное пособие/ Герасименко В. Г., Нестеровский И. П., Пентюхов В. В. и др. — Воронеж: ВГТУ, 1998. — 124 с.
2. Камалян А. К., Кулев С. А., Назаренко К. Н. и др. Компьютерные сети и средства защиты информации: Учебное пособие /Камалян А.К., Кулев С. А., Назаренко К. Н. и др. — Воронеж: ВГАУ, 2003.-119с.
3. Курносов А. П. Практикум по информатике/Под ред. Курносова А. П. Воронеж: ВГАУ, 2001. 173 с.
4. Макарова Н. В. Информатика /под ред. Проф. Н. В. Макаровой. — М.: Финансы и статистика, 1997. — 768 с.: ил.
5. Малышев Р. А. Локальные вычислительные сети: Учебное пособие/ РГАТА. — Рыбинск, 2005. — 83 с.
6. Олифер В. Г, Олифер Н. А. Сетевые операционные системы/ В. Г. Олифер, Н. А. Олифер. — СПб.: Питер, 2002. — 544 с.
7. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы /В.Г. Олифер, Н. А. Олифер. — СПб.: Питер, 2002. 672 с.:
8. Симонович С. В. Информатика. Базовый курс/Симонович С.В. и др. — СПб.: издательство «Питер», 2000. — 640 с.: ил.
9. Крук Б. И., Попантонопуло В. Н., Шувалов В. П. Телекоммуникационные системы и сети. Т1: учеб. пособие/изд.2-е, испр. и доп. -Новосибирск: Сиб. предприятие «Наука» РАН, 1998.
10. Мизин И. А., Богатырев В. А., Кулешов А. П. Сети, коммуникации пакетов/Под ред. В.С. Семенихина-М.:Радиосвязь, 1986.
11. Компьютерные системы и сети: Учеб. пособие. В. П. Косарев и др./Под ред. В. П. Косарева и Л. В. Еремина. М.:Финансы и статистика, 1999.
12. М. Пайк. Internet в подлиннике: Пер. с англ.-СПб.:BHV-Санкт-Петербург, 1996.
13. Шварц М. Сети связи: протоколы, моделирование и анализ в 2-х ч., ч. II: Пер. с англ.-М.:Наука-Гл.ред.физ.-мат.лит., 1992.
14. Протоколы информационно-вычислительных сетей. Справочник Аничкин С. А., Белов С. А., Бернштейн А. В. и др.; Под ред. Мизина А. Н. и Кулешова А.П.- М.: Радио и связь, 1990.-503с.
15. Методы автоматизированного проектирования систем телеобработки данных: Учеб. пособие для вузов / В. А. Мясников, Ю. Н. Мельников, Л. И. Абросимов. М.: Энергоатомиздат. 1992. ?288с.
16. Золотов С. Протоколы INTERNET, СПб.:BHV-Санкт-Петербург, 1998
17. Абросимов Л. И., Лепихин В. Б., Емекеев А. Е., Кочнов Д. А. Практическая работа в сети INTERNET средствами UNIX. Рекомендации к лабораторным занятиям. Москва, МЭИ 2000 г.
18. А. П. Лунев «Телекоммуникационные технологии» Владивосток: ВГУЭиС, 1999, 407с.
19. Сети ЭВМ: протоколы стандарты, интерфейсы. Ю. Блэк; перев. с англ. — М.: Мир, 1990.
20. Коммутация и маршрутизация IP/IPX трафика. М. В. Кульгин, АйТи. — М.: Компьютер-пресс, 1998.
21. Волоконная оптика в локальных и корпоративных сетях связи. А. Б. Семенов, АйТи. — М.: Компьютер-пресс, 1998.
22. Персональные компьютеры в сетях TCP/IP. Крейг Хант; перев. с англ. — BHV-Киев, 1997.
23. Вычислительные системы, сети и телекоммуникации. Пятибратов и др. — ФИС, 1998.
24. Высокопроизводительные сети. Энциклопедия пользователя. Марк А. Спортак и др.; перев. с англ. — Киев, ДиаСофт, 1998.
25. Средства связи для «последней мили». Денисьев и Мирошников, -Эко-Трендз, 1998.
26. Синхронные цифровые сети SDH. Н. Н. Слепов. — Эко-Трендз, 1998.
27. Сети предприятий на основе Windows NT для профессионалов. Стерн, Монти; перев. с англ. — СПб.: Питер, 1999.
28. Основы построения сетей. Учебное руководство для специалистов MCSE (+CD-ROM). Дж. Челлис, Ч. Перкинс, М. Стриб; перевод с англ. — Лори, 1997.
29. Компьютерные сети. Учебный курс, 2-е изд. (+CD-ROM). — MicrosoftPress, Русская редакция, 1998.
30. Сетевые средства Microsoft Windows NT Server 4.0; перев. с англ. СПб.: — BHV — Санкт-Петербург, 1997.
31. Ресурсы Microsoft Windows NT Server 4.0. Книга 1; перев. с англ. СПб.: — BHVСанкт-Петербург, 1997.
32. «Глобальные сети: информация и средства доступа» — издательство ПГТУ.
33. Гиттель Э., Джеймс С., «ISDN просто и доступно» — 1999 г.
34. «Microsoft TCP/IP: Учебный курс.» /официальное пособие Microsoft для самостоятельной подготовки/ - 1998 г.
35. Фролов А. В., Фролов Г. В., «Глобальные сети компьютеров. Практическое введение в Internet» — 1998 г.
36. Шафрин Ю. А., Основы компьютерной технологии. — М. АБФ. 1997 г.
37. Кенин А. М., Печенкина Н. С., IBM PC для пользователей. Екатеринбург, 1993 — 1997 г. г.
Приложение 1
Рисунок 3 — структура построения (а) шина, (б) кольцо, (в) звезда
Рисунок 3 — Структура сети на повторителях класса 2 с использованием витой пары.
Рисунок 4 — Структура сети на повторителях класса 1 с использованием витой пары.
Рисунок 5 — Пример сети Fast Ethernet.
Рисунок 6 — Принцип объединения компьютеров в глобальных сетях.
Рисунок 7 Модель взаимодействия открытых систем ISO/OSI