Справочник от Автор24
Поделись лекцией за скидку на Автор24

Информационные технологии

  • ⌛ 2016 год
  • 👀 661 просмотр
  • 📌 579 загрузок
  • 🏢️ ДГТУ
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Информационные технологии» pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ) ФЕДЕРАЛЬНОГО ГОСУДАРСТВЕННОГО БЮДЖЕТНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ ВЫСШЕГО ОБРАЗОВАНИЯ «ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» В Г. ТАГАНРОГЕ РОСТОВСКОЙ ОБЛАСТИ ПИ (филиал) ДГТУ в г. Таганроге Автомобилестроение и сервис транспортных средств ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ Конспект лекций для студентов – заочников направления 09.03.02 «Информационные технологии» по курсу «Информационные технологии» (бакалавриат) 2016 г. 8. 1 Введение в информационные сети Процесс познания всегда развивается по спирали. Мы не можем сразу понять и осознать сложное явление, мы должны рассматривать его с разных точек зрения, в целом и по частям, изолированно и во взаимодействии с другими явлениями, накапливая знания постепенно, время от времени возвращаясь к уже казалось бы понятому и с каждым новым витком все больше проникая в суть явления. Хорошим подходом является первоначальное изучение общих принципов некоторой области знаний с последующим детальным рассмотрением реализации этих принципов в конкретных методах, технологиях или конструкциях. Первая часть книги является таким «первым витком» изучения компьютерных сетей. В этой части, состоящей из семи глав, описаны основные принципы и архитектурные решения, которые лежат в основе всех современных сетевых технологий, рассматриваемых в последующих частях книги. Следуя процессу конвергенции сетей, мы рассматривали принципы коммутации, мультиплексирования, маршрутизации, адресации и архитектуры сетей с наиболее общих позиций, сравнивая принципы организации компьютерных сетей с аналогичными принципами других телекоммуникационных сетей — телефонных, первичных, радио и телевизионных. Завершает часть глава, посвященная проблемам качества обслуживания в пакетных сетях. Новая роль компьютерных сетей как основы для создания следующего поколения публичных сетей, предоставляющих все виды информационных услуг и переносящих данные, а также аудиои видеотрафик, привела к проникновению методов качества обслуживания практически во все коммуникационные технологии. Таким образом, концепции качества обслуживания, которые достаточно долго рассматривались как нетривиальное направление сетевой отрасли, вошли в число базовых принципов построения компьютерных сетей. Эволюция компьютерных сетей История любой отрасли науки и техники позволяет не только удовлетворить естественное любопытство, но и глубже понять сущность основных достижений в этой отрасли, осознать существующие тенденции и правильно оценить перспективность тех или иных направлений развития. Компьютерные сети появились сравнительно недавно, в конце 60-х годов (правда, уточнение «прошлого столетия» прибавляет им вес и даже делает старше своих «тридцати с чемто» лет). Естественно, что компьютерные сети унаследовали много полезных свойств от других, более старых и распространенных телекоммуникационных сетей, а именно телефонных. В этом нет ничего удивительного, так как компьютер, как и телефон, является универсальным инструментом в руках своего хозяина и помогает ему общаться с друзьями, приобретать новых знакомых, удовлетворять любознательность и любопытство, делать покупки и т. д., и т. п. В то же время компьютерные сети привнесли в телекоммуникационный мир нечто совершенно новое — неисчерпаемые запасы информации, созданные цивилизацией за несколько тысячелетий своего существования и продолжающие пополняться с растущей скоростью в наши дни. Этот эффект особенно проявился в середине 90-х, во время интернет-революции, когда стало ясно, что возможности свободного и анонимного доступа к информации и быстрому, хотя и письменному общению очень ценятся людьми. Результатом влияния компьютерных сетей на остальные типы телекоммуникационных сетей стал процесс их конвергенции. Этот процесс начался достаточно давно, одним из первых признаков сближения стала передача телефонными сетями голоса в цифровой форме. Компьютерные сети также активно идут навстречу телекоммуникационным сетям, разрабатывая новые сервисы, которые ранее были прерогативой телефонных, радио и телевизионных сетей — сервисы IP-телефонии, радио- и видеовещания, ряд других. Процесс конвергенции продолжается, и о том, каким будет его конечный результат, с уверенностью пока говорить рано. Однако 1 понимание истории развития сетей, описываемой в данной главе, делает более ясными основные проблемы, стоящие перед разработчиками компьютерных сетей. Два корня компьютерных сетей Список ключевых слов: компьютерная сеть, или сеть передачи данных, система пакетной обработки, многотерминальная система разделения времени, закон Гроша. Вычислительная и телекоммуникационная технологии Компьютерные сети, которым посвящена данная книга, отнюдь не являются единственным видом сетей, созданным человеческой цивилизацией. Даже водопроводы Древнего Рима можно рассматривать как один из наиболее древних примеров сетей, покрывающих большие территории и обслуживающих многочисленных клиентов. Другой, менее экзотический пример — электрические сети. В них легко можно найти аналоги компонентов любой территориальной компьютерной сети: источникам информационных ресурсов соответствуют электростанции, магистралям — высоковольтные линии электропередач, сетям доступа — трансформаторные подстанции, клиентским терминалам — осветительные и бытовые электроприборы. Компьютерные сети, называемые также сетями передачи данных, являются логическим результатом эволюции двух важнейших научно-технических отраслей современной цивилизации — компьютерных и телекоммуникационных технологий. С одной стороны, сети представляют собой частный случай распределенных вычислительных систем, в которых группа компьютеров согласованно выполняет набор взаимосвязанных задач, обмениваясь данными в автоматическом режиме. С другой стороны, компьютерные сети могут рассматриваться как средство передачи информации на большие расстояния, для чего в них применяются методы кодирования и мультиплексирования данных, получившие развитие в различных телекоммуникационных системах (рис. 1.1). Рис. 1.1. Эволюция компьютерных сетей на стыке вычислительной техники и телекоммуникационных технологий Системы пакетной обработки Обратимся сначала к компьютерному корню вычислительных сетей. Первые компьютеры 50х годов — большие, громоздкие и дорогие — предназначались для очень небольшого числа избранных пользователей. Часто эти монстры занимали целые здания. Такие компьютеры не были предназначены для интерактивной работы пользователя, а использовались в режиме пакетной обработки. Системы пакетной обработки, как правило, строились на базе мэйнфрейма — мощного и надежного компьютера универсального назначения. Пользователи подготавливали перфокарты, содержащие данные и команды программ, и передавали их в вычислительный центр (рис. 1.2). Операторы вводили эти карты в компьютер, а распечатанные результаты пользователи получали обычно только на следующий день. Таким образом, одна неверно набитая карта означала как минимум суточную задержку. Конечно, для пользователей интерактивный режим работы, при 2 котором можно с терминала оперативно руководить процессом обработки своих данных, был бы удобней. Но интересами пользователей на первых этапах развития вычислительных систем в значительной степени пренебрегали. Во главу угла ставилась эффективность работы самого дорогого устройства вычислительной машины — процессора, даже в ущерб эффективности работы использующих его специалистов. Рис. 1.2. Централизованная система на базе мэйнфрейма Многотерминальные системы — прообраз сети По мере удешевления процессоров в начале 60-х годов появились новые способы организации вычислительного процесса, которые позволили учесть интересы пользователей. Начали развиваться интерактивные многотерминальные системы разделения времени (рис. 1.3). В таких системах каждый пользователь получал собственный терминал, с помощью которого он мог вести диалог с компьютером. Количество одновременно работающих с компьютером пользователей зависело от его мощности так, чтобы время реакции вычислительной системы было достаточно мало, и пользователю была не слишком заметна параллельная работа с компьютером других пользователей. 3 Рис. 1.3. Многотерминальная система — прообраз вычислительной сети Терминалы, выйдя за пределы вычислительного центра, рассредоточились по всему предприятию. И хотя вычислительная мощность оставалась полностью централизованной, некоторые функции — такие как ввод и вывод данных — стали распределенными. Подобные многотерминальные централизованные системы внешне уже были очень похожи на локальные вычислительные сети. Действительно, рядовой пользователь работу за терминалом мэйнфрейма воспринимал примерно так же, как сейчас он воспринимает работу за подключенным к сети персональным компьютером. Пользователь мог получить доступ к общим файлам и периферийным устройствам, при этом у него поддерживалась полная иллюзия единоличного владения компьютером, так как он мог запустить нужную ему программу в любой момент и почти сразу же получить результат. (Некоторые, далекие от вычислительной техники пользователи даже были уверены, что все вычисления выполняются внутри их дисплея.) Многотерминальные системы, работающие в режиме разделения времени, стали первым шагом на пути создания локальных вычислительных сетей. Однако до появления локальных сетей нужно было пройти еще большой путь, так как многотерминальные системы, хотя и имели внешние черты распределенных систем, все еще поддерживали централизованную обработку данных. С другой стороны, и потребность предприятий в создании локальных сетей в это время еще не созрела — в одном здании просто нечего было объединять в сеть, так как из-за высокой стоимости вычислительной техники предприятия не могли себе позволить роскошь приобретения нескольких компьютеров. В этот период был справедлив так называемый закон Гроша, который эмпирически отражал уровень технологии того времени. В соответствии с этим законом производительность компьютера была пропорциональна квадрату его стоимости, отсюда следовало, что за одну и ту же сумму было выгоднее купить одну мощную машину, чем две менее мощных — их суммарная мощность оказывалась намного ниже мощности дорогой машины. Первые компьютерные сети Список ключевых слов: глобальная сеть, сетевая операционная система, первичная, или опорная, сеть, наложенная сеть, большая интегральная схема, локальная сеть, сетевая технология, стандартная сетевая технология, персональный компьютер. 4 Первые глобальные сети А вот потребность в соединении компьютеров, находящихся на большом расстоянии друг от друга, к этому времени вполне назрела. Началось все с решения более простой задачи — доступа к компьютеру с терминалов, удаленных от него на многие сотни, а то и тысячи километров. Терминалы соединялись с компьютерами через телефонные сети с помощью модемов. Такие сети позволяли многочисленным пользователям получать удаленный доступ к разделяемым ресурсам нескольких мощных компьютеров класса суперЭВМ. Затем появились системы, в которых наряду с удаленными соединениями типа терминал-компьютер были реализованы и удаленные связи типа компьютер-компьютер. Компьютеры получили возможность обмениваться данными в автоматическом режиме, что, собственно, и является базовым признаком любой вычислительной сети. На основе подобного механизма в первых сетях были реализованы службы обмена файлами, синхронизации баз данных, электронной почты и другие, ставшие теперь традиционными сетевые службы. Итак, хронологически первыми появились глобальные сети (Wide Area Networks, WAN), то есть сети, объединяющие территориально рассредоточенные компьютеры, возможно находящиеся в различных городах и странах. Именно при построении глобальных сетей были впервые предложены и отработаны многие основные идеи, лежащие в основе современных вычислительных сетей. Такие, например, как многоуровневое построение коммуникационных протоколов, концепции коммутации и маршрутизации пакетов. Глобальные компьютерные сети очень многое унаследовали от других, гораздо более старых и распространенных глобальных сетей — телефонных. Главное технологическое новшество, которое привнесли с собой первые глобальные компьютерные сети, состояло в отказе от принципа коммутации каналов, на протяжении многих десятков лет успешно использовавшегося в телефонных сетях. Выделяемый на все время сеанса связи составной телефонный канал, передающий информацию с постоянной скоростью, не мог эффективно использоваться пульсирующим трафиком компьютерных данных, у которого периоды интенсивного обмена чередуются с продолжительными паузами. Натурные эксперименты и математическое моделирование показали, что пульсирующий и в значительной степени не чувствительный к задержкам компьютерный трафик гораздо эффективней передается сетями, работающими по принципу коммутации пакетов, когда данные разделяются на небольшие порции — пакеты, — которые самостоятельно перемещаются по сети благодаря наличию адреса конечного узла в заголовке пакета. Так как прокладка высококачественных линий связи на большие расстояния обходится очень дорого, то в первых глобальных сетях часто использовались уже существующие каналы связи, изначально предназначенные совсем для других целей. Например, в течение многих лет глобальные сети строились на основе телефонных каналов тональной частоты, способных в каждый момент времени вести передачу только одного разговора в аналоговой форме. Поскольку скорость передачи дискретных компьютерных данных по таким каналам была очень низкой (десятки килобит в секунду), набор предоставляемых услуг в глобальных сетях такого типа обычно ограничивался передачей файлов, преимущественно в фоновом режиме, и электронной почтой. Помимо низкой скорости такие каналы имеют и другой недостаток — они вносят значительные искажения в передаваемые сигналы. Поэтому протоколы глобальных сетей, построенных с использованием каналов связи низкого качества, отличаются сложными процедурами контроля и восстановления данных. Типичным примером таких сетей являются сети Х.25, разработанные еще в начале 70-х, когда низкоскоростные аналоговые каналы, арендуемые у телефонных компаний, были преобладающим типом каналов, соединяющих компьютеры и коммутаторы глобальной вычислительной сети. В 1969 году министерство обороны США инициировало работы по объединению в единую сеть суперкомпьютеров оборонных и научно-исследовательских центров. Эта сеть, получившая название ARPANET, стала отправной точкой для создания первой и самой известной ныне глобальной сети — Internet. 5 Сеть ARPANET объединяла компьютеры разных типов, работавшие под управлением различных ОС с дополнительными модулями, реализующими коммуникационные протоколы, общие для всех компьютеров сети. ОС этих компьютеров можно считать первыми сетевыми операционными системами. Истинно сетевые ОС в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенные хранение и обработку данных между несколькими компьютерами, связанными электрическими связями. Любая сетевая операционная система, с одной стороны, выполняет все функции локальной операционной системы, а с другой стороны, обладает некоторыми дополнительными средствами, позволяющими ей взаимодействовать через сеть с операционными системами других компьютеров. Программные модули, реализующие сетевые функции, появлялись в операционных системах постепенно, по мере развития сетевых технологий, аппаратной базы компьютеров и возникновения новых задач, требующих сетевой обработки. Прогресс глобальных компьютерных сетей во многом определялся прогрессом телефонных сетей. С конца 60-х годов в телефонных сетях все чаще стала применяться передача голоса в цифровой форме. Это привело к появлению высокоскоростных цифровых каналов, соединяющих автоматические телефонные станции (АТС) и позволяющих одновременно передавать десятки и сотни разговоров. Была разработана специальная технология для создания так называемых первичных, или опорных, сетей. Такие сети не предоставляют услуг конечным пользователям, они являются фундаментом, на котором строятся скоростные цифровые каналы «точка-точка», соединяющие оборудование других, так называемых наложенных сетей, которые уже работают на конечного пользователя. Сначала технология первичных сетей была исключительно внутренней технологией телефонных компаний. Однако со временем эти компании стали сдавать часть своих цифровых каналов, образованных в первичных сетях, в аренду предприятиям, которые использовали их для создания собственных телефонных и глобальных компьютерных сетей. Сегодня первичные сети обеспечивают скорости передачи данных до сотен гигабит (а в некоторых случаях до нескольких терабит) в секунду и густо покрывают территории всех развитых стран. К настоящему времени глобальные сети по разнообразию и качеству предоставляемых услуг догнали локальные сети, которые долгое время лидировали в этом отношении, хотя и появились на свет значительно позже. Первые локальные сети Важное событие, повлиявшее на эволюцию компьютерных сетей, произошло в начале 70-х годов. В результате технологического прорыва в области производства компьютерных компонентов появились большие интегральные схемы (БИС). Их сравнительно невысокая стоимость и хорошие функциональные возможности привели к созданию мини-компьютеров, которые стали реальными конкурентами мэйнфреймов. Эмпирический закон Гроша перестал соответствовать действительности, так как десяток мини-компьютеров, имея ту же стоимость, что и мэйнфрейм, решали некоторые задачи (как правило, хорошо распараллеливаемые) быстрее. Даже небольшие подразделения предприятий получили возможность иметь собственные компьютеры. Мини-компьютеры решали задачи управления технологическим оборудованием, складом и другие задачи уровня отдела предприятия. Таким образом, появилась концепция распределения компьютерных ресурсов по всему предприятию. Однако при этом все компьютеры одной организации по-прежнему продолжали работать автономно (рис. 1.4). 6 Рис. 1.4. Автономное использование нескольких мини-компьютеров на одном предприятии Шло время, и потребности пользователей вычислительной техники росли. Их уже не удовлетворяла изолированная работа на собственном компьютере, им хотелось в автоматическом режиме обмениваться компьютерными данными с пользователями других подразделений. Ответом на эту потребность стало появление первых локальных вычислительных сетей (рис. 1.5). 7 Рис. 1.5. Различные типы связей в первых локальных сетях Локальные сети (Local Area Networks, LAN) — это объединения компьютеров, сосредоточенных на небольшой территории, обычно в радиусе не более 1-2 км, хотя в отдельных случаях локальная сеть может иметь и более протяженные размеры, например, несколько десятков километров. В общем случае локальная сеть представляет собой коммуникационную систему, принадлежащую одной организации. На первых порах для соединения компьютеров друг с другом использовались нестандартные сетевые технологии. Сетевая технология — это согласованный набор программных и аппаратных средств (например, драйверов, сетевых адаптеров, кабелей и разъемов) и механизмов передачи данных по линиям связи, достаточный для построения вычислительной сети. Разнообразные устройства сопряжения, использующие собственные способы представления данных на линиях связи, свои типы кабелей и т. п., могли соединять только те конкретные модели компьютеров, для которых были разработаны, например, мини-компьютеры PDP-11 с мэйнфреймом IBM 360 или мини-компьютеры HP с микрокомпьютерами LSI-11. Такая ситуация создала большой простор для творчества студентов — названия многих курсовых и дипломных проектов начинались тогда со слов «Устройство сопряжения...». В середине 80-х годов положение дел в локальных сетях кардинально изменилось. Утвердились стандартные сетевые технологии объединения компьютеров в сеть — Ethernet, ArcNet, Token Ring, Token Bus, несколько позже — FDDI. Мощным стимулом для их появления послужили персональные компьютеры. Эти массовые продукты стали идеальными элементами для построения сетей — с одной стороны, они были достаточно мощными, чтобы обеспечивать работу сетевого программного обеспечения, а с 8 другой — явно нуждались в объединении своей вычислительной мощности для решения сложных задач, а также разделения дорогих периферийных устройств и дисковых массивов. Поэтому персональные компьютеры стали преобладать в локальных сетях, причем не только в качестве клиентских компьютеров, но и в качестве центров хранения и обработки данных, то есть сетевых серверов, потеснив с этих привычных ролей мини-компьютеры и мэйнфреймы. Все стандартные технологии локальных сетей опирались на тот же принцип коммутации, который был с успехом опробован и доказал свои преимущества при передаче трафика данных в глобальных компьютерных сетях, — принцип коммутации пакетов. Стандартные сетевые технологии превратили процесс построения локальной сети из искусства в рутинную работу. Для создания сети достаточно было приобрести стандартный кабель, сетевые адаптеры соответствующего стандарта, например Ethernet, вставить адаптеры в компьютеры, присоединить их к кабелю стандартными разъемами и установить на компьютеры одну из популярных сетевых операционных систем, например Novell NetWare. Разработчики локальных сетей привнесли много нового в организацию работы пользователей. Так, стало намного проще и удобнее, чем в глобальных сетях, получать доступ к общим сетевым ресурсам — в отличие от глобальной в локальной сети пользователь освобождается от запоминания сложных идентификаторов разделяемых ресурсов. Для этих целей система предоставляет ему список ресурсов в удобной для восприятия форме, например в виде древовидной иерархической структуры («дерева» ресурсов). Еще один прием, рационализирующий работу пользователя в локальной сети, состоит в том, что после соединения с удаленным ресурсом пользователь получает возможность обращаться к нему с помощью тех же команд, что и для работы с локальными ресурсами. Последствием и одновременно движущей силой такого прогресса стало появление огромного числа непрофессиональных пользователей, освобожденных от необходимости изучать специальные (и достаточно сложные) команды для сетевой работы. Может возникнуть вопрос — почему все эти удобства пользователи получили только с появлением локальных сетей? Главным образом, это связано с использованием в локальных сетях качественных кабельных линий связи, на которых даже сетевые адаптеры первого поколения обеспечивали скорость передачи данных до 10 Мбит/с. При небольшой протяженности, свойственной локальным сетям, стоимость таких линий связи была вполне приемлемой. Поэтому экономное расходование пропускной способности каналов, одна из основных задач технологий первых глобальных сетей, никогда не выходило на первый план при разработке протоколов локальных сетей. В таких условиях основным механизмом прозрачного доступа к ресурсам локальных сетей стали периодические широковещательные объявления серверов о своих ресурсах и услугах. На основании таких объявлений клиентские компьютеры составляли списки имеющихся в сети ресурсов и предоставляли их пользователю. Конец 90-х выявил явного лидера среди технологий локальных сетей — семейство Ethernet, в которое вошли классическая технология Ethernet 10 Мбит/с, а также Fast Ethernet 100 Мбит/с и Gigabit Ethernet 1000 Мбит/с. Простые алгоритмы работы предопределили низкую стоимость оборудования Ethernet. Широкий диапазон иерархии скоростей позволяет рационально строить локальную сеть, выбирая ту технологию семейства, которая в наибольшей степени отвечает задачам предприятия и потребностям пользователей. Важно также, что все технологии Ethernet очень близки друг к другу по принципам работы, что упрощает обслуживание и интеграцию этих сетей. Хронологическую последовательность важнейших событий, ставших историческими вехами на пути появления первых компьютерных сетей, иллюстрирует табл. 1.1. Таблица 1.1. Хронология важнейших событий на пути появления первых компьютерных сетей 9 Конвергенция сетей Список ключевых слов: intranet-технологии, городская сеть, или сеть мегаполиса, мультисервисная сеть, сеть передачи данных, цифровая сеть с интегрированным обслуживанием, мультисервисная сеть нового поколения, интеллектуальная сеть, качество обслуживания, инфокоммуникационная сеть. Сближение локальных и глобальных сетей В конце 80-х годов отличия между локальными и глобальными сетями проявлялись весьма отчетливо.  Протяженность и качество линий связи. Локальные компьютерные сети по определению отличаются от глобальных сетей небольшими расстояниями между узлами сети. Это в принципе делает возможным использование в локальных сетях более качественных линий связи.  Сложность методов передачи данных. В условиях низкой надежности физических каналов в глобальных сетях требуются более сложные, чем в локальных сетях, методы передачи данных и соответствующее оборудование.  Скорость обмена данными в локальных сетях (10, 16 и 100 Мбит/с) в то время была существенно выше, чем в глобальных (от 2,4 Кбит/с до 2 Мбит/с).  Разнообразие услуг. Высокие скорости обмена данными позволили предоставлять в локальных сетях широкий спектр услуг — это, прежде всего, разнообразные механизмы использования файлов, хранящихся на дисках других компьютеров сети, совместное использование устройств печати, модемов, факсов, доступ к единой базе данных, электронная почта и др. В то же время глобальные сети в основном ограничивались почтовыми и файловыми услугами в их простейшем (не самом удобном для пользователя) виде. Постепенно различия между локальными и глобальными типами сетевых технологий стали сглаживаться. Изолированные ранее локальные сети начали объединять друг с другом, при этом в 10 качестве связующей среды использовались глобальные сети. Тесная интеграция локальных и глобальных сетей привела к значительному взаимопроникновению соответствующих технологий. Сближение в методах передачи данных происходит на платформе цифровой (немодулированной) передачи данных по волоконно-оптическим линиям связи. Эту среду передачи данных используют практически все технологии локальных сетей для скоростного обмена информацией на расстояниях свыше 100 метров, на ней же построены современные магистрали первичных сетей SDH и DWDM, предоставляющих свои цифровые каналы для объединения оборудования глобальных компьютерных сетей. Высокое качество цифровых каналов изменило требования к протоколам глобальных компьютерных сетей. На первый план вместо процедур обеспечения надежности вышли процедуры обеспечения гарантированной средней скорости доставки информации пользователям, а также механизмы приоритетной обработки пакетов особенно чувствительного к задержкам трафика, например, голосового. Эти изменения нашли отражение в новых технологиях глобальных сетей, таких как Frame Relay и ATM. В этих сетях предполагается, что искажение битов происходит настолько редко, что ошибочный пакет выгоднее просто уничтожить, а все проблемы, связанные с его потерей, перепоручить программному обеспечению более высокого уровня, которое непосредственно не входит в состав сетей Frame Relay и ATM. Большой вклад в сближение локальных и глобальных сетей внесло доминирование протокола IP. Этот протокол сегодня работает поверх любых технологий локальных и глобальных сетей (Ethernet, Token Ring, ATM, Frame Relay), объединяя различные подсети в единую составную сеть. Начиная с 90-х годов, компьютерные глобальные сети, работающие на основе скоростных цифровых каналов, существенно расширили спектр предоставляемых услуг и догнали в этом отношении локальные сети. Стало возможным создание служб, работа которых связана с доставкой пользователю больших объемов информации в реальном времени — изображений, видеофильмов, голоса, в общем, всего того, что получило название мультимедийной информации. Наиболее яркий пример — гипертекстовая информационная служба World Wide Web, ставшая основным поставщиком информации в Интернете. Ее интерактивные возможности превзошли возможности многих аналогичных служб локальных сетей, так что разработчикам локальных сетей пришлось просто позаимствовать эту службу у глобальных сетей. Процесс переноса технологий из глобальной сети Интернет в локальные приобрел такой массовый характер, что появился даже специальный термин — intranet-технологии (intra — внутренний). В локальных сетях в последнее время уделяется такое же большое внимание методам обеспечения защиты информации от несанкционированного доступа, как и в глобальных. Это обусловлено тем, что локальные сети перестали быть изолированными, чаще всего они имеют выход в «большой мир» через глобальные связи. И, наконец, появляются новые технологии, изначально предназначенные для обоих видов сетей. Ярким представителем нового поколения технологий является технология ATM, которая может служить основой как глобальных, так и локальных сетей, эффективно объединяя все существующие типы трафика в одной транспортной сети. Другим примером является семейство технологий Ethernet, имеющее явные «локальные» корни. Новый стандарт Ethernet 10G, позволяющий передавать данные со скоростью 10 Гбит/с, предназначен для магистралей как глобальных, так и крупных локальных сетей. Еще одним признаком сближений локальных и глобальных сетей является появление сетей, занимающих промежуточное положение между локальными и глобальными сетями. Городские сети, или сети мегаполисов (Metropolitan Area Networks, MAN), предназначены для обслуживания территории крупного города. Эти сети используют цифровые линии связи, часто оптоволоконные, со скоростями на магистрали от 155 Мбит/с и выше. Они обеспечивают экономичное соединение локальных сетей между собой, а также выход в глобальные сети. Сети MAN первоначально были разработаны только для передачи данных, но сейчас перечень предоставляемых ими услуг расширился, в частности они поддерживают видеоконференции и интегральную передачу голоса и текста. Современные сети MAN отличаются разнообразием предоставляемых услуг, позволяя своим 11 клиентам объединять коммуникационное оборудование различного типа, в том числе и офисные АТС. Конвергенция компьютерных и телекоммуникационных сетей С каждым годом усиливается тенденция сближения компьютерных и телекоммуникационных сетей разных видов. Предпринимаются попытки создания универсальной, так называемой мультисервисной сети, способной предоставлять услуги как компьютерных, так и телекоммуникационных сетей. К телекоммуникационным сетям относятся телефонные сети, радиосети и телевизионные сети. Главное, что объединяет их с компьютерными сетями, — то, что в качестве ресурса, предоставляемого клиентам, выступает информация. Однако эти сети, как правило, представляют информацию в разном виде. Так, изначально компьютерные сети разрабатывались для передачи алфавитно-цифровой информации, которую часто называют просто данными, в результате у компьютерных сетей имеется и другое название — сети передачи данных, в то время как телефонные сети и радиосети были созданы для передачи только голосовой информации, а телевизионные сети передают и голос, и изображение. Несмотря на это, конвергенция телекоммуникационных и компьютерных сетей идет по нескольким направлениям. Прежде всего, наблюдается сближение видов услуг, предоставляемых клиентам. Первая и не очень успешная попытка создания мультисервисной сети, способной оказывать различные услуги, в том числе услуги телефонии и передачи данных, привела к появлению технологии цифровых сетей с интегрированным обслуживанием (Integrated Services Digital Network, ISDN). Однако на практике ISDN предоставляет сегодня в основном телефонные услуги. Сегодня на роль глобальной мультисервисной сети нового поколения, часто называемой в англоязычной литературе Next Generation Network (NGN), или New Public Network (NPN), претендует Интернет. Наибольшую привлекательность сейчас представляют собой новые виды комбинированных услуг, в которых сочетаются несколько традиционных услуг, например, услуга универсальной службы сообщений, объединяющей электронную почту, телефонию, факсимильную службу и пейджинговую связь. Наибольших успехов на практическом поприще достигла IP-телефония, услугами которой прямо или косвенно сегодня пользуются миллионы людей. Однако для того, чтобы стать сетью NGN, Интернету еще предстоит пройти большой путь. Технологическое сближение сетей происходит сегодня на основе цифровой передачи информации различного типа, метода коммутации пакетов и программирования услуг. Телефония уже давно сделала ряд шагов навстречу компьютерным сетям, прежде всего, за счет представления голоса в цифровой форме, что делает принципиально возможным передачу телефонного и компьютерного трафика по одним и тем же цифровым каналам (телевидение также может сегодня передавать изображение в цифровой форме). Телефонные сети широко используют комбинацию методов коммутации каналов и пакетов. Так, для передачи служебных сообщений (называемых сообщениями сигнализации) применяются протоколы коммутации пакетов, аналогичные протоколам компьютерных сетей, а для передачи собственно голоса между абонентами коммутируется традиционный составной канал. Дополнительные услуги телефонных сетей, такие как переадресация вызова, конференцсвязь, телеголосование и другие, могут создаваться с помощью так называемой интеллектуальной сети (Intelligent Network, IN), по своей сути являющейся компьютерной сетью с серверами, на которых программируется логика услуг. Сегодня пакетные методы коммутации постепенно теснят традиционные для телефонных сетей методы коммутации каналов даже при передаче голоса. У этой тенденции есть достаточно очевидная причина — на основе метода коммутации пакетов можно более эффективно использовать пропускную способность каналов связи и коммутационного оборудования. Например, паузы в телефонном разговоре могут составлять до 40 % общего времени соединения, однако только пакетная коммутация позволяет «вырезать» паузы и использовать высвободившуюся пропускную способность канала для передачи трафика других абонентов. Другой веской причиной 12 перехода к коммутации пакетов является популярность Интернета — сети, построенной на основе данной технологии. Использование коммутации пакетов для одновременной передачи через пакетные сети разнородного трафика — голоса, видео и текста — сделало актуальным разработку новых методов обеспечения требуемого качества обслуживания (Quality of Service, QoS). Методы QoS призваны минимизировать уровень задержек для чувствительного к ним трафика, например голосового, и одновременно гарантировать среднюю скорость и динамичную передачу пульсаций для трафика данных. Однако неверно было бы говорить, что методы коммутации каналов морально устарели и у них нет будущего. На новом витке спирали развития они находят свое применение, но уже в новых технологиях. Компьютерные сети тоже многое позаимствовали у телефонных и телевизионных сетей. В частности они берут на вооружение методы обеспечения отказоустойчивости телефонных сетей, за счет которых последние демонстрируют высокую степень надежности, так недостающую порой Интернету и корпоративным сетям. Сегодня становится все более очевидным, что мультисервисная сеть нового поколения не может быть создана в результате «победы» какой-нибудь одной технологии или подхода. Ее может породить только процесс конвергенции, когда от каждой технологии будет взято все самое лучшее и соединено в некоторый новый сплав, который и даст требуемое качество для поддержки существующих и создания новых услуг. Появился новый термин — инфокоммуникационная сеть, который прямо говорит о двух составляющих современной сети — информационной (компьютерной) и телекоммуникационной. Учитывая, что новый термин еще не приобрел достаточной популярности, мы будем использовать устоявшийся термин «телекоммуникационная сеть» в расширенном значении — то есть включать в него и компьютерные сети. Выводы Компьютерные сети стали логическим результатом эволюции компьютерных и телекоммуникационных технологий. С одной стороны, они являются частным случаем распределенных компьютерных систем, а с другой стороны, могут рассматриваться как средство передачи информации на большие расстояния, для чего в них применяются методы кодирования и мультиплексирования данных, получившие развитие в различных телекоммуникационных системах. Классифицируя сети по территориальному признаку, различают глобальные (WAN), локальные (LAN) и городские (MAN) сети. Хронологически первыми появились сети WAN. Они объединяют компьютеры, рассредоточенные на расстоянии сотен и тысяч километров. Первые глобальные компьютерные сети очень многое унаследовали от телефонных сетей. В них часто использовались уже существующие и не очень качественные линии связи, что приводило к низким скоростям передачи данных и ограничивало набор предоставляемых услуг передачей файлов в фоновом режиме и электронной почтой. Сети LAN ограничены расстояниями в несколько километров; они строятся с использованием высококачественных линий связи, которые позволяют, применяя более простые методы передачи данных, чем в глобальных сетях, достигать высоких скоростей обмена данными до нескольких гигабитов в секунду. Услуги предоставляются в режиме подключения и отличаются разнообразием. Сети MAN предназначены для обслуживания территории крупного города. При достаточно больших расстояниях между узлами (десятки километров) они обладают качественными линиями связи и поддерживают высокие скорости обмена. Сети MAN обеспечивают экономичное соединение локальных сетей между собой, а также доступ к глобальным сетям. Важнейший этап в развитии сетей — появление стандартных сетевых технологий: Ethernet, FDDI, Token Ring, позволяющих быстро и эффективно объединять компьютеры различных типов. В конце 80-х годов локальные и глобальные сети имели существенные отличия по протяженности и качеству линий связи, сложности методов передачи данных, скорости обмена 13 данными, разнообразию предоставляемых услуг и масштабируемости. В дальнейшем в результате тесной интеграции LAN, WAN и MAN произошло взаимопроникновение соответствующих технологий. Тенденция сближения различных типов сетей характерна не только для локальных и глобальных компьютерных сетей, но и для телекоммуникационных сетей других типов: телефонных сетей, радиосетей, телевизионных сетей. В настоящее время ведутся активные работы по созданию универсальных мультисервисных сетей, способных одинаково эффективно передавать информацию любого типа: данные, голос и видео. Вопросы и задания 1. Какие свойства многотерминальной системы отличают ее от компьютерной сети? 2. Когда впервые были получены значимые практические результаты по объединению компьютеров с помощью глобальных связей? 3. Что такое ARPANET? 4. Какое из этих событий произошло позже других:  изобретение Web;  появление стандартных технологий LAN;  начало передачи голоса в цифровой форме по телефонным сетям. 5. Какое событие послужило стимулом к активизации работ по созданию LAN? 6. Когда была стандартизована технология Ethernet? Token Ring? FDDI? 7. По каким направлениям идет сближение компьютерных и телекоммуникационных сетей? 8. Поясните термины «мультисервисная сеть», «инфокоммуникационная сеть», «интеллектуальная сеть». 9. Поясните, почему сети WAN появились раньше, чем сети LAN. 10. Найдите исторические связи между технологией Х.25 и сетью ARPANET, пользуясь источниками информации в Интернете. 11. Считаете ли вы, что история компьютерных сетей может быть сведена к истории Интернета? Обоснуйте свое мнение. 14 Теоретические основы современных информационных сетей Модель OSI Список ключевых слов: взаимодействие открытых систем, прикладной программный интерфейс, протокольная единица данных, сообщение, кадр, пакет, дейтаграмма, сегмент, физический уровень, канальный уровень, контрольная последовательность кадра, управление доступом к среде, сетевой уровень, составная сеть, или Интернет, межсетевое взаимодействие, сетевой, или глобальный, адрес, таблица маршрутизации, маршрутизируемый протокол, маршрутизирующий протокол, или протокол маршрутизации, транспортный уровень, классы транспортного сервиса, сеансовый уровень, уровень представления, прикладной уровень, коммутация пакетов. Из того, что протокол является соглашением, принятым двумя взаимодействующими узлами сети, совсем не следует, что он обязательно является стандартным. Но на практике при реализации сетей стремятся использовать стандартные протоколы. Это могут быть фирменные, национальные или международные стандарты. В начале 80-х годов ряд международных организаций по стандартизации, в частности International Organization for Standardization (ISO), часто называемая также International Standards Organization, а также International Telecommunications Union (ITU) и некоторые другие, — разработали стандартную модель взаимодействия открытых систем (Open System Interconnection, OSI). Эта модель сыграла значительную роль в развитии компьютерных сетей. Общая характеристика модели OSI К концу 70-х годов в мире уже существовало большое количество фирменных стеков коммуникационных протоколов, среди которых можно назвать, например, такие популярные стеки, как DECnet, TCP/IP и SNA. Такое разнообразие средств межсетевого взаимодействия вывело на первый план проблему несовместимости устройств, использующих разные протоколы. Одним из путей разрешения этой проблемы в то время виделся всеобщий переход на единый, общий для всех систем стек протоколов, созданный с учетом недостатков уже существующих стеков. Такой академический подход к созданию нового стека начался с разработки модели OSI и занял семь лет (с 1977 по 1984 год). Назначение модели OSI состоит в обобщенном представлении средств сетевого взаимодействия. Она разрабатывалась в качестве своего рода универсального языка сетевых специалистов, именно поэтому ее называют справочной моделью. Внимание. Модель OSI определяет, во-первых, уровни взаимодействия систем в сетях с коммутацией пакетов, во-вторых, стандартные названия уровней, в-третьих, функции, которые должен выполнять каждый уровень. Модель OSI не содержит описаний реализаций конкретного набора протоколов. В модели OSI (рис. 2.1) средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с совершенно определенным аспектом взаимодействия сетевых устройств. Внимание. Модель OSI описывает только системные средства взаимодействия, реализуемые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает средства взаимодействия приложений конечных пользователей. Важно различать уровень взаимодействия приложений и прикладной уровень семиуровневой модели. Приложения могут реализовывать собственные протоколы взаимодействия, используя для этих целей многоуровневую совокупность системных средств. Именно для этого в распоряжение программистов предоставляется прикладной программный интерфейс (Application Program Interface, API). В соответствии с идеальной схемой модели OSI приложение может обращаться с запросами к самому верхнему уровню — уровню приложений, однако на практике многие стеки коммуникационных протоколов предоставляют возможность программистам напрямую обращаться к сервисам, или службам, расположенным ниже уровней. Например, некоторые СУБД имеют встроенные средства удаленного доступа к файлам. В этом случае приложение, выполняя доступ к удаленным ресурсам, не использует системную 15 файловую службу; оно обходит верхние уровни модели OSI и обращается непосредственно к ответственным за транспортировку сообщений по сети системным средствам, которые располагаются на нижних уровнях модели OSI. Итак, пусть приложение узла А хочет взаимодействовать с приложением узла В. Для этого приложение А обращается с запросом к прикладному уровню, например к файловой службе. На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата. Но для того чтобы доставить эту информацию по назначению, предстоит решить еще много задач, ответственность за которые несут нижележащие уровни. Рис. 1.6. Модель взаимодействия открытых систем ISO/OSI После формирования сообщения прикладной уровень направляет его вниз по стеку уровню представления. Протокол уровня представления на основании информации, полученной из заголовка сообщения прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию — заголовок уровня представления, в котором содержатся указания для протокола уровня представления машины-адресата. Полученное в результате сообщение передается вниз сеансовому уровню, который в свою очередь добавляет свой заголовок и т. д. (Некоторые реализации протоколов помещают служебную информацию не 16 только в начале сообщения в виде заголовка, но и в конце в виде так называемого концевика.) Наконец, сообщение достигает нижнего, физического уровня, который, собственно, и передает его по линиям связи машине-адресату. К этому моменту сообщение «обрастает» заголовками всех уровней (рис. 1.7). Рис.1.7. Вложенность сообщений различных уровней Физический уровень помещает сообщение на физический выходной интерфейс компьютера 1, и оно начинает свое «путешествие» по сети (до этого момента сообщение передавалось от одного уровня другому в пределах компьютера 1). Когда сообщение по сети поступает на входной интерфейс компьютера 2, оно принимается его физическим уровнем и последовательно перемещается вверх с уровня на уровень. Каждый уровень анализирует и обрабатывает заголовок своего уровня, выполняя соответствующие функции, а затем удаляет этот заголовок и передает сообщение вышележащему уровню. Как видно из описания, протокольные сущности одного уровня не общаются между собой непосредственно, в этом общении всегда участвуют посредники — средства протоколов нижележащих уровней. И только физические уровни различных узлов взаимодействуют непосредственно. В стандартах ISO для обозначения единиц обмена данными, с которыми имеют дело протоколы разных уровней, используется общее название протокольная единица данных ((Protocol Data Unit, PDU). Для обозначения единиц обмена данными конкретных уровней часто используются специальные названия, в частности: сообщение, кадр, пакет, дейтаграмма, сегмент. Физический уровень Физический уровень (physical layer) имеет дело с передачей потока битов по физическим каналам связи, таким как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов. 17 Физический уровень не вникает в смысл информации, которую он передает. Для него эта информация представляет однородный поток битов, которые нужно доставить без искажений и в соответствии с заданной тактовой частотой (интервалом между соседними битами). Канальный уровень Канальный уровень (data link layer) является первым уровнем (если идти снизу вверх), который работает в режиме коммутации пакетов. На этом уровне PDU обычно носит название кадр (frame). Функции средств канального уровня определяются по-разному для локальных и глобальных сетей.  В локальных сетях канальный уровень должен обеспечивать доставку кадра между любыми узлами сети. При этом предполагается, что сеть имеет типовую топологию, например общую шину, кольцо, звезду или дерево (иерархическую звезду). Примерами технологий локальных сетей, применение которых ограничено типовыми топологиями, являются Ethernet, FDDI, Token Ring.  В глобальных сетях канальный уровень должен обеспечивать доставку кадра только между двумя соседними узлами, соединенными индивидуальной линией связи. Примерами двухточечных протоколов (как часто называют такие протоколы) могут служить широко распространенные протоколы РРР и HDLC. На основе двухточечных связей могут быть построены сети произвольной топологии. Для связи локальных сетей между собой или для доставки сообщений между любыми конечными узлами глобальной сети используются средства более высокого сетевого уровня. Одной из функций канального уровня является поддержание интерфейсов с нижележащим физическим уровнем и вышележащим сетевым уровнем. Сетевой уровень направляет канальному уровню пакет для передачи в сеть или принимает от него пакет, полученный из сети. Физический уровень используется канальным как инструмент, который принимает и передает в сеть последовательности битов. Начнем рассмотрение работы канального уровня, начиная с момента, когда сетевой уровень отправителя передает канальному уровню пакет, а также указание, какому узлу его передать. Для решения этой задачи канальный уровень создает кадр, который имеет поле данных и заголовок. Канальный уровень помещает (инкапсулирует) пакет в поле данных кадра и заполняет соответствующей служебной информацией заголовок кадра. Важнейшей информацией заголовка кадра является адрес назначения, на основании которого коммутаторы сети будут продвигать пакет. Одной из задач канального уровня является обнаружение и коррекция ошибок. Для этого канальный уровень фиксирует границы кадра, помещая специальную последовательность битов в его начало и конец, а затем добавляет к кадру контрольную сумму, которая называется также контрольной последовательностью кадра (Frame Check Sequence, FCS). Контрольная сумма вычисляется по некоторому алгоритму как функция от всех байтов кадра. По значению FCS узел назначения сможет определить, были или нет искажены данные кадра в процессе передачи по сети. Однако прежде, чем переправить кадр физическому уровню для непосредственной передачи данных в сеть, канальному уровню может потребоваться решить еще одну важную задачу. Если в сети используется разделяемая среда, то прежде чем физический уровень начнет передавать данные, канальный уровень должен проверить доступность среды. Функции проверки доступности разделяемой среды иногда выделяют в отдельный подуровень управления доступом к среде (Media Access Control, MAC). Если разделяемая среда освободилась (когда она не используется, то такая проверка, конечно, пропускается), кадр передается средствами физического уровня в сеть, проходит по каналу связи и поступает в виде последовательности битов в распоряжение физического уровня узла назначения. Этот уровень в свою очередь передает полученные биты «наверх» канальному уровню своего узла. Последний группирует биты в кадры, снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой, переданной в кадре. Если они совпадают, кадр 18 считается правильным. Если же контрольные суммы не совпадают, фиксируется ошибка. В функции канального уровня входит не только обнаружение ошибок, но и исправление их за счет повторной передачи поврежденных кадров. Однако эта функция не является обязательной и в некоторых реализациях канального уровня она отсутствует, например в Ethernet, Token Ring, FDDI и Frame Relay. Протоколы канального уровня реализуются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов. Протокол канального уровня обычно работает в пределах сети, являющейся одной из составляющих более крупной составной сети, объединенной протоколами сетевого уровня. Адреса, с которыми работает протокол канального уровня, используются для доставки кадров только в пределах этой сети, а для перемещения пакетов между сетями применяются уже адреса следующего, сетевого, уровня. В локальных сетях канальный уровень поддерживает весьма мощный и законченный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня локальных сетей оказываются самодостаточными транспортными средствами и могут допускать работу непосредственно поверх себя протоколов прикладного уровня или приложений без привлечения средств сетевого и транспортного уровней. Тем не менее для качественной передачи сообщений в сетях с произвольной топологией функций канального уровня оказывается недостаточно. Это утверждение в еще большей степени справедливо для глобальных сетей, в которых протокол канального уровня реализует достаточно простую функцию передачи данных между соседними узлами. Сетевой уровень Сетевой уровень (network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, называемой составной сетью, или интернетом (не следует путать интернет (со строчной буквы) с Интернетом (с прописной буквы). Интернет — это самая известная и охватывающая весь мир реализация составной сети, построенная на основе технологии TCP/IP). Технология, позволяющая соединять в единую сеть множество сетей, в общем случае построенных на основе разных технологий, называется технологией межсетевого взаимодействия (internetworking). На рис. 4.8 показаны несколько сетей, каждая из которых использует собственную технологию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий каждая из указанных сетей может связывать между собой любых пользователей, но только своей сети, и не способна обеспечить передачу данных в другую сеть. Причина такого положения вещей очевидна и кроется в существенных отличиях одной технологии от другой. Даже наиболее близкие технологии LAN — Ethernet, FDDI, Token Ring, — имеющие одну и ту же систему адресации (адреса подуровня MAC, называемые МАС-адресами), отличаются друг от друга форматом используемых кадров и логикой работы протоколов. Еще больше отличий между технологиями LAN и WAN. Во многих технологиях WAN задействована техника предварительно устанавливаемых виртуальных каналов, идентификаторы которых применяются в качестве адресов. Все технологии имеют собственные форматы кадров (в технологии ATM кадр даже называется иначе — ячейкой) и, конечно, собственные стеки протоколов. 19 Рис. 1.2. Необходимость сетевого уровня Чтобы связать между собой сети, построенные на основе столь отличающихся технологий, нужны дополнительные средства, и такие средства предоставляет сетевой уровень. Функции сетевого уровня реализуются:  группой протоколов;  специальными устройствами — маршрутизаторами. Одной из функций маршрутизатора является физическое соединение сетей. Маршрутизатор имеет несколько сетевых интерфейсов, подобных интерфейсам компьютера, к каждому из которых может быть подключена одна сеть. Таким образом, все интерфейсы маршрутизатора можно считать узлами разных сетей. Маршрутизатор может быть реализован программно, на базе универсального компьютера (например, типовая конфигурация Unix или Windows включает программный модуль маршрутизатора). Однако чаще маршрутизаторы реализуются на базе специализированных аппаратных платформ. В состав программного обеспечения маршрутизатора входят протокольные модули сетевого уровня. Итак, чтобы связать сети, показанные на рис. 1.8, необходимо соединить все эти сети маршрутизаторами и установить протокольные модули сетевого уровня на все конечные узлы пользователей, которые хотели бы связываться через составную сеть (рис. 1.9). 20 Рис. 1.9. Пример составной сети Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет — так называется PDU сетевого уровня. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в составную сеть, и несет наряду с другой служебной информацией данные об адресе назначения этого пакета. Для того чтобы протоколы сетевого уровня могли доставлять пакеты любому узлу составной сети, эти узлы должны иметь адреса, уникальные в пределах данной составной сети. Такие адреса называются сетевыми, или глобальными. Каждый узел составной сети, который намерен обмениваться данными с другими узлами составной сети, должен иметь сетевой адрес наряду с адресом, назначенным ему на канальном уровне. Например, на рис. 4.9 компьютер в сети Ethernet, входящей в составную сеть, имеет адрес канального уровня МАС1 и адрес сетевого уровня NETA1; аналогично в сети ATM узел, адресуемый идентификаторами виртуальных каналов ID1 и ID2, имеет сетевой адрес NET-A2. В пакете в качестве адреса назначения должен быть указан адрес сетевого уровня, на основании которого определяется маршрут пакета. Определение маршрута является важной задачей сетевого уровня. Маршрут описывается последовательностью сетей (или маршрутизаторов), через которые должен пройти пакет, чтобы попасть к адресату. Например, на рис. 4.9 штриховой линией показано 3 маршрута, по которым могут быть переданы данные от компьютера А к компьютеру Б. Маршрутизатор собирает информацию о топологии связей между сетями и на ее основании строит таблицы коммутации, которые в данном случае носят специальное название таблиц маршрутизации. Задачу выбора маршрута мы уже коротко обсуждали в разделе «Обобщенная задача коммутации» главы 2. В соответствии с многоуровневым подходом сетевой уровень для решения своей задачи обращается к нижележащему канальному уровню. Весь путь через составную сеть разбивается на участки от одного маршрутизатора до другого, причем каждый участок соответствует пути через отдельную сеть. Для того чтобы передать пакет через очередную сеть, сетевой уровень помещает его в поле данных кадра соответствующей канальной технологии, указывая в заголовке кадра канальный 21 адрес интерфейса следующего маршрутизатора. Сеть, используя свою канальную технологию, доставляет кадр с инкапсулированным в него пакетом по заданному адресу. Маршрутизатор извлекает пакет из прибывшего кадра и после необходимой обработки передает пакет для дальнейшей транспортировки в следующую сеть, предварительно упаковав его в новый кадр канального уровня в общем случае другой технологии. Таким образом, сетевой уровень играет роль координатора, организующего совместную работу сетей, построенных на основе разных технологий. Пример-аналогия Можно найти аналогию между функционированием сетевого уровня и международной почтовой службы, такой, например, как DHL или TNT (рис. 2.5). Представим, что некоторый груз необходимо доставить из города Абра в город Кадабра, причем эти города расположены на разных континентах. Для доставки груза международная почта использует услуги различных региональных перевозчиков:  железную дорогу;  морской транспорт;  авиаперевозчиков;  автомобильный транспорт. Эти перевозчики могут рассматриваться как аналоги сетей канального уровня, причем каждая «сеть» здесь построена на основе собственной технологии. Из этих региональных служб международная почтовая служба должна организовать единую слаженно работающую сеть. Для этого международная почтовая служба должна, во-первых, продумать маршрут перемещения почты, во-вторых, координировать работу в пунктах смены перевозчиков (например, выгружать почту из вагонов и размещать ее в транспортном отсеке самолета). Каждый же перевозчик ответственен только за перемещение почты по своей части пути и не несет никакой ответственности за состояние почты за его пределами. Рис. 1.10. Работа международной почтовой службы В общем случае функции сетевого уровня шире, чем обеспечение обмена в пределах составной сети. Так, сетевой уровень решает задачу создания надежных и гибких барьеров на пути нежелательного трафика между сетями. В заключение отметим, что на сетевом уровне определяются два вида протоколов. Первый вид — маршрутизируемые протоколы — реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых маршрутизирующими протоколами, или протоколами маршрутизации. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений, на основании которой осуществляется выбор маршрута продвижения пакетов. 22 Транспортный уровень На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень (transport layer) обеспечивает приложениям или верхним уровням стека — прикладному, представления и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов транспортного сервиса от низшего класса 0 до высшего класса 4. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов. Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней. С другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного, — сетевым, канальным и физическим. Так, если качество каналов передачи связи очень высокое и вероятность возникновения ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок, включая предварительное установление логического соединения, контроль доставки сообщений по контрольным суммам и циклической нумерации пакетов, установление тайм-аутов доставки и т. п. Все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell. Протоколы нижних четырех уровней обобщенно называют сетевым транспортом, или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Оставшиеся три верхних уровня решают задачи предоставления прикладных сервисов, используя нижележащую транспортную подсистему. Сеансовый уровень Сеансовый уровень (session layer) обеспечивает управление взаимодействием сторон: фиксирует, какая из сторон является активной в настоящий момент, и предоставляет средства синхронизации сеанса. Эти средства позволяют в ходе длинных передач сохранять информацию о состоянии этих передач в виде контрольных точек, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов. Функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе. Уровень представления Уровень представления (presentation layer), как явствует из его названия, обеспечивает представление передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне могут выполняться шифрование и дешифрирование данных, благодаря которым секретность обмена данными 23 обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол SSL (Secure Socket Layer — слой защищенных сокетов), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP. Прикладной уровень Прикладной уровень (application layer) — это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые веб-страницы, а также организуют свою совместную работу, например, по протоколу электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением. Существует очень большое разнообразие протоколов и соответствующих служб прикладного уровня. Приведем в качестве примера несколько наиболее распространенных реализаций сетевых файловых служб: NFS и FTP в стеке TCP/IP, SMB в Microsoft Windows, NCP в операционной системе Novell NetWare. Стандартные стеки коммуникационных протоколов Модель OSI и сети с коммутацией каналов Как уже было упомянуто, модель OSI описывает процесс взаимодействия устройств в сети с коммутацией пакетов. А как же обстоит дело с сетями коммутации каналов? Существует ли для них собственная справочная модель? Можно ли сопоставить функции технологий коммутации каналов с уровнями модели OSI? Да, для представления структуры средств межсетевого взаимодействия сетей с коммутацией каналов также используется многоуровневый подход, в соответствии с которым существуют протоколы нескольких уровней, образующих иерархию. Однако общей справочной модели, подобной модели OSI, для сетей с коммутацией каналов не существует. Например, различные типы телефонных сетей используют собственные стеки протоколов, отличающиеся количеством уровней и распределением функций между уровнями. Первичные сети, такие как SDH или DWDM, также обладают собственной иерархией протоколов. Ситуация усложняется еще и тем, что практически все типы современных сетей с коммутацией каналов задействуют эту технику только для передачи пользовательских данных, а для управления процессом установления соединений в сети и общего управления сетью применяют технику коммутации пакетов. Такими сетями являются, например, сети ISDN, SDH, DWDM. Для сетей с коммутацией пакетов сети с коммутацией каналов предоставляют сервис физического уровня, несмотря на то, что сами они устроены достаточно сложно и поддерживают собственную иерархию протоколов. Рассмотрим, к примеру, случай, когда несколько локальных пакетных сетей связываются между собой через цифровую телефонную сеть. Очевидно, что функции создания составной сети выполняют протоколы сетевого уровня, поэтому мы устанавливаем в каждой локальной сети маршрутизатор. Маршрутизатор должен быть оснащен интерфейсом, который может установить соединение через телефонную сеть с другой локальной сетью. После того как такое соединение установлено, в телефонной сети образуется поток битов, передаваемых с постоянной скоростью. Это соединение и предоставляет сервис физического уровня для маршрутизаторов. Для того чтобы организовать передачу данных, маршрутизаторы используют поверх этого физического канала какой-либо двухточечный протокол канального уровня. Стандартизация сетей Список ключевых слов: открытая спецификация, открытая система, стандарты отдельных фирм, специальных комитетов и объединений, национальные стандарты, международные стандарты, совет по архитектуре Интернета, RFC, стеки TCP/IP, OSI, IPX/SPX, NetBIOS/SMB, DECnet, SNA, поток данных, сегмент, дейтаграмма, кадр, фрейм, хост, шлюз. Универсальный тезис о пользе стандартизации, справедливый для всех отраслей, в компьютерных сетях приобретает особое значение. Суть сети — это соединение разного 24 оборудования, а значит, проблема совместимости является здесь одной из наиболее острых. Без согласования всеми производителями общепринятых стандартов для оборудования и протоколов прогресс в деле «строительства» сетей был бы невозможен. Поэтому все развитие компьютерной отрасли, в конечном счете, отражено в стандартах — любая новая технология только тогда приобретает «законный» статус, когда ее содержание закрепляется в соответствующем стандарте. В компьютерных сетях идеологической основой стандартизации является рассмотренная выше модель взаимодействия открытых систем (OSI). Понятие открытой системы Что же такое открытая система? Открытой может быть названа любая система (компьютер, вычислительная сеть, ОС, программный пакет, другие аппаратные и программные продукты), которая построена в соответствии с открытыми спецификациями. Напомним, что под термином «спецификация» в вычислительной технике понимают формализованное описание аппаратных или программных компонентов, способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации, особых характеристик. Понятно, что не всякая спецификация является стандартом. Под открытыми спецификациями понимаются опубликованные, общедоступные спецификации, соответствующие стандартам и принятые в результате достижения согласия после всестороннего обсуждения всеми заинтересованными сторонами. Использование при разработке систем открытых спецификаций позволяет третьим сторонам разрабатывать для этих систем различные аппаратные или программные средства расширения и модификации, а также создавать программно-аппаратные комплексы из продуктов разных производителей. Открытый характер стандартов и спецификаций важен не только для коммуникационных протоколов, но и для всех разнообразных устройств и программ, выпускаемых для построения сети. Нужно отметить, что большинство стандартов, принимаемых сегодня, носят открытый характер. Время закрытых систем, точные спецификации на которые были известны только фирмепроизводителю, ушло. Все осознали, что возможность взаимодействия с продуктами конкурентов не снижает, а, наоборот, повышает ценность изделия, так как его можно применить в большем количестве работающих сетей, собранных из продуктов разных производителей. Поэтому даже такие фирмы, как IBM, Novell и Microsoft, ранее выпускавшие закрытые системы, сегодня активно участвуют в разработке открытых стандартов и применяют их в своих продуктах. Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, помимо всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии. Модель OSI касается только одного аспекта открытости, а именно открытости средств взаимодействия устройств, связанных в компьютерную сеть. Здесь под открытой системой понимается сетевое устройство, готовое взаимодействовать с другими сетевыми устройствами по стандартным правилам, определяющим формат, содержание и значение принимаемых и отправляемых сообщений. Если две сети построены с соблюдением принципов открытости, это дает следующие преимущества:  возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта;  безболезненная замена отдельных компонентов сети другими, более совершенными, что позволяет сети развиваться с минимальными затратами;  легкость сопряжения одной сети с другой. 25 Источники стандартов Работы по стандартизации вычислительных сетей ведутся большим количеством организаций. В зависимости от статуса организаций различают следующие виды стандартов:  стандарты отдельных фирм (например, стек протоколов SNA компании IBM или графический интерфейс OPEN LOOK для Unix-систем компании Sun);  стандарты специальных комитетов и объединений, создаваемых несколькими компаниями, например стандарты технологии ATM, разрабатываемые специально созданным объединением ATM Forum, насчитывающем около 100 коллективных участников, или стандарты союза Fast Ethernet Alliance по разработке стандартов 100 Мбит Ethernet;  национальные стандарты, например, стандарт FDDI, представляющий один из многочисленных стандартов института ANSI, или стандарты безопасности для операционных систем, разработанные центром NCSC Министерства обороны США;  международные стандарты, например, модель и стек коммуникационных протоколов Международной организации по стандартизации (ISO), многочисленные стандарты Международного союза электросвязи (ITU), в том числе стандарты на сети с коммутацией пакетов Х.25, сети Frame Relay, ISDN, модемы и многие другие. Некоторые стандарты, непрерывно развиваясь, могут переходить из одной категории в другую. В частности, фирменные стандарты на продукцию, получившую широкое распространение, обычно становятся международными стандартами де-факто, так как вынуждают производителей из разных стран следовать фирменным стандартам, чтобы обеспечить совместимость своих изделий с этими популярными продуктами. Например, из-за феноменального успеха персонального компьютера компании IBM фирменный стандарт на архитектуру IBM PC стал международным стандартом де-факто. Более того, ввиду широкого распространения некоторые фирменные стандарты становятся основой для национальных и международных стандартов де-юре. Например, стандарт Ethernet, первоначально разработанный компаниями Digital Equipment, Intel и Xerox, через некоторое время и в несколько измененном виде был принят как национальный стандарт IEEE 802.3, а затем организация ISO утвердила его в качестве международного стандарта ISO 8802.3. Стандартизация Интернета Ярким примером открытой системы является Интернет. Эта международная сеть развивалась в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимали участие тысячи специалистов-пользователей этой сети из различных университетов, научных организаций и фирм-производителей вычислительной аппаратуры и программного обеспечения, работающих в разных странах. Само название стандартов, определяющих работу Интернета, — темы для обсуждения (Request For Comments, RFC) — показывает гласный и открытый характер принимаемых стандартов. В результате Интернет сумел объединить в себе разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру. Ввиду постоянной растущей популярности Интернета документы RFC становятся международными стандартами де-факто, многие из которых затем приобретают статус официальных международных стандартов в результате их утверждения какой-либо организацией по стандартизации, как правило, ISO и ITU-T. Существует несколько организационных подразделений, отвечающих за развитие и, в частности, за стандартизацию архитектуры и протоколов Интернета. Основным из них является научно-административное сообщество Интернета (Internet Society, ISOC), объединяющее около 100000 человек, которое занимается социальными, политическими и техническими проблемами эволюции Интернета. Под управлением ISOC работает совет по архитектуре Интернета (Internet Architecture Board, IAB). В IAB входят две основные группы: Internet Research Task Force (IRTF) и Internet Engineering Task Force (IETF). IRTF координирует долгосрочные исследовательские проекты по протоколам TCP/IP. Вторая группа — IETF — это инженерная группа, которая занимается 26 решением текущих технических проблем Интернета. Именно IETF определяет спецификации, которые затем становятся стандартами Интернета. Процесс разработки и принятия стандарта для протокола Интернета состоит из ряда обязательных этапов, или стадий, включающих обязательную экспериментальную проверку. В соответствии с принципом открытости Интернета все документы RFC, в отличие, скажем, от стандартов ISO, находятся в свободном доступе. Список RFC можно найти, в частности, на сайте www.rfc-editor.org. Стандартные стеки коммуникационных протоколов Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. Наиболее известными стеками протоколов являются: OSI, TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA (не все из них применяются сегодня на практике). Стек OSI Важно различать модель OSI и стек протоколов OSI. В то время как модель OSI является концептуальной схемой взаимодействия открытых систем, стек OSI представляет собой набор спецификаций конкретных протоколов. В отличие от других стеков протоколов стек OSI (рис. 1.11) полностью соответствует модели OSI, включая спецификации протоколов для всех семи уровней взаимодействия, определенных в этой модели. Это и понятно, разработчики стека OSI использовали модель OSI как прямое руководство к действию. Рис. 1.11. Стек протоколов OSI 27 Протоколы стека OSI отличает большая сложность и неоднозначность спецификаций. Эти свойства явились результатом общей политики разработчиков стека, стремившихся учесть в своих протоколах все многообразие уже существующих и появляющихся технологий. На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN, то есть использует все разработанные вне стека популярные протоколы нижних уровней, как и большинство других стеков. Сетевой уровень включает сравнительно редко используемые протоколы Connection-oriented Network Protocol (CONP) и Connectionless Network Protocol (CLNP). Как следует из названий, первый из них ориентирован на соединение (connection-oriented), второй — нет (connectionless). Более популярны протоколы маршрутизации стека OSI: ES-IS (End System-Intermediate System) между конечной и промежуточной системами и IS-IS (Intermediate System-Intermediate System) между промежуточными системами. Транспортный уровень стека OSI в соответствии с функциями, определенными для него в модели OSI, скрывает различия между сетевыми сервисами с установлением соединения и без установления соединения, так что пользователи получают требуемое качество обслуживания независимо от нижележащего сетевого уровня. Чтобы обеспечить это, транспортный уровень требует, чтобы пользователь задал нужное качество обслуживания. Службы прикладного уровня обеспечивают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее популярными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VTP), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM). Стек IPX/SPX Стек IPX/SPX является оригинальным стеком протоколов фирмы Novell, разработанным для сетевой операционной системы NetWare еще в начале 80-х годов. Структура стека IPX/SPX и его соответствие модели OSI иллюстрирует рис. 4.12. Протоколы сетевого и транспортного уровней — Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX) — дали название стеку. К сетевому уровню этого стека отнесены также протоколы маршрутизации RIP и NLSP. А в качестве представителей трех верхних уровней на рисунке приведены два популярных протокола: протокол удаленного доступа к файлам NetWare Core Protocol (NCP) и протокол объявления о сервисах Service Advertising Protocol (SAP). Примечание. До 1996 года этот стек был бесспорным мировым лидером по числу установленных копий, но затем картина резко изменилась — стек TCP/IP по темпам роста числа установок намного стал опережать другие стеки, а с 1998 года вышел в лидеры и в абсолютном выражении. Рис. 1.12. Стек протоколов IPX/SPX 28 Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт) и которые бы быстро работали на процессорах небольшой вычислительной мощности. В результате протоколы стека IPX/SPX до недавнего времени отлично справлялись с работой в локальных сетях. Однако в крупных корпоративных сетях они слишком перегружали медленные глобальные связи широковещательными пакетами, интенсивно использующимися несколькими протоколами этого стека, например протоколом SAP. Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали распространенность его только сетями NetWare. Стек NetBIOS/SMB Стек NetBIOS/SMB является совместной разработкой компаний IBM и Microsoft (рис. 1.13). На физическом и канальном уровнях этого стека также задействованы уже получившие распространение протоколы, такие как Ethernet, Token Ring, FDDI, а на верхних уровнях — специфические протоколы NetBEUI и SMB. Рис. 1.13. Стек NetBIOS/SMB Протокол Network Basic Input/Output System (NetBIOS) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода-вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI (NetBIOS Extended User Interface). Для обеспечения совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к транспортному и сеансовому уровням модели OSI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает применение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях. 29 Протокол Server Message Block (SMB) поддерживает функции сеансового уровня, уровня представления и прикладного уровня. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями. Стек TCP/IP Стек TCP/IP был разработан по инициативе Министерства обороны США (DoD) более 20 лет назад для связи экспериментальной сети ARPANET с другими сетями как набор общих протоколов для разнородной вычислительной среды. Большой вклад в развитие стека TCP/IP, который получил свое название по популярным протоколам IP и TCP, внес университет Беркли, реализовав протоколы стека в своей версии ОС Unix. Популярность этой операционной системы привела к широкому распространению протоколов TCP, IP и других протоколов стека. Сегодня этот стек используется для связи компьютеров в Интернете, а также в огромном числе корпоративных сетей. Поскольку стек TCP/IP изначально создавался для Интернета, он имеет много особенностей, дающих ему преимущество перед другими протоколами, когда речь заходит о построении сетей, включающих глобальные связи. В частности, очень полезным свойством, делающим возможным применение этого протокола в больших сетях, является его способность фрагментировать пакеты. Действительно, большая составная сеть часто состоит из сетей, построенных на совершенно разных принципах. В каждой из этих сетей может быть собственная величина максимальной длины единицы передаваемых данных (кадра). В таком случае при переходе из одной сети, имеющей большую максимальную длину, в сеть с меньшей максимальной длиной может возникнуть необходимость деления передаваемого кадра на несколько частей. Протокол IP стека TCP/IP эффективно решает эту задачу. Другой особенностью технологии TCP/IP является гибкая система адресации, позволяющая проще, чем другие протоколы аналогичного назначения включать в составную сеть сети разных технологий. Это свойство также способствует применению стека TCP/IP для построения больших гетерогенных сетей. В стеке TCP/IP очень экономно используются широковещательные рассылки. Это свойство совершенно необходимо при работе на медленных каналах связи, характерных для территориальных сетей. Однако, как и всегда, за получаемые преимущества надо платить, и платой здесь оказываются высокие требования к ресурсам и сложность администрирования IP-сетей. Мощные функциональные возможности протоколов стека TCP/IP требуют для своей реализации больших вычислительных затрат. Гибкая система адресации и отказ от широковещательных рассылок приводят к наличию в IP-сети разнообразных централизованных служб типа DNS, DHCP и т. п. Каждая из этих служб направлена на облегчение администрирования сети, но в то же время сама требует пристального внимания со стороны администраторов. Можно приводить и другие доводы за и против стека протоколов Интернета, однако факт остается фактом — сегодня это самый популярный стек протоколов, широко используемый как в глобальных, так и локальных сетях. 30 9. Компоненты информационных сетей При построении сетей применяются линии связи, в которых используются различные физические среды: подвешенные в воздухе телефонные и телеграфные провода, проложенные под землей и по дну океана медные коаксиальные и волоконно-оптические кабели, опутывающие все современные офисы медные витые пары, все проникающие радиоволны. В этой главе рассматриваются общие характеристики линий связи, не зависящие от их физической природы, такие как полоса пропускания, пропускная способность, помехоустойчивость и достоверность передачи. Ширина полосы пропускания является фундаментальной характеристикой канала связи, так как определяет максимально возможную информационную скорость канала, которая называется пропускной способностью канала. Формула Найквиста выражает эту зависимость для идеального канала, а формула Шеннона учитывает наличие в реальном канале шума. Завершает главу рассмотрение конструкций и стандартов современных кабелей, которые составляют основу проводных линий связи. Классификация линий связи Список ключевых слов: звено, канал, составной канал, линия связи, первичная сеть, наложенная сеть, физическая среда передачи данных, проводная (воздушная) линия связи, кабельная линия связи, неэкранированная витая пара, экранированная витая пара, медный кабель, радиоканал, диапазон широковещательного радио, диапазон очень высоких частот, диапазон ультравысоких частот, диапазон микроволн, аппаратура передачи данных, модем, терминальный адаптер сетей ISDN, устройства для подключения к цифровым каналам, оконечное оборудование данных, промежуточная аппаратура, повторитель, концентратор, усилитель, регенератор, мультиплексор, демультиплексор, коммутатор, аналоговая линия связи, цифровая линия связи. Первичные сети, линии и каналы связи При описании технической системы, которая передает информацию между узлами сети, в литературе можно встретить несколько названий: линия связи, составной канал, канал, звено. Часто эти термины используются как синонимы, и во многих случаях это не вызывает проблем. В то же время есть и специфика в их употреблении.  Звено (link) — это сегмент, обеспечивающий передачу данных между двумя соседними узлами сети. То есть звено не содержит промежуточных устройств коммутации и мультиплексирования.  Каналом (channel) чаще всего обозначают часть пропускной способности звена, используемую независимо при коммутации. Например, звено первичной сети может состоять из 30 каналов, каждый из которых обладает пропускной способностью 64 Кбит/с.  Составной канал (circuit) — это путь между двумя конечными узлами сети. Составной канал образуется отдельными каналами промежуточных звеньев и внутренними соединениями в коммутаторах. Часто эпитет «составной» опускается и термин «канал» используется для обозначения как составного канала, так и канала между соседними узлами, то есть в пределах звена.  Линия связи может использоваться как синоним для любого из трех остальных терминов. Не стоит относиться к путанице в терминологии очень строго. Особенно это относится к различиям в терминологии традиционной телефонии и более новой области — компьютерных сетей. Процесс конвергенции только усугубил проблему терминологии, так как многие механизмы этих сетей стали общими, но сохранили за собой по паре (иногда и больше) названий, пришедших из каждой области. Кроме того, существуют объективные причины для неоднозначного понимания терминов. На рис. 2.1 показаны два варианта линии связи. В первом случае (рис. 2.1, а) линия состоит из сегмента кабеля длиной несколько десятков метров и представляет собой звено. Во втором случае (рис. 2.1, б) линия связи представляет собой составной канал, развернутый в сети с коммутацией каналов. Такой сетью может быть первичная сеть или телефонная сеть. Однако для компьютерной сети эта линия представляет собой звено, так как соединяет два соседних узла, и вся коммутационная промежуточная аппаратура является прозрачной для этих 31 узлов. Повод для взаимного непонимания на уровне терминов компьютерных специалистов и специалистов первичных сетей здесь очевиден. Первичные сети специально создаются для того, чтобы предоставлять услуги каналов передачи данных для компьютерных и телефонных сетей, про которые в таких случаях говорят, что они работают «поверх» первичных сетей и являются наложенными сетями. Рис. 2.1. Состав линии связи Физическая среда передачи данных Линии связи отличаются также физической средой, которую они используют для передачи информации. Физическая среда передачи данных может представлять набор проводников, по которым передаются сигналы. На основе таких проводников строятся проводные (воздушные) или кабельные линии связи (рис. 2.2). В качестве среды также используется земная атмосфера или космическое пространство, через которое распространяются информационные сигналы. В первом случае говорят о проводной среде, а во втором — о беспроводной. 32 Рис. 2.2. Типы сред передачи данных В современных телекоммуникационных системах информация передается с помощью электрического тока или напряжения, радиосигналов или световых сигналов — все эти физические процессы представляют собой колебания электромагнитного поля различной частоты. Проводные (воздушные) линии связи представляют собой провода без каких- либо изолирующих или экранирующих оплеток, проложенные между столбами и висящие в воздухе. Еще в недалеком прошлом такие линии связи были основными для передачи телефонных или телеграфных сигналов. Сегодня проводные линии связи быстро вытесняются кабельными. Но коегде они все еще сохранились и при отсутствии других возможностей продолжают использоваться и для передачи компьютерных данных. Скоростные качества и помехозащищенность этих линий оставляют желать много лучшего. Кабельные линии имеют достаточно сложную конструкцию. Кабель состоит из проводников, заключенных в несколько слоев изоляции: электрической, электромагнитной, механической и, возможно, климатической. Кроме того, кабель может быть оснащен разъемами, позволяющими быстро выполнять присоединение к нему различного оборудования. В компьютерных (и телекоммуникационных) сетях применяются три основных типа кабеля: кабели на основе скрученных пар медных проводов — неэкранированная витая пара (Unshielded Twisted Pair, UTP) и экранированная витая пара (Shielded Twisted Pair, STP), коаксиальные кабели с медной жилой, волоконно-оптические кабели. Первые два типа кабелей называют также медными кабелями. Радиоканалы наземной и спутниковой связи образуются с помощью передатчика и приемника радиоволн. Существует большое разнообразие типов радиоканалов, отличающихся как используемым частотным диапазоном, так и дальностью канала. Диапазоны широковещательного радио (длинных, средних и коротких волн), называемые также АМдиапазонами, или диапазонами амплитудной модуляции (Amplitude Modulation, AM), обеспечивают дальнюю связь, но при невысокой скорости передачи данных. Более скоростными являются каналы, использующие диапазоны очень высоких частот (Very High Frequency, VHF), для которых применяется частотная модуляция (Frequency Modulation, FM). Для передачи данных также используются диапазоны ультравысоких частот (Ultra High Frequency, UHF), называемые еще диапазонами микроволн (свыше 300 МГц). При частоте свыше 30 МГц сигналы уже не отражаются ионосферой Земли, и для устойчивой связи требуется наличие прямой видимости между передатчиком и приемником. Поэтому такие частоты используют либо спутниковые каналы, либо радиорелейные каналы, либо локальные или мобильные сети, где это условие выполняется. В компьютерных сетях сегодня применяются практически все описанные типы физических сред передачи данных. Хорошие возможности предоставляют волоконно-оптические кабели, обладающие широкой полосой пропускания и низкой чувствительностью к помехам. На них сегодня строятся как магистрали крупных территориальных и городских сетей, так и высокоскоростные локальные сети. Популярной средой является также витая пара, которая характеризуется отличным отношением качества к стоимости, а также простотой монтажа. Беспроводные каналы используются чаще всего в тех случаях, когда кабельные линии связи применить нельзя — например, при прохождении канала через малонаселенную местность или же для связи с мобильными пользователями сети. Обеспечение мобильности затронуло в первую очередь телефонные сети, компьютерные сети в этом отношении пока отстают. Тем не менее построение компьютерных сетей на основе беспроводных технологий, например, Radio Ethernet, считаются сегодня одним из самых перспективных направлений телекоммуникаций. Линии связи на основе беспроводной среды изучаются в главе 10. Аппаратура передачи данных 33 Как показано на рис. 2.1, линии связи состоят не только из среды передачи, но и аппаратуры. Даже в том случае, когда линия связи не проходит через первичную сеть, а основана на кабеле, в ее состав входит аппаратура передачи данных. Аппаратура передачи данных (Data Circuit Equipment, DCE) в компьютерных сетях непосредственно присоединяет компьютеры или коммутаторы к линиям связи и является, таким образом, пограничным оборудованием. Традиционно аппаратуру передачи данных включают в состав линии связи. Примерами DCE являются модемы (для телефонных линий), терминальные адаптеры сетей ISDN, устройства для подключения к цифровым каналам первичных сетей DSU/CSU (Data Service Unit/Circuit Service Unit). DCE работает на физическом уровне модели OSI, отвечая за передачу информации в физическую среду (в линию) и прием из нее сигналов нужной формы, мощности и частоты. Аппаратура пользователя линии связи, вырабатывающая данные для передачи по линии связи и подключаемая непосредственно к аппаратуре передачи данных, носит обобщенное название оконечное оборудование данных (Data Terminal Equipment, DTE). Примером DTE могут служить компьютеры, коммутаторы и маршрутизаторы. Эту аппаратуру не включают в состав линии связи. Примечание. Разделение оборудования на DCE и DTE в локальных сетях является достаточно условным. Например, адаптер локальной сети можно считать как принадлежностью компьютера, то есть оборудованием DTE, так и составной частью канала связи, то есть аппаратурой DCE. Точнее, одна часть сетевого адаптера выполняет функции DTE, а его другая, оконечная его часть, непосредственно принимающая и передающая сигналы, относится к DCE. Для подключения устройств DCE к устройствам DTE (то есть компьютерам или коммутаторам/маршрутизаторам) существуют несколько стандартных интерфейсов (Интерфейсы DTE-DCE описываются стандартами серии V CCITT, а также стандартами EIA серии RS (Recommended Standards — рекомендуемые стандарты). Две линии стандартов во многом дублируют друг друга. Наиболее популярными стандартами являются RS-232, RS-530, V.35 и HSSI). Работают эти устройства на коротких расстояниях друг от друга, как правило, несколько метров. Промежуточная аппаратура обычно используется на линиях связи большой протяженности. Она решает две основные задачи:  улучшение качества сигнала;  создание постоянного составного канала связи между двумя абонентами сети. В локальных сетях промежуточная аппаратура может совсем не использоваться, если протяженность физической среды — кабелей или радиоэфира — позволяет одному сетевому адаптеру принимать сигналы непосредственно от другого сетевого адаптера без дополнительного усиления. В противном случае применяется промежуточная аппаратура, роль которой здесь играют устройства типа повторителей и концентраторов. В глобальных сетях необходимо обеспечить качественную передачу сигналов на расстояния в сотни и тысячи километров. Поэтому без усилителей (повышающих мощность сигналов) и регенераторов (наряду с повышением мощности восстанавливающих форму импульсных сигналов, исказившихся при передаче на большое расстояние), установленных через определенные расстояния, построить территориальную линию связи невозможно. В первичных сетях помимо рассмотренного выше оборудования, обеспечивающего качественную передачу сигналов, необходима промежуточная коммутационная аппаратура — мультиплексоры (MUX), демультиплексоры и коммутаторы. Эта аппаратура создает между двумя абонентами сети постоянный составной канал из отрезков физической среды — кабелей с усилителями. В зависимости от типа промежуточной аппаратуры все линии связи делятся на аналоговые и цифровые. В аналоговых линиях промежуточная аппаратура предназначена для усиления аналоговых сигналов, то есть сигналов, которые имеют непрерывный диапазон значений. Такие линии связи традиционно применялись в телефонных сетях для связи телефонных коммутаторов между собой. Для создания высокоскоростных каналов, которые мультиплексируют несколько низкоскоростных аналоговых абонентских каналов, при аналоговом подходе обычно используется техника частотного мультиплексирования (Frequency Division Multiplexing, FDM). 34 В цифровых линиях связи передаваемые сигналы имеют конечное число состояний. Как правило, элементарный сигнал, то есть сигнал, передаваемый за один такт работы передающей аппаратуры, имеет 2, 3 или 4 состояния, которые в линиях связи воспроизводятся импульсами или потенциалами прямоугольной формы. С помощью таких сигналов передаются как компьютерные данные, так и оцифрованные речь и изображение (именно благодаря одинаковому способу представления информации современными компьютерными, телефонными и телевизионными сетями стало возможным появление общих для всех первичных сетей). В цифровых линиях связи используется специальная промежуточная аппаратура — регенераторы, которые улучшают форму импульсов и восстанавливают период их следования. Промежуточная аппаратура мультиплексирования и коммутации первичных сетей работает по принципу временного мультиплексирования каналов (Time Division Multiplexing, TDM). Характеристики линий связи Список ключевых слов: гармоника, спектральное разложение (спектр) сигнала, ширина спектра сигнала, формулы Фурье, внешние помехи, внутренние помехи, или наводки, затухание сигнала, погонное затухание, окно прозрачности, абсолютный уровень мощности, относительный уровень мощности, порог чувствительности приемника, волновое сопротивление, помехоустойчивость линии, электрическая связь, магнитная связь, наведенный сигнал, перекрестные наводки на ближнем конце, перекрестные наводки на дальнем конце, защищенность кабеля, достоверность передачи данных, интенсивность битовых ошибок, полоса пропускания, пропускная способность, физическое, или линейное, кодирование, несущий сигнал, несущая частота, модуляция, такт, бод. Спектральный анализ сигналов на линиях связи Важная роль при определении параметров линий связи отводится спектральному разложению передаваемого по этой линии сигнала. Из теории гармонического анализа известно, что любой периодический процесс можно представить в виде суммы синусоидальных колебаний различных частот и различных амплитуд (рис. 2.3). Каждая составляющая синусоида называется также гармоникой, а набор всех гармоник называют спектральным разложением, или спектром, исходного сигнала. Под шириной спектра сигнала понимается разность между максимальной и минимальной частотами того набора синусоид, которые в сумме дают исходный сигнал. Непериодические сигналы можно представить в виде интеграла синусоидальных сигналов с непрерывным спектром частот. В частности, спектральное разложение идеального импульса (единичной мощности и нулевой длительности) имеет составляющие всего спектра частот, от - ∞ до + ∞ (рис. 2.4). 35 Рис. 2.3. Представление периодического сигнала суммой синусоид Рис. 2.4. Спектральное разложение идеального импульса Техника нахождения спектра любого исходного сигнала хорошо известна. Для некоторых сигналов, которые описываются аналитически (например, для последовательности прямоугольных импульсов одинаковой длительности и амплитуды), спектр легко вычисляется на основании формул Фурье. Для сигналов произвольной формы, встречающихся на практике, спектр можно найти с помощью специальных приборов — спектральных анализаторов, которые измеряют спектр реального сигнала и отображают амплитуды составляющих гармоник на экране, распечатывают их на принтере или передают для обработки и хранения в компьютер. Искажение передающей линией связи синусоиды какой-либо частоты приводит, в конечном счете, к искажению амплитуды и формы передаваемого сигнала любого вида. Искажения формы проявляются в том случае, когда синусоиды различных частот искажаются неодинаково. Если это аналоговый сигнал, передающий речь, то изменяется тембр голоса за счет искажения обертонов — боковых частот. При передаче импульсных сигналов, характерных для компьютерных сетей, искажаются низкочастотные и высокочастотные гармоники, в результате фронты импульсов теряют свою прямоугольную форму (рис. 2.5) и сигналы могут плохо распознаваться на приемном конце линии. 36 Рис. 2.5. Искажение импульсов в линии связи Передаваемые сигналы искажаются из-за несовершенства линий связи. Идеальная передающая среда, не вносящая никаких помех в передаваемый сигнал, должна, по меньшей мере, иметь нулевые сопротивление, емкость и индуктивность. Однако на практике медные провода, например, всегда представляют собой некоторую распределенную по длине комбинацию активного сопротивления, емкостной и индуктивной нагрузок (рис. 2.6). В результате синусоиды различных частот передаются этими линиями по-разному. Помимо искажений сигналов, возникающих из-за не идеальных физических параметров линии связи, существуют и внешние помехи, которые вносят свой вклад в искажение формы сигналов на выходе линии. Эти помехи создаются различными электрическими двигателями, электронными устройствами, атмосферными явлениями и т. д. Несмотря на защитные меры, предпринимаемые разработчиками кабелей, и наличие усилительной и коммутирующей аппаратуры, полностью компенсировать влияние внешних помех не удается. Помимо внешних помех в кабеле существуют и внутренние помехи — так называемые наводки одной пары проводников на другую. В результате сигналы на выходе линии связи могут иметь искаженную форму (как это и показано на рис. 2.5). Рис. 2.6. Представление линии как распределенной индуктивно-емкостной нагрузки Затухание и волновое сопротивление Степень искажения синусоидальных сигналов линиями связи оценивается такими характеристиками, как затухание и полоса пропускания. Затухание показывает, насколько уменьшается мощность эталонного синусоидального сигнала на выходе линии связи по отношению к мощности сигнала на входе этой линии. Затухание (А) обычно измеряется в децибелах (дБ) и вычисляется по следующей формуле: А = 10 lg Pout/Pin. Здесь Pout — мощность сигнала на выходе линии, Pin — мощность сигнала на входе линии. Так как затухание зависит от длины линии связи, то в качестве характеристики линии связи используется 37 так называемое погонное затухание, то есть затухание на линии связи определенной длины. Для кабелей локальных сетей в качестве такой длины обычно используют 100 м, так как это значение является максимальной длиной кабеля для многих LAN-технологий. Для территориальных линий связи погонное затухание измеряют для расстояния в 1 км. Обычно затуханием характеризуют пассивные участки линии связи, состоящие из кабелей и кроссовых секций, без усилителей и регенераторов. Так как мощность выходного сигнала кабеля без промежуточных усилителей меньше, чем мощность входного сигнала, затухание кабеля всегда является отрицательной величиной. Степень затухания мощности синусоидального сигнала зависит от частоты синусоиды, и эта зависимость также используется для характеристики линии связи (рис. 2.7). Рис. 2.7. Зависимость затухания от частоты Чаще всего при описании параметров линии связи приводятся значения затухания всего для нескольких значений частот. Это объясняется, с одной стороны, стремлением упростить измерения при проверке качества линии. С другой стороны, на практике часто заранее известна основная частота передаваемого сигнала, то есть та частота, гармоника которой имеет наибольшую амплитуду и мощность. Поэтому достаточно знать затухание на этой частоте, чтобы приблизительно оценить искажения передаваемых по линии сигналов. Внимание. Как было сказано выше, затухание всегда имеет отрицательное значение, однако знак минус часто опускают, при этом иногда возникает путаница. Совершенно корректно утверждение, что качество линии связи тем выше, чем больше (с учетом знака) затухание. Если же игнорировать знак, то есть иметь в виду абсолютное значение затухания, то у более качественной линии затухание меньше. Приведем пример. Для внутренней проводки в зданиях используется кабель на витой паре категории 5. Этот кабель, на котором работают практически все технологии локальных сетей, характеризуется затуханием не меньше, чем -23,6 дБ для частоты 100 МГц при длине кабеля 100 м. Более качественный кабель категории 6 имеет на частоте 100 МГц затухание не меньше, чем -20,6 дБ. Получаем, что -20,6 > -23,6, но 20,6 < 23,6. На рис. 2.8 показаны типовые зависимости затухания от частоты для кабелей на неэкранированной витой паре категорий 5 и 6. 38 Рис. 2.2. Затухание неэкранированного кабеля на витой паре Оптический кабель имеет существенно меньшие (по абсолютной величине) величины затухания, обычно в диапазоне от -0,2 до -3 дБ при длине кабеля в 1000 м, а значит, является более качественным, чем кабель на витой паре. Практически все оптические волокна имеют сложную зависимость затухания от длины волны, которая имеет три так называемых окна прозрачности. На рис. 2.9 показана характерная зависимость затухания для оптического волокна. Из рисунка видно, что область эффективного использования современных волокон ограничена волнами длин 850 нм, 1300 нм и 1550 нм (соответственно 35 ТГц, 23 ТГц и 19,4 ТГц). Окно 1550 нм обеспечивает наименьшие потери, а значит, максимальную дальность при фиксированной мощности передатчика и фиксированной чувствительности приемника. Рис. 2.9. Окна прозрачности оптического волокна 39 В качестве характеристики мощности сигнала используются абсолютный и относительный уровни мощности. Абсолютный уровень мощности измеряется в ваттах, относительный уровень мощности, как и затухание, измеряется в децибелах. При этом в качестве базового значения мощности, относительно которого измеряется мощность сигнала, принимается значение в 1 мВт. Таким образом, относительный уровень мощности р вычисляется по следующей формуле: р = 10 lg Р/1мВт [дБм]. Здесь Р — абсолютная мощность сигнала в милливаттах, а дБм — единица измерения относительного уровня мощности (децибел на 1 мВт). Относительные значения мощности удобно использовать при расчетах энергетического бюджета линий связи. Пример Пусть требуется определить относительную минимальную мощность х (дБм) передатчика, достаточную для того, чтобы на выходе линии относительная мощность сигнала была не ниже некоторого порогового значения y (дБм). Затухание линии известно и равно А. Пусть X и Y — абсолютные значения мощности сигнала на входе и выходе линии соответственно. И пусть они заданы в милливаттах. По определению А = 10 lg X/Y. Используя свойства логарифмов имеем: А = 10 lg X - 10 lg Y = 10 lg X/l мВт - 10 lg Y/l мВт. Заметим, что два последних члена уравнения по определению являются относительными значениями мощности сигналов на выходе и на входе, поэтому приходим к простому соотношению А = х - у, из которого следует, что минимальная требуемая мощность передатчика может быть определена как сумма затухания и мощности сигнала на выходе: х = А + у. Предельная простота расчета стала возможной благодаря тому, что в качестве исходных данных были использованы относительные значения мощности входного и выходного сигналов. Использованная в примере величина у называется порогом чувствительности приемника и представляет собой минимальную мощность сигнала на входе приемника, при котором он способен корректно распознавать дискретную информацию, содержащуюся в сигнале. Очевидно, что для нормальной работы линии связи необходимо, чтобы минимальная мощность сигнала передатчика, даже ослабленная затуханием линии связи, превосходила порог чувствительности приемника: х - А > у. Проверка этого условия и является сутью расчета энергетического бюджета линии. Важным параметром медной линии связи является ее волновое сопротивление, представляющее собой полное (комплексное) сопротивление, которое встречает электромагнитная волна определенной частоты при распространении вдоль однородной цепи. Волновое сопротивление измеряется в омах и зависит от таких параметров линии связи, как активное сопротивление, погонная индуктивность и погонная емкость, а также от частоты самого сигнала. Выходное сопротивление передатчика должно быть согласовано с волновым сопротивлением линии, иначе затухание сигнала будет чрезмерно большим. Помехоустойчивость и достоверность Помехоустойчивость линии, как и следует из названия, определяет способность линии противостоять влиянию помех, создаваемых во внешней среде или на внутренних проводниках самого кабеля. Помехоустойчивость линии зависит от типа используемой физической среды, а также от экранирующих и подавляющих помехи средств самой линии. Наименее помехоустойчивыми являются радиолинии, хорошей устойчивостью обладают кабельные линии и отличной — волоконно-оптические линии, малочувствительные к внешнему электромагнитному излучению. Обычно для уменьшения помех, создаваемых внешними электромагнитными полями, проводники экранируют и/или скручивают. Электрическая и магнитная связь — это параметры медного кабеля, также являющиеся результатом помех. Электрическая связь определяется отношением наведенного тока в цепи, подверженной влиянию, к напряжению, действующему во влияющей цепи. Магнитная связь — это отношение электродвижущей силы, наведенной в цепи, подверженной влиянию, к току во влияющей цепи. Результатом электрической и магнитной связи являются наведенные сигналы 40 (наводки) в цепи, подверженной влиянию. Существует несколько различных параметров, характеризующих устойчивость кабеля к наводкам. Перекрестные наводки на ближнем конце (Near End Cross Talk, NEXT) определяют устойчивость кабеля в том случае, когда наводка образуется в результате действия сигнала, генерируемого передатчиком, подключенным к одной из соседних пар на том же конце кабеля, на котором работает подключенный к подверженной влиянию паре приемник (рис. 2.10). Показатель NEXT, выраженный в децибелах, равен 10 lg Pout/Pind, где Pout — мощность выходного сигнала, Pind — мощность наведенного сигнала. Чем меньше значение NEXT, тем лучше кабель. Так, для витой пары категории 5 показатель NEXT должен быть меньше -27 дБ на частоте 100 МГц. Рис. 2.10. Переходное затухание Перекрестные наводки на дальнем конце (Far End Cross Talk, FEXT) позволяют оценить устойчивость кабеля к наводкам для случая, когда передатчик и приемник подключены к разным концам кабеля. Очевидно, что этот показатель должен быть лучше, чем NEXT, так как до дальнего конца кабеля сигнал приходит ослабленный затуханием каждой пары. Показатели NEXT и FEXT обычно применяются к кабелю, состоящему из нескольких витых пар, так как в этом случае взаимные наводки одной пары на другую могут достигать значительных величин. Для одинарного коаксиального кабеля (то есть состоящего из одной экранированной жилы) этот показатель не имеет смысла, а для двойного коаксиального кабеля он также не применяется вследствие высокой степени защищенности каждой жилы. Оптические волокна тоже не создают сколько-нибудь заметных взаимных помех. В связи с тем, что в некоторых новых технологиях данные передаются одновременно по нескольким витым парам, в последнее время стали применяться также показатели перекрестных наводок с приставкой PS (PowerSUM — объединенная наводка), такие как PS NEXT и PS FEXT. Эти показатели отражают устойчивость кабеля к суммарной мощности перекрестных наводок на одну из пар кабеля от всех остальных передающих пар (рис. 2.11). Еще одним практически важным показателем является защищенность кабеля (Attenuation/Crosstalk Ratio, ACR). Защищенность определяется как разность между уровнями 41 полезного сигнала и помех. Чем больше значение защищенности кабеля, тем в соответствии с формулой Шеннона с потенциально более высокой скоростью можно передавать данные по этому кабелю. На рис. 2.12 показана типичная характеристика зависимости защищенности кабеля на неэкранированной витой паре от частоты сигнала. Рис. 2.11. Суммарное переходное затухание Рис. 2.12. Защищенность витой пары Достоверность передачи данных характеризует вероятность искажения каждого передаваемого бита данных. Иногда этот же показатель называют интенсивностью битовых ошибок (Bit Error Rate, BER). Величина BER для линий связи без дополнительных средств защиты 42 от ошибок (например, самокорректирующихся кодов или протоколов с повторной передачей искаженных кадров) составляет, как правило, 10-4 — 10-6, в оптоволоконных линиях связи — 10-9. Значение достоверности передачи данных, например 10-4, говорит о том, что в среднем из 10 000 бит искажается значение одного бита. Полоса пропускания и пропускная способность Полоса пропускания — это непрерывный диапазон частот, для которого затухание не превышает некоторый заранее заданный предел. То есть полоса пропускания определяет диапазон частот синусоидального сигнала, при которых этот сигнал передается по линии связи без значительных искажений. Часто граничными частотами считаются частоты, на которых мощность выходного сигнала уменьшается в два раза по отношению к входному, что соответствует затуханию в -3 дБ. Как мы увидим далее, ширина полосы пропускания в наибольшей степени влияет на максимально возможную скорость передачи информации по линии связи. Полоса пропускания зависит от типа линии и ее протяженности. На рис. 2.13 показаны полосы пропускания линий связи различных типов, а также наиболее часто используемые в технике связи частотные диапазоны. Рис. 2.13. Полосы пропускания линий связи и популярные частотные диапазоны 43 Пропускная способность линии характеризует максимально возможную скорость передачи данных, которая можег быть достигнута на этой линии. Особенностью пропускной способности является то, что, с одной стороны, эта характеристика зависит от параметров физической среды, а с другой — определяется способом передачи данных. Следовательно, нельзя говорить о пропускной способности линии связи до того, как для нее определен протокол физического уровня. Например, поскольку для цифровых линий всегда определен протокол физического уровня, задающий битовую скорость передачи данных, то для них всегда известна и пропускная способность — 64 Кбит/с, 2 Мбит/с и т. п. В тех же случаях, когда только предстоит выбрать, какой из множества существующих протоколов использовать на данной линии, очень важными являются остальные характеристики линии, такие как полоса пропускания, перекрестные наводки, помехоустойчивость и др. Пропускная способность, как и скорость передачи данных, измеряется в битах в секунду (бит/с), а также в производных единицах, таких как килобит в секунду (Кбит/с) и т. д. Рис. 2.14. Соответствие между полосой пропускания линии связи и спектром сигнала Внимание. Пропускная способность линий связи и коммуникационного сетевого оборудования традиционно измеряется в битах в секунду, а не в байтах в секунду. Это связано с тем, что данные в сетях передаются последовательно, то есть побитно, а не параллельно, байтами, как это происходит между устройствами внутри компьютера. Такие единицы измерения, как килобит, мегабит или гигабит, в сетевых технологиях строго соответствуют степеням 10 (то есть килобит — это 1000 бит, а мегабит — это 1 000 000 бит), как это принято во всех отраслях науки и техники, а не близким к этим числам степеням двойки, как это принято в программировании, где приставка «кило» равна 210 = 1024, а «мега» — 220 = 1 048 576. Пропускная способность линии связи зависит не только от ее характеристик, таких как затухание и полоса пропускания, но и от спектра передаваемых сигналов. Если значимые 44 гармоники сигнала (то есть те гармоники, амплитуды которых вносят основной вклад в результирующий сигнал) попадают в полосу пропускания линии, то такой сигнал будет хорошо передаваться данной линией связи, и приемник сможет правильно распознать информацию, отправленную по линии передатчиком (рис. 2.14, а). Если же значимые гармоники выходят за границы полосы пропускания линии связи, то сигнал будет значительно искажаться, а приемник будет ошибаться при распознавании информации (рис. 2.14, б). Биты и боды Выбор способа представления дискретной информации в виде сигналов, подаваемых на линию связи, называется физическим, или линейным, кодированием. От выбранного способа кодирования зависит спектр сигналов и, соответственно, пропускная способность линии. Таким образом, для одного способа кодирования линия может обладать одной пропускной способностью, а для другого — другой. Например, витая пара категории 3 может передавать данные с пропускной способностью 10 Мбит/с при способе кодирования стандарта физического уровня 10Base-T и 33 Мбит/с при способе кодирования стандарта 100Base-T4. Внимание. В соответствии с основным постулатом теории информации любое различимое непредсказуемое изменение принимаемого сигнала несет в себе информацию. Отсюда следует, что синусоида, у которой амплитуда, фаза и частота остаются неизменными, информации не несет, так как изменение сигнала хотя и происходит, но является абсолютно предсказуемым. Аналогично, не несут в себе информации импульсы на тактовой шине компьютера, так как их изменения тоже постоянны во времени. А вот импульсы на шине данных предсказать заранее нельзя, это и делает их информационными, они переносят информацию между отдельными блоками или устройствами компьютера. В большинстве способов кодирования используется изменение какого-либо параметра периодического сигнала — частоты, амплитуды и фазы синусоиды или же знака потенциала последовательности импульсов. Периодический сигнал, параметры которого подвергаются изменениям, называют несущим сигналом, а его частоту, если сигнал синусоидальный, — несущей частотой. Процесс изменения параметров несущего сигнала в соответствии с передаваемой информацией называется модуляцией. Если сигнал изменяется так, что можно различить только два его состояния, то любое его изменение будет соответствовать наименьшей единице информации — биту. Если же сигнал может иметь более двух различимых состояний, то любое его изменение будет нести несколько битов информации. Передача дискретной информации в телекоммуникационных сетях осуществляется тактировано, то есть изменение сигнала происходит через фиксированный интервал времени, называемый тактом. Приемник информации считает, что вначале каждого такта на его вход поступает новая информация. При этом независимо от того, повторяет ли сигнал состояние предыдущего такта или же он имеет состояние, отличное от предыдущего, приемник получает новую информацию от передатчика. Например, если такт равен 0,3 с, а сигнал имеет два состояния и 1 кодируется потенциалом 5 вольт, то присутствие на входе приемника сигнала 5 вольт в течение 3 секунд означает получение информации, представленной двоичным числом 1111111111. Количество изменений информационного параметра несущего периодического сигнала в секунду измеряется в бодах. Один бод равен одному изменению информационного параметра в секунду. Например, если такт передачи информации равен 0,1 секунды, то сигнал изменяется со скоростью 10 бод. Таким образом, скорость в бодах целиком определяется величиной такта. Информационная скорость измеряется в битах в секунду и в общем случае не совпадает со скоростью в бодах. Она может быть как выше, так и ниже скорости изменения информационного параметра, измеряемого в бодах. Это соотношение зависит от числа состояний сигнала. Например, если сигнал имеет более двух различимых состояний, то при равных тактах и соответствующем методе кодирования информационная скорость в битах в секунду может быть выше, чем скорость изменения информационного сигнала в бодах. 45 Пусть информационными параметрами являются фаза и амплитуда синусоиды, причем различаются 4 состояния фазы в 0, 90, 180 и 270° и два значения амплитуды сигнала, тогда информационный сигнал может иметь 8 различимых состояний. Это означает, что любое состояние этого сигнала несет информацию в 3 бит. В этом случае модем, работающий со скоростью 2400 бод (меняющий информационный сигнал 2400 раз в секунду), передает информацию со скоростью 7200 бит/с, так как при одном изменении сигнала передается 3 бит информации. Если сигнал имеет два состояния (то есть несет информацию в 1 бит), то информационная скорость обычно совпадает с количеством бодов. Однако может наблюдаться и обратная картина, когда информационная скорость оказывается ниже скорости изменения информационного сигнала в бодах. Это происходит в тех случаях, когда для надежного распознавания приемником пользовательской информации каждый бит в последовательности кодируется несколькими изменениями информационного параметра несущего сигнала. Например, при кодировании единичного значения бита импульсом положительной полярности, а нулевого значения бита импульсом отрицательной полярности физический сигнал дважды изменяет свое состояние при передаче каждого бита. При таком кодировании скорость линии в битах в секунду в два раза ниже, чем в бодах. Чем выше частота несущего периодического сигнала, тем выше может быть частота модуляции и тем выше может быть пропускная способность линии связи. Однако, с другой стороны, с увеличением частоты периодического несущего сигнала увеличивается и ширина спектра этого сигнала. Линия передает этот спектр синусоид с теми искажениями, которые определяются ее полосой пропускания. Чем больше несоответствие между полосой пропускания линии и шириной спектра передаваемых информационных сигналов, тем больше сигналы искажаются и тем вероятнее ошибки в распознавании информации принимающей стороной, а значит, возможная скорость передачи информации оказывается меньше. Соотношение полосы пропускания и пропускной способности Связь между полосой пропускания линии и ее пропускной способностью вне зависимости от принятого способа физического кодирования установил Клод Шеннон: C = F log2(l + Pс/Pш). Здесь С — пропускная способность линии в битах в секунду, F — ширина полосы пропускания линии в герцах, Рс — мощность сигнала, Рш — мощность шума. Из этого соотношения следует, что теоретического предела пропускной способности линии с фиксированной полосой пропускания не существует. Однако на практике такой предел имеется. Действительно, повысить пропускную способность линии можно за счет увеличения мощности передатчика или же уменьшения мощности шума (помех) в линии связи. Обе эти составляющие поддаются изменению с большим трудом. Повышение мощности передатчика ведет к значительному увеличению его габаритов и стоимости. Снижение уровня шума требует применения специальных кабелей с хорошими защитными экранами, что весьма дорого, а также снижения шума в передатчике и промежуточной аппаратуре, чего достичь весьма не просто. К тому же влияние мощностей полезного сигнала и шума на пропускную способность ограничено логарифмической зависимостью, которая растет далеко не так быстро, как прямопропорциональная. Так, при достаточно типичном исходном отношении мощности сигнала к мощности шума в 100 раз повышение мощности передатчика в два раза даст только 15 % увеличения пропускной способности линии. Близким по сути к формуле Шеннона является другое соотношение, полученное Найквистом, которое также определяет максимально возможную пропускную способность линии связи, но без учета шума в линии: C = 2F log2M. Здесь М — количество различимых состояний информационного параметра. Если сигнал имеет два различимых состояния, то пропускная способность равна удвоенному значению ширины полосы пропускания линии связи (рис. 2.15, а). Если же передатчик использует 46 более двух устойчивых состояний сигнала для кодирования данных, то пропускная способность линии повышается, так как за один такт работы передатчик передает несколько битов исходных данных, например 2 бита при наличии четырех различимых состояний сигнала (рис. 2.15, б). Хотя в формуле Найквиста наличие шума в явном виде не учитывается, косвенно его влияние отражается в выборе количества состояний информационного сигнала. Для повышения пропускной способности линии связи следовало бы увеличивать количество состояний, но на практике этому препятствует шум на линии. Например, пропускную способность линии, сигнал которой показан на рис. 2.15, б, можно увеличить еще в два раза, применив для кодирования данных не 4, а 16 уровней. Однако если амплитуда шума время от времени превышает разницу между соседними уровнями, то приемник не сможет устойчиво распознавать передаваемые данные. Поэтому количество возможных состояний сигнала фактически ограничивается соотношением мощности сигнала и шума, а формула Найквиста определяет предельную скорость передачи данных в том случае, когда количество состояний уже выбрано с учетом возможностей устойчивого распознавания приемником. Рис. 2.15. Повышение скорости передачи за счет дополнительных состояний сигнала Типы кабелей Список ключевых слов: витая пара, экранированная витая пара, неэкранированная витая пара, коаксиальный кабель, «толстый» коаксиальный кабель, «тонкий» коаксиальный кабель, телевизионный кабель, волоконно-оптический кабель, мода луча, одномодовый кабель, многомодовый кабель, структурированная кабельная система. Сегодня как для внутренней (кабели зданий), так и для внешней проводки чаще всего применяются три класса проводных линий связи:  витая пара;  коаксиальные кабели;  волоконно-оптические кабели. Экранированная и неэкранированная витая пара Витой парой называется скрученная пара проводов. Этот вид среды передачи данных очень популярен и составляет основу большого количества как внутренних, так и внешних кабелей. Кабель может состоять из нескольких скрученных пар (внешние кабели иногда содержат до нескольких десятков таких пар). Скручивание проводов снижает влияние внешних и взаимных помех на полезные сигналы, передаваемые по кабелю. Основные особенности конструкции кабелей схематично показаны на рис. 2.16. 47 Кабели на основе витой пары являются симметричными, то есть они состоят из двух одинаковых в конструктивном отношении проводников. Симметричный кабель на основе витой пары может быть как экранированным, так и неэкранированным. Рис. 2.16. Устройство кабелей Нужно отличать электрическую изоляцию проводящих жил, которая имеется в любом кабеле, от электромагнитной изоляции. Первая состоит из непроводящего диэлектрического слоя — бумаги или полимера, например поливинилхлорида или полистирола. Во втором случае помимо электрической изоляции проводящие жилы помещаются также внутрь электромагнитного экрана, в качестве которого чаще всего применяется проводящая медная оплетка. Кабель на основе неэкранированной витой пары, используемый для проводки внутри здания, разделяется в международных стандартах на категории (от 1 до 7).  Кабели категории 1 применяются там, где требования к скорости передачи минимальны. Обычно это кабель для цифровой и аналоговой передачи голоса и низкоскоростной (до 20 Кбит/с) передачи данных. До 1983 года это был основной тип кабеля для телефонной разводки.  Кабели категории 2 были впервые применены фирмой IBM при построении собственной кабельной системы. Главное требование к кабелям этой категории — способность передавать сигналы со спектром до 1 МГц.  Кабели категории 3 были стандартизованы в 1991 году. Стандарт EIA-568 определил электрические характеристики кабелей для частот в диапазоне до 16 МГц. Кабели категории 3, предназначенные как для передачи данных, так и для передачи голоса, составляют сейчас основу многих кабельных систем зданий.  Кабели категории 4 представляют собой несколько улучшенный вариант кабелей категории 3. Кабели категории 4 обязаны выдерживать тесты на частоте передачи сигнала 20 МГц и обеспечивать повышенную помехоустойчивость и низкие потери сигнала. На практике используются редко.  Кабели категории 5 были специально разработаны для поддержки высокоскоростных протоколов. Их характеристики определяются в диапазоне до 100 МГц. Большинство высокоскоростных технологий (FDDI, Fast Ethernet, ATM и Gigabit Ethernet) ориентируются на использование витой пары категории 5. Кабель категории 5 пришел на замену кабелю категории 48 3, и сегодня все новые кабельные системы крупных зданий строятся именно на этом типе кабеля (в сочетании с волоконно-оптическим).  Особое место занимают кабели категорий 6 и 7, которые промышленность начала выпускать сравнительно недавно. Для кабеля категории 6 характеристики определяются до частоты 250 МГц, а для кабелей категории 7 — до 600 МГц. Кабели категории 7 обязательно экранируются, причем как каждая пара, так и весь кабель в целом. Кабель категории 6 может быть как экранированным, так и неэкранированным. Основное назначение этих кабелей — поддержка высокоскоростных протоколов на отрезках кабеля большей длины, чем кабель UTP категории 5. Все кабели UTP независимо от их категории выпускаются в 4-парном исполнении. Каждая из четырех пар кабеля имеет определенный цвет и шаг скрутки. Обычно две пары предназначены для передачи данных, а две — для передачи голоса. Экранированная витая пара хорошо защищает передаваемые сигналы от внешних помех, а также меньше излучает электромагнитные колебания вовне, что, в свою очередь, защищает пользователей сетей от вредного для здоровья излучения. Наличие заземляемого экрана удорожает кабель и усложняет его прокладку. Основным стандартом, определяющим параметры экранированной витой пары для применения внутри зданий, является фирменный стандарт IBM. В этом стандарте кабели делятся не на категории, а на типы от 1 до 9 включительно. Рассмотрим для примера кабель типа 1 стандарта IBM. Он состоит из двух пар скрученных проводов, экранированных проводящей оплеткой, которая заземляется. Электрические параметры кабеля типа 1 примерно соответствуют параметрам кабеля UTP категории 5. Однако волновое сопротивление кабеля типа 1, равное 150 Ом, значительно выше волнового сопротивления UTP категории 5 (100 Ом), поэтому невозможно «улучшение» кабельной проводки сети путем простой замены неэкранированной пары экранированной парой типа 1. Передатчики, рассчитанные на работу с кабелем, имеющим волновое сопротивление 100 Ом, будут плохо работать на волновое сопротивление 150 Ом. Коаксиальный кабель Коаксиальный кабель состоит из несимметричных пар проводников. Каждая пара представляет собой внутреннюю медную жилу и соосную с ней внешнюю жилу, которая может быть полой медной трубой или оплеткой, отделенной от внутренней жилы диэлектрической изоляцией. Внешняя жила играет двоякую роль — по ней передаются информационные сигналы и она является экраном, защищающим внутреннюю жилу от внешних электромагнитных полей. Существует несколько типов коаксиального кабеля, отличающихся характеристиками и областями применения: для локальных компьютерных сетей, для глобальных телекоммуникационных сетей, для кабельного телевидения и т. п. Современные стандарты не считают коаксиальный кабель хорошим вариантом для построения структурированной кабельной системы зданий. Ниже приводятся основные типы и характеристики этих кабелей. «Толстый» коаксиальный кабель разработан для сетей Ethernet 10Base-5 с волновым сопротивлением 50 Ом и внешним диаметром около 12 мм. Этот кабель имеет достаточно толстый внутренний проводник диаметром 2,17 мм, который обеспечивает хорошие механические и электрические характеристики (затухание на частоте 10 МГц — не хуже 18 дБ/км). Зато этот кабель сложно монтировать — он плохо гнется. «Тонкий» коаксиальный кабель предназначен для сетей Ethernet 10Base-2. Обладая внешним диаметром около 50 мм и тонким внутренним проводником 0,89 мм, этот кабель не так прочен, как «толстый» коаксиал, зато обладает гораздо большей гибкостью, что удобно при монтаже. «Тонкий» коаксиальный кабель также имеет волновое сопротивление 50 Ом, но его механические и электрические характеристики хуже, чем у «толстого» коаксиального кабеля. Затухание в этом типе кабеля выше, чем в «толстом» коаксиальном кабеле, что приводит к необходимости уменьшать длину кабеля для получения одинакового затухания в сегменте. 49 Телевизионный кабель с волновым сопротивлением 75 Ом широко применяется в кабельном телевидении. Существуют стандарты локальных сетей, позволяющие использовать такой кабель для передачи данных. Волоконно-оптический кабель Волоконно-оптический кабель состоит из тонких (5-60 микрон) гибких стеклянных волокон (волоконных световодов), по которым распространяются световые сигналы. Это наиболее качественный тип кабеля — он обеспечивает передачу данных с очень высокой скоростью (до 10 Гбит/с и выше) и к тому же лучше других типов передающей среды обеспечивает защиту данных от внешних помех (в силу особенностей распространения света такие сигналы легко экранировать). Каждый световод состоит из центрального проводника света (сердцевины) — стеклянного волокна, и стеклянной оболочки, обладающей меньшим показателем преломления, чем сердцевина. Распространяясь по сердцевине, лучи света не выходят за ее пределы, отражаясь от покрывающего слоя оболочки. В зависимости от распределения показателя преломления и величины диаметра сердечника различают:  многомодовое волокно со ступенчатым изменением показателя преломления (рис. 2.17, а);  многомодовое волокно с плавным изменением показателя преломления (рис. 2.17, 6);  одномодовое волокно (рис. 2.17, в). Понятие «мода» описывает режим распространения световых лучей в сердцевине кабеля. В одномодовом кабеле (Single Mode Fiber, SMF) используется центральный проводник очень малого диаметра, соизмеримого с длиной волны света — от 5 до 10 мкм. При этом практически все лучи света распространяются вдоль оптической оси световода, не отражаясь от внешнего проводника. Изготовление сверхтонких качественных волокон для одномодового кабеля представляет собой сложный технологический процесс, что делает одномодовый кабель достаточно дорогим. Кроме того, в волокно такого маленького диаметра достаточно сложно направить пучок света, не потеряв при этом значительную часть его энергии. 50 Рис. 2.17. Типы оптического кабеля В многомодовых кабелях (Multi Mode Fiber, MMF) используются более широкие внутренние сердечники, которые легче изготовить технологически. В многомодовых кабелях во внутреннем проводнике одновременно существует несколько световых лучей, отражающихся от внешнего проводника под разными углами. Угол отражения луча называется модой луча. В многомодовых кабелях с плавным изменением коэффициента преломления режим отражения лучей имеет сложный характер. Возникающая при этом интерференция ухудшает качество передаваемого сигнала, что приводит к искажениям передаваемых импульсов в многомодовом оптическом волокне. По этой причине технические характеристики многомодовых кабелей хуже, чем одномодовых. В результате многомодовые кабели используются в основном для передачи данных на скоростях не более 1 Гбит/с на небольшие расстояния (до 300-2000 м), а одномодовые — для передачи данных со сверхвысокими скоростями в несколько десятков гигабит в секунду (а при использовании технологии DWDM — до нескольких терабит в секунду) на расстояния до нескольких десятков и даже сотен километров (дальняя связь). В качестве источников света в волоконно-оптических кабелях применяются:  светодиоды, или светоизлучающие диоды (Light Emitted Diode, LED);  полупроводниковые лазеры, или лазерные диоды. 51 Для одномодовых кабелей применяются только лазерные диоды, так как при таком малом диаметре оптического волокна световой поток, создаваемый светодиодом, невозможно без больших потерь направить в волокно — он имеет чересчур широкую диаграмму направленности излучения, в то время как лазерный диод — узкую. Более дешевые светодиодные излучатели используются только для многомодовых кабелей. Стоимость волоконно-оптических кабелей ненамного превышает стоимость кабелей на витой паре, но проведение монтажных работ с оптоволокном обходится намного дороже из-за трудоемкости операций и высокой стоимости применяемого монтажного оборудования. Структурированная кабельная система зданий Структурированная кабельная система (Structured Cabling System, SCS) здания — это набор коммутационных элементов (кабелей, разъемов, коннекторов, кроссовых панелей и шкафов), а также методика их совместного использования, которая позволяет создавать регулярные, легко расширяемые структуры связей в вычислительных сетях. Здание само по себе представляет собой достаточно регулярную структуру — оно состоит из этажей, а каждый этаж, в свою очередь, состоит из определенного количества комнат, соединенных коридорами. Структура здания предопределяет структуру кабельной системы здания. Структурированная кабельная система здания представляет своего рода «конструктор», с помощью которого проектировщик сети строит нужную ему конфигурацию из стандартных кабелей, соединенных стандартными разъемами и коммутируемых на стандартных кроссовых панелях. При необходимости конфигурацию связей можно легко изменить — добавить компьютер, сегмент, коммутатор, изъять ненужное оборудование, поменять соединение между компьютером и концентратором. Наиболее детально на сегодня разработаны стандарты кабельных систем зданий, при этом иерархический подход к процессу создания такой кабельной системы позволяет назвать ее структурированной. На основе SCS здания работает одна или несколько локальных сетей организаций или подразделений одной организации, размещенной в этом здании. SCS планируется и строится иерархически, с главной магистралью и многочисленными ответвлениями от нее (рис. 2.18). Рис. 2.12. Иерархия структурированной кабельной системы Типичная иерархическая структура SCS включает (рис. 2.19):  горизонтальные подсистемы, соответствующие этажам здания, — они соединяют кроссовые шкафы этажа с розетками пользователей; 52  вертикальные подсистемы, соединяющие кроссовые шкафы каждого этажа с центральной аппаратной здания;  подсистема кампуса, объединяющая несколько зданий с главной аппаратной всего кампуса. Эта часть кабельной системы обычно называется магистралью. Рис. 2.19. Структура кабельных подсистем Использование структурированной кабельной системы вместо хаотически проложенных кабелей дает предприятию много преимуществ. Система SCS при продуманной организации может стать универсальной средой для передачи компьютерных данных в локальной вычислительной сети, организации локальной телефонной сети, передачи видеоинформации и даже для передачи сигналов от датчиков пожарной безопасности или охранных систем. Подобная универсализация позволяет автоматизировать многие процессы контроля, мониторинга и управления хозяйственными службами и системами жизнеобеспечения предприятия. Кроме того, использование SCS делает более экономичным добавление новых пользователей и изменения их мест размещения. Известно, что стоимость кабельной системы определяется в основном не стоимостью кабеля, а стоимостью работ по его прокладке. Поэтому выгоднее провести однократную работу по прокладке кабеля, возможно, с большим запасом по длине, чем несколько раз выполнять прокладку, наращивая длину кабеля. Выводы В зависимости от типа промежуточной аппаратуры все линии связи делятся на аналоговые и цифровые. В аналоговых линиях промежуточная аппаратура предназначена для усиления аналоговых сигналов. В аналоговых линиях используется частотное мультиплексирование. В цифровых линиях связи передаваемые сигналы имеют конечное число состояний. В таких линиях используется специальная промежуточная аппаратура — регенераторы, которые улучшают форму импульсов и обеспечивают их ресинхронизацию, то есть восстанавливают период их следования. Промежуточная аппаратура мультиплексирования и коммутации первичных сетей работает по принципу временного мультиплексирования каналов, когда каждому низкоскоростному каналу выделяется определенная доля времени (тайм-слот, или квант) высокоскоростного канала. Полоса пропускания определяет диапазон частот, которые передаются линией связи с приемлемым затуханием. Пропускная способность линии связи зависит от ее внутренних параметров, в частности — полосы пропускания, внешних параметров — уровня помех и степени ослабления помех, а также принятого способа кодирования дискретных данных. Формула Шеннона определяет максимально возможную пропускную способность линии связи при фиксированных значениях полосы пропускания линии и отношении мощности сигнала к шуму. 53 Формула Найквиста выражает максимально возможную пропускную способность линии связи через полосу пропускания и количество состояний информационного сигнала. Кабели на основе витой пары делятся на неэкранированные (UTP) и экранированные (STP). Кабели UTP проще в изготовлении и монтаже, зато кабели STP обеспечивают более высокий уровень защищенности. Волоконно-оптические кабели обладают отличными электромагнитными и механическими характеристиками, недостаток их состоит в сложности и высокой стоимости монтажных работ. Структурированная кабельная система представляет собой набор коммуникационных элементов — кабелей, разъемов, коннекторов, кроссовых панелей и шкафов, которые удовлетворяют стандартам и позволяют создавать регулярные, легко расширяемые структуры связей. Вопросы и задания 1. Чем звено отличается от составного канала связи? 2. Может ли составной канал состоять из звеньев? А наоборот? 3. Может ли цифровой канал передавать аналоговые данные? 4. В чем заключаются функции устройств DTE и DCE? К какому из этих двух типов устройств относится сетевой адаптер? 5. К какому типу характеристик линии связи относятся: уровень шума, полоса пропускания, погонная емкость? 6. Какие меры можно предпринять для увеличения информационной скорости звена:  уменьшить длину кабеля;  выбрать кабель с меньшим сопротивлением;  выбрать кабель с более широкой полосой пропускания;  применить метод кодирования с более узким спектром. 7. Почему не всегда можно увеличить пропускную способность канала за счет увеличения числа состояний информационного сигнала? 8. За счет какого механизма подавляются помехи в кабелях UTP? 9. Какой кабель более качественно передает сигналы — с большим значением параметра NEXT или с меньшим? 10. Какова ширина спектра идеального импульса? 11. Назовите типы оптического кабеля. 12. Что произойдет, если в работающей сети заменить кабель UTP кабелем STP? Варианты ответов:  в сети снизится доля искаженных кадров, так как внешние помехи будут подавляться более эффективно;  ничего не изменится;  в сети увеличится доля искаженных кадров, так как выходное сопротивление передатчиков не совпадает с импедансом кабеля. 13. Назовите основные преимущества структурированной кабельной системы. 14. Какие типы кабелей используются для горизонтальной подсистемы SCS? 15. Почему проблематично использовать волоконно-оптический кабель в горизонтальной подсистеме? 16. Известными величинами являются:  минимальная мощность передатчика Pout (дБм);  погонное затухание кабеля А (дБ/км);  порог чувствительности приемника Pin (дБм). Требуется найти максимально возможную длину линии связи, при которой сигналы передаются нормально. 17. Каким будет теоретический предел скорости передачи данных в битах в секунду по линии связи с шириной полосы пропускания 20 кГц, если мощность передатчика составляет 0,01 мВт, а мощность шума в линии связи равна 0,0001 мВт? 54 18. Определите пропускную способность дуплексной линии связи для каждого из направлений, если известно, что ее полоса пропускания равна 600 кГц, а в методе кодирования используется 10 состояний сигнала. 19. Рассчитайте задержку распространения сигнала и задержку передачи данных для случая передачи пакета в 128 байт (считайте скорость распространения сигнала равной скорости света в вакууме 300 000 км/с):  по кабелю витой пары длиной в 100 м при скорости передачи 100 Мбит/с;  по коаксиальному кабелю длиной в 2 км при скорости передачи в 10 Мбит/с;  по спутниковому каналу протяженностью в 72 000 км при скорости передачи 128 Кбит/с. 20. Подсчитайте скорость линии связи, если известно, что тактовая частота передатчика равна 125 МГц, а сигнал имеет 5 состояний. 21. Приемник и передатчик сетевого адаптера подключены к соседним парам кабеля UTP. Какова мощность наведенной помехи на входе приемника, если передатчик имеет мощность 30 дБм, а показатель NEXT кабеля равен -20 дБ? 22. Пусть известно, что модем передает данные в дуплексном режиме со скоростью 33,6 Кбит/с. Сколько состояний имеет его сигнал, если полоса пропускания линии связи равна 3,43 кГц? 55 10. Методы передачи данных канального уровня Проводные среды, которые мы рассмотрели в предыдущей главе, предоставляют только потенциальную возможность передачи дискретной информации. Для того чтобы передатчик и приемник, соединенные некоторой средой, могли обмениваться информацией, им необходимо договориться о том, какие сигналы будут соответствовать двоичным единицам и нулям дискретной информации. Для представления дискретной информации в среде передачи данных применяются сигналы двух типов: прямоугольные импульсы и синусоидальные волны. В первом случае используют термин «кодирование», во втором — «модуляция». Существует большое количество способов кодирования, которые отличаются шириной спектра сигнала при одной и той же скорости передачи данных. Для передачи данных с минимальным числом ошибок полоса пропускания канала должна быть шире, чем спектр сигнала, иначе выбранные для представления единиц и нулей сигналы значительно исказятся, и приемник не сможет правильно распознать переданную информацию. Поэтому спектр сигнала является одним из главных критериев оценки эффективности способа кодирования. Кроме того, способ кодирования должен способствовать синхронизации приемника с передатчиком, а также обеспечивать приемлемое соотношение мощности сигнала к шуму. Эти требования являются взаимно противоречивыми, поэтому каждый применяемый на практике способ кодирования представляет собой компромисс между основными требованиями. Битовые ошибки в каналах связи нельзя исключить полностью, даже если выбранный код обеспечивает хорошую степень синхронизации и высокий уровень отношения сигнала к шуму. Поэтому при передаче дискретной информации применяются специальные коды, которые позволяют обнаруживать (а некоторые даже исправлять) битовые ошибки. Модуляция Список ключевых слов: амплитудная модуляция, частотная модуляция, канал тональной частоты, модем, двоичная частотная манипуляция, четырехуровневая частотная манипуляция, многоуровневая частотная манипуляция, фазовая модуляция, двоичная фазовая манипуляция, квадратурная фазовая манипуляция, квадратурная амплитудная модуляция, решетчатый код, основная гармоника. Модуляция при передаче аналоговых сигналов Исторически модуляция начала применяться для аналоговой информации и только потом для дискретной. Необходимость в модуляции аналоговой информации возникает, когда нужно передать низкочастотный аналоговый сигнал через канал, находящийся в высокочастотной области спектра. Примерами такой ситуации является передача голоса по радио или телевидению. Голос имеет спектр шириной примерно в 10 кГц, а радиодиапазоны включают гораздо более высокие частоты, от 30 кГц до 300 мГц. Еще более высокие частоты использует телевидение. Очевидно, что непосредственно голос через такую среду передать нельзя. Для решения этой проблемы амплитуду высокочастотного несущего сигнала изменяют (модулируют) в соответствии с изменением низкочастотного голосового сигнала (рис. 9.1). При этом спектр результирующего сигнала попадает в нужный высокочастотный диапазон. Такой тип модуляции называется амплитудной модуляцией (Amplitude Modulation, AM). 56 Рис. 3.1. Модуляция голосовым сигналом В качестве информационного параметра используют не только амплитуду несущего синусоидального сигнала, но и частоту. В этих случаях мы имеем дело с частотной модуляцией (Frequency Modulation, FM). Заметим, что при модуляции аналоговой информации фаза не применяется как информационный параметр. Модуляция при передаче дискретных сигналов При передаче дискретной информации посредством модуляции единицы и нули кодируются изменением амплитуды, частоты или фазы несущего синусоидального сигнала. В случае когда модулированные сигналы передают дискретную информацию, вместо термина «модуляция» иногда используется термин «манипуляция»: амплитудная манипуляция (Amplitude Shift Keying, ASK), частотная манипуляция (Frequency Shift Keying, FSK), фазовая манипуляция (Phase Shift Keying, PSK). Пожалуй, самый известный пример применения модуляции при передаче дискретной информации — это передача компьютерных данных по телефонным каналам. Типичная амплитудно-частотная характеристика стандартного абонентского канала, называемого также каналом тональной частоты, представлена на рис. 3.2. Этот составной канал проходит через коммутаторы телефонной сети и соединяет телефоны абонентов. Канал тональной частоты передает частоты в диапазоне от 300 до 3400 Гц, таким образом, его полоса пропускания равна 3100 Гц. Такая узкая полоса пропускания вполне достаточна для качественной передачи голоса, однако она недостаточно широка для передачи компьютерных данных в виде прямоугольных импульсов. Решение проблемы было найдено благодаря аналоговой модуляции. Устройство, которое выполняет функцию модуляции несущей синусоиды на передающей стороне и обратную функцию демодуляции на приемной стороне, носит название модем (модулятор-демодулятор). Рис. 3.2. Амплитудно-частотная характеристика канала тональной частоты 57 На рис. 3.3 показаны различные типы модуляции, применяемые при передаче дискретной информации. Исходная последовательность битов передаваемой информации приведена на диаграмме, представленной на рис. 3.3, а. При амплитудной модуляции для логической единицы выбирается один уровень амплитуды синусоиды несущей частоты, а для логического нуля — другой (рис. 3.3, б). Этот способ редко используется в чистом виде на практике из-за низкой помехоустойчивости, но часто применяется в сочетании с другим видом модуляции — фазовой модуляцией. При частотной модуляции значения нуля и единицы исходных данных передаются синусоидами с различной частотой — f0 и f1 (рис. 3.3, в). Этот способ модуляции не требует сложных схем и обычно применяется в низкоскоростных модемах, работающих на скоростях 300 и 1200 бит/с. При использовании только двух частот за один такт передается один бит информации, поэтому такой способ называется двоичной частотной манипуляцией (Binary FSK, BFSK). Может также использоваться четыре различных частоты для кодирования двух битов информации в одном такте, такой способ носит название четырехуровневой частотной манипуляции (fourlevel FSK). Применяется также название многоуровневая частотная манипуляция (Multilevel FSK, MFSK). Рис. 3.3. Различные типы модуляции При фазовой модуляции значениям данных 0 и 1 соответствуют сигналы одинаковой частоты, но различной фазы, например 0 и 180° или 0, 90, 180 и 270° (рис. 3.3, г). В первом случае такая модуляция носит название двоичной фазовой манипуляции (Binary PSK, BPSK), а во втором — квадратурной фазовой манипуляции (Quadrature PSK, QPSK). Комбинированные методы модуляции Для повышения скорости передачи данных используют комбинированные методы модуляции. Наиболее распространенными являются методы квадратурной амплитудной модуляции (Quadrature Amplitude Modulation, QAM). Эти методы основаны на сочетании фазовой и амплитудной модуляций. На рис. 3.4 показан вариант модуляции, в котором используется 8 различных значений фазы и 4 значения амплитуды. Однако из 32 возможных комбинаций сигнала задействовано только 16, так как разрешенные значения амплитуд у соседних фаз отличаются. Это повышает 58 помехоустойчивость кода, но вдвое снижает скорость передачи данных. Другим решением, повышающим надежность кода за счет введения избыточности, являются так называемые решетчатые коды. Эти коды добавляют к каждым четырем битам информации пятый бит, который даже при наличии ошибок позволяет с большой степенью вероятности определить правильный набор четырех информационных битов. Спектр результирующего модулированного сигнала зависит от типа модуляции и скорости модуляции, то есть желаемой скорости передачи битов исходной информации. Рис. 3.4. Квадратурная амплитудная модуляция с 16-ю состояниями сигнала Рассмотрим сначала спектр сигнала при потенциальном кодировании. Пусть логическая единица кодируется положительным потенциалом, а логический ноль — отрицательным потенциалом такой же величины. Для упрощения вычислений предположим, что передается информация, состоящая из бесконечной последовательности чередующихся единиц и нулей, как показано на рис. 3.3, а. Спектр непосредственно получается из формул Фурье для периодической функции. Если дискретные данные передаются с битовой скоростью N бит/с, то спектр состоит из постоянной составляющей нулевой частоты и бесконечного ряда гармоник с частотами f0, 3f0, 5f0, 7f0, …, где f0 = N/2. Частота f0 — первая частота спектра — называется основной гармоникой. Амплитуды этих гармоник убывают достаточно медленно — с коэффициентами 1/3, 1/5, 1/7, ... от амплитуды гармоники f0 (рис. 3.5, а). В результате спектр потенциального кода требует для качественной передачи широкую полосу пропускания. Кроме того, нужно учесть, что реально спектр сигнала постоянно меняется в зависимости от того, какие данные передаются по линии связи. Например, передача длинной последовательности нулей или единиц сдвигает спектр в сторону низких частот, а в крайнем случае, когда передаваемые данные состоят только из единиц (или только из нулей), спектр состоит из гармоники нулевой частоты. При передаче чередующихся единиц и нулей постоянная составляющая отсутствует. Поэтому спектр результирующего сигнала потенциального кода при передаче произвольных данных занимает полосу от некоторой величины, близкой к 0 Гц, до примерно 7f0 (гармониками с частотами выше 7f0 можно пренебречь из-за их малого вклада в результирующий сигнал). Для канала тональной частоты верхняя граница при потенциальном кодировании достигается для скорости передачи данных в 971 бит/с, а нижняя неприемлема для любых скоростей, так как полоса пропускания канала начинается с 300 Гц. В результате потенциальные коды на каналах тональной частоты никогда не используются. 59 Рис. 3.5. Спектры сигналов при потенциальном кодировании и амплитудной модуляции При амплитудной модуляции спектр состоит из синусоиды несущей частоты fc, двух боковых гармоник (fc + fm) и (fc - fm), а также боковых гармоник (fc + 3fm) и (fc - 3fm), где fm — частота изменения информационного параметра синусоиды, которая совпадает со скоростью передачи данных при использовании двух уровней амплитуды (рис. 3.5, б). Частота fm определяет пропускную способность линии при данном способе кодирования. На небольшой частоте модуляции ширина спектра сигнала также оказывается небольшой (равной 2fm), если пренебречь гармониками 3fm, мощность которых незначительна. При фазовой и частотной модуляциях спектр сигнала получается более сложным, чем при амплитудной модуляции, так как боковых гармоник здесь образуется более двух, но они тоже симметрично расположены относительно основной несущей частоты, а их амплитуды быстро убывают. Дискретизация аналоговых сигналов Список ключевых слов: дискретная модуляция, импульсно-кодовая модуляция, аналогоцифровой преобразователь, цифро-аналоговый преобразователь, элементарный канал цифровых телефонных сетей. В предыдущем разделе мы познакомились с преобразованием дискретной формы представления информации в аналоговую. В этом разделе рассмотрим обратную задачу — преобразование и передача аналоговой информации в дискретной форме. Такая задача была решена на практике в 60-е годы, когда голос начал передаваться по телефонным сетям в виде последовательности единиц и нулей. Основной причиной такого преобразования является невозможность улучшения качества данных, переданных в аналогоной форме, если они существенно исказились при передаче. Сам аналоговый сигнал не дает никаких указаний ни о том, что произошло искажение, ни о том, как его исправить, поскольку форма сигнала может быть любой, в том числе и такой, которую зафиксировал приемник. Улучшение же качества линий, особенно территориальных, требует огромных усилий и капиталовложений. Поэтому на смену аналоговой технике записи и передачи звука и изображения пришла цифровая техника. В этой технике используется так называемая дискретная модуляция исходных непрерывных во времени аналоговых процессов. 60 Импульсно-кодовая модуляция Рассмотрим принципы дискретной модуляции на примере импульсно-кодовой модуляции (Pulse Code Modulation, PCM), которая широко применяется в цифровой телефонии. Дискретные способы модуляции основаны на дискретизации непрерывных процессов, как по амплитуде, так и по времени (рис. 3.6). Рис. 3.6. Дискретная модуляция непрерывного процесса Амплитуда исходной непрерывной функции измеряется с заданным периодом — за счет этого происходит дискретизация по времени. Затем каждый замер представляется в виде двоичного числа определенной разрядности, что означает дискретизацию по значениям — непрерывное множество возможных значений амплитуды заменяется дискретным множеством ее значений. Устройство, которое выполняет подобную функцию, называется аналого-цифровым преобразователем (АЦП). После этого замеры передаются по линиям связи в виде последовательности единиц и нулей. При этом применяются те же методы кодирования (с ними мы познакомимся позднее), что и при передаче изначально дискретной информации. На приемной стороне линии коды преобразуются в исходную последовательность битов, а специальная аппаратура, называемая цифро-аналоговым преобразователем (ЦАП), производит демодуляцию оцифрованных амплитуд, восстанавливая исходную непрерывную функцию времени. Дискретная модуляция основана на теории отображения Найквиста. В соответствии с этой теорией, аналоговая непрерывная функция, переданная в виде последовательности ее дискретных по времени значений, может быть точно восстановлена, если частота дискретизации была в два или более раз выше, чем частота самой высокой гармоники спектра исходной функции. Если это условие не соблюдается, то восстановленная функция будет существенно отличаться от исходной. Преимуществом цифровых методов записи, воспроизведения и передачи аналоговой информации является возможность контроля достоверности считанных с носителя или полученных по линии связи данных. Для этого можно применять те же методы, что и в случае компьютерных данных, — вычисление контрольной суммы, повторная передача искаженных кадров, применение самокорректирующихся кодов. Оцифровывание голоса Для качественной передачи голоса в методе РСМ используется частота квантования амплитуды звуковых колебаний в 8000 Гц. Это связано с тем, что в аналоговой телефонии для 61 передачи голоса был выбран диапазон от 300 до 3400 Гц, который достаточно качественно передает все основные гармоники собеседников. В соответствии с теоремой Найквиста— Котельникова для качественной передачи голоса достаточно выбрать частоту дискретизации, в два раза превышающую самую высокую гармонику непрерывного сигнала, то есть 2 х 3400 = 6800 Гц. Выбранная в действительности частота дискретизации 8000 Гц обеспечивает некоторый запас качества. В методе РСМ обычно используется 7 или 8 бит кода для представления амплитуды одного замера. Соответственно, это дает 127 или 256 градаций звукового сигнала, что оказывается вполне достаточным для качественной передачи голоса. При использовании метода РСМ для передачи одного голосового канала необходима пропускная способность 56 или 64 Кбит/с в зависимости от того, каким количеством битов представляется каждый замер. Если для этих целей применяется 7 бит, то при частоте передачи замеров в 8000 Гц получаем: 8000 х 7 = 56000 бит/с или 56 Кбит/с. А для случая 8 бит: 8000 х 8 = 64000 бит/с или 64 Кбит/с. Стандартным является цифровой канал 64 Кбит/с, который также называется элементарным каналом цифровых телефонных сетей. Передача непрерывного сигнала в дискретном виде требует от сетей жесткого соблюдения временного интервала в 125 мкс (соответствующего частоте дискретизации 8000 Гц) между соседними замерами, то есть требует синхронной передачи данных между узлами сети. При отсутствии синхронности прибывающих замеров исходный сигнал восстанавливается неверно, что приводит к искажению голоса, изображения или другой мультимедийной информации, передаваемой по цифровым сетям. Так, искажение синхронизации в 10 мс может привести к эффекту «эха», а сдвиги между замерами в 200 мс приводят к невозможности распознавания произносимых слов. В то же время потеря одного замера при соблюдении синхронности между остальными замерами практически не сказывается на воспроизводимом звуке. Это происходит за счет сглаживающих устройств в цифро-аналоговых преобразователях, работа которых основана на свойстве инерционности любого физического сигнала — амплитуда звуковых колебаний не может мгновенно измениться на большую величину. На качество сигнала после ЦАП влияет не только синхронность поступления на его вход замеров, но и погрешность дискретизации амплитуд этих замеров. В теореме Найквиста— Котельникова предполагается, что амплитуды функции измеряются точно, в то же время использование для их хранения двоичных чисел с ограниченной разрядностью несколько искажает эти амплитуды. Соответственно искажается восстановленный непрерывный сигнал, что называется шумом дискретизации (по амплитуде). Методы кодирования Список ключевых слов: спектр сигнала, синхронизация передатчика и приемника, самосинхронизирующийся код, фронт, код без возвращения к нулю, биполярный код с альтернативной инверсией, потенциальный код с инверсией при единице, биполярный импульсный код, манчестерский код, потенциальный код 2D1Q, избыточный код, логический код 4В/5В, запрещенный код, скремблирование, скремблер, дескремблер, код B8ZS, код HDB3, компрессия, или сжатие, адаптивная компрессия, относительное кодирование, символьное подавление, код переменной длины, статистическое кодирование, алгоритм Хафмана. Выбор способа кодирования При выборе способа кодирования нужно одновременно стремиться к достижению нескольких целей:  минимизировать ширину спектра сигнала, полученного в результате кодирования;  обеспечивать синхронизацию между передатчиком и приемником; 62  обеспечивать устойчивость к шумам;  обнаруживать и по возможности исправлять битовые ошибки;  минимизировать мощность передатчика. Более узкий спектр сигнала позволяет на одной и той же линии (с одной и той же полосой пропускания) добиваться более высокой скорости передачи данных. Спектр сигнала в общем случае зависит как от способа кодирования, так и от тактовой частоты передатчика. Пусть мы разработали два способа кодирования, причем в каждом такте передается один бит информации. Пусть также в первом способе ширина спектра сигнала F равна тактовой частоте смены сигналов f, то есть F = f, а второй способ дает зависимость F = 0,8f. Тогда при одной и той же полосе пропускания В первый способ позволит передавать данные со скоростью В бит/с, а второй (1/0,8)В = 1,25 В бит/с. Синхронизация передатчика и приемника нужна для того, чтобы приемник точно знал, в какой момент времени необходимо считывать новую порцию информации с линии связи. При передаче дискретной информации время всегда разбивается на такты одинаковой длительности, и приемник старается считать новый сигнал в середине каждого такта, то есть синхронизировать свои действия с передатчиком. Проблема синхронизации в сетях решается сложнее, чем при обмене данными между близко расположенными устройствами, например между блоками внутри компьютера или же между компьютером и принтером. На небольших расстояниях хорошо работает схема, основанная на отдельной тактирующей линии связи (рис. 3.7), так что информация снимается с линии данных только в момент прихода тактового импульса. В сетях использование этой схемы вызывает трудности из-за неоднородности характеристик проводников в кабелях. На больших расстояниях неравномерность скорости распространения сигнала может привести к тому, что тактовый импульс придет настолько позже или раньше соответствующего сигнала данных, что бит данных будет пропущен или считан повторно. Другой причиной, по которой в сетях отказываются от использования тактирующих импульсов, является экономия проводников в дорогостоящих кабелях. Рис. 3.7. Синхронизация приемника и передатчика на небольших расстояниях В сетях для решения проблемы синхронизации применяются так называемые самосинхронизирующиеся коды, сигналы которых несут для приемника указания о том, в какой момент времени нужно осуществлять распознавание очередного бита (или нескольких битов, если код ориентирован более чем на два состояния сигнала). Любой резкий перепад сигнала — фронт — может служить указанием на необходимость синхронизации приемника с передатчиком. При использовании синусоид в качестве несущего сигнала результирующий код обладает свойством самосинхронизации, так как изменение амплитуды несущей частоты дает возможность приемнику определить момент очередного такта. Распознавание и коррекцию искаженных данных сложно осуществить средствами физического уровня, поэтому чаще всего эту работу берут на себя протоколы, лежащие выше: канальный, сетевой, транспортный или прикладной. С другой стороны, распознавание ошибок на физическом уровне экономит время, так как приемник не ждет полного помещения кадра в буфер, а отбраковывает его сразу при распознавании ошибочных битов внутри кадра. 63 Требования, предъявляемые к методам кодирования, являются взаимно противоречивыми, поэтому каждый из рассматриваемых ниже популярных методов кодирования обладает своими достоинствами и недостатками в сравнении с другими. Потенциальный код NRZ Рисунок 3.8, а иллюстрирует уже упомянутый ранее метод потенциального кодирования, называемый также кодированием без возвращения к нулю (Non Return to Zero, NRZ). Последнее название отражает то обстоятельство, что при передаче последовательности единиц сигнал, в отличие от других методов кодирования, не возвращается к нулю в течение такта. Рис. 3.8. Способы дискретного кодирования данных     Итак, достоинства метода NRZ. Простота реализации. Метод обладает хорошей распознаваемостью ошибок (благодаря наличию двух резко отличающихся потенциалов). Основная гармоника f0 имеет достаточно низкую частоту (равную N/2 Гц, как было показано в предыдущем разделе), что приводит к узкому спектру. Теперь недостатки метода NRZ. Метод не обладает свойством самосинхронизации. Даже при наличии высокоточного тактового генератора приемник может ошибиться с выбором момента съема данных, так как частоты двух генераторов никогда не бывают полностью идентичными. Поэтому при высоких скоростях 64 обмена данными и длинных последовательностях единиц или нулей небольшое рассогласование тактовых частот может привести к ошибке в целый такт и, соответственно, считыванию некорректного значения бита.  Вторым серьезным недостатком метода NRZ является наличие низкочастотной составляющей, которая приближается к постоянному сигналу при передаче длинных последовательностей единиц или нулей. Из-за этого многие линии связи, не обеспечивающие прямого гальванического соединения между приемником и источником, этот вид кодирования не поддерживают. Поэтому в сетях код NRZ в основном используется в виде различных его модификаций, в которых устранены как плохая самосинхронизация кода NRZ, так и проблемы постоянной составляющей. Биполярное кодирование AMI Одной из модификаций метода NRZ является метод биполярного кодирования с альтернативной инверсией (Alternate Mark Inversion, AMI). В этом методе применяются три уровня потенциала — отрицательный, нулевой и положительный (рис. 3.8, б). Для кодирования логического нуля используется нулевой потенциал, а логическая единица кодируется либо положительным потенциалом, либо отрицательным, при этом потенциал каждой новой единицы противоположен потенциалу предыдущей. Код AMI частично решает проблемы наличия постоянной составляющей и отсутствия самосинхронизации, присущие коду NRZ. Это происходит при передаче длинных последовательностей единиц. В этих случаях сигнал на линии представляет собой последовательность разнополярных импульсов с тем же спектром, что и у кода NRZ, передающего чередующиеся нули и единицы, то есть без постоянной составляющей и с основной гармоникой N/2 Гц (где N — битовая скорость передачи данных). Длинные же последовательности нулей так же опасны для кода AMI, как и для кода NRZ — сигнал вырождается в постоянный потенциал нулевой амплитуды. В целом, для различных комбинаций битов на линии использование кода AMI приводит к более узкому спектру сигнала, чем для кода NRZ, а значит, и к более высокой пропускной способности линии. Например, при передаче чередующихся единиц и нулей основная гармоника f0 имеет частоту N/4 Гц. Код AMI предоставляет также некоторые возможности по распознаванию ошибочных сигналов. Так, нарушение строгой очередности в полярности сигналов говорит о ложном импульсе или исчезновении с линии корректного импульса. В коде AMI используются не два, а три уровня сигнала на линии. Дополнительный уровень требует увеличение мощности передатчика примерно на 3 дБ для обеспечения той же достоверности приема битов на линии, что является общим недостатком кодов с несколькими состояниями сигнала по сравнению с кодами, которые различают только два состояния. Потенциальный код NRZI Существует код, похожий на AMI, но только с двумя уровнями сигнала. При передаче нуля он передает потенциал, который был установлен на предыдущем такте (то есть не меняет его), а при передаче единицы потенциал инвертируется на противоположный. Этот код называется потенциальным кодом с инверсией при единице (Non Return to Zero with ones Inverted, NRZI). Он удобен в тех случаях, когда наличие третьего уровня сигнала весьма нежелательно, например в оптических кабелях, где устойчиво распознаются только два состояния сигнала — свет и темнота. Для улучшения потенциальных кодов, подобных AMI и NRZI, используются два метода. Первый метод основан на добавлении в исходный код избыточных битов, содержащих логические единицы. Очевидно, что в этом случае длинные последовательности нулей прерываются, и код становится самосинхронизирующимся для любых передаваемых данных. Исчезает также постоянная составляющая, а значит, еще более сужается спектр сигнала. Но этот метод снижает полезную пропускную способность линии, так как избыточные единицы пользовательской информации не несут. 65 Другой метод основан на предварительном «перемешивании» исходной информации таким образом, чтобы вероятность появления единиц и нулей на линии становилась близкой. Устройства, или блоки, выполняющие такую операцию, называются скремблерами. При скремблировании используется известный алгоритм, поэтому приемник, получив двоичные данные, передает их на дескремблер, который восстанавливает исходную последовательность битов. Биполярный импульсный код Помимо потенциальных кодов в сетях используются и импульсные коды, в которых данные представлены полным импульсом или же его частью — фронтом. Наиболее простым случаем такого подхода является биполярный импульсный код, в котором единица представляется импульсом одной полярности, а ноль — другой (рис. 3.8, в). Каждый импульс длится половину такта. Такой код обладает отличными самосинхронизирующими свойствами, но постоянная составляющая может присутствовать, например, при передаче длинной последовательности единиц или нулей. Кроме того, спектр у него шире, чем у потенциальных кодов. Так, при передаче всех нулей или единиц частота основной гармоники кода будет равна N Гц, что в два раза выше основной гармоники кода NRZ и в четыре раза выше основной гармоники кода AMI при передаче чередующихся единиц и нулей. Из-за слишком широкого спектра биполярный импульсный код используется редко. Манчестерский код В локальных сетях до недавнего времени самым распространенным методом кодирования был так называемый манчестерский код (рис. 3.8, г). Он применяется в технологиях Ethernet и Token Ring. В манчестерском коде для кодирования единиц и нулей используется перепад потенциала, то есть фронт импульса. При манчестерском кодировании каждый такт делится на две части. Информация кодируется перепадами потенциала, происходящими в середине каждого такта. Единица кодируется перепадом от низкого уровня сигнала к высокому, а ноль — обратным перепадом. В начале каждого такта может происходить служебный перепад сигнала, если нужно представить несколько единиц или нулей подряд. Так как сигнал изменяется по крайней мере один раз за такт передачи одного бита данных, то манчестерский код обладает хорошими самосинхронизирующими свойствами. Полоса пропускания манчестерского кода уже, чем у биполярного импульсного. У него также нет постоянной составляющей, а основная гармоника в худшем случае (при передаче последовательности единиц или нулей) имеет частоту N Гц, а в лучшем (при передаче чередующихся единиц и нулей) — N/2 Гц, как и у кодов AMI и NRZ. В среднем ширина полосы манчестерского кода в полтора раза уже, чем у биполярного импульсного кода, а основная гармоника колеблется вблизи значения 3N/4. Манчестерский код имеет еще одно преимущество перед биполярным импульсным кодом. В последнем для передачи данных используются три уровня сигнала, а в манчестерском — два. Потенциальный код 2B1Q На рис. 3.8, д показан потенциальный код с четырьмя уровнями сигнала для кодирования данных. Это код 2B1Q, название которого отражает его суть — каждые два бита (2В) передаются за один такт (1) сигналом, имеющим четыре состояния (Q — Quadra). Паре битов 00 соответствует потенциал -2,5 В, паре 01 — потенциал -0,833 В, паре 11 — потенциал +0,833 В, а паре 10 — потенциал +2,5 В. При этом способе кодирования требуются дополнительные меры по борьбе с длинными последовательностями одинаковых пар битов, так как при этом сигнал превращается в постоянную составляющую. При случайном чередовании битов спектр сигнала в два раза уже, чем у кода NRZ, так как при той же битовой скорости длительность такта увеличивается в два раза. Таким образом, с помощью кода 2B1Q можно по одной и той же линии передавать данные в два раза быстрее, чем с помощью кода AMI или NRZI. Однако для его реализации мощность передатчика должна быть выше, чтобы четыре уровня четко различались приемником на фоне помех. 66 Для улучшения потенциальных кодов типа AMI, NRZI или 2Q1B используются избыточные коды и скремблирование. Избыточный код 4В/5В Избыточные коды основаны на разбиении исходной последовательности битов на порции, которые часто называют символами. Затем каждый исходный символ заменяется новым с большим количество битов, чем исходный. Например, в логическом коде 4В/5В, используемом в технологиях FDDI и Fast Ethernet, исходные символы длиной 4 бит заменяются символами длиной 5 бит. Так как результирующие символы содержат избыточные биты, то общее количество битовых комбинаций в них больше, чем в исходных. Так, в коде 4В/5В результирующие символы могут содержать 32 битовых комбинации, в то время как исходные символы — только 16 (табл. 3.1). Поэтому в результирующем коде можно отобрать 16 таких комбинаций, которые не содержат большого количества нулей, а остальные считать запрещенными кодами (code violations). Помимо устранения постоянной составляющей и придания коду свойства самосинхронизации, избыточные коды позволяют приемнику распознавать искаженные биты. Если приемник принимает запрещенный код, значит, на линии произошло искажение сигнала. Таблица 3.1. Соответствие исходных и результирующих кодов 4В/5В После разбиения получившийся код 4В/5В передается по линии путем преобразования с помощью какого-либо из методов потенциального кодирования, чувствительного только к длинным последовательностям нулей. Символы кода 4В/5В длиной 5 бит гарантируют, что при любом их сочетании на линии не встретятся более трех нулей подряд. Примечание. Буква В в названии кода 4В/5В означает, что элементарный сигнал имеет два состояния (от английского binary — двоичный). Имеются также коды и с тремя состояниями сигнала, например, в коде 8В/6Т для кодирования 8 бит исходной информации используется код из 6 сигналов, каждый из которых имеет три состояния. Избыточность кода 8В/6Т выше, чем кода 4В/5В, так как на 256 исходных кодов приходится 36 = 729 результирующих символов. Использование таблицы перекодировки является очень простой операцией, поэтому этот подход не усложняет сетевые адаптеры и интерфейсные блоки коммутаторов и маршрутизаторов. Для обеспечения заданной пропускной способности линии передатчик, использующий избыточный код, должен работать с повышенной тактовой частотой. Так, для передачи кодов 4В/5В со скоростью 100 Мбит/с передатчик должен работать с тактовой частотой 125 МГц. При этом спектр сигнала на линии расширяется по сравнению со случаем, когда по линии передается не избыточный код. Тем не менее спектр избыточного потенциального кода оказывается уже 67 спектра манчестерского кода, что оправдывает дополнительный этап логического кодирования, а также работу приемника и передатчика на повышенной тактовой частоте. Скремблирование Скремблирование заключается в побитном вычислении результирующего кода на основании битов исходного кода и полученных в предыдущих тактах битов результирующего кода. Например, скремблер может реализовывать следующее соотношение: Вi = Ai Вi-3 Вi-5. Здесь Вi — двоичная цифра результирующего кода, полученная на i-м такте работы скремблера, Аi — двоичная цифра исходного кода, поступающая на i-м такте на вход скремблера, Вi-3 и Вi-5 — двоичные цифры результирующего кода, полученные на предыдущих тактах работы скремблера (соответственно на 3 и на 5 тактов ранее текущего такта) и объединенные операцией исключающего ИЛИ (сложение по модулю 2). Например, для исходной последовательности 110110000001 скремблер даст следующий результирующий код (первые три цифры результирующего кода будут совпадать с исходным кодом, так как еще нет нужных предыдущих цифр): B1 = А 1 = 1 B2 = А 2 = 1 B3 = А 3 = 0 В4 = А 4 B1 = 1 1 = 0 В5 = А 5 В2 = 1 1 = 0 B6 = A6 В3 В1 = 0 0 1 = 1 B7 = А 7 В4 В2 = 0 0 1 = 1 B8 = А 8 В5 В3 = 0 0 0 = 0 B9 = А 9 В6 В4 = 0 1 0 = 1 В10 = А10 В7 В5 = 0 1 0 = 1 В11 = А11 В8 В6 = 0 0 1 = 1 В12 = А12 В9 В7 = 1 1 1 = 1 Таким образом, на выходе скремблера появится последовательность 110001101111, в которой нет последовательности из шести нулей, присутствовавшей в исходном коде. После получения результирующей последовательности приемник передает ее дескремблеру, который восстанавливает исходную последовательность на основании обратного соотношения: Сi = Bi Bi-3 Вi-5 = (Аi Вi-3 Bi-5) Bi-3 Bi-5 = Аi Различные алгоритмы скремблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами на 5 и 23 позиции, а при передаче данных от абонента в сеть — со сдвигами на 18 и 23 позиции. Существуют и более простые методы борьбы с последовательностями единиц, также относимые к классу скремблирования. Для улучшения биполярного кода AMI используются два метода, основанные на искусственном искажении последовательности нулей запрещенными символами. Рисунок 3.9 иллюстрирует использование методов B8ZS (Bipolar with 8-Zeros Substitution) и HDB3 (High-Density Bipolar 3-Zeros) для корректировки кода AMI. Исходный код состоит из двух длинных последовательностей нулей: в первом случае — из 8, а во втором — из 5. 68 Рис. 3.3. Коды B8ZS и HDB3 Код B8ZS исправляет только последовательности, состоящие из 8 нулей. Для этого он после первых трех нулей вместо оставшихся пяти нулей вставляет пять цифр: V-l*-0-V-l*. Здесь V обозначает сигнал единицы, запрещенной (Violations) для данного такта полярности, то есть сигнал, не изменяющий полярность предыдущей единицы, 1* — сигнал единицы корректной полярности (знак звездочки отмечает тот факт, что в исходном коде в этом такте была не единица, а ноль). В результате на 8 тактах приемник наблюдает 2 искажения — очень маловероятно, что это случается из-за шума на линии или других сбоев передачи. Поэтому приемник считает такие нарушения кодировкой 8 последовательных нулей и после приема заменяет их исходными 8 нулями. Код B8ZS построен так, что его постоянная составляющая равна нулю при любых последовательностях двоичных цифр. Код HDB3 исправляет любые четыре смежных нуля в исходной последовательности. Правила формирования кода HDB3 более сложные, чем кода B8ZS. Каждые четыре нуля заменяются четырьмя сигналами, в которых имеется один сигнал V. Для подавления постоянной составляющей полярность сигнала V чередуется при последовательных заменах. Кроме того, для замены используются два образца четырехтактовых кодов. Если перед заменой исходный код содержал нечетное число единиц, задействуется последовательность 000V, а если число единиц было четным — последовательность l*00V. Улучшенные потенциальные коды обладают достаточно узкой полосой пропускания для любых последовательностей единиц и нулей, которые встречаются в передаваемых данных. На рис. 3.10 приведены спектры сигналов разных кодов, полученные при передаче произвольных данных, в которых различные сочетания нулей и единиц в исходном коде равновероятны. 69 Рис. 3.10. Спектры потенциальных и импульсных кодов При построении графиков спектр усреднялся по всем возможным наборам исходных последовательностей. Естественно, что результирующие коды могут иметь и другое распределение нулей и единиц. Из рисунка видно, что потенциальный код NRZ обладает хорошим спектром с одним недостатком — у него имеется постоянная составляющая. Коды, полученные из потенциального кода путем логического кодирования, обладают более узким спектром, чем манчестерский код, даже при повышенной тактовой частоте (на рисунке спектр кода 4В/5В должен был бы примерно совпадать с кодом B8ZS, но он сдвинут в область более высоких частот, так как его тактовая частота повышена на 1/4 по сравнению с другими кодами). Этим объясняется преимущественное применение потенциальных избыточных и скремблированных кодов в современных технологиях, подобных FDDI, Fast Ethernet, Gigabit Ethernet, ISDN и т. п. вместо манчестерского и биполярного импульсного кодирования. Компрессия данных Компрессия, или сжатие, данных применяется для сокращения времени их передачи. Так как на компрессию данных передающая сторона тратит дополнительное время, к которому нужно еще прибавить аналогичные затраты времени на декомпрессию этих данных принимающей стороной, то выгоды от сокращения времени на передачу сжатых данных обычно бывают заметны только на низкоскоростных каналах. Соответствующий порог скорости для современной аппаратуры составляет около 64 Кбит/с. Многие программные и аппаратные средства сети способны выполнять динамическую компрессию данных в отличие от статической, когда данные сначала компрессируются (например, с помощью популярных архиваторов типа WinZip), а уже затем отсылаются в сеть. На практике может использоваться ряд алгоритмов компрессии, каждый из которых применим к определенному типу данных. Некоторые модемы (называемые интеллектуальными) предлагают адаптивную компрессию, при которой в зависимости от передаваемых данных выбирается определенный алгоритм компрессии. Рассмотрим некоторые из общих алгоритмов компрессии данных. 70 Когда данные состоят только из чисел, значительную экономию можно получить путем уменьшения количества используемых на цифру битов с 7 до 4, используя простое двоичное кодирование десятичных цифр вместо кода ASCII. Просмотр таблицы ASCII показывает, что старшие три бита всех кодов десятичных цифр содержат комбинацию 011. Если все данные в кадре информации состоят из десятичных цифр, то, поместив в заголовок кадра соответствующий управляющий символ, можно существенно сократить длину кадра. Этот метод носит название десятичной упаковки. Альтернативой десятичной упаковке при передаче числовых данных с небольшими отклонениями между последовательными цифрами является передача только этих отклонений вместе с известным опорным значением. Такой метод называется относительным кодированием и используется, в частности, при цифровом кодировании голоса с помощью кода ADPCM, когда в каждом такте передается только разница между соседними замерами голоса. Часто передаваемые данные содержат большое количество повторяющихся байтов. Например, при передаче черно-белого изображения черные поверхности будут порождать большое количество нулевых значений, а максимально освещенные участки изображения — большое количество байтов, состоящих из всех единиц. Передатчик сканирует последовательность передаваемых байтов, и если обнаруживает последовательность из трех или более одинаковых байтов, заменяет ее специальной трехбайтовой последовательностью, в которой указывает значение байта, количество его повторений, а также отмечает начало этой последовательности специальным управляющим символом. Этот метод носит название символьного подавления. В методе кодирования с помощью кодов переменной длины используется тот факт, что не все символы в передаваемом кадре встречаются с одинаковой частотой. Поэтому во многих схемах кодирования коды часто встречающихся символов заменяют кодами меньшей длины, а редко встречающихся — кодами большей длины. Такое кодирование называется также статистическим кодированием. Из-за того что символы имеют разную длину, для передачи кадра возможна только бит-ориентированная передача. При статистическом кодировании коды выбираются таким образом, чтобы при анализе последовательности битов можно было бы однозначно определить соответствие определенной порции битов тому или иному символу или же запрещенной комбинации битов. Если данная последовательность битов представляет собой запрещенную комбинацию, то необходимо к ней добавить еще один бит и повторить анализ. Например, если при неравномерном кодировании для наиболее часто встречающегося символа «Р» выбран код 1, состоящий из одного бита, то значение 0 однобитного кода будет запрещенным. Иначе мы сможем закодировать только два символа. Для другого часто встречающегося символа «О» можно использовать код 01, а код 00 оставить как запрещенный. Тогда для символа «А» можно выбрать код 001, для символа «П» — код 0001 и т. п. Неравномерное кодирование наиболее эффективно, когда неравномерность распределения частот передаваемых символов велика, как при передаче длинных текстовых строк. Напротив, при передаче двоичных данных, например кодов программ, оно малоэффективно, так как 8-битные коды при этом распределены почти равномерно. Одним из наиболее распространенных алгоритмов, на основе которых строятся неравномерные коды, является алгоритм Хафмана, позволяющий строить коды автоматически на основании известных частот появления символов. Существуют адаптивные модификации метода Хафмана, которые позволяют строить дерево кодов «на ходу», по мере поступления данных от источника. Многие модели коммуникационного оборудования, такие как модемы, мосты, коммутаторы и маршрутизаторы, поддерживают протоколы динамической компрессии, позволяющие сократить объем передаваемой информации в 4, а иногда и в 8 раз. В таких случаях говорят, что протокол обеспечивает коэффициент сжатия 1:4 или 1:8. Существуют стандартные протоколы компрессии, например V.42bis, а также большое количество нестандартных, фирменных протоколов. Реальный коэффициент компрессии зависит от типа передаваемых данных. Так, графические и текстовые данные обычно сжимаются хорошо, а коды программ — хуже. 71 Обнаружение и коррекция ошибок Список ключевых слов: контрольная сумма, или контрольная последовательность кадра, вертикальный и горизонтальный контроль по паритету, циклический избыточный контроль, прямая коррекция ошибок, расстояние Хемминга, код Хемминга, сверточный, или решетчатый, код. Надежную передачу информации обеспечивают различные методы. В главе 6 были рассмотрены принципы работы протоколов, которые обеспечивают надежность за счет повторной передачи искаженных или, потерянных пакетов. Такие протоколы основаны на том, что приемник в состоянии распознать факт искажения информации в принятом кадре. Еще одним, более эффективным подходом, чем повторная передача пакетов, является использование самокорректирующихся кодов, которые позволяют не только обнаруживать, но и исправлять ошибки в принятом кадре. Методы обнаружения ошибок Методы обнаружения ошибок основаны на передаче в составе блока данных избыточной служебной информации, по которой можно судить с некоторой степенью вероятности о достоверности принятых данных. В сетях с коммутацией пакетов такой единицей информации может быть PDU любого уровня, для определенности будем считать, что мы контролируем кадры. Избыточную служебную информацию принято называть контрольной суммой, или контрольной последовательностью кадра (Frame Check Sequence, FCS). Контрольная сумма вычисляется как функция от основной информации, причем не обязательно путем суммирования. Принимающая сторона повторно вычисляет контрольную сумму кадра по известному алгоритму и в случае ее совпадения с контрольной суммой, вычисленной передающей стороной, делает вывод о том, что данные были переданы через сеть корректно. Рассмотрим несколько распространенных алгоритмов вычисления контрольной суммы, отличающихся вычислительной сложностью и способностью обнаруживать ошибки в данных. Контроль по паритету представляет собой наиболее простой метод контроля данных. В то же время это наименее мощный алгоритм контроля, так как с его помощью можно обнаружить только одиночные ошибки в проверяемых данных. Метод заключается в суммировании по модулю 2 всех битов контролируемой информации. Нетрудно заметить, что для информации, состоящей из нечетного числа единиц, контрольная сумма всегда равна 1, а при четном числе единиц — 0. Например, для данных 100101011 результатом контрольного суммирования будет значение 1. Результат суммирования также представляет собой один дополнительный бит данных, который пересылается вместе с контролируемой информацией. При искажении в процессе пересылки любого одного бита исходных данных (или контрольного разряда) результат суммирования будет отличаться от принятого контрольного разряда, что говорит об ошибке. Однако двойная ошибка, например 110101010, будет неверно принята за корректные данные. Поэтому контроль по паритету применяется к небольшим порциям данных, как правило, к каждому байту, что дает коэффициент избыточности для этого метода 1/8. Метод редко применяется в компьютерных сетях из-за значительной избыточности и невысоких диагностических способностей. Вертикальный и горизонтальный контроль по паритету представляет собой модификацию описанного выше метода. Его отличие состоит в том, что исходные данные рассматриваются в виде матрицы, строки которой составляют байты данных. Контрольный разряд подсчитывается отдельно для каждой строки и для каждого столбца матрицы. Этот метод обнаруживает большую часть двойных ошибок, однако обладает еще большей избыточностью. На практике этот метод сейчас также почти не применяется при передаче информации по сети. Циклический избыточный контроль (Cyclic Redundancy Check, CRC) является в настоящее время наиболее популярным методом контроля в вычислительных сетях (и не только в сетях, например, этот метод широко применяется при записи данных на гибкие и жесткие диски). Метод основан на рассмотрении исходных данных в виде одного многоразрядного двоичного числа. Например, кадр стандарта Ethernet, состоящий из 1024 байт, будет рассматриваться как одно число, состоящее из 8192 бит. Контрольной информацией считается остаток от деления этого 72 числа на известный делитель R. Обычно в качестве делителя выбирается семнадцати- или тридцатитрехразрядное число, чтобы остаток от деления имел длину 16 разрядов (2 байт) или 32 разряда (4 байт). При получении кадра данных снова вычисляется остаток от деления на тот же делитель R, но при этом к данным кадра добавляется и содержащаяся в нем контрольная сумма. Если остаток от деления на R равен нулю, то делается вывод об отсутствии ошибок в полученном кадре, в противном случае кадр считается искаженным. Этот метод обладает более высокой вычислительной сложностью, но его диагностические возможности гораздо выше, чем у методов контроля по паритету. Метод CRC обнаруживает все одиночные ошибки, двойные ошибки и ошибки в нечетном числе битов. Метод обладает также невысокой степенью избыточности. Например, для кадра Ethernet размером 1024 байт контрольная информация длиной 4 байт составляет только 0,4 %. Методы коррекции ошибок Техника кодирования, которая позволяет приемнику не только понять, что присланные данные содержат ошибки, но и исправить их, называется прямой коррекцией ошибок (Forward Error Correction, FEC). Коды, которые обеспечивают прямую коррекцию ошибок, требуют введения большей избыточности в передаваемые данные, чем коды, которые только обнаруживают ошибки. При применении любого избыточного кода не все комбинации кодов являются разрешенными. Например, контроль по паритету делает разрешенными только половину кодов. Если мы контролируем три информационных бита, то разрешенными 4-битными кодами с дополнением до нечетного количества единиц будут: 000 1, 001 0, 010 0, 011 1, 100 0, 101 1, 110 1, 111 0, то есть всего 8 кодов из 16 возможных. Для того чтобы оценить количество дополнительных битов, требуемых для исправления ошибок, нужно знать так называемое расстояние Хемминга между разрешенными комбинациями кода. Расстоянием Хемминга называется минимальное число битовых разрядов, в которых отличается любая пара разрешенных кодов. Для схем контроля по паритету расстояние Хемминга равно 2. Можно доказать, что если мы сконструировали избыточный код с расстоянием Хемминга, равным n, то такой код будет в состоянии распознавать (n-1)-кратные ошибки и исправлять (n-1)/2кратные ошибки. Так как коды с контролем по паритету имеют расстояние Хемминга, равное 2, то они могут только обнаруживать однократные ошибки и не могут исправлять ошибки. Коды Хемминга эффективно обнаруживают и исправляют изолированные ошибки, то есть отдельные искаженные биты, которые разделены большим количеством корректных битов. Однако при появлении длинной последовательности искаженных битов (пульсации ошибок) коды Хемминга не работают. Пульсации ошибок характерны для беспроводных каналов, в которых применяют сверточные коды. Поскольку для распознавания наиболее вероятного корректного кода в этом методе используется решетчатая диаграмма, то такие коды еще называют решетчатыми. Эти коды используются не только в беспроводных каналах, но и в модемах. Мультиплексирование и коммутация Список ключевых слов: частотное мультиплексирование, уплотненный канал, волновое мультиплексирование, уплотненное волновое мультиплексирование, временное мультиплексирование, асинхронный режим временного мультиплексирования, синхронный режим временного мультиплексирования, тайм-слот, синхронный режим передачи, статистическое временное мультиплексирование, асинхронный режим передачи, дуплексная связь с частотным разделением, дуплексная связь с временным разделением. Методы кодирования и коррекции ошибок позволяют создать в некоторой среде, например в медных проводах кабеля, линию связи. Однако для эффективного соединения пользователей сети этого недостаточно. Нужно образовать в этой линии отдельные каналы передачи данных, которые можно использовать для коммутации информационных потоков пользователей. Для создания 73 пользовательского канала коммутаторы первичных сетей должны поддерживать какую-либо технику мультиплексирования и коммутации. Методы коммутации тесно связаны с используемым методом мультиплексирования, поэтому здесь они изучаются совместно. В настоящее время для мультиплексирования абонентских каналов используются:  частотное мультиплексирование (Frequency Division Multiplexing, FDM);  волновое мультиплексирование (Wave Division Multiplexing, WDM);  временное мультиплексирование (Time Division Multiplexing, TDM);  множественный доступ с кодовым разделением (Code Division Multiple Access, CDMA). Метод TDM используется при коммутации как каналов, так и пакетов. Методы FDM, WDM и CDMA пригодны исключительно для коммутации каналов. Метод CDMA применяется только в технике расширенного спектра и рассматривается в следующей главе, посвященной беспроводной передаче. Коммутация каналов на основе методов FDM и WDM Техника частотного мультиплексирования (FDM) была разработана для телефонных сетей, но применяется она и для других видов сетей, например первичных сетей (микроволновые каналы) или сетей кабельного телевидения. Основная идея этого метода состоит в выделении каждому соединению своего собственного диапазона частот в общей полосе пропускания линии связи. На основе этого диапазона и создается канал. Данные, передаваемые в канале, модулируются с помощью одного из описанных выше методов с использованием несущей частоты, принадлежащей диапазону канала. Мультиплексирование выполняется с помощью смесителя частот, а демультплексирование — с помощью узкополосного фильтра, ширина которого равна ширине диапазона канала. Рассмотрим особенности этого вида мультиплексирования на примере телефонной сети. На входы FDM-коммутатора поступают исходные сигналы от абонентов телефонной сети. Коммутатор выполняет перенос частоты каждого канала в выделенный каналу диапазон за счет модуляции определенной несущей частоты. Чтобы низкочастотные составляющие сигналов разных каналов не смешивались между собой, полосы делают шириной в 4 кГц, а не в 3,1 кГц, оставляя между ними страховой промежуток в 900 Гц (рис. 3.11). В линии связи между двумя FDM-коммутаторами одновременно передаются сигналы всех абонентских каналов, но каждый из них занимает свою полосу частот. Такой канал называют уплотненным. Выходной FDM-коммутатор выделяет модулированные сигналы каждой несущей частоты и передает их на соответствующий выходной канал, к которому непосредственно подключен абонентский телефон. FDM-коммутаторы могут выполнять как динамическую, так и постоянную коммутацию. При динамической коммутации один абонент инициирует соединение с другим абонентом, посылая в сеть номер вызываемого абонента. Коммутатор динамически выделяет данному абоненту одну из свободных полос своего уплотненного канала. При постоянной коммутации за абонентом полоса в 4 кГц закрепляется на длительный срок путем настройки коммутатора по отдельному входу, недоступному пользователям. 74 Рис. 3.11. FDM-коммутация Принцип коммутации на основе разделения частот остается неизменным и в сетях другого вида, меняются только границы полос, выделяемых отдельному абонентскому каналу, а также количество низкоскоростных каналов в высокоскоростном канале. В методе волнового мультиплексирования (WDM) используется тот же принцип частотного разделения каналов, но только в другой области электромагнитного спектра. Информационным сигналом является не электрический ток и не радиоволны, а свет. Для организации WDM-каналов в волоконно-оптическом кабеле используются волны инфракрасного диапазона длиной от 850 до 1565 нм, что соответствует частотам от 196 до 350 ТГц. В магистральном канале обычно мультиплексируется несколько спектральных каналов — до 16, 32, 40, 80 или 160, причем, начиная с 16 каналов, такая техника мультиплексирования называется уплотненным волновым мультиплексированием (Dense Wave Division Multiplexing, DWDM). Внутри такого спектрального канала данные могут кодироваться как дискретным способом, так и аналоговым. По сути WDM и DWDM — это реализации идеи частотного аналогового мультиплексирования, но в другой форме. Отличие сетей WDM/DWDM от сетей FDM — в предельных скоростях передачи информации. Если сети FDM обычно обеспечивают на магистральных каналах одновременную передачу до 600 разговоров, что соответствует суммарной скорости в 36 Мбит/с (для сравнения с цифровыми каналами скорость пересчитана из расчета 64 Кбит/с на один разговор), то сети DWDM обеспечивают общую пропускную способность до сотен гигабитов и даже нескольких терабитов в секунду. Более подробно технология DWDM рассматривается в главе 11. Коммутация каналов на основе метода TDM FDM-коммутация разрабатывалась в расчете на передачу голосовых аналоговых сигналов. Переход к цифровой форме представления голоса стимулировал разработку новой техники мультиплексирования, ориентированной на дискретный характер передаваемых данных и носящей название временного мультиплексирования (TDM). Принцип временного мультиплексирования заключается в выделении канала каждому соединению на определенный период времени. Применяются два типа временного мультиплексирования — асинхронный и синхронный. С асинхронным режимом TDM мы уже знакомы — он используется в сетях с коммутацией пакетов. Каждый пакет занимает канал определенное время, необходимое для его передачи между конечными точками канала. Между различными информационными потоками нет синхронизации, каждый пользователь пытается занять канал тогда, когда у него возникает потребность в передаче информации. 75 Рассмотрим теперь синхронный режим TDM (когда аббревиатура TDM используется без уточнения режима работы, то она всегда обозначает синхронный режим TDM). В этом случае доступ всех информационных потоков к каналу синхронизируется таким образом, чтобы каждый информационный поток периодически получал канал в свое распоряжение на фиксированный промежуток времени. Рисунок 3.12 поясняет принцип коммутации каналов на основе техники TDM при передаче голоса. Рис. 3.12. Коммутация на основе разделения канала во времени Аппаратура TDM-сетей — мультиплексоры, коммутаторы, демультиплексоры — работает в режиме разделения времени, поочередно обслуживая в течение цикла своей работы все абонентские каналы. Цикл равен 125 мкс, что соответствует периоду следования замеров голоса в цифровом абонентском канале. Это значит, что мультиплексор или коммутатор успевает вовремя обслужить любой абонентский канал и передать его очередной замер далее по сети. Каждому соединению выделяется один квант времени цикла работы аппаратуры, называемый также таймслотом. Длительность тайм-слота зависит от числа абонентских каналов, обслуживаемых мультиплексором или коммутатором. Мультиплексор принимает информацию по N входным каналам от конечных абонентов, каждый из которых передает данные по абонентскому каналу со скоростью 64 Кбит/с — 1 байт каждые 125 мкс. В каждом цикле мультиплексор выполняет следующие действия: 1. Прием от каждого канала очередного байта данных. 2. Составление из принятых байтов кадра. 3. Передача кадра на выходной канал с битовой скоростью, равной N х 64 Кбит/с. Порядок следования байта в кадре соответствует номеру входного канала, от которого этот байт получен. Количество обслуживаемых мультиплексором абонентских каналов зависит от его быстродействия. Например, мультиплексор типа Т1, представляющий собой первый промышленный мультиплексор, работавший по технологии TDM, поддерживает 24 входных абонентских канала, создавая на выходе обоймы стандарта Т1, передаваемые с битовой скоростью 1,544 Мбит/с. Демультиплексор решает обратную задачу — он разбирает байты кадра и распределяет их по своим нескольким выходным каналам, при этом он считает, что порядковый номер байта в обойме соответствует номеру выходного канала. 76 Коммутатор принимает кадр по скоростному каналу от мультиплексора и записывает каждый байт из него в отдельную ячейку своей буферной памяти, причем в том порядке, в котором эти байты были упакованы в уплотненный кадр. Для выполнения операции коммутации байты извлекаются из буферной памяти не в порядке поступления, а в том порядке, который соответствует поддерживаемым в сети соединениям абонентов. Так, например, если первый абонент левой части сети на рис. 3.12 должен соединиться со вторым абонентом в правой части сети, то байт, записанный в первую ячейку буферной памяти, будет извлекаться из нее вторым. «Перемешивая» нужным образом байты в кадре, коммутатор обеспечивает соединение конечных абонентов в сети. Однажды выделенный номер тайм-слота остается в распоряжении соединения в течение всего времени существования этого соединения, даже если передаваемый трафик является пульсирующим и не всегда использует закрепленный за ним тайм-слот. Это означает, что соединение в TDM-сети всегда обладает известной и фиксированной пропускной способностью, кратной 64 Кбит/с. Работа TDM-оборудования напоминает работу сетей с коммутацией пакетов, так как каждый байт данных можно считать некоторым элементарным пакетом. Однако в отличие от пакета компьютерной сети, «пакет» TDM-сети не имеет индивидуального адреса. Его адресом является порядковый номер в кадре или номер выделенного тайм-слота в мультиплексоре или коммутаторе. Сети, использующие технику TDM, требуют синхронной работы всего оборудования, что и определило второе название этой техники — синхронный режим передачи (Synchronous Transfer Mode, STM). Нарушение синхронности разрушает требуемую коммутацию абонентов, так как при этом теряется адресная информация. Поэтому перераспределение тайм-слотов между различными каналами в TDM-оборудовании невозможно, даже если в каком-то цикле работы мультиплексора тайм-слот одного из каналов оказывается избыточным, поскольку на входе этого канала в данный момент нет данных для передачи (например, абонент телефонной сети молчит). Существует модификация техники TDM, называемая статистическим временным мультиплексированием (Statistical TDM, STDM). Эта техника разработана специально для того, чтобы с помощью временно свободных тайм-слотов одного канала можно было увеличить пропускную способность остальных. Для решения этой задачи каждый байт данных дополняется полем адреса небольшой длины, например в 4 или 5 бит, что позволяет мультиплексировать 16 или 32 канала. Фактически, STDM представляет собой уже технику коммутации пакетов, но только с очень упрощенной адресацией и узкой областью применения. Техника STDM не стала популярной и используется в основном в нестандартном оборудовании подключения терминалов к мэйнфреймам. Развитием идей статистического мультиплексирования стала технология асинхронного режима передачи (Asynchronous Transfer Mode, ATM), которая относится уже к коммутации пакетов. TDM-сети могут поддерживать либо режим динамической коммутации, либо режим постоянной коммутации, а иногда и оба эти режима. Основным режимом цифровых телефонных сетей, работающих на основе технологии TDM, является динамическая коммутация, но они поддерживают также и постоянную коммутацию, предоставляя своим абонентам выделенную линию. Дуплексный режим работы канала Дуплексный режим — наиболее универсальный и производительный способ работы канала. Самым простым вариантом организации дуплексного режима является использование двух независимых линий связи (двух пар проводников или двух оптических волокон) в кабеле, каждая из которых работает в симплексном режиме, то есть передает данные в одном направлении. Именно такая идея лежит в основе реализации дуплексного режима работы во многих сетевых технологиях, например Fast Ethernet или ATM. Иногда такое простое решение оказывается недоступным или неэффективным, например, когда прокладка второй линии связи ведет к большим затратам. Так, при обмене данными с помощью модемов через телефонную сеть у пользователя имеется только одна линия связи с 77 телефонной станцией — двухпроводная. В таких случаях дуплексный режим работы организуется на основе разделения линии связи на два логических канала с помощью техники FDM или TDM. При использовании техники FDM для организации дуплексного канала диапазон частот делится на две части. Деление может быть симметричным и асимметричным, в последнем случае скорости передачи информации в каждом направлении отличаются (популярный пример такого подхода — технология ADSL, используемая для широкополосного доступа в Интернет). В случае когда техника FDM обеспечивает дуплексный режим работы, ее называют дуплексной связью с частотным разделением (Frequency Division Duplex, FDD). При цифровом кодировании дуплексный режим на двухпроводной линии организуется с помощью техники TDM. Часть тайм-слотов используется для передачи данных в одном направлении, а часть — в другом. Обычно тайм-слоты противоположных направлений чередуются, из-за чего такой способ иногда называют «пинг-понговой» передачей. Дуплексный режим TDM получил название дуплексной связи с временным разделением (Time Division Duplex, TDD). В волоконно-оптических кабелях с одним оптическим волокном для организации дуплексного режима работы может применяться технология DWDM. Передача данных в одном направлении осуществляется с помощью светового пучка одной длины волны, а в обратном — другой длины волны. Собственно, решение частной задачи — создание двух независимых спектральных каналов в одном окне прозрачности оптического волокна — и привело к рождению технологии WDM, которая затем трансформировалась в DWDM. Появление мощных процессоров DSP (Digital Signal Processor), которые могут выполнять сложные алгоритмы обработки сигналов в реальном времени, сделало возможным еще один вариант дуплексной работы. Два передатчика работают одновременно навстречу друг другу, создавая в канале суммарный аддитивный сигнал. Так как каждый передатчик знает спектр собственного сигнала, то он вычитает его из суммарного сигнала, получая в результате сигнал, посылаемый другим передатчиком. Выводы Для представления дискретной информации применяются сигналы двух типов: прямоугольные импульсы и синусоидальные волны. В первом случае используют термин «кодирование», во втором — «модуляция». При модуляции дискретной информации единицы и нули кодируются изменением амплитуды, частоты или фазы синусоидального сигнала. Аналоговая информация может передаваться по линиям связи в цифровой форме. Это повышает качество передачи, так как при этом могут применяться эффективные методы обнаружения и исправления ошибок, недоступные для систем аналоговой передачи. Для качественной передачи голоса в цифровой форме используется частота оцифровывания в 8 кГц, когда каждое значение амплитуды голоса представляется 8-битным числом. Это определяет скорость голосового канала в 64 Кбит/с. При выборе способа кодирования нужно одновременно стремиться к достижению нескольких целей: минимизировать возможную ширину спектра результирующего сигнала, обеспечивать синхронизацию между передатчиком и приемником, обеспечивать устойчивость к шумам, обнаруживать и по возможности исправлять битовые ошибки, минимизировать мощность передатчика. Спектр сигнала является одной из наиболее важных характеристик способа кодирования. Более узкий спектр сигналов позволяет добиваться более высокой скорости передачи данных при фиксированной полосе пропускания среды. Код должен обладать свойством самосинхронизации, то есть сигналы кода должны содержать признаки, по которым приемник может определить, в какой момент времени нужно осуществлять распознавание очередного бита. При дискретном кодировании двоичная информация представляется различными уровнями постоянного потенциала или полярностью импульса. 78 Наиболее простым потенциальным кодом является код без возвращения к нулю (NRZ), однако он не является самосинхронизирующимся. Для улучшения свойств потенциального кода NRZ используются методы, основанные на введении избыточных битов в исходные данные и на скремблировании исходных данных. Коды Хэмминга и сверточные коды позволяют не только обнаруживать, но и исправлять многократные ошибки. Эти коды являются наиболее часто используемыми средствами прямой коррекции ошибок (FEC). Для повышения полезной скорости передачи данных в сетях применяется динамическая компрессия данных на основе различных алгоритмов. Коэффициент сжатия зависит от типа данных и применяемого алгоритма и может колебаться в пределах от 1:2 до 1:8. Для образования нескольких каналов в линии связи используются различные методы мультиплексирования, включая частотное (FDM), временное (TDM) и волновое (WDM), а также множественный доступ с кодовым разделением (CDMA). Техника коммутации пакетов сочетается только с методом TDM, а техника коммутации каналов позволяет использовать любой тип мультиплексирования. Вопросы и задания 1. Что можно отнести к достоинствам и недостаткам кода NRZ? 2. Какой тип информации передается с помощью амплитудной манипуляции? 3. Почему амплитудная манипуляция не применяется в широкополосных каналах? 4. Какие параметры синусоиды изменяются в методе QAM? Варианты ответов: o амплитуда; o амплитуда и фаза; o амплитуда и частота; o частота и фаза. 5. Сколько битов передает один символ кода, имеющий семь состояний? 6. Поясните, из каких соображений выбрана пропускная способность 64 Кбит/с элементарного канала цифровых телефонных сетей? 7. Какой способ применяется для повышения самосинхронизации кода B8ZS? 8. Чем логическое кодирование отличается от физического? 9. Какой принцип лежит в основе методов обнаружения и коррекции ошибок? Варианты ответов: o самосинхронизация; o избыточность; o максимизация отношения мощности сигнала к мощности помех. 10. Назовите методы компрессии, наиболее подходящие для текстовой информации. Почему они неэффективны для сжатия двоичных данных? 11. Что подразумевается под расстоянием Хемминга? 12. Каково расстояние Хемминга в схемах контроля по паритету? 13. Можно ли использовать частотное мультиплексирование в сети Ethernet? 14. Какой режим временного мультиплексирования используется в сетях с коммутацией пакетов? 15. Можно ли сочетать различные методы мультиплексирования? Если да, то приведите соответствующие примеры. 16. Что общего в методах частотного и временного мультиплексирования? 17. На основании какой техники организуется дуплексный режим работы канала, если оба передатчика используют один и тот же диапазон частот в одно и то же время? 18. Найдите первые две гармоники спектра NRZ-сигнала при передаче последовательности 110011001100..., если тактовая частота передатчика равна 100 МГц. 19. Какие из 16-ти кодов 3В/4В вы выберете для передачи пользовательской информации? 20. Предложите избыточный код с расстоянием Хемминга, равным 3. 79 21. Могут ли данные надежно передаваться по каналу с полосой пропускания от 2,1 до 2,101 ГГц, если для их передачи используется несущая частота 2,1005 ГГц, амплитудная манипуляция с двумя значениями амплитуды и тактовая частота 5 МГц? 22. Предложите коды неравной длины для каждого из символов А, В, С, D, F и О, если нужно передать сообщение BDDACAAFOOOAOOOO. Будет ли достигнута компрессия данных по сравнению с использованием: o традиционных кодов ASCII? o кодов равной длины, учитывающих наличие только данных символов? 23. Во сколько раз увеличится ширина спектра кода NRZ при увеличении тактовой частоты передатчика в два раза? 80 11. Базовые функциональные профили Структура стандартов IEEE 802.x В 1980 году в институте IEEE был организован комитет 802 по стандартизации технологий LAN, в результате работы которого было принято семейство стандартов IEEE 802.x, содержащих рекомендации по проектированию нижних уровней локальных сетей. Эти стандарты базируются на популярных фирменных стандартах, в частности Ethernet, ArcNet и Token Ring. Результаты работы комитета 802 легли в основу комплекса международных стандартов ISO 8802-1...5. Комитет IEEE 802 и сегодня является основным международным органом, разрабатывающим стандарты технологий локальных сетей. Помимо IEEE в работе по стандартизации протоколов LAN принимали и принимают участие и другие организации. Так, для сетей, работающих на оптоволокне, институтом ANSI был разработан стандарт FDDI, обеспечивающий скорость передачи данных 100 Мбит/с. Это был первый протокол LAN, который достиг такой скорости, в 10 раз превысив скорость технологии Ethernet. Структуру стандартов IEEE 802 иллюстрирует рис. 4.1. Рис. 4.2. Структура стандартов IEEE 802.x На рисунке над уровнем MAC, специфичным для разных технологий, показан общий для них уровень LLC. Стандарт LLC курирует рабочая группа 802.2. Даже технологии, стандартизованные не в рамках комитета 802 (например, стандартизованный ANSI протокол FDDI), ориентируются на использование протокола LLC, определенного стандартом 802.2. Описание каждой технологии в стандарте разделено на две части: описание уровня MAC и описание физического уровня. Как видно из рисунка, практически у каждой технологии единственному протоколу уровня MAC соответствуют несколько вариантов протоколов физического уровня (на рисунке в целях экономии места приведены только технологии Ethernet и Token Ring, но все сказанное справедливо также и для других технологий, таких как ArcNet, FDDI, Fast Ethernet, Gigabit Ethernet, 10G Ethernet). 81 Особняком стоят стандарты, разрабатываемые подкомитетом 802.1. Эти стандарты носят общий для всех технологий характер. В подкомитете 802.1 были даны общие определения локальных сетей и их свойств, показана связь трех уровней модели IEEE 802 с моделью OSI. Наиболее практически важными являются те стандарты подкомитета 802.1, которые описывают взаимодействие различных технологий, а также стандарты по построению более сложных сетей на основе базовых топологий. Эта группа стандартов носит общее название стандартов межсетевого взаимодействия. Сюда входят такие важные стандарты, как стандарт 802.1D, описывающий логику работы прозрачного моста/коммутатора, стандарт 802.1Н, определяющий функционирование транслирующего моста и т. п. Набор стандартов, разработанных подкомитетом 802.1, продолжает расти. Например, сравнительно недавно он пополнился двумя важными стандартами: стандартом 802.1Q, определяющим способ построения виртуальных локальных сетей (Virtual LAN, VLAN) в сетях на основе коммутаторов, и стандартом 802.1р, описывающим способ приоритезации трафика на канальном уровне, то есть поддержку механизмов QoS. Стандарты комитетов 802.3, 802.4, 802.5 и 802.12 описывают технологии локальных сетей, которые появились в результате улучшений фирменных технологий, легших в их основу. Основу стандарта 802.3 составила технология экспериментальной сети Ethernet Network, которую фирма Xerox разработала и реализовала в 1975 году. В 1980 году фирмы DEC, Intel и Xerox (сокращенно — DIX) совместно разработали и опубликовали стандарт Ethernet версии II для сети, построенной на основе коаксиального кабеля. Эту последнюю версию фирменного стандарта Ethernet называют стандартом Ethernet DIX, или Ethernet II. На базе стандарта Ethernet DIX был разработан стандарт IEEE 802.3, который во многом совпадает со своим предшественником. Стандарт 802.4 появился как обобщение технологии ArcNet компании Datapoint Corporation, а стандарт 802.5 в основном соответствует технологии Token Ring компании IBM. Комитет 802.11 занимается разработкой локальных беспроводных сетей с методами доступа к среде, близкими к тем, которые используются в сетях Ethernet. Поэтому стандарты 802.11 также называют стандартами радиоEthernet (хотя само название Ethernet в тексте стандартов 802.11 не фигурирует). Исходные фирменные технологии и их модифицированные варианты — стандарты 802.x в ряде случаев долгие годы сосуществовали параллельно. Например, технология ArcNet так до конца не была приведена в соответствие со стандартом 802.4 (теперь это делать поздно, так как где-то примерно с 1993 года производство оборудования ArcNet было свернуто). Исключение составляет технология Ethernet. Последний фирменный стандарт Ethernet DIX версии II был принят в 1980 году, и с тех пор никто больше не предпринимал попыток фирменного развития Ethernet. Все новшества в семействе технологий Ethernet появляются только в результате принятия открытых стандартов комитетом 802.3. Более поздние стандарты изначально разрабатывались не одной компанией, а группой заинтересованных компаний, а потом передавались в соответствующий подкомитет IEEE 802 для утверждения. Так произошло с технологиями Fast Ethernet, 100VG-AnyLAN, Gigabit Ethernet. Сначала группа компаний образовывала объединение, а затем по мере развития работ к нему присоединялись другие компании, так что процесс принятия стандарта носил открытый характер. Метод доступа CSMA/CD Список ключевых слов: метод коллективного доступа с опознаванием несущей и обнаружением коллизий, МАС-адрес, индивидуальный МАС-адрес, групповой МАС-адрес, широковещательный МАС-адрес, централизованный способ назначения адресов, локальный способ назначения адресов, организационно уникальный идентификатор, коллективный доступ, несущая частота, преамбула, ограничитель начала кадра, межпакетный интервал, коллизия, обнаружение коллизии, jam-последовательность, интервал отсрочки, усеченный экспоненциальный двоичный алгоритм отсрочки, время оборота, максимальный диаметр сети. Метод CSMA/CD (Carrier Sense Multiple Access with Collision Detection — коллективный доступ с опознаванием несущей и обнаружением коллизий) используется для доступа к среде передачи данных в сетях Ethernet. 82 МАС-адреса На уровне MAC, который обеспечивает доступ к среде и передачу кадра, для идентификации сетевых интерфейсов узлов сети используются регламентированные стандартом IEEE 802.3 уникальные 6-байтовые адреса, называемые МАС-адресами. Обычно МАС-адрес записывают в виде шести пар шестнадцатеричных цифр, разделенных тире или двоеточиями, например 11-A017-3D-BC-01. Каждый сетевой адаптер имеет, по крайней мере, один МАС-адрес. Помимо отдельных интерфейсов, МАС-адрес может определять группу интерфейсов или даже все интерфейсы сети. Первый (младший) бит старшего байта адреса назначения является признаком того, является адрес индивидуальным или групповым. Если он равен 0, то адрес является индивидуальным, то есть идентифицирует один сетевой интерфейс, а если 1, то групповым. Групповой адрес связан только с интерфейсами, сконфигурированными (например, вручную или автоматически по запросу вышележащего уровня) как члены группы, номер которой указан в групповом адресе. Если сетевой интерфейс включен в группу, то наряду с уникальным МАС-адресом с ним ассоциируется еще один адрес — групповой. В частном случае, если групповой адрес состоит из всех единиц, то есть имеет шестнадцатеричное представление 0xFFFFFFFFFFFF, он идентифицирует все узлы сети и называется широковещательным. Второй бит старшего байта адреса определяет способ назначения адреса — централизованный или локальный. Если этот бит равен 0 (что бывает почти всегда в стандартной аппаратуре Ethernet), то адрес назначен централизованно по правилам IEEE 802. Внимание. В стандартах IEEE Ethernet младший бит байта изображается в самой левой позиции поля, а старший бит — в самой правой. Этот нестандартный способ отображения порядка следования битов в байте соответствует порядку передачи битов в линию связи передатчиком Ethernet (первым передается младший бит). В стандартах других организаций, например RFC IETF, ITU-T, ISO, используется традиционное представление байта, когда младший бит считается самым правым битом байта, а старший — самым левым. При этом порядок следования байтов остается традиционным. Поэтому при чтении стандартов, опубликованных этими организациями, а также чтении данных, отображаемых на экране операционной системой или анализатором протоколов, значения каждого байта кадра Ethernet нужно зеркально отобразить, чтобы получить представление о значении разрядов этого байта в соответствии с документами IEEE. Например, групповой адрес, имеющий в нотации IEEE вид 1000 0000 0000 0000 1010 0111 1111 0000 0000 0000 0000 0000 или в шестнадцатеричной записи 80-00-A7-F0-00-00, будет, скорее всего, отображен анализатором протоколов в традиционном виде как 01-00-5E-0F-00-00. Комитет IEEE распределяет между производителями оборудования так называемые организационно уникальные идентификаторы (Organizationally Unique Identifier, OUI). Каждый производитель помещает выделенный ему идентификатор в три старших байта адреса (например, идентификатор 0x0020AF определяет компанию 3COM, а 0х00000С — Cisco). За уникальность младших трех байтов адреса отвечает производитель оборудования. Двадцать четыре бита, отводимые производителю для адресации интерфейсов его продукции, позволяют выпустить примерно 16 миллионов интерфейсов под одним идентификатором организации. Уникальность централизованно распределяемых адресов распространяется на все основные технологии локальных сетей — Ethernet, Token Ring, FDDI и т. д. Локальные адреса назначаются администратором сети, в обязанности которого входит обеспечение их уникальности. Доступ к среде и передача данных Предполагая для простоты изложения, что каждый узел (станция) имеет только один сетевой интерфейс, рассмотрим, как на основе алгоритма CSMA/CD происходит передача данных в сети Ethernet. Все компьютеры в сети с разделяемой средой имеют возможность немедленно (с учетом задержки распространения сигнала по физической среде) получить данные, которые любой из компьютеров начал передавать в общую среду. Говорят, что среда, к которой подключены все станции, работает в режиме коллективного доступа (Multiply Access, MA). 83 Чтобы получить возможность передавать кадр, интерфейс-отправитель должен убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (Carrier Sense, CS). Признаком «незанятости» среды является отсутствие на ней несущей частоты, которая при манчестерском способе кодирования, принятом для всех вариантов Ethernet 10 Мбит/с, равна 5-10 МГц в зависимости от последовательности единиц и нулей, передаваемых в данный момент. Если среда свободна, то узел имеет право начать передачу кадра. В примере, показанном на рис.4.3, узел 1 обнаружил, что среда свободна, и начал передавать свой кадр. В классической сети Ethernet на коаксиальном кабеле сигналы передатчика узла 1 распространяются в обе стороны, так что их получают все узлы сети. Кадр данных всегда сопровождается преамбулой, которая состоит из 7 байт, каждый из которых имеет значение 10101010, и 8-го байта, равного 10101011. Последний байт носит название ограничителя начала кадра. Преамбула нужна для вхождения приемника в побитовую и побайтовую синхронизацию с передатчиком. Наличие двух единиц, идущих подряд, говорит приемнику о том, что преамбула закончилась и следующий бит является началом кадра. Все станции, подключенные к кабелю, начинают записывать байты передаваемого кадра в свои внутренние буферы. Первые 6 байт кадра содержат адрес назначения. Та станция, которая узнает собственный адрес в заголовке кадра, продолжает записывать его содержимое в свой внутренний буфер, а остальные станции на этом прием кадра прекращают. Станция назначения обрабатывает полученные данные, передает их вверх по своему стеку. Кадр Ethernet содержит не только адрес назначения, но и адрес источника данных, поэтому станция-получатель знает, кому нужно послать ответ. Рис. 4.3. Метод случайного доступа CSMA/CD Узел 2 во время передачи кадра узлом 1 также пытался начать передачу своего кадра, однако обнаруживает, что среда занята — на ней присутствует несущая частота, — поэтому узел 2 вынужден ждать, пока узел 1 не прекратит передачу кадра. После окончания передачи кадра все узлы сети обязаны выдержать технологическую паузу, равную межпакетному интервалу (Inter Packet Gap, IPG) в 9,6 мкс. Эта пауза нужна для приведения сетевых адаптеров в исходное состояние, а также для предотвращения монопольного захвата среды одной станцией. После окончания технологической паузы узлы имеют право начать передачу своего кадра, так как среда свободна. В приведенном примере узел 2 дождался окончания передачи кадра узлом 1, сделал паузу в 9,6 мкс и начал передачу своего кадра. Возникновение коллизии 84 Механизм прослушивания среды и пауза между кадрами не гарантируют исключения такой ситуации, когда две или более станции одновременно решают, что среда свободна, и начинают передавать свои кадры. Говорят, что при этом происходит коллизия, так как содержимое обоих кадров сталкивается на общем кабеле и происходит искажение информации. Коллизия — это нормальная ситуация в работе сетей Ethernet. В примере на рис. 4.4 коллизию породила одновременная передача данных узлами 3 и 1. Для возникновения коллизии не обязательно, чтобы несколько станций начали передачу абсолютно одновременно, такая ситуация маловероятна. Более вероятна ситуация, когда один узел начинает передачу, а через некоторое (короткое) время другой узел, проверив среду и не обнаружив несущую (сигналы первого узла еще не успели до него дойти), начинает передачу своего кадра. Таким образом, возникновение коллизии является следствием распределения узлов сети в пространстве. Рис. 4.4. Схема возникновения и распространения коллизии Чтобы корректно обработать коллизию, все станции одновременно наблюдают за возникающими на кабеле сигналами. Если передаваемые и наблюдаемые сигналы отличаются, то фиксируется факт обнаружения коллизии (Collision Detection, CD). Для увеличения вероятности скорейшего обнаружения коллизии всеми станциями сети станция, которая обнаружила коллизию, прерывает передачу своего кадра (в произвольном месте, возможно, и не на границе байта) и усиливает ситуацию коллизии посылкой в сеть специальной последовательности из 32 бит, называемой jam-последовательностью. После этого обнаружившая коллизию передающая станция обязана прекратить передачу и сделать паузу в течение короткого случайного интервала времени. Затем она может снова предпринять попытку захвата среды и передачи кадра. Случайная пауза выбирается по следующему алгоритму: Пауза = L х (интервал отсрочки). 85 В технологии Ethernet интервал отсрочки выбран равным значению 512 битовых интервалов. Битовый интервал соответствует времени между появлением двух последовательных битов данных на кабеле; для скорости 10 Мбит/с величина битового интервала равна 0,1 мкс, или 100 нс. L представляет собой целое число, выбранное с равной вероятностью из диапазона [0, 2 N], где N — номер повторной попытки передачи данного кадра: 1, 2, ..., 10. После 10-й попытки интервал, из которого выбирается пауза, не увеличивается. Таким образом, случайная пауза в технологии Ethernet может принимать значения от 0 до 52,4 мс. Если 16 последовательных попыток передачи кадра вызывают коллизию, то передатчик должен прекратить попытки и отбросить этот кадр. Описанный алгоритм носит название усеченного экспоненциального двоичного алгоритма отсрочки. Поведение сети Ethernet при значительной нагрузке, когда коэффициент использования среды растет и начинает приближаться к 1, в целом соответствует графикам, которые были приведены в главе 6 при анализе модели теории очередей М/М/1. Однако рост времени ожидания освобождения среды в сетях Ethernet начинается раньше, чем в модели М/М/1. Это происходит из-за того, что модель М/М/1 является очень простой и не учитывает такой важной особенности Ethernet, как коллизии. Администраторы сетей Ethernet с разделяемой средой руководствуются простым эмпирическим правилом — коэффициент использования среды не должен превышать 30 %. Для поддержки чувствительного к задержкам трафика сети Ethernet (и другие сети с разделяемой средой) могут применять только один метод поддержания характеристик QoS — недогруженный режим работы. Время оборота и распознавание коллизий Надежное распознавание коллизий всеми станциями сети является необходимым условием корректной работы сети Ethernet. Если какая-либо передающая станция не распознает коллизию и решит, что кадр данных передан ею верно, этот кадр будет утерян. Из-за наложения сигналов при коллизии информация кадра исказится, и он будет отбракован принимающей станцией из-за несовпадения контрольной суммы. Скорее всего, недошедшие до получателя данные будут повторно переданы каким-либо протоколом верхнего уровня, например транспортным или прикладным, работающим с установлением соединения, или протоколом LLC, если он работает в режиме LLC2. Но повторная передача сообщения протоколами верхних уровней произойдет гораздо позже (иногда по прошествии нескольких секунд), чем повторная передача средствами сети Ethernet, работающей с микросекундными интервалами. Поэтому если коллизии не будут надежно распознаваться узлами сети Ethernet, то это приведет к заметному снижению полезной пропускной способности сети. Для надежного распознавания коллизий должно выполняться следующее соотношение: Тmin ≥ PDV. Здесь Tmin — время передачи кадра минимальной длины, a PDV (Path Delay Value) — время оборота (для обозначения времени оборота используют также аббревиатуру RTT (Round Trip Time); обе аббревиатуры (PDV и RTT) означают одно и то же, однако в некоторых стандартах Ethernet обозначение PDV предпочтительнее), то есть время, за которое сигнал коллизии успевает распространиться до самого дальнего узла сети. В худшем случае сигнал должен пройти дважды между наиболее удаленными друг от друга станциями сети (в одну сторону проходит неискаженный сигнал, а в обратном направлении распространяется уже искаженный коллизией сигнал). При выполнении этого условия передающая станция должна успеть обнаружить коллизию, которую вызвал переданный ее кадр, еще до того, как она закончит передачу этого кадра. Очевидно, что выполнение этого условия зависит, с одной стороны, от длины минимального кадра и скорости передачи данных протокола, а с другой стороны, от длины кабельной системы сети и скорости распространения сигнала в кабеле (для разных типов кабеля эта скорость несколько отличается). 86 Все параметры протокола Ethernet подобраны таким образом, чтобы при нормальной работе сети коллизии четко распознавались. Так, стандарт Ethernet определяет минимальную длину поля данных кадра в 46 байт (что вместе со служебными полями дает минимальную длину кадра 64 байт, а вместе с преамбулой — 72 байт, или 576 бит). Отсюда может быть вычислено ограничение на расстояние между станциями. В стандарте Ethernet 10 Мбит/с время передачи кадра минимальной длины равно 575 битовых интервалов, следовательно, время оборота должно быть меньше 57,5 мкс. Расстояние, которое сигнал может пройти за это время, зависит от типа кабеля и для толстого коаксиального кабеля равно примерно 13280 метров. Учитывая, что за время 57,5 мкс сигнал должен пройти по линии связи дважды, расстояние между двумя узлами не должно быть больше 6635 м. В стандарте величина этого расстояния выбрана существенно меньше с учетом других, более строгих ограничений. Одно из таких ограничений связано с предельно допустимым затуханием сигнала. Для обеспечения необходимой мощности сигнала при его прохождении между наиболее удаленными друг от друга станциями максимальная длина непрерывного сегмента толстого коаксиального кабеля с учетом вносимого им затухания выбрана в 500 м. Очевидно, что на кабеле в 500 м условия распознавания коллизий будут выполняться с большим запасом для кадров любой стандартной длины, в том числе и 72 байт (время оборота по кабелю 500 м составляет всего 43,3 битовых интервала). Поэтому минимальная длина кадра могла бы быть установлена еще меньше. Однако разработчики технологии не стали уменьшать минимальную длину кадра, имея в виду сети, которые строятся из нескольких сегментов, соединенных повторителями. Повторители увеличивают мощность передаваемых с сегмента на сегмент сигналов, что позволяет использовать сеть гораздо большей длины. В коаксиальных реализациях Ethernet разработчики ограничили максимальное количество сегментов в сети пятью, что, в свою очередь, ограничивает общую длину сети 2500 метрами. Даже в такой многосегментной сети условие обнаружения коллизий по-прежнему выполняется с большим запасом (сравним полученное из условия допустимого затухания расстояние в 2500 м с вычисленным выше максимально возможным по времени распространения сигнала расстоянием 6635 м). Однако в действительности временной запас существенно меньше, поскольку в многосегментных сетях сами повторители вносят в распространение сигнала дополнительную задержку в несколько десятков битовых интервалов. Небольшой запас был сделан также для компенсации отклонений параметров кабеля и повторителей. В результате учета всех факторов было тщательно подобрано соотношение между минимальной длиной кадра и максимально возможным расстоянием между станциями сети, которое обеспечивает надежное распознавание коллизий. Это расстояние называют максимальным диаметром сети. Для всех типов сетей Ethernet оно не должно превышать 2500 м. С увеличением скорости передачи кадров, что имеет место в новых стандартах, базирующихся на том же методе доступа CSMA/CD, например в Fast Ethernet, стали пропорционально уменьшать максимальное расстояние между станциями сети. В стандарте Fast Ethernet оно составляет около 210 м, а в стандарте Gigabit Ethernet оно было бы ограничено значением 25 м, если бы разработчики стандарта не увеличили минимальный размер пакета. Таблица 4.1. Параметры уровня MAC Ethernet 87 В табл. 4.1 приведены значения основных параметров передачи кадра стандарта 802.3, которые не зависят от физической среды. Важно отметить, что каждый вариант физической среды технологии Ethernet добавляет к этим ограничениям свои, часто более строгие ограничения, которые также должны выполняться и которые будут рассмотрены ниже. Уровень LLC Уровень LLC выполняет две функции:  организует интерфейс с прилегающим к нему сетевым уровнем;  обеспечивает доставку кадров с заданной степенью надежности.  Интерфейсные функции LLC заключаются в передаче пользовательских и служебных данных между уровнем MAC и сетевым уровнем. При передаче данных сверху вниз уровень LLC принимает от протокола сетевого уровня пакет (например, IP- или IPX-пакет), в котором уже находятся пользовательские данные. Помимо пакета сверху также передается адрес узда назначения в формате той технологии LAN, которая будет использована для доставки кадра в пределах данной локальной сети. Напомним, что в терминах стека TCP/IP такой адрес называется аппаратным. Полученные от сетевого уровня пакет и аппаратный адрес уровень LLC передает далее вниз — уровню MAC. Кроме того, LLC при необходимости решает задачу мультиплексирования, передавая данные от нескольких протоколов сетевого уровня единственному протоколу уровня MAC. При передаче данных снизу вверх LLC принимает от уровня MAC пакет сетевого уровня, пришедший из сети. Теперь ему нужно выполнить еще одну интерфейсную функцию — демультиплексирование, то есть решить, какому из сетевых протоколов передать полученные от MAC данные (рис. 5.4). 88 Рис. 4.5. Демультиплексирование кадров протоколом LLC Задачи мультиплексирования и демультиплексирования свойственны не только LLC, но и любому протоколу, над которым может работать несколько протоколов. Для демультиплексирования данных LLC использует в своем заголовке специальные поля (рис. 4.5). Поле DSAP (Destination Service Access Point — точка входа службы приемника) используется для хранения кода протокола, которому адресовано содержимое поля данных. Соответственно, поле SSAP (Source Service Access Point — точка входа службы источника) используется для указания кода протокола, от которого посылаются данные. Применение двух полей для целей демультиплексирования является нетипичным, обычно протоколы обходятся одним полем, например, протокол IP всегда посылает свои пакеты протоколу IP, а протокол IPX — протоколу IPX. Два поля полезны в тех случаях, когда вышележащий протокол поддерживает несколько режимов работы, так что протокол на узле-отправителе может использовать различные значения DSAP и SSAP для уведомления узла-получателя о переходе в новый режим работы. Этим свойством протокола LLC часто пользуется протокол NetBEUI. Рис. 4.6. Формат LLC-кадра Обеспечение доставки кадров с заданной степенью надежности — вторая основная функция уровня LLC. Протокол LLC поддерживает несколько режимов работы, отличающихся наличием или отсутствием процедур восстановления кадров в случае их потери или искажения, то есть отличающихся надежностью доставки. Уровень LLC, непосредственно прилегающий к сетевому уровню, принимает от него запрос на выполнение транспортной операции канального уровня с тем или иным качеством. Внимание. Возможно, функции LLC по обеспечению надежной передачи данных в LAN напомнят читателю функции транспортного уровня моделей OSI и TCP/IP. Действительно, 89 соотношение функций протоколов LLC и MAC во многом подобно соотношению функций протоколов UDP/TCP и IP. Как и протоколы транспортного уровня UDP/TCP, протокол LLC не занимается непосредственно доставкой кадров узлам сети. Передачу данных между узлами, подобно IP, выполняет после получения доступа к разделяемой среде уровень MAC. MAC, так же как и IP, обеспечивает доставку в дейтаграммном режиме, то есть без установления соединения и без восстановления потерянных или поврежденных кадров. В том случае, когда протоколы верхних уровней запрашивают у LLC надежный транспортный сервис, LLC устанавливает соединение с узлом назначения и организует повторную доставку кадров. Уровень LLC предоставляет верхним уровням три типа транспортных услуг.  Услуга LLC1 — услуга без установления соединения и без подтверждения получения данных. LLC1 дает пользователю средства для передачи данных с минимумом издержек. В этом случае LLC поддерживает дейтаграммный режим работы, как и MAC, так что и технология LAN в целом работает в дейтаграммном режиме. Обычно эта процедура используется, когда такие функции, как восстановление данных после ошибок и упорядочивание данных, выполняются протоколами вышележащих уровней, поэтому нет нужды дублировать их на уровне LLC.  Услуга LLC2 — дает пользователю возможность установить логическое соединение перед началом передачи любого блока данных и, если это требуется, выполнить процедуры восстановления после ошибок и упорядочивание потока блоков в рамках установленного соединения. Для надежной доставки данных протокол LLC2 использует алгоритм скользящего окна.  Услуга LLC3 — услуга без установления соединения, но с подтверждением получения данных. В некоторых случаях (например, при использовании сетей в системах реального времени, управляющих промышленными объектами), с одной стороны, временные издержки установления логического соединения перед отправкой данных неприемлемы, а, с другой стороны, подтверждение о корректности приема переданных данных необходимо. Для такого рода ситуаций и предусмотрена дополнительная услуга LLC3, которая является компромиссом между LLC1 и LLC2, так как она не предусматривает установление логического соединения, но обеспечивает подтверждение получения данных. Какой из трех режимов работы уровня LLC будет использован, зависит от требований протокола верхнего уровня. Информация о требуемой от LLC транспортной услуге передается через межуровневый интерфейс уровню LLC вместе с аппаратным адресом и пакетом с пользовательскими данными. Например, когда поверх LLC работает протокол IP, он всегда запрашивает режим LLC1, поскольку в стеке TCP/IP задачу обеспечения надежной доставки решает протокол TCP. Из протоколов, применяющихся на практике, только стек Microsoft/IBM, основанный на протоколе NetBIOS/NetBEUI, использует режим LLC2. Это происходит тогда, когда сам протокол NetBIOS/NetBEUI должен работать в режиме с восстановлением потерянных и искаженных данных. В этом случае эта работа перепоручается уровню LLC2. Если же протокол NetBIOS/NetBEUI работает в дейтаграммном режиме, то он пользуется услугой LLC1. 90 12. Технология Ethernet Ethernet — это самый распространенный сегодня стандарт локальных сетей. Общее количество сетей, работающих по протоколу Ethernet в настоящее время, оценивается в несколько миллионов. Когда говорят Ethernet, то под этим обычно понимают любой из вариантов этой технологии, в которую входят сегодня также Fast Ethernet, Gigabit Ethernet и 10G Ethernet. В более узком смысле Ethernet — это сетевой стандарт передачи данных со скоростью 10 Мбит/с, который появился в конце 70-х годов как стандарт трех компаний — Digital, Intel и Xerox. В начале 80-х Ethernet был стандартизован рабочей группой IEEE 802.3 и с тех пор он является международным стандартом. Технология Ethernet была первой технологией, которая предложила использовать разделяемую среду для доступа к сети. Локальные сети, являясь пакетными сетями, используют принцип временного мультиплексирования, то есть разделяют передающую среду во времени. Алгоритм управления доступом к среде является одной из важнейших характеристик любой технологии LAN, в значительно большей степени определяющей ее облик, чем метод кодирования сигналов или формат кадра. В технологии Ethernet в качестве алгоритма разделения среды применяется метод случайного доступа. И хотя его трудно назвать совершенным — при росте нагрузки полезная пропускная способность сети резко падает, — он благодаря своей простоте послужил основной причиной успеха технологии Ethernet. Популярность стандарта Ethernet 10 Мбит/с послужила мощным стимулом его развития. В 1995 году был принят стандарт Fast Ethernet, в 1998 — Gigabit Ethernet, а в 2002 году — 10G Ethernet. Каждый из новых стандартов превышал скорость своего предшественника в 10 раз, образуя впечатляющую иерархию скоростей 10 Мбит/с — 100 Мбит/с — 1000 Мбит/с — 10 Гбит/с. В этой главе мы подробно рассмотрим классическую технологию Ethernet 10 Мбит/с, большинство механизмов которой используется и на более высоких скоростях. Общая характеристика протоколов локальных сетей Список ключевых слов: общая среда передачи данных, стандартные топологии физических связей, метод случайного доступа, коллизия, слот, детерминированный доступ, передача токена, алгоритмы опроса, транспортировка кадров, дейтаграммный полудуплексный режим передачи, интерфейсные функции LLC, точка входа службы приемника, точка входа службы источника, доставка кадров с заданной степенью надежности, услуги LLC1, LLC2 и LLC3, стандарты межсетевого взаимодействия. Технология Ethernet принадлежит к семейству технологий локальных сетей, в которое входят также такие технологии, как Token Ring, FDDI, IEEE 802.11 и 100VG-AnyLAN (технология 100VG-AnyLAN сегодня практически не применяется, однако теоретический интерес представляет 91 использованная в ней оригинальная концепция разделения среды). Несмотря на определенную специфику, все эти технологии имеют единое назначение — создание локальных сетей. Поэтому полезно начать изучение Ethernet с рассмотрения общих принципов, использованных при разработке технологий LAN. Стандартная топология и разделяемая среда Основная цель, которую ставили перед собой разработчики первых локальных сетей во второй половине 70-х годов, заключалась в нахождении простого и дешевого решения для объединения в вычислительную сеть нескольких десятков компьютеров, находящихся в пределах одного здания. Решение должно было быть недорогим, поскольку в сеть объединялись недорогие компьютеры — появившиеся и быстро распространявшиеся тогда мини-компьютеры стоимостью в 10000-20000 долларов. Количество их в одной организации было небольшим, поэтому предел в несколько десятков компьютеров представлялся вполне достаточным для практически любой локальной сети. Задача связи локальных сетей в глобальные не была первоочередной, поэтому практически все технологии локальных сетей ее игнорировали. Для упрощения и, соответственно, удешевления аппаратных и программных решений разработчики первых локальных сетей остановились на совместном использовании общей среды передачи данных. Этот метод связи компьютеров впервые был опробован при создании радиосети ALOHA Гавайского университета в начале 70-х под руководством Нормана Абрамсона (Norman Abramson). Радиоканал определенного диапазона частот естественным образом является общей средой для всех передатчиков, использующих частоты этого диапазона для кодирования данных. Сеть ALOHA работала по методу случайного доступа, когда каждый узел мог начать передачу пакета в любой момент времени. Если после этого он не дожидался подтверждения приема в течение определенного тайм-аута, он посылал этот пакет снова. Общим был радиоканал с несущей частотой 400 МГц и полосой 40 кГц, что обеспечивало передачу данных со скоростью 9600 бит/с. Немного позже Роберт Меткалф (R. Metcalfe) повторил идею разделяемой среды уже для проводного варианта технологии LAN. Непрерывный сегмент коаксиального кабеля стал аналогом общей радиосреды. Все компьютеры присоединялись к этому сегменту кабеля по схеме монтажного ИЛИ (рис. 5.1), поэтому при передаче сигналов одним из передатчиков все приемники получали один и тот же сигнал, как и при использовании радиоволн. Рис. 5.1. Разделяемая среда на коаксиальном кабеле В технологиях Token Ring и FDDI тот факт, что компьютеры используют разделяемую среду, не так очевиден, как в случае Ethernet. Физическая топология этих сетей — кольцо, каждый узел соединяется кабелем с двумя соседними узлами (рис. 5.2). Однако эти отрезки кабеля также являются разделяемыми, так как в каждый момент времени только один компьютер может использовать кольцо для передачи своих пакетов. Простые стандартные топологии физических связей (звезда у коаксиального кабеля Ethernet и кольцо у Token Ring и FDDI) обеспечивают простоту разделения кабельной среды. 92 Рис. 5.2. Разделяемая среда в кольцевых топологиях Использование разделяемых сред позволяет упростить логику работы узлов сети. Действительно, поскольку в каждый момент времени выполняется только одна передача, отпадает необходимость в буферизации кадров в транзитных узлах. Транзитных узлов также нет (мы уже рассматривали этот необычный вариант сети с коммутацией пакетов в главе 2). Соответственно, отпадает необходимость в сложных процедурах управления потоком и борьбы с перегрузками. Основной недостаток разделяемой среды — плохая масштабируемость. Этот недостаток является принципиальным, так как независимо от метода доступа к среде ее пропускная способность делится между всеми узлами сети. Здесь применимо положение теории очередей, которое мы изучали в главе 7: как только коэффициент использования общей среды превышает определенный порог, очереди к среде начинают расти нелинейно, и сеть становится практически неработоспособной. Значение порога зависит от метода доступа. Так, в сетях ALOHA это значение является крайне низким — всего около 18 %, в сетях Ethernet — около 30 %, а в сетях Token Ring и FDDI оно выросло до 60-70 %. Стек протоколов локальных сетей Технологии локальных сетей реализуют, как правило, функции только двух нижних уровней модели OSI — физического и канального (рис. 5.3). Функциональности этих уровней достаточно для доставки кадров в пределах стандартных топологий, которые поддерживают LAN — звезда (общая шина), кольцо и дерево. Рис. 5.3. Соответствие протоколов LAN уровням модели OSI Однако из этого не следует, что компьютеры, связанные в локальную сеть, не поддерживают протоколы уровней, расположенных выше канального. Эти протоколы также устанавливаются и 93 работают на узлах локальной сети, но выполняемые ими функции не относятся к технологии LAN. Сетевой и транспортный протоколы нужны узлу локальной сети для того, чтобы взаимодействовать с компьютерами, подключенными к другим локальным сетям, путь к которым проходит, возможно, через глобальные сети. Если бы нужно было обеспечить взаимодействие компьютеров только в пределах одной локальной сети, то прикладные протоколы могли бы работать непосредственно над канальным уровнем. Но так как такое ограниченное взаимодействие не устраивает пользователей, то каждый компьютер локальной сети поддерживает полный стек протоколов, так что над канальным уровнем работает один из сетевых протоколов, например IP или IPX. Кроме того, установка на конечных узлах LAN полных стеков протоколов, а не только физического и канального, необходима для обеспечения совместимости приложений — приложения должны корректно исполняться в любой сетевой среде, во всяком случае, не зависеть от того, является сеть односегментной локальной сетью или крупной локальной сетью, построенной на маршрутизаторах. Канальный уровень локальных сетей делится на два подуровня, которые часто также называют уровнями:  уровень управления логическим каналом (Logical Link Control, LLC);  уровень управления доступом к среде (Media Access Control, MAC). Функции уровня LLC обычно реализуются программно, соответствующим модулем операционной системы, а функции уровня MAC реализуются программно аппаратно: сетевым адаптером и его драйвером. Уровень MAC Основными функциями уровня MAC являются:  обеспечение доступа к разделяемой среде;  передача кадров между конечными узлами, используя функции и устройства физического уровня. Метод случайного доступа является одним из основных методов захвата разделяемой среды. Он основан на том, что узел, у которого есть кадр для передачи, пытается его отправить без какой бы то ни было предварительной процедуры согласования времени использования разделяемой среды с другими узлами сети. Метод случайного доступа является децентрализованным, он не требует наличия в сети специального узла, который играл бы роль арбитра, регулирующего доступ к среде. Результатом этого является высокая вероятность коллизий, то есть случаев одновременной передачи кадра несколькими станциями (термины «станция» и «узел» используются здесь и далее как синонимы). Во время коллизии происходит наложение сигналов нескольких передатчиков, из-за чего информация всех передаваемых на периоде коллизии кадров искажается. Поскольку в локальных сетях применяются достаточно простые методы кодирования, то они не позволяют выделить нужный сигнал из суммарного, как это, например, может делать технология CDMA. Существует большое количество алгоритмов случайного доступа, которые снижают вероятность коллизий и тем самым повышают производительность сети. Например, существует класс алгоритмов, которые разрешают начать передачу кадров только в начале очередного временного интервала, обычно называемого слотом. Впервые такое улучшение было предложено для сети ALOHA. В этой сети метод случайного доступа разрешает узлу передавать кадр в любой момент времени без всяких предварительных условий. Синхронизация передачи кадров с началом очередного слота позволила снизить вероятность коллизий в модифицированном алгоритме ALOHA по сравнению с первоначальным вариантом ALOHA в два раза, обеспечив нормальную работу сети с коэффициентом использования среды до 36 %. Еще одним способом улучшения случайного доступа является введение процедуры прослушивания среды перед передачей. Узел не имеет права передавать кадр, если он обнаруживает, что среда уже занята передачей другого кадра. Это снижает вероятность коллизий (хотя, как увидим позже, и не исключает их). 94 Алгоритмы случайного доступа не гарантируют узлу, что он получит доступ к разделяемой среде в течение определенного времени. Какое бы большое время ожидания мы ни выбрали, всегда есть ненулевая вероятность, что реальное время ожидания превысит этот предел. Алгоритмы случайного доступа также не предоставляют никаких возможностей для дифференцированной поддержки характеристик QoS для разных типов трафика — все кадры получают одинаковый уровень доступа к среде. Детерминированный доступ — это другой популярный подход к обеспечению доступа к разделяемой среде. Он получил свое название благодаря тому, что максимальное время ожидания доступа к среде всегда известно. Алгоритмы детерминированного доступа используют два механизма - передачу токена и опрос. Передача токена обычно реализуется децентрализовано. Каждый компьютер, получивший токен, имеет право на использование разделяемой среды в течение фиксированного промежутка времени — времени удержания токена. В это время компьютер передает свои кадры. После истечения этого промежутка компьютер обязан передать токен другому компьютеру. Таким образом, если мы знаем количество компьютеров в сети, то максимальное время ожидания доступа равно произведению времени удержания токена на это число. Время ожидания может быть и меньше, поскольку, если компьютер, получивший токен, не имеет кадров для передачи, то он передает его следующему компьютеру, не дожидаясь истечения времени удержания. Последовательность передачи токена от компьютера к компьютеру может определяться разными способами. В сетях Token Ring и FDDI она определяется топологией связей. Компьютер в кольце получает токен от предыдущего соседа, а передает токен следующему. Алгоритм передачи токена можно реализовать не только в кольце. Например, в прекратившей свое существование технологии ArcNet использовался общий коаксиальный кабель для физического подключения компьютеров, а в качестве метода доступа — передача токена. При этом токен передавался между компьютерами в заранее определенной последовательности, не зависящей от мест подключения компьютеров к кабелю. Алгоритмы опроса чаще всего основаны на централизованной схеме. В сети существует выделенный узел, который играет роль арбитра в споре узлов за разделяемую среду. Арбитр периодически опрашивает остальные узлы сети, есть ли у них кадры для передачи. Собрав заявки на передачу, арбитр решает, какому узлу он предоставит право использования разделяемой среды. Затем он сообщает свое решение выбранному узлу, и тот передает свой кадр, захватывая разделяемую среду. После завершения передачи кадра фаза опроса повторяется. Алгоритм опроса может быть также децентрализованным. В этом случае все узлы должны предварительно сообщить друг другу с помощью разделяемой среды свои потребности в передаче кадров. Затем на основе этой информации и в соответствии с определенным критерием каждый из узлов, желающих передать кадр, независимо от других узлов определяет свою очередь в последовательности передач. Алгоритмы детерминированного доступа отличаются от алгоритмов случайного доступа тем, что они более эффективно работают при большой загрузке сети, когда коэффициент использования приближается к единице. В то же время при небольшой загрузке сети более эффективными являются алгоритмы случайного доступа, так как они позволяют передать кадр немедленно, не тратя время на процедуры определения права доступа к среде. Достоинство детерминированных методов доступа также заключается в том, что они могут приоритезировать трафик, а значит, поддерживать требования QoS. Транспортировка кадров осуществляется уровнем MAC в несколько этапов, которые в общем случае не зависят от выбранного метода доступа. 1. Формирование кадра. На этом этапе осуществляется заполнение полей кадра на основании информации, получаемой от протокола верхнего уровня, такой как адреса источника и назначения, пользовательские данные, признак протокола верхнего уровня, отсылающего эти 95 данные. После того как кадр сформирован, уровень MAC подсчитывает контрольную сумму кадра и помещает ее в соответствующее поле. 2. Передача кадра через среду. Когда кадр сформирован и доступ к разделяемой среде получен, уровень MAC передает кадр на физический уровень, который побитно передает все поля кадра в среду. Функции физического уровня выполняет передатчик сетевого адаптера, который преобразует байты кадра в последовательность битов и кодирует их соответствующими электрическими или оптическими сигналами. После прохождения сигналов по среде они поступают в приемники сетевых адаптеров, подключенных к разделяемой среде, которые выполняют обратное преобразование сигналов в байты кадра. 3. Прием кадра. Уровень MAC каждого узла сети, подключенного к разделяемой среде, проверяет адрес назначения поступившего кадра, и если он совпадает с его собственным адресом, то продолжает его обработку, в противном случае кадр отбрасывается. Продолжение обработки заключается в проверке корректности контрольной суммы кадра. Кадр с корректной контрольной суммой передается уровнем MAC вверх по стеку, на чем функции уровня MAC заканчиваются. Если же контрольная сумма кадра говорит о том, что информация при передаче через среду была искажена, то кадр отбрасывается. Из этого описания следует, что Ethernet реализует дейтаграммный полудуплексный режим передачи данных. Форматы кадров технологии Ethernet Список ключевых слов: кадр Ethernet DIX, или Ethernet II, кадр 802.3/LLC, 802.3/802.2, или Novell 802.2, кадр Raw 802.3, или Novell 802.3, кадр Ethernet SNAP, поле преамбулы, начальный ограничитель кадра, адрес назначения, адрес источника, поле длины, поле данных, поле заполнения, поле контрольной последовательности кадра. Стандарт технологии Ethernet, определенный в документе IEEE 802.3, дает описание единственного формата кадра уровня MAC. Так как в кадр уровня MAC должен вкладываться кадр уровня LLC, описанный в документе IEEE 802.2, то по стандартам IEEE в сети Ethernet может использоваться только единственный вариант кадра канального уровня, заголовок которого является комбинацией заголовков подуровней MAC и LLC. Тем не менее на практике в сетях Ethernet на канальном уровне используются кадры 4-х различных форматов (типов). Один и тот же тип кадра может иметь разные названия, поэтому далее для каждого типа кадров приведено несколько наиболее употребительных названий.  Кадр Ethernet DIX, или Ethernet II, появился в результате работы консорциума трех фирм Digital, Intel и Xerox в 1980 году, который представил на рассмотрение комитету 802.3 свою фирменную версию стандарта Ethernet в качестве проекта международного стандарта.  Однако комитет 802.3 принял стандарт, отличающийся в некоторых деталях от предложения DIX, причем отличия касались и формата кадра. Так возник формат кадра 802.3/LLC, 802.3/802.2, или Novell 802.2.  Кадр Raw 802.3, или Novell 802.3, — появился в результате усилий компании Novell по ускорению работы своего стека протоколов в сетях Ethernet.  Кадр Ethernet SNAP стал результатом деятельности комитета 802.2 по приведению предыдущих форматов кадров к некоторому общему стандарту и приданию кадру необходимой гибкости для учета в будущем возможностей добавления полей или изменения их назначения. Различия в форматах кадров могут приводить к несовместимости в работе аппаратуры и сетевого программного обеспечения, рассчитанного на функционирование только с одним стандартом кадра Ethernet. Однако сегодня практически все сетевые адаптеры, драйверы сетевых адаптеров, мосты/коммутаторы и маршрутизаторы умеют работать со всеми используемыми на практике форматами кадров технологии Ethernet, причем распознавание типа кадра выполняется автоматически. Форматы всех этих четырех типов кадров Ethernet приведены на рис. 5.4. 96 Рис. 5.4. Форматы кадров Ethernet Кадр 802.3/LLC Заголовок кадра 802.3/LLC является результатом объединения полей заголовков кадров, определенных в стандартах IEEE 802.3 и 802.2. Стандарт 802.3 определяет восемь полей заголовка (на рис. 5.9 поле преамбулы и начальный ограничитель кадра не показаны).  Поле преамбулы состоит из семи синхронизирующих байтов — 10101010. При манчестерском кодировании эта комбинация представляется в физической среде периодическим волновым сигналом с частотой 5 МГц.  Начальный ограничитель кадра (Start-of-Frame-Delimiter, SFD) состоит из одного байта 10101011. Появление этой комбинации битов является указанием на то, что следующий байт — это первый байт заголовка кадра.  Адрес назначения (Destination Address, DA) может быть длиной 2 или 6 байт. На практике всегда используются МАС-адреса из 6 байт.  Адрес источника (Source Address, SA) — это 2- или 6-байтовое поле, содержащее МАС-адрес узла — отправителя кадра. Первый бит адреса всегда имеет значение 0.  Длина (Length, L) — 2-байтовое поле, которое определяет длину поля данных в кадре.  Поле данных может содержать от 0 до 1500 байт. Но если длина поля меньше 46 байт, то используется следующее поле — поле заполнителя, дополняющее кадр до минимально допустимого значения в 46 байт. 97  Поле заполнителя состоит из такого количества байтов заполнителя, которое обеспечивает минимальную длину поля данных в 46 байт. Это позволяет корректно работать механизму обнаружения коллизий. Если длина поля данных больше или равна минимальной, то поле заполнителя в кадре не появляется.  Поле контрольной последовательности кадра (Frame Check Sequence, FCS) состоит из 4 байт контрольной суммы. Это значение вычисляется по алгоритму CRC-32. Кадр 802.3 является кадром подуровня MAC, поэтому в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра. Формат кадра LLC был описан выше. Так как кадр LLC имеет заголовок длиной 3 (в режиме LLC1) или 4 байт (в режиме LLC2), то максимальный размер поля данных уменьшается до 1497 или 1496 байт. Кадр Raw 802.3/Novell 802.3 Кадр Raw 802.3, называемый еще кадром Novell 802.3, также представлен на рис. 5.9. Из рисунка видно, что он представляет собой кадр подуровня MAC стандарта 802.3, но без вложенного кадра подуровня LLC. Компания Novell долгое время не использовала служебные поля кадра LLC в своей операционной системе NetWare благодаря отсутствию необходимости идентифицировать тип информации, вложенной в поле данных, — там всегда находился пакет протокола IPX, долгое время бывшего единственным протоколом сетевого уровня в ОС NetWare. Теперь, когда необходимость идентификации протокола верхнего уровня появилась, компания Novell стала использовать возможность инкапсуляции в кадр подуровня MAC кадра LLC, то есть возможность применять стандартные кадры 802.3/LLC. Такой кадр компания обозначает теперь в своих операционных системах как кадр 802.2, хотя он является комбинацией заголовков 802.3 и 802.2. Кадр Ethernet DIX/ Ethernet II Кадр Ethernet DIX, называемый также кадром Ethernet II, имеет структуру, совпадающую со структурой кадра Raw 802.3 (см. рис. 5.9). Однако 2-байтовое поле длины (L) кадра Raw 802.3 в кадре Ethernet DIX используется в качестве поля типа (Туре, Т) протокола. Это поле предназначено для тех же целей, что и поля DSAP и SSAP кадра LLC — для указания типа протокола верхнего уровня, вложившего свой пакет в поле данных этого кадра. В то время как коды протоколов в полях SAP имеют длину один байт, в поле типа для кода протокола отводятся 2 байта. Поэтому один и тот же протокол в поле SAP и поле типа будет кодироваться в общем случае разными числовыми значениями. Например, протокол IP имеет код 204810 (0x0800) для поля типа и значение 6 для поля SAP. Значения кодов протоколов для поля типа появились раньше значений для поля SAP, так как фирменная версия Ethernet DIX существовала до появления стандарта 802.3, и ко времени распространения оборудования 802.3 эти значения уже стали стандартами де-факто для многих аппаратных и программных продуктов. Так как структуры кадров Ethernet DIX и Raw 802.3 совпадают, то поле длины/типа часто в документации обозначают как поле L/T. При этом числовое значение этого поля определяет его смысл: если значение меньше 1500, то это поле длины, а если больше — то типа. Кадр Ethernet SNAP Для устранения разнобоя в кодировках типов протоколов, сообщения которых вложены в поле данных кадров Ethernet, комитетом 802.2 была проведена работа по дальнейшей стандартизации кадров Ethernet. В результате появился кадр Ethernet SNAP (SubNetwork Access Protocol — протокол доступа к подсетям). Кадр Ethernet SNAP (см. рис. 5.9) представляет собой расширение кадра 802.3/LLC за счет введения дополнительного заголовка протокола SNAP, состоящего из двух полей: OUI и типа. Поле типа состоит из 2 байт и повторяет по формату и назначению поле типа кадра Ethernet II (то есть в нем используются те же значения кодов протоколов). Поле OUI определяет уже знакомый нам организационно уникальный идентификатор — то есть идентификатор организации, которая контролирует коды протоколов в поле типа. С помощью заголовка SNAP достигнута совместимость с кодами протоколов в кадрах Ethernet II, а 98 также создана универсальная схема кодирования протоколов. Коды протоколов для технологий 802 контролирует организация IEEE, идентификатор OUI которой равен 000000. Если в будущем потребуются другие коды протоколов для какой-либо новой технологии, для этого достаточно будет указать другой идентификатор организации, назначающей эти коды, а старые значения кодов останутся в силе (в сочетании с другим идентификатором OUI). Так как SNAP представляет собой протокол, вложенный в протокол LLC, то в полях DSAP и SSAP записывается код 0хАА, отведенный для протокола SNAP. В управляющем поле заголовка LLC устанавливается значение 0x03, что соответствует использованию ненумерованных кадров. Заголовок SNAP является дополнением к заголовку LLC, поэтому он допустим не только в кадрах Ethernet, но и в кадрах протоколов других технологий комитета 802. Например, протокол IP всегда использует структуру заголовков LLC/SNAP при инкапсуляции в кадры всех протоколов локальных сетей: FDDI, Token Ring, 100VG- AnyLAN, Ethernet, Fast Ethernet, Gigabit Ethernet. Правда, при передаче IP-пакетов через сети Ethernet, Fast Ethernet и Gigabit Ethernet протокол IP использует кадры Ethernet DIX. Использование различных типов кадров Ethernet Из-за того что существует четыре типа кадров Ethernet, для протоколов сетевого уровня возникает проблема — пользоваться ли всегда одним типом кадра, применять все четыре или же отдавать предпочтение только некоторым из них. Протокол IP может использовать два типа кадров: оригинальный кадр Ethernet II и наиболее структурно сложный кадр Ethernet SNAP. Предпочтительным типом кадра для протокола IP является кадр Ethernet II. Современные сетевые адаптеры автоматически распознают тип кадра Ethernet, используя значения полей кадров. Например, кадры Ethernet II легко отличить от других типов кадров по значению поля L/T: если оно больше 1500, это означает, что поле является полем типа протокола (Т), так как значения кодов протоколов выбраны так, что они всегда больше 1500. В свою очередь, наличие поля Т говорит о том, что это кадр Ethernet II, который единственный использует это поле в данной позиции кадра. Протокол IPX «является максималистом», он может работать со всеми четырьмя типами кадров Ethernet. Он распознает кадры Ethernet II описанным выше способом, а если кадр принадлежит к другому типу (поле L/T имеет значение меньшее или равное 1500), то выполняется дальнейшая проверка по наличию или отсутствию полей LLC. Поля LLC могут отсутствовать только в том случае, если за полем длины идет начало пакета IPX, а именно 2-байтовое поле, которое всегда заполняется единицами, что дает значение 0xFFFF, или два байта по 255. Ситуация, когда поля DSAP и SSAP одновременно содержат такие значения, возникнуть не может, поэтому наличие двух байтов 255 говорит о том, что это кадр Raw 802.3. В остальных случаях дальнейший анализ проводится в зависимости от значений полей DSAP и SSAP. Если они равны 0хАА, то это кадр Ethernet SNAP, а если нет, то 802.3/LLC. 99 13. Технология Token Ring Технология Token Ring Список ключевых слов: активный монитор, время удержания токена, алгоритм раннего освобождения токена, устройство многостанционного доступа, пассивный концентратор, активный концентратор. Технология Token Ring была разработана компанией IBM в 1984 году, а затем передана в качестве проекта стандарта в комитет IEEE 802, который на ее основе принял в 1985 году стандарт 802.5. Компания IBM в течение долгого времени использовала технологию Token Ring как свою основную сетевую технологию построения локальных сетей на основе компьютеров различных классов — мэйнфреймов, мини-компьютеров и персональных компьютеров. Однако в последнее время даже в продукции компании IBM доминируют представители семейства Ethernet. Сети Token Ring работают с двумя битовыми скоростями — 4 и 16 Мбит/с. Смешение в одном кольце станций, работающих на разных скоростях, не допускается. Сети Token Ring, работающие со скоростью 16 Мбит/с, имеют некоторые усовершенствования в алгоритме доступа по сравнению со стандартом 4 Мбит/с. Технология Token Ring сложнее, чем Ethernet. Она обладает некоторыми начальными свойствами отказоустойчивости. В сети Token Ring определены процедуры контроля работы сети, которые опираются на свойство обратной связи, изначально присущее кольцеобразной структуре — посланный кадр всегда возвращается к станции-отправителю. В некоторых случаях обнаруженные ошибки в работе сети устраняются автоматически, например, может быть восстановлен потерянный токен. В других случаях ошибки только фиксируются, а их устранение выполняется вручную обслуживающим персоналом. Для контроля сети одна из станций исполняет роль так называемого активного монитора. Активный монитор выбирается во время инициализации кольца, критерием выбора служит максимальное значение МАС-адреса. Если активный монитор выходит из строя, процедура инициализации кольца повторяется и выбирается новый активный монитор. Чтобы сеть могла обнаружить отказ активного монитора, последний в работоспособном состоянии каждые 3 секунды генерирует специальный кадр, обозначающий его присутствие. Если этот кадр не появляется в сети более 7 секунд, то остальные станции сети начинают процедуру выборов нового активного монитора. Доступ с передачей токена Сети Token Ring пользуются разделяемой средой путем передачи токена, принципы которого были рассмотрены в главе 12 при описании функций уровня MAC. Давайте остановимся более детально на некоторых особенностях этого метода, присущих технологии Token Ring 4 Мбит/с, описанной в стандарте 802.5. В сети Token Ring любая станция всегда непосредственно получает данные только от одной станции — той, которая является предыдущей в кольце. А передает данные своему ближайшему соседу вниз по потоку данных. Получив токен, станция анализирует его и при отсутствии у нее данных для передачи продвигает токен к следующей станции. Станция, которая имеет данные для передачи, при получении токена изымает его из кольца, что дает ей право доступа к физической среде для передачи своих данных. Затем эта станция выдает в кольцо кадр данных установленного формата последовательно по битам. Кадр снабжается адресами приемника и источника. Переданные данные проходят по кольцу всегда в одном направлении от одной станции к другой. Все станции кольца ретранслируют кадр побитно, как повторители. Если кадр проходит через станцию назначения, то, распознав свой адрес, эта станция копирует кадр в свой внутренний буфер и вставляет в кадр признак подтверждения приема. Станция, выдавшая кадр данных в кольцо, получив его с подтверждением приема, изымает свой кадр из кольца и передает в сеть новый токен, давая другим станциям сети возможность передавать данные. На рис. 14.1 описанный алгоритм доступа к среде иллюстрируется временной диаграммой. Здесь показана передача пакета А в кольце, состоящем из 6 станций, от станции 1 к станции 3. 100 После прохождения станции назначения 3 в пакете А устанавливаются два признака — признак А распознавания адреса и признак С копирования пакета в буфер (что на рисунке отмечено звездочкой внутри пакета). После возвращения пакета в станцию 1 отправитель распознает свой пакет по адресу источника и удаляет пакет из кольца. Установленные станцией 3 признаки говорят станции-отправителю о том, что пакет дошел до адресата и был успешно скопирован в его буфер. Рис. 14.1. Доступ с передачей токена Время владения разделяемой средой в сети Token Ring ограничивается фиксированной величиной, называемой временем удержания токена. После истечения этого времени станция обязана прекратить передачу собственных данных (текущий кадр разрешается завершить) и передать токен далее по кольцу. Станция может успеть передать за время удержания токена один или несколько кадров в зависимости от размера кадров и величины времени удержания токена. Обычно время удержания токена по умолчанию равно 10 мс, а максимальный размер кадра в стандарте 802.5 не определен. Для сетей 4 Мбит/с он, как правило, равен 4 Кбайт, а для сетей 16 Мбит/с — 16 Кбайт. Это связано с тем, что за время удержания токена станция должна успеть передать хотя бы один кадр. При скорости 4 Мбит/с за время 10 мс можно передать 5000 байт, а при скорости 16 Мбит/с — 20000 байт. Максимальные размеры кадра выбраны с некоторым запасом. В сетях Token Ring 16 Мбит/с используется модернизированный вариант алгоритма доступа к кольцу, называемый алгоритмом раннего освобождения токена. В соответствии с ним станция передает токен доступа следующей станции сразу же после окончания передачи последнего бита кадра, не дожидаясь возвращения по кольцу этого кадра с установленными битами А и С. В этом 101 случае пропускная способность кольца используется более эффективно, так как по кольцу одновременно продвигаются кадры нескольких станций. Тем не менее свои кадры в каждый момент времени может генерировать только одна станция — та, которая в данный момент владеет токеном. Остальные станции в это время только повторяют чужие кадры, так что принцип разделения кольца во времени сохраняется, ускоряется только процедура передачи владения кольцом. Для различных видов сообщений, передаваемых кадрами, могут назначаться различные приоритеты: от 0 (низший) до 7 (высший). Решение о приоритете конкретного кадра принимает передающая станция (протокол Token Ring получает этот параметр через межуровневые интерфейсы от протоколов верхнего уровня, например прикладного). Токен также всегда имеет некоторый уровень текущего приоритета. Станция имеет право захватить переданный ей токен только в том случае, если приоритет кадра, который она хочет передать, выше приоритета токена (или равен ему). В противном случае станция обязана передать токен следующей по кольцу станции. За наличие в сети токена, причем единственной его копии, отвечает активный монитор. Если активный монитор не получает токен в течение длительного времени (например, 2,6 с), то он порождает новый токен. Приоритетный доступ в технологии Token Ring предназначен для поддержки требований QoS приложений. Однако разработчики приложений для локальных сетей практически им не пользовались. Физический уровень технологии Token Ring Стандарт Token Ring фирмы IBM изначально предусматривал построение связей в сети с помощью концентраторов (рис. 14.2), называемых устройствами многостанционного доступа (Multi-station Access Unit, MAU, или MSAU). Сеть Token Ring может включать до 260 узлов. Использование концентраторов приводит к тому, что сети Token Ring имеют физическую топологию звезда, а логическую — кольцо. Рис. 14.2. Физическая конфигурация сети Token Ring Концентратор Token Ring может быть активным или пассивным. Пассивный концентратор просто соединяет порты внутренними связями так, чтобы станции, подключаемые к этим портам, образовали кольцо. Ни усиление сигналов, ни их ресинхронизацию пассивный концентратор не 102 выполняет. Такое MSAU-устройство можно считать простым кроссовым блоком за одним исключением — MSAU обеспечивает обход какого-либо порта, когда присоединенный к этому порту компьютер выключают. Такая функция необходима для обеспечения связности кольца вне зависимости от состояния подключенных компьютеров. Обычно обход порта выполняется за счет релейных схем, которые питаются постоянным током от сетевого адаптера, а при выключении сетевого адаптера нормально замкнутые контакты реле соединяют вход порта с его выходом. Активный концентратор выполняет функции регенерации сигналов и поэтому его можно назвать повторителем. Возникает вопрос — если концентратор является пассивным устройством, то каким образом обеспечивается качественная передача сигналов на большие расстояния, которые возникают при включении в сеть нескольких сот компьютеров? Ответ состоит в том, что роль усилителя сигналов в этом случае берет на себя каждый сетевой адаптер, а роль синхронизирующего блока — сетевой адаптер активного монитора кольца. Каждый сетевой адаптер Token Ring имеет блок повторения, который умеет регенерировать и синхронизировать сигналы, однако последнюю функцию выполняет в кольце только блок повторения активного монитора. В общем случае сеть Token Ring имеет комбинированную звездно-кольцевую конфигурацию. Конечные узлы подключаются к MSAU-устройствам по топологии звезды, а сами концентраторы объединяются через специальные порты Ring In (RI) и Ring Out (RO), образуя магистральное физическое кольцо. Технология Token Ring позволяет использовать для соединения конечных станций и концентраторов различные типы кабеля: STP типа 1, UTP типа 3, UTP типа 6, а также волоконнооптический кабель. При использовании экранированной витой пары STP типа 1 из номенклатуры кабельной системы IBM в кольцо допускается объединять до 260 станций при длине ответвительных кабелей до 100 метров, а при использовании неэкранированной витой пары максимальное количество станций сокращается до 72 при длине ответвительных кабелей до 45 метров. Расстояние между пассивными концентраторами может достигать 100 м при использовании кабеля STP типа 1 и 45 м при использовании кабеля UTP типа 3. Между активными концентраторами максимальное расстояние увеличивается соответственно до 730 или 365 м в зависимости от типа кабеля. Максимальная длина кольца Token Ring составляет 4000 м. Примечание. Ограничения на максимальную длину кольца и количество станций в кольце в технологии Token Ring не являются такими жесткими, как в технологии Ethernet. Здесь эти ограничения во многом связаны со временем оборота токена по кольцу. Есть и другие соображения, диктующие выбор ограничений. Так, если кольцо состоит из 260 станций, то при времени удержания токена в 10 мс токен вернется в активный монитор в худшем случае через 2,6 с, а это время как раз составляет тайм-аут контроля оборота токена. В принципе, все значения тайм-аутов в сетевых адаптерах узлов сети Token Ring можно настраивать, поэтому можно построить сеть Token Ring с большим количеством станций и с большей длиной кольца. Технология FDDI Список ключевых слов: сквозной, или транзитный, режим, уровень администрирования станции, двойное подключение к кольцу, одиночное подключение к кольцу, двухпортовое подключение к кольцу. Технология FDDI (Fiber Distributed Data Interface — распределенный интерфейс передачи данных по оптоволокну) — это первая технология локальных сетей, в которой в качестве среды передачи данных стал применяться волоконно-оптический кабель. Работы по созданию технологий и устройств локальных сетей, использующих волоконно-оптические каналы, начались в 80-е годы, вскоре после начала промышленной эксплуатации подобных каналов в территориальных сетях. Проблемная группа Х3Т9.5 института ANSI разработала в период с 1986 по 1988 гг. начальные версии стандарта FDDI, который описывает передачу кадров со скоростью 100 Мбит/с по двойному волоконно-оптическому кольцу длиной до 100 км. 103 Основные характеристики технологии FDDI Технология FDDI во многом основывается на технологии Token Ring, развивая и совершенствуя ее основные идеи. Разработчики технологии FDDI ставили перед собой следующие цели:  повысить битовую скорость передачи данных до 100 Мбит/с;  повысить отказоустойчивость сети за счет стандартных процедур восстановления ее после отказов различного рода — повреждения кабеля, некорректной работы узла, концентратора, возникновения высокого уровня помех на линии и т. п.;  максимально эффективно использовать потенциальную пропускную способность сети как для асинхронного, так и для синхронного (чувствительного к задержкам) трафиков. Сеть FDDI строится на основе двух оптоволоконных колец, которые образуют основной и резервный пути передачи данных между узлами сети. Наличие двух колец — это основное средство повышения отказоустойчивости в сети FDDI. Узлы, которые хотят воспользоваться этим повышенным потенциалом надежности, должны быть подключены к обоим кольцам. В технологии FDDI для передачи световых сигналов по оптическим волокнам реализовано кодирование 4В/5В в сочетании с кодированием NRZI. Эта схема приводит к передаче по линии связи сигналов с тактовой частотой 125 МГц. В нормальном режиме работы сети данные проходят через все узлы и все участки кабеля только первичного кольца, этот режим назван сквозным, или транзитным. Вторичное кольцо в этом режиме не используется. В случае какого-либо вида отказа, когда часть первичного кольца не может передавать данные (например, обрыв кабеля или отказ узла), первичное кольцо объединяется со вторичным (рис. 14.3), вновь образуя единое кольцо. Этот режим работы сети называется режимом свертывания колец. Операция свертывания производится средствами концентраторов и/или сетевых адаптеров FDDI. Для упрощения этой процедуры данные по первичному кольцу всегда передаются в одном направлении (на диаграммах это направление изображается против часовой стрелки), а по вторичному — в обратном (изображается по часовой стрелке). Поэтому при образовании общего кольца из двух колец передатчики станций по-прежнему остаются подключенными к приемникам соседних станций, что позволяет правильно передавать и принимать информацию соседними станциями. Рис. 14.3. Реконфигурация колец FDDI при отказе В стандартах FDDI много внимания отводится различным процедурам, которые 104 позволяют определить наличие отказа в сети, а затем произвести необходимую реконфигурацию. Технология FDDI дополняет механизмы обнаружения отказов технологии Token Ring механизмами реконфигурирования пути передачи данных в сети, основанными на наличии резервных связей, которые предоставляет второе кольцо. Сеть FDDI может полностью восстанавливать свою работоспособность в случае единичных отказов ее элементов. При множественных отказах сеть распадается на несколько не связанных сетей. Кольца в сетях FDDI рассматриваются как общая разделяемая среда передачи данных. Метод доступа к этой среде очень близок к методу доступа сетей Token Ring. Станции FDDI применяют алгоритм раннего освобождения токена, как и сети Token Ring 16 Мбит/с. Отличия в методах доступа заключаются в следующем:  Время удержания токена в сети FDDI не является постоянной величиной, как в сети Token Ring. Это время зависит от загрузки кольца — при небольшой загрузке оно растет, а при перегрузках может снижаться до нуля. Однако эти изменения касаются только асинхронного трафика, который не критичен к небольшим задержкам передачи кадров. Для синхронного трафика время удержания токена по-прежнему остается фиксированной величиной.  Механизм приоритетов кадров, принятый в Token Ring, в технологии FDDI отсутствует. Разработчики технологии решили, что деление трафика на 8 уровней приоритетов избыточно, достаточно разделить трафик на два класса — асинхронный и синхронный, последний из которых обслуживается всегда, даже при перегрузках кольца. В остальном пересылка кадров между станциями кольца на уровне MAC полностью соответствует технологии Token Ring. Рисунок 14.4 иллюстрирует соответствие стека протоколов технологии FDDI семиуровневой модели OSI. FDDI определяет протокол физического уровня и протокол подуровня доступа к среде (MAC) канального уровня. Как и во многих других технологиях локальных сетей, в технологии FDDI используется протокол подуровня управления логическим каналом LLC. Рис. 14.4. Стек протоколов технологии FDDI Специфической особенностью технологии FDDI является уровень администрирования станции (Station ManagemenT, SMT). Именно уровень SMT выполняет все функции по администрированию и мониторингу всех остальных уровней стека протоколов FDDI. В управлении кольцом принимает участие каждый узел сети FDDI. Поэтому все узлы обмениваются специальными SMT-кадрами для управления сетью. Отказоустойчивость сетей FDDI обеспечивается протоколами и других уровней: с помощью физического уровня устраняются отказы сети по физическим причинам, например из-за обрыва кабеля, а с помощью уровня MAC — логические отказы сети, например потеря нужного внутреннего пути передачи токена и кадров данных между портами концентратора. 105 Отказоустойчивость технологии FDDI Как уже отмечалось, для обеспечения отказоустойчивости в стандарте FDDI предусмотрено создание двух оптоволоконных колец — первичного и вторичного. В стандарте FDDI определены два типа конечных узлов — станции и концентраторы. Для подключения станций и концентраторов к сети может быть использован один из двух возможных способов.  Двойное подключение (Dual Attachment, DA) — одновременное подключение к первичному и вторичному кольцам; станция и концентратор, подключенные таким способом, называются соответственно станцией двойного подключения (Dual Attachment Station, DAS) и концентратором двойного подключения (Dual Attachment Concentrator, DAC).  Одиночное подключение (Single Attachment, SA) — подключение только к первичному кольцу; станция и концентратор, подключенные данным способом, называются соответственно станцией одиночного подключения (Single Attachment Station, SAS) и концентратором одиночного подключения (Single Attachment Concentrator, SAC). Обычно, хотя и не обязательно, концентраторы имеют двойное подключение, а станции — одиночное, как показано на рис. 14.5. Чтобы устройства легче было правильно присоединять к сети, их разъемы маркируются. Разъемы типа А и В должны быть у устройств с двойным подключением; разъем М (Master) имеется у концентратора для одиночного подключения станции, у которой ответный разъем должен иметь тип S (Slave). В случае однократного обрыва кабеля между устройствами с двойным подключением сеть FDDI сможет продолжить нормальную работу за счет автоматической реконфигурации внутренних путей передачи кадров между портами концентратора (рис. 14.6). Двукратный обрыв кабеля приведет к образованию двух изолированных сетей FDDI. При обрыве кабеля, идущего к станции с одиночным подключением, она оказывается отрезанной от сети, а кольцо продолжает работать за счет реконфигурации внутреннего пути в концентраторе — порт М, к которому была подключена данная станция, исключается из общего пути. 106 Рис. 14.5. Подключение узлов к кольцам FDDI Рис. 14.6. Реконфигурация сети FDDI при обрыве Для сохранения работоспособности сети при отключении питания в станции с двойным подключением (например, просто при ее выключении) она должна быть оснащена оптическим обходным переключателем, который создаст резервный путь для световых потоков. И, наконец, станции DAS или концентраторы DAC можно подключать к двум портам М одного или двух концентраторов, создавая древовидную структуру с основными и резервными связями. По умолчанию порт В поддерживает основную связь, а порт А — резервную. Такая конфигурация называется двухпортовым подключением. Отказоустойчивость поддерживается за счет постоянного слежения концентраторов и станций уровня SMT за временными интервалами циркуляции токена и кадров, а также за наличием физического соединения между соседними портами в сети. В сети FDDI нет выделенного активного монитора — все станции и концентраторы равноправны, и при обнаружении отклонений от нормы они начинают процесс повторной инициализации сети, а затем и ее реконфигурации. Реконфигурация внутренних путей в концентраторах и сетевых адаптерах выполняется специальными оптическими переключателями, которые перенаправляют световой луч и имеют достаточно сложную конструкцию. Максимальная общая длина кольца FDDI составляет 100 километров, максимальное число станций с двойным подключением в кольце — 500. Технология FDDI разрабатывалась для ответственных участков сетей — на магистральных соединениях между крупными сетями, например сетями зданий, а также для подключения к сети высокопроизводительных серверов. Поэтому главным для разработчиков было обеспечить высокую скорость передачи данных, отказоустойчивость на уровне протокола и большие расстояния между узлами сети. Все эти цели были достигнуты. В результате технология FDDI получилась качественной, но весьма дорогой. Даже появление более дешевого варианта для витой 107 пары не намного снизило стоимость подключения одного узла к сети FDDI. Основной областью применения технологии FDDI стали магистрали сетей, состоящих из нескольких зданий, а также сети масштаба крупного города, то есть класса MAN. Беспроводные локальные сети Список ключевых слов: скрытый терминал, методы опроса, спецификации 802.11, 802.11а, 802.11b, 802.11g, сеть с базовым набором услуг, точка доступа, служба распределенной системы, сеть с расширенным набором услуг, распределенный режим DCF, централизованный режим PCF, конкурентное окно, таймер отсрочки, межкадровые интервалы SIFS, PIFS и DIFS, контролируемый период, протокол WEP. Беспроводные локальные сети сегодня рассматриваются как дополнение к проводным сетям, а не как конкурентное решение. Отношение к беспроводным локальным сетям не всегда было таковым, в середине 90-х было популярно мнение, в соответствии с которым все большее число локальных сетей будет переходить на беспроводные технологии. Преимущество беспроводных локальных сетей очевидно — их проще и дешевле разворачивать и модифицировать, так как вся громоздкая кабельная инфраструктура оказывается излишней. Еще одно преимущество — обеспечение мобильности пользователей. Однако за эти преимущества беспроводные сети расплачиваются большим перечнем проблем, которые несет с собой неустойчивая и непредсказуемая беспроводная среда. Мы уже рассматривали особенности распространения сигналов в такой среде в главе 10. Помехи от разнообразных бытовых приборов и других телекоммуникационных систем, атмосферные помехи и отражения сигнала создают большие трудности для надежного приема информации. Локальные сети — это, прежде всего, сети зданий, а распространение радиосигнала внутри здания еще сложнее, чем вне его. В стандарте IEEE 802.11 приводится изображение распределения интенсивности сигнала (рис. 14.7). В стандарте подчеркивается, что это статическое изображение, в действительности картина является динамической, и при перемещении объектов в комнате распределение сигнала может существенно измениться. Методы расширения спектра помогают снизить влияние помех на полезный сигнал, кроме того, в беспроводных сетях широко используются прямая коррекция ошибок (Forward Error Control, FEC) и протоколы с повторной передачей потерянных кадров. Тем не менее практика показала, что в тех случаях, когда ничего не мешает применению проводной локальной сети, организации предпочитают именно этот вид LAN, несмотря на то, что при этом нельзя обойтись без кабельной системы. Рис. 14.7. Распределение интенсивности радиосигнала 108 Неравномерное распределение интенсивности сигнала приводит не только к битовым ошибкам передаваемой информации, но и к неопределенности зоны покрытия беспроводной локальной сети. В проводных локальных сетях такой проблемы нет, те и только те устройства, которые подключены к кабельной системе здания или кампуса, получают сигналы и участвуют в работе LAN. Беспроводная локальная сеть не имеет точной области покрытия. Часто используемое изображение такой области в форме шестиугольника или круга является не чем иным, как абстракцией. В действительности, сигнал может быть настолько ослаблен, что устройства, находящиеся в предполагаемых пределах зоны покрытия, вообще не могут принимать и передавать информацию. Рисунок 14.7 хорошо иллюстрирует такую ситуацию. Подчеркнем, что с течением времени ситуация с распределением сигнала может измениться и состав LAN также изменится. По этой причине даже технологии, рассчитанные на фиксированные (не мобильные) узлы сети, должны учитывать то, что беспроводная локальная сеть является неполносвязной. Даже если считать, что сигнал распространяется идеально во все стороны, образованию полносвязной топологии может мешать то, что радиосигнал затухает пропорционально квадрату расстояния от источника. Поэтому при отсутствии базовой станции некоторые пары узлов не смогут взаимодействовать из-за того, что расположены за пределами зоны покрытия передатчиков партнера. В примере на рис. 14.8, а показана такая фрагментированная локальная сеть. Неполносвязность беспроводной сети порождает проблему доступа к разделяемой среде, известную под названием скрытого терминала. Проблема возникает в том случае, когда два узла находятся вне зон досягаемости друг друга (узлы А и С на рис. 14.8, а), но существует третий узел В, который принимает сигналы как от А, так и от С. Предположим, что в радиосети используется традиционный метод доступа, основанный на прослушивании несущей, например CSMA/CD. В данном случае коллизии будут возникать значительно чаще, чем в проводных сетях. Пусть, например, узел В занят обменом с узлом А. Узлу С сложно определить, что среда занята, он может посчитать ее свободной и начать передавать свой кадр. В результате сигналы в районе узла В будут искажены, то есть произойдет коллизия, вероятность возникновения которой в проводной сети была бы неизмеримо ниже. Рис. 14.8. Связность беспроводной локальной сети: а — специализированная беспроводная сеть, б — беспроводная сеть с базовой станцией 109 Распознавание коллизий затруднено в радиосети еще и потому, что сигнал собственного передатчика существенно подавляет сигнал от удаленного передатчика и распознать искажение сигнала чаще всего невозможно. В методах доступа в беспроводных сетях не только отказываются от прослушивания несущей, но и от распознавания коллизий. Вместо этого в них используют методы предотвращения коллизий, в том числе и методы опроса. Применение базовой станции может улучшить связность сети (рис. 14.8, б). Базовая станция обычно обладает большей мощностью, а ее антенна устанавливается так, чтобы более равномерно и беспрепятственно покрывать нужную территорию. В результате все узлы беспроводной локальной сети получают возможность обмениваться данными с базовой станцией, которая транзитом передает данные между узлами. Беспроводные локальные сети считаются перспективными для таких применений, в которых сложно или невозможно использовать проводные сети. Ниже перечислены основные области применения беспроводных локальных сетей.  Резидентный доступ альтернативных операторов связи, у которых нет проводного доступа к клиентам, проживающим в многоквартирных домах.  Так называемый «кочевой» доступ в аэропортах, железнодорожных вокзалах и т. п.  Организация локальных сетей в зданиях, где нет возможности установить современную кабельную систему, например, в исторических зданиях с оригинальным интерьером.  Организация временных локальных сетей, например, при проведении конференций.  Расширения локальных сетей. Иногда одно здание предприятия, например испытательная лаборатория или цех, может быть расположено изолированно от других. Небольшое число рабочих мест в таком здании делает крайне невыгодным прокладку к нему отдельного кабеля, поэтому беспроводная связь оказывается более рациональным вариантом.  Мобильные локальные сети. Если пользователь хочет пользоваться услугами сети, перемещаясь из помещения в помещение или из здания в здание, то здесь конкурентов у беспроводной локальной сети просто нет. Классическим примером такого пользователя является врач, совершающий обход и пользующийся своим ноутбуком для связи с базой данных больницы. Пока что мобильные локальные сети не претендуют на полное покрытие крупных территорий, как это сделали мобильные сотовые телефонные сети, но перспективы такого развития имеются. В области построения территориальных сотовых мобильных сетей передачи данных технологиям беспроводных локальных сетей предстоит выдержать конкуренцию с мобильными сотовыми сетями третьего поколения. Мобильные сотовые сети второго поколения не представляют собой серьезных конкурентов, так как они разрабатывались в первую очередь для передачи голоса, их возможности по передаче данных ограничиваются скоростями в несколько килобит в секунду, в то время как беспроводные локальные сети обеспечивают скорости в несколько десятков мегабит в секунду. Однако в системах третьего поколения скорость передачи данных будет находиться в диапазоне от 144 Кбит/с до 2 Мбит/с (скорость 2 Мбит/с обеспечивается на небольших расстояниях от базовой станции). Так что конкуренция может оказаться жесткой. Далее будет рассмотрен самый популярный стандарт беспроводных локальных сетей — IEEE 802.11. Заметим, что в этой области существуют и другие стандарты (в частности, институт ETSI разработал стандарт HIPERLAN 1), однако большинство производителей выпускают оборудование в соответствии со спецификациями IEEE 802.11. Стек протоколов IEEE 802.11 Естественно, что стек протоколов стандарта IEEE 802.11 соответствует общей структуре стандартов комитета 802, то есть состоит из физического уровня и уровня MAC, над которыми работает уровень LLC. Как и у всех технологий семейства 802, технология 802.11 определяется нижними двумя уровнями, то есть физическим уровнем и уровнем MAC, а уровень LLC выполняет свои стандартные общие для всех технологий LAN функции. Так как искажения кадров 110 в беспроводной среде более вероятны, чем в проводной, уровень LLC должен, скорее всего, использоваться в режиме LLC2. Но это уже не зависит от технологии 802.11, режим работы уровня LLC выбирается протоколами верхних уровней. Структура стека протоколов IEEE 802.11 показана на рис. 14.9. Рис. 14.9. Стек протоколов IEEE 802.11 На физическом уровне существует несколько вариантов спецификаций, которые отличаются используемым частотным диапазоном, методом кодирования и как следствие — скоростью передачи данных. Все варианты физического уровня работают с одним и тем же алгоритмом уровня MAC, но некоторые временные параметры уровня MAC зависят от используемого физического уровня. В 1997 году комитетом 802.11 был принят стандарт, который определял функции уровня MAC вместе с тремя вариантами физического уровня, которые обеспечивают передачу данных со скоростями 1 и 2 Мбит/с.  В первом варианте средой являются инфракрасные волны диапазона 850 нм, которые генерируются либо полупроводниковым лазерным диодом, либо светодиодом (LED). Так как инфракрасные волны не проникают через стены, область покрытия LAN ограничивается зоной прямой видимости. Стандарт предусматривает три варианта распространения излучения: ненаправленную антенну, отражение от потолка и фокусное направленное излучение. В первом случае узкий луч рассеивается с помощью системы линз. Фокусное направленное излучение предназначено для организации двухточечной связи, например, между двумя зданиями.  Во втором варианте в качестве передающей среды используется микроволновый диапазон 2,4 ГГц, который в соответствии с рекомендациями ITU в большинстве стран не лицензируется. Этот вариант основан на методе FHSS (см. главу 10). В методе FHSS каждый узкий канал имеет ширину 1 МГц. Частотная манипуляция (FSK) с двумя состояниями сигнала (частотами) дает скорость 1 Мбит/с, с четырьмя состояниями — 2 Мбит/с. В случае FHSS сеть может состоять из сот, причем для исключения взаимного влияния в соседних сотах могут применяться ортогональные последовательности частот. Количество каналов и частота переключения между каналами настраиваются, так что при развертывании беспроводной локальной сети можно учитывать особенности регулирования спектра частот конкретной страны. Так, в США в диапазоне 2,4 ГГц может быть до 79 каналов, причем максимальное время нахождения на каждом канале не должно превышать 400 мс.  Третий вариант, в котором используется тот же микроволновый диапазон, основан на методе DSSS, где в качестве последовательности чипов применяется 11-битный код 10110111000. 111 Каждый бит кодируется путем двоичной фазовой (1 Мбит/с) или квадратурной фазовой (2 Мбит/с) манипуляции. В 1999 году были приняты еще два варианта физического уровня: 802.11а и 802.11b.  Спецификация 802.11а обеспечивает повышение скорости за счет более высокого диапазона частот (5 ГГц). Для этого задействуются 300 МГц из этого диапазона, ортогональное частотное мультиплексирование (OFDM) и прямая коррекция ошибок (FEC). Скорости передачи данных составляют 6, 9, 12, 18, 24, 36, 48 и 54 Мбит/с. Диапазон 5 ГГц спецификации 802.11а пока мало «населен» и обеспечивает высокие скорости передачи данных. Однако его использование связано с двумя проблемами. Во-первых, оборудование для этих частот пока еще слишком дорогое, во-вторых, в некоторых странах частоты этого диапазона подлежат лицензированию.  В спецификации 802.11b института IEEE по-прежнему используется диапазон 2,4 ГГц, что позволяет задействовать более дешевое оборудование. Для повышения скорости до 11 Мбит/с, которая сопоставима со скоростью классического стандарта Ethernet, здесь применяется более эффективный метод DSSS, использующий технику Complementary Code Keying (CCK). Еще один стандарт для физического уровня разработан группой 802.11g института IEEE летом 2003 года. В нем также задействован диапазон 2,4 ГГц, но со скоростью передачи данных до 54 Мбит/с. В этой спецификации используется ортогональное частотное мультиплексирование (OFDM). До недавнего времени в США в диапазоне 2,4 ГГц разрешалось работать только за счет расширения спектра. Снятие этого ограничения дало импульс новым разработкам, в результате появилась новая высокоскоростная беспроводная технология. Для обратной совместимости с 802.11b поддерживается также техника ССК. Диаметр сети 802.11 зависит от многих параметров, в том числе и от диапазона частот. Обычно диаметр беспроводной локальной сети находится в пределах от 100 до 300 м. Уровень MAC выполняет в беспроводных сетях больше функций, чем в проводных сетях. Функции уровня MAC в стандарте 802.11 включают:  доступ к разделяемой среде;  обеспечение мобильности станций при наличии нескольких базовых станций;  обеспечение безопасности, эквивалентной безопасности проводных локальных сетей. Топологии локальных сетей стандарта 802.11 Станции могут использовать разделяемую среду для того, чтобы передавать данные:  непосредственно друг другу в пределах одной BSS-сети;  в пределах одной BSS-сети транзитом через точку доступа;  между разными BSS-сетями через две точки доступа и распределенную систему;  между BSS-сетью и проводной локальной сетью через точку доступа, распределенную систему и портал (функции портала стандартом не детализируются, это может быть коммутатор или маршрутизатор). Стандарт 802.11 поддерживает два типа топологий локальных сетей: с базовым и с расширенным наборами услуг. Сеть с базовым набором услуг (Basic Service Set, BSS) образуется отдельными станциями, базовая станция отсутствует, узлы взаимодействуют друг с другом непосредственно (рис. 14. 10). Для того чтобы войти в BSS-сеть, станция должна выполнить процедуру присоединения. 112 Рис. 14.10. Сети с базовым набором услуг BSS-сети не являются традиционными сотами в отношении зон покрытия, они могут находиться друг от друга на значительном расстоянии, а могут частично или полностью перекрываться — стандарт 802.11 оставляет здесь свободу для проектировщика сети. В сетях, обладающих инфраструктурой, некоторые станции сети являются базовыми, или, в терминологии 802.11, точками доступа (Access Point, АР). Станция, которая выполняет функции АР, является членом какой-нибудь BSS-сети (рис. 14.11). Все базовые станции сети связаны между собой с помощью распределенной системы (Distribution System, DS), в качестве которой может использоваться та же среда (то есть радио- или инфракрасные волны), что и для взаимодействия между станциями, или же отличная от нее, например проводная. Точки доступа вместе с распределенной системой поддерживают службу распределенной системы (Distribution System Service, DSS). Задачей DSS является передача пакетов между станциями, которые по каким-то причинам не могут или не хотят взаимодействовать между собой непосредственно. Наиболее очевидной причиной использования DSS является принадлежность станций разным BSS-сетям. В этом случае они передают кадр своей точке доступа, которая через DS передает его точке доступа, обслуживающей BSS-сеть со станцией назначения. Рис. 14.11. Сеть с расширенным набором услуг Сеть с расширенным набором услуг (Extended Service Set, ESS) состоит из нескольких BSS-сетей, объединенных распределенной средой. 113 ESS-сеть обеспечивает станциям мобильность — они могут переходить из одной BSS-сети в другую. Эти перемещения обеспечиваются функциями уровня MAC рабочих и базовых станций, поэтому они совершенно прозрачны для уровня LLC. ESS-сеть может также взаимодействоиать с проводной локальной сетью. Для этого в распределенной системе должен присутствовать портал. Распределенный режим доступа DCF В сетях 802.11 уровень MAC обеспечивает два режима доступа к разделяемой среде (см. рис. 14.9): распределенный режим DCF (Distributed Coordination Function) и централизованный режим PCF (Point Coordination Function). Рассмотрим сначала, как обеспечивается доступ в распределенном режиме DCF. В этом режиме реализуется хорошо известный нам метод CSMA/CA. Вместо неэффективного в беспроводных сетях прямого распознавания коллизий по методу CSMA/CD, здесь используется их косвенное выявление. Для этого каждый переданный кадр должен подтверждаться кадром положительной квитанции, посылаемым станцией назначения. Если же по истечении оговоренного тайм-аута квитанция не поступает, станция-отправитель считает, что произошла коллизия. Режим доступа DCF требует синхронизации станций. В спецификации 802.11 эта проблема решается достаточно элегантно — временные интервалы начинают отсчитываться от момента окончания передачи очередного кадра (рис. 14.12). Это не требует передачи каких-либо специальных синхронизирующих сигналов и не ограничивает размер пакета размером слота, так как слоты принимаются во внимание только при принятии решения о начале передачи кадра. Рис. 14.12. Режим доступа DCF Станция, которая хочет передать кадр, обязана предварительно прослушать среду. Как только она фиксирует окончание передачи кадра, она обязана отсчитать интервал времени, равный межкадровому интервалу (IFS). Если после истечения IFS среда все еще свободна, то начинается отсчет слотов фиксированной длительности. Кадр можно начать передавать только в начале какого-либо из слотов при условии, что среда свободна. Станция выбирает для передачи слот на основании усеченного экспоненциального двоичного алгоритма отсрочки, аналогичного используемому в методе CSMA/CD. Номер слота выбирается как случайное целое число, равномерно распределенное в интервале [0, CW], где CW означает Contention Window (конкурентное окно). О том, как выбирается размер слота и величина конкурентного окна, будет сказано немного позже. А сейчас рассмотрим этот довольно непростой метод доступа на примере (см. рис. 14.12). Пусть станция А выбрала для передачи на основании усеченного экспоненциального двоичного алгоритма отсрочки слот 3. При этом она присваивает таймеру отсрочки (назначение которого 114 будет ясно из дальнейшего описания) значение 3 и начинает проверять состояние среды в начале каждого слота. Если среда свободна, то из значения таймера отсрочки вычитается 1, и если результат равен нулю, то начинается передача кадра. Таким образом, обеспечивается условие незанятости всех слотов, включая выбранный. Это условие является необходимым для начала передачи. Если же в начале какого-нибудь слота среда оказывается занятой, то вычитания единицы не происходит, и таймер «замораживается». В этом случае станция начинает новый цикл доступа к среде, изменяя только алгоритм выбора слота для передачи. Как и в предыдущем цикле, станция следит за средой и при ее освобождении делает паузу в течение межкадрового интервала. Если среда осталась свободной, то станция использует значение «замороженного» таймера в качестве номера слота и выполняет описанную выше процедуру проверки свободных слотов с вычитанием единиц, начиная с замороженного значения таймера отсрочки. Размер слота зависит от способа кодирования сигнала; так, для метода FHSS размер слота равен 28 мкс, а для метода DSSS — 1 мкс. Размер слота выбирается таким образом, чтобы он превосходил время распространения сигнала между любыми двумя станциями сети плюс время, затрачиваемое станцией на распознавание занятости среды. Если такое условие соблюдается, то каждая станция сети сумеет правильно распознать начало передачи кадра при прослушивании слотов, предшествующих выбранному ею для передачи слоту. Это, в свою очередь, означает следующее. Коллизия может случиться только в том случае, когда несколько станций выбирают один и тот же слот для передачи. В этом случае кадры искажаются, и квитанции от станций назначения не приходят. Не получив в течение определенного времени квитанцию, отправители фиксируют факт коллизии и пытаются передать свои кадры снова. При каждой повторной неудачной попытке передачи кадра интервал [0, CW], из которого выбирается номер слота, удваивается. Если, например, начальный размер окна выбран равным 8 (то есть CW = 7), то после первой коллизии размер окна должен быть равен 16 (CW = 15), после второй последовательной коллизии — 32 и т. д. Начальное значение CW в соответствии со стандартом 802.11 должно выбираться в зависимости от типа физического уровня, используемого в беспроводной локальной сети. Как и в методе CSMA/CD, в данном методе количество неудачных попыток передачи одного кадра ограничено, но стандарт 802.11 не дает точного значения этого верхнего предела. Когда верхний предел в N попыток достигнут, то кадр отбрасывается, а счетчик последовательных коллизий устанавливается в нуль. Этот счетчик также устанавливается в нуль, если кадр после некоторого количества неудачных попыток все же передается успешно. В режиме доступа DFC применяются меры для устранения эффекта скрытого терминала. Для этого станция, которая хочет захватить среду и в соответствии с описанным алгоритмом начинает передачу кадра в определенном слоте, вместо кадра данных сначала посылает станции назначения короткий служебный кадр RTS (Request To Send — запрос на передачу). На этот запрос станция назначения должна ответить служебным кадром CTS (Clear To Send — свободна для передачи), после чего станция-отправитель посылает кадр данных. Кадр CTS должен оповестить о захвате среды те станции, которые находятся вне зоны сигнала станции-отправителя, но в зоне досягаемости станции-получателя, то есть являются скрытыми терминалами для станцииотправителя. Примечание. Максимальная длина кадра данных 802.11 равна 2346 байт, длина RTS-кадра — 20 байт, CTS-кадра — 14 байт. Так как RTS- и CTS-кадры гораздо короче, чем кадр данных, то потери данных в результате коллизии RTS- или CTS-кадров гораздо меньше, чем при коллизии кадров данных. Процедура обмена RTS- и CTS-кадрами не обязательна. От нее можно отказаться при небольшой нагрузке сети, поскольку в такой ситуации коллизии случаются редко, а значит, не стоит тратить дополнительное время на выполнение процедуры обмена RTS- и CTS-кадрами. 115 14. Технологии Fast Ethernet и 100VG-AnyLAN Классическая 10-мегабитная сеть Ethernet устраивала большинство пользователей на протяжении около 15 лет. Однако в начале 90-х годов начала ощущаться ее недостаточная пропускная способность. Скорость обмена с сетью в 10 Мбит/с стала существенно меньше скорости внутренней шины компьютера, которая к тому времени превысила порог 1000 Мбит/с (шина PCI обеспечивала передачу данных со скоростью 133 Мбайт/с). Это приводило к замедлению работы в сети не только серверов, но и рабочих станций, которые также стали использовать шину PCI. Назрела необходимость в разработке «новой» технологии Ethernet, то есть технологии, которая была бы такой же эффективной по соотношению цена/качество при производительности 100 Мбит/с. В результате поисков и исследований специалисты разделились на два лагеря, что, в конце концов, привело к появлению двух новых технологий — Fast Ethernet и 100VG-AnyLAN. В результате «выжила» только технология Fast Ethernet, сохранившая больше свойств классического стандарта Ethernet, в том числе метод доступа CSMA/CD. Успех Fast Ethernet еще больше повысил интерес к высокоскоростным вариантам Ethernet. Следующий вариант — Gigabit Ethernet — был стандартизован через три года. Он также отличается высокой степенью преемственности с Ethernet 10 Мбит/с, сохранив возможность работы на разделяемой среде с применением метода CSMA/CD. Однако последний вариант Ethernet — 10G Ethernet — уже существенно отличается от своего прародителя: в частности, он не поддерживает разделяемую среду. Поэтому в данной главе мы рассматриваем только технологии Fast Ethernet и Gigabit Ethernet, а технология 10G Ethernet рассматривается в главе 15 вместе с другими технологиями, работающими в дуплексном режиме и позволяющими строить коммутируемые локальные сети. Технология Fast Ethernet Список ключевых слов: приоритетный доступ по требованию, спецификации 100Base-TX, 100Base-T4 и 100Base-FX, независимый от среды интерфейс, уровень согласования, устройство физического уровня, схема автопереговоров, импульсы FLP, повторители класса I и класса II, правило одного или двух хабов, технология 100VG-AnyLAN. История стандартизации В 1992 году группа производителей сетевого оборудования, включая таких лидеров технологии Ethernet, как SynOptics, 3Com и ряд других, образовала некоммерческое объединение Fast Ethernet Alliance для разработки стандарта новой технологии, которая должна была обеспечить резкое повышение производительности при максимально возможном сохранении особенностей технологии Ethernet. В комитете 802 института IEEE в это же время была сформирована исследовательская группа для изучения технического потенциала новых высокоскоростных технологий. За период с конца 1992 года и по конец 1993 года группа IEEE изучила 100-мегабитные решения, предложенные различными производителями. Наряду с предложениями Fast Ethernet Alliance группа рассмотрела также и высокоскоростную технологию, предложенную компаниями Hewlett-Packard и AT&T. Обсуждалась проблема сохранения метода случайного доступа CSMA/CD. Предложение Fast Ethernet Alliance сохраняло этот метод и тем самым обеспечивало преемственность и согласованность сетей 10 Мбит/с и 100 Мбит/с. Коалиция HP и AT&T, которая имела поддержку значительно меньшего числа производителей в сетевой индустрии, чем Fast Ethernet Alliance, предложила совершенно новый метод доступа, названный приоритетным доступом по требованию (demand priority). Он существенно менял картину поведения узлов в сети, поэтому не смог вписаться в технологию Ethernet и стандарт 802.3, и для его стандартизации был организован новый комитет IEEE 802.12. Осенью 1995 года обе технологии стали стандартами IEEE. Комитет IEEE 802.3 принял спецификацию Fast Ethernet в качестве стандарта 802.3u, который не является самостоятельным 116 стандартом, а представляет собой дополнение к существующему стандарту 802.3 в виде глав с 21 по 30. Комитет 802.12 принял технологию 100VG-AnyLAN, которая использовала принципиально новый метод доступа Demand Priority и поддерживала кадры двух форматов — Ethernet и Token Ring. Физический уровень технологии Fast Ethernet Все отличия технологий Fast Ethernet и Ethernet сосредоточены на физическом уровне (рис. 7.1). Уровни MAC и LLC в Fast Ethernet остались абсолютно теми же, и их описывают прежние главы стандартов 802.3 и 802.2. Поэтому, рассматривая технологию Fast Ethernet, мы будем изучать только несколько вариантов ее физического уровня. Рис. 7.1. Отличия технологий Fast Ethernet и Ethernet Организация физического уровня технологии Fast Ethernet является более сложной, поскольку в ней используются три варианта кабельных систем:  волоконно-оптический многомодовый кабель (два волокна);  витая пара категории 5 (две пары);  витая пара категории 3 (четыре пары). Коаксиальный кабель, давший миру первую сеть Ethernet, в число разрешенных сред передачи данных новой технологии Fast Ethernet не попал. Это общая тенденция многих новых технологий, поскольку на небольших расстояниях витая пара категории 5 позволяет передавать данные с той же скоростью, что и коаксиальный кабель, но сеть получается более дешевой и удобной в эксплуатации. На больших расстояниях оптическое волокно обладает гораздо более широкой полосой пропускания, чем коаксиал, а стоимость сети получается ненамного выше, 117 особенно если учесть высокие затраты на поиск и устранение неисправностей в крупной кабельной коаксиальной системе. Сети Fast Ethernet на разделяемой среде подобно сетям 10Base-T/10Base-F имеют иерархическую древовидную структуру, построенную на концентраторах. Основным отличием конфигураций сетей Fast Ethernet является сокращение диаметра сети примерно до 200 м, что объясняется сокращением времени передачи кадра минимальной длины в 10 раз за счет увеличения скорости передачи в 10 раз по сравнению с 10-мегабитной сетью Ethernet. Тем не менее это обстоятельство не очень препятствует построению крупных сетей на технологии Fast Ethernet. Дело в том, что середина 90-х годов отмечена не только широким распространением недорогих высокоскоростных технологий, но и бурным развитием локальных сетей на основе коммутаторов. При использовании коммутаторов протокол Fast Ethernet может работать в дуплексном режиме, в котором нет ограничений на общую длину сети, а остаются только ограничения на длину физических сегментов, соединяющих соседние устройства (адаптеркоммутатор и коммутатор-коммутатор). В данном разделе рассматривается классический полудуплексный вариант работы технологии Fast Ethernet. Особенности дуплексного режима Fast Ethernet описаны в главе 15. Физические варианты Fast Ethernet отличаются друг от друга в большей степени нежели варианты физической реализации Ethernet. Здесь меняется как количество проводников, так и методы кодирования. А так как физические варианты Fast Ethernet создавались одновременно, а не эволюционно, как для сетей Ethernet, то имелась возможность детально определить те подуровни физического уровня, которые не изменяются от варианта к варианту, и те подуровни, которые специфичны для каждого варианта физической среды. Официальный стандарт 802.3 установил три различных спецификации для физического уровня Fast Ethernet и дал им следующие названия (рис. 7.2):  100Base-TX для двухпарного кабеля на неэкранированной витой паре UTP категории 5 или экранированной витой паре STP типа 1;  100Base-T4 для четырехпарного кабеля на неэкранированной витой паре UTP категории 3, 4 или 5;  100Base-FX для многомодового оптоволоконного кабеля с двумя волокнами. Рис. 7.2. Структура физического уровня Fast Ethernet Для всех трех стандартов справедливы перечисленные ниже утверждения и характеристики. Форматы кадров технологии Fast Ethernet не отличаются от форматов кадров технологий 10мегабитной сети Ethernet. Межкадровый интервал равен 0,96 мкс, а битовый интервал — 10 нс. Все временные параметры алгоритма доступа (интервал отсрочки, время передачи кадра минимальной длины и т. п.), измеренные в битовых интервалах, остались прежними. Признаком свободного состояния 118 среды является передача по ней символа простоя источника — соответствующего избыточного кода (а не отсутствие сигналов, как в стандартах Ethernet 10 Мбит/с). Физический уровень включает три элемента.  Независимый от среды интерфейс (Media Independent Interface, МII).  Уровень согласования нужен для того, чтобы уровень MAC, рассчитанный на интерфейс AUI, мог работать с физическим уровнем через интерфейс МII.  Устройство физического уровня (Physical Layer Device, PHY) состоит, в свою очередь, из нескольких подуровней (см. рис. 7.1):  подуровня логического кодирования данных, преобразующего поступающие от уровня MAC байты в символы кода 4В/5В или 8В/6Т (оба кода используются в технологии Fast Ethernet);  подуровней физического присоединения и зависимости от физической среды (PMD), которые обеспечивают формирование сигналов в соответствии с методом физического кодирования, например NRZI или MLT-3;  подуровня автопереговоров, который позволяет двум взаимодействующим портам автоматически выбрать наиболее эффективный режим работы, например полудуплексный или дуплексный (этот подуровень является факультативным). Интерфейс МII поддерживает независимый от физической среды способ обмена данными между подуровнем MAC и подуровнем PHY. Этот интерфейс аналогичен по назначению интерфейсу AUI классического стандарта Ethernet за исключением того, что интерфейс АUI располагался между подуровнем физического кодирования сигнала (для любых вариантов кабеля использовался одинаковый метод физического кодирования — манчестерский код) и подуровнем физического присоединения к среде, а интерфейс МII располагается между подуровнем MAC и подуровнями кодирования сигнала, которых в стандарте Fast Ethernet три - FX, ТХ и Т4. Спецификации 100Base-FX/TX/T4 Между спецификациями 100Base-FX, 100Base-TX и 100Base-T4 есть много общего, поэтому одинаковые для спецификаций свойства будут даваться под обобщенным названием, например 100Base-FX/TX или 100Base-TX/T4. Спецификация 100Base-FX определяет работу протокола Fast Ethernet по модовому оптоволокну в полудуплексном и дуплексном режимах. В то время как в Ethernet со скоростью передачи 10 Мбит/с используется манчестерское кодирование для представления данных, в стандарте Fast Ethernet определен другой метод кодирования — 4В/5В. Мы рассмотрели детали кодирования 4В/5В в главе 9. Этот метод к моменту разработки технологии Fast Ethernet уже показал свою эффективность в сетях FDDI, поэтому он без изменений был перенесен в спецификацию 100Base-FX/TX. Напомним, что в этом методе каждые 4 бита данных подуровня MAC (называемых символами) представляются 5 битами. Избыточный бит позволяет применить потенциальные коды при представлении каждого из пяти битов в виде электрических или оптических импульсов. Существование запрещенных комбинаций символов позволяет отбраковывать ошибочные символы, что повышает устойчивость работы сетей с 100Base-FX/TX. Так, в Fast Ethernet признаком того, что среда свободна, стала повторяющаяся передача одного из запрещенных для кодирования пользовательских данных символа, а именно символа простоя источника Idle (11111). Такой способ позволяет приемнику всегда находиться в синхронизме с передатчиком. Для отделения кадра Ethernet от символов простоя источника используется комбинация символов начального ограничителя кадра — пара символов J (11000) и K (10001) кода 4В/5В, а после завершения кадра перед первым символом простоя источника вставляется символ Т (рис. 7.3). 119 Рис. 7.3. Непрерывный поток данных спецификаций 100Base-FX/TX После преобразования 4-битовых порций кодов MAC в 5-битовые порции физического уровня их необходимо представить в виде оптических или электрических сигналов в кабеле, соединяющем узлы сети. В спецификациях 100Base-FX и 100Base-TX для этого используются различные методы физического кодирования — NRZI и MLT-3 соответственно. В спецификации 100Base-TX в качестве среды передачи данных используется витая пара UTP категории 5 или STP типа 1. Основным отличием от спецификации 100Base-FX — наряду с использованием метода кодирования MLT-3 — является наличие функции автопереговоров для выбора режима работы порта. Схема автопереговоров позволяет двум физически соединенным устройствам, которые поддерживают несколько стандартов физического уровня, отличающихся битовой скоростью и количеством витых пар, согласовать наиболее выгодный режим работы. Обычно процедура автопереговоров происходит при подсоединении сетевого адаптера, который может работать на скоростях 10 и 100 Мбит/с, к концентратору или коммутатору. Всего в настоящее время определено 5 различных режимов работы, которые могут поддерживать устройства 100Base-TX/T4 на витых парах:  10Base-T;  дуплексный режим 10Base-T;  100Base-TX;  100Base-T4;  дуплексный режим 100Base-TX. Режим 10Base-T имеет самый низкий приоритет при переговорном процессе, а дуплексный режим 100Base-T4 — самый высокий. Переговорный процесс происходит при включении питания устройства, а также может быть инициирован в любой момент модулем управления устройства. Устройство, начавшее процесс автопереговоров, посылает своему партнеру пачку специальных импульсов FLP (Fast Link Pulse), в которой содержится 8-битное слово, кодирующее предлагаемый режим взаимодействия, начиная с самого приоритетного, поддерживаемого данным узлом. Если узел-партнер имеет функцию автопереговоров и также может поддерживать предложенный режим, он отвечает пачкой импульсов FLP, в которой подтверждает данный режим, и на этом переговоры заканчиваются. Если же узел-партнер не может поддерживать запрошенный режим, то он указывает в своем ответе имеющийся в его распоряжении следующий по степени приоритетности режим, и этот режим выбирается в качестве рабочего. Спецификация 100Base-T4 (витая пара UTP категории 3, четыре пары) появилась позже других спецификаций физического уровня Fast Ethernet. Разработчики технологий 100Base-TX/FX, появившихся ранее, в первую очередь хотели создать физические спецификации, наиболее близкие к спецификациям 10Base-T и 10Base-F, которые работали на двух линиях передачи данных: двух парах или двух волокнах. Для реализации работы по двум витым парам пришлось перейти на более качественный кабель категории 5. В то же время разработчики конкурирующей технологии 100VG-AnyLAN изначально сделали ставку на работу по витой паре категории 3; самое главное преимущество состояло не столько в стоимости, а в том, что она была уже проложена в подавляющем числе зданий. Конкуренция заставила разработчиков технологии Fast Ethernet также создать свой вариант физического уровня для витой пары категории 3, которым и стала спецификация 100Base-T4. Вместо кодирования 4В/5В в этом методе используется кодирование 8В/6Т, которое обладает более узким спектром сигнала и при скорости 33 Мбит/с укладывается в полосу 16 МГц витой 120 пары категории 3 (при кодировании 4В/5В спектр сигнала в эту полосу не укладывается). Каждые 8 бит информации уровня MAC кодируются 6-ю троичными цифрами, то есть цифрами, имеющими три состояния. Каждая троичная цифра имеет длительность 40 нс. Группа из 6-ти троичных цифр затем передается на одну из трех передающих витых пар независимо и последовательно. Четвертая пара всегда используется для прослушивания несущей частоты в целях обнаружения коллизий. Скорость передачи данных по каждой из трех передающих пар равна 33,3 Мбит/с, поэтому общая скорость протокола 100Base-T4 составляет 100 Мбит/с. В то же время из-за принятого способа кодирования скорость изменения сигнала на каждой паре равна всего 25 Мбод, что, собственно, и позволяет использовать витую пару категории 3. На рис. 7.4 показано соединение порта MDI (Media Dependant Interface) сетевого адаптера 100Base-T4 с портом MDI-X концентратора (приставка X говорит о том, что у этого разъема присоединения приемника и передатчика меняются парами кабели по сравнению с разъемом сетевого адаптера, что позволяет проще соединять пары проводов в кабеле — без перекрещивания). Пара 1-2 всегда требуется для передачи данных от порта MDI к порту MDI-X, пара 3-6 — для приема данных портом MDI от порта MDI-X, а пары 4-5 и 7-8 являются двунаправленными и используются как для приема, так и для передачи, в зависимости от потребности. Рис. 7.4. Соединение узлов по спецификации 100Base-T4 Правила построения сегментов Fast Ethernet при наличии повторителей Технология Fast Ethernet, как и все варианты Ethernet, рассчитана на использование концентраторов-повторителей для образования связей в сети. Правила корректного построения сегментов сетей Fast Ethernet включают:  ограничения на максимальную длину сегментов между устройствами — источниками новых кадров;  ограничения на максимальную длину сегментов, соединяющих устройство — источник новых кадров с портом повторителя;  ограничения на максимальный диаметр сети;  ограничения на максимальное число повторителей и максимальную длину сегмента, соединяющего повторители. Ограничения длины сегментов между устройствами — источниками новых кадров. В качестве таких устройств могут выступать сетевой адаптер, порт моста, порт маршрутизатора, модуль управления сетью и другие подобные устройства. Можно возразить, что мост или 121 коммутатор передает через выходной порт существовавшие ранее кадры, выработанные в свое время сетевым адаптером, но для сегмента сети, к которому подключен выходной порт устройства, этот кадр является новым. А вот порт повторителя не является источником новых кадров, так как он побитно повторяет уже появившийся в сегменте кадр. Рассматриваемое ограничение касается случаев, когда сетевой адаптер непосредственно соединяется с портом моста/коммутатора или маршрутизатора, а также когда порты мостов, коммутаторов и маршрутизаторов соединяются между собой. Максимальные значения длины сегментов в соответствие со спецификацией IEEE 802.3u приведены в табл. 7.1. Таблица 7.1. Максимальные значения длины сегментов между устройствами — источниками новых кадров Ограничения сетей Fast Ethernet на повторителях. Повторители Fast Ethernet делят на два класса.  Повторители класса I поддерживают оба типа кодирования данных: как 4В/5В, так и 8В/6Т. Они способны выполнять трансляцию логических кодов с битовой скоростью 100 Мбит/с. Поэтому повторители класса I могут иметь порты всех трех типов физического уровня: 100Base-TX, 100Base-FX и 100Base-Т4.  Повторители класса II поддерживают только какой-либо один тип кодирования — либо 4В/5В, либо 8В/6Т. Поэтому они имеют либо все порты 100Base-T4, либо порты 100Base-TX и 100BaseFX, так как последние используют один логический код 4В/5В. В одном домене коллизий допускается наличие только одного повторителя класса I. Это связано с тем, что такой повторитель вносит большую задержку — 70 битовых интервалов — из-за необходимости трансляции различных систем кодирования. Повторители класса II вносят меньшую задержку при передаче сигналов: 46 битовых интервалов для портов TX/FX и 33,5 битовых интервала для портов Т4. Поэтому максимальное число повторителей класса II в домене коллизий — 2. Небольшое количество повторителей Fast Ethernet не является серьезным препятствием при построении больших сетей, так как применение коммутаторов и маршрутизаторов делит сеть на несколько доменов коллизий, каждый из которых может строиться на одном или двух повторителях. В этом случае никаких ограничений на общую длину сети нет. В табл. 7.2 приведены правила построения сети на основе повторителей класса I. Таблица 7.2. Параметры сетей на основе повторителей класса I 122 Эти ограничения проиллюстрированы типовыми конфигурациями сетей, показанными на рис. 7.5. Рис. 7.5. Примеры построения сети Fast Ethernet с помощью повторителей класса I Таким образом, правило 4-х хабов превратилось для технологии Fast Ethernet в правило одного или двух хабов, в зависимости от класса хаба. При определении корректности конфигурации сети можно не руководствоваться правилами одного или двух хабов, а рассчитывать время оборота сети, как это было показано для сети Ethernet 10 Мбит/с. Как и для технологии Ethernet 10 Мбит/с, стандарт 802.3 дает исходные данные для расчета времени оборота сигнала. Особенности технологии 100VG-AnyLAN Несмотря на множество интересных технических решений, технология 100VG- AnyLAN не имела большого количества сторонников и прекратила свое существование. Она не нашла своей ниши, оказавшись слишком сложной по сравнению с более традиционной и привычной технологией Fast Ethernet. Технология 100VG-AnyLAN отличается от классической технологии Ethernet в значительно большей степени, чем Fast Ethernet. Доступ к разделяемой среде осуществляется по принципиально иному методу — методу приоритетного доступа по требованию. Он основан на передаче концентратору функций 123 арбитра, решающего проблему доступа к разделяемой среде. Сеть 100VG-AnyLAN состоит из центрального концентратора, называемого также корневым, и соединенных с ним конечных узлов и других концентраторов (рис. 7.6). Допускаются три уровня каскадирования. Каждый концентратор и сетевой адаптер 100VGAnyLAN должен быть настроен на работу либо с кадрами Ethernet, либо с кадрами Token Ring, причем одновременно циркуляция обоих типов кадров не допускается. Рис. 7.6. Сеть 100VG-AnyLAN Концентратор циклически выполняет опрос портов. Станция, желающая передать пакет, посылает специальный низкочастотный сигнал концентратору, запрашивая передачу кадра и указывая его приоритет. В сети 100VG-AnyLAN используются два уровня приоритетов — низкий и высокий. Низкий приоритет соответствует обычным данным (файловая служба, служба печати и т. п.), а высокий приоритет — данным, чувствительным к временным задержкам (например, мультимедиа). Приоритеты запросов имеют статическую и динамическую составляющие, то есть станция с низким уровнем приоритета, долго не имеющая доступа к сети, получает высокий приоритет. Если сеть свободна, то концентратор разрешает передачу пакета. После анализа адреса получателя в принятом пакете концентратор автоматически отправляет пакет станции назначения. Если сеть занята, концентратор ставит полученный запрос в очередь, которая обрабатывается в соответствии с порядком поступления запросов и учетом приоритетов. Если к порту подключен другой концентратор, то опрос приостанавливается до завершения опроса концентратором нижнего уровня. Станции, подключенные к концентраторам различного уровня иерархии, не имеют преимуществ по доступу к разделяемой среде, так как решение о предоставлении доступа принимается после проведения опроса всеми концентраторами опроса всех своих портов. Остается неясным вопрос — каким образом концентратор узнает, к какому порту подключена станция назначения? Во всех других технологиях кадр просто передавался всем станциям сети, а станция назначения, распознав свой адрес, копировала кадр в буфер. Для решения этой задачи концентратор узнает МАС-адрес станции в момент физического присоединения ее к сети кабелем. Если в других технологиях процедура физического соединения выясняет связность кабеля (тест связности в технологии 10Base-T) или скорость работы порта (процедура автопереговоров в Fast Ethernet), то в технологии 124 100VG-AnyLAN концентратор при установлении физического соединения выясняет МАС-адрес станции и запоминает его в таблице МАС-адресов, аналогичной таблице моста/коммутатора. Отличие концентратора 100VG-AnyLAN от моста/коммутатора в том, что у него нет внутреннего буфера для хранения кадров. Поэтому он принимает от станций сети только один кадр, отправляет его в порт назначения и пока этот кадр не будет полностью принят станцией назначения, новые кадры концентратор не принимает. Так что эффект разделяемой среды сохраняется. Улучшается только безопасность сети — кадры не попадают в чужие порты и их труднее перехватить. Технология Gigabit Ethernet Список ключевых слов: расширение, режим пульсаций, длина пульсации, группа 802.3z, Gigabit Ethernet, Fibre Channel, SDH, метод кодирования 8В/10В, витая пара категории 5, оптический кабель, диаметр сети, разделяемая среда, удлиненный кадр. История Достаточно быстро после появления на рынке продуктов Fast Ethernet сетевые интеграторы и администраторы при построении корпоративных сетей почувствовали определенные ограничения. Во многих случаях серверы, подключенные по 100-мегабитному каналу, перегружали магистрали сетей, работающие также на скорости 100 Мбит/с — магистрали FDDI и Fast Ethernet. Ощущалась потребность в следующем уровне иерархии скоростей. В 1995 году более высокий уровень скорости могли предоставить только коммутаторы ATM, которые из-за высокой стоимости, а также больших отличий от классических технологий применялись в локальных сетях достаточно редко. Поэтому логичным выглядел следующий шаг, сделанный IEEE. Летом 1996 года было объявлено о создании группы 802.3z для разработки протокола, в максимальной степени подобного Ethernet, но с битовой скоростью 1000 Мбит/с. Как и в случае Fast Ethernet, сообщение было воспринято сторонниками Ethernet с большим энтузиазмом. Основной причиной энтузиазма была перспектива плавного перевода сетевых магистралей на Gigabit Ethernet, подобно тому, как были переведены на Fast Ethernet перегруженные сегменты Ethernet, расположенные на нижних уровнях иерархии сети. К тому же опыт передачи данных на гигабитных скоростях уже имелся. В территориальных сетях такую скорость обеспечивала технология SDH, а в локальных — технология Fibre Channel. Последняя технология используется в основном для подключения высокоскоростной периферии к крупным компьютерам и передает данные по волоконно-оптическому кабелю со скоростью, близкой к гигабитной. (Именно метод кодирования 8В/10В, используемый в технологии Fiber Channel, был принят в качестве первого варианта физического уровня Gigabit Ethernet.) Стандарт 802.3z был окончательно принят в 1998 году. Работы по реализации Gigabit Ethernet на витой паре категории 5 были переданы проблемной группе 802.3ab ввиду сложности обеспечения гигабитной скорости на этом типе кабеля, который был создан для поддержки скоростей 100 Мбит/с. Проблемная группа 802.3ab успешно справилась со своей задачей, и версия Gigabit Ethernet для витой пары категории 5 была также принята. Проблемы Основная идея разработчиков стандарта Gigabit Ethernet состояла в максимальном сохранении идей классической технологии Ethernet при достижении битовой скорости в 1000 Мбит/с. Так как при разработке новой технологии естественно ожидать некоторых технических новинок, идущих в общем русле развития сетевых технологий, то важно отметить, что стандарт Gigabit Ethernet, так же как и его менее скоростные собратья, на уровне протокола не поддерживает:  качество обслуживания;  избыточные связи; 125  тестирование работоспособности узлов и оборудования (за исключением тестирования связи порт-порт, как это делается в Ethernet 10Base-T, 10Base-F и Fast Ethernet). Все три названных свойства считаются весьма перспективными и полезными в современных сетях, а особенно в сетях ближайшего будущего. Почему же авторы Gigabit Ethernet отказались от них? Ответ состоит в том, что этими полезными свойствами в локальных сетях сегодня обладают коммутаторы, в которых работают дуплексные версии протоколов семейства Ethernet. Поэтому разработчики технологии решили, что базовый протокол просто должен быстро передавать данные, а более сложные и не всегда востребованные функции (например, поддержка параметров QoS) должны быть переданы протоколам верхних уровней, которые работают в коммутаторах. Что же общего имеется в технологии Gigabit Ethernet по сравнению с технологиями Ethernet и Fast Ethernet? Сохраняются все форматы кадров Ethernet. По-прежнему существует полудуплексная версия протокола, поддерживающая метод доступа CSMA/CD. Сохранение недорогого решения на основе разделяемой среды позволяет применять Gigabit Ethernet в небольших рабочих группах, имеющих быстрые серверы и рабочие станции. Поддерживаются все основные виды кабелей, используемых в Ethernet и Fast Ethernet: волоконно-оптический, витая пара категории 5, экранированная витая пара. Несмотря на то что в Gigabit Ethernet не стали встраиваться новые функции, обеспечение даже достаточно простых функций классического стандарта Ethernet на скорости 1 Гбит/с потребовало решения нескольких сложных задач.  Обеспечение приемлемого диаметра сети для работы на разделяемой среде. В связи с ограничениями, накладываемыми методом CSMA/CD на длину кабеля, версия Gigabit Ethernet для разделяемой среды допускала бы длину сегмента всего в 25 м при сохранении размера кадров и всех параметров метода CSMA/CD неизменными. Так как существует большое количество применений, требующих диаметра сети хотя бы 200 м, необходимо было каким-то образом решить эту задачу за счет минимальных изменений в технологии Fast Ethernet.  Достижение битовой скорости 1000 Мбит/с на оптическом кабеле. Технология Fibre Channel, физический уровень которой был взят за основу для оптоволоконной версии Gigabit Ethernet, обеспечивает скорость передачи данных всего в 800 Мбит/с.  Использование в качестве кабеля витой пары. Такая задача на первый взгляд кажется неразрешимой — ведь даже для 100-мегабитных протоколов требуются достаточно сложные методы кодирования, чтобы уложить спектр сигнала в полосу пропускания кабеля. Для решения этих задач разработчикам технологии Gigabit Ethernet пришлось внести изменения не только в физический уровень, как это было в случае Fast Ethernet, но и в уровень MAC. Средства обеспечения диаметра сети в 200 м на разделяемой среде Для расширения максимального диаметра сети Gigabit Ethernet до 200 м в полудуплексном режиме разработчики технологии предприняли достаточно естественные меры. Они основаны на известном соотношении времени передачи кадра минимальной длины и времени оборота (PDV). Минимальный размер кадра был увеличен (без учета преамбулы) с 64 до 512 байт или до 4096 бит. Соответственно, время оборота также можно было увеличить до 4095 битовых интервалов, что делает допустимым диаметр сети около 200 м при использовании одного повторителя. Для увеличения длины кадра до требуемой в новой технологии величины сетевой адаптер должен дополнить поле данных до длины 448 байт так называемым расширением, представляющим собой поле, заполненное нулями. Формально минимальный размер кадра не изменился, он по-прежнему равен 64 байт или 512 бит, но это объясняется тем, что поле расширения помещается после поля контрольной суммы кадра FCS. Соответственно, значение этого поля не включается в контрольную сумму и не учитывается при указании длины поля 126 данных в поле длины. Поле расширения является просто расширением сигнала несущей частоты, необходимым для корректного обнаружения коллизий. Для сокращения накладных расходов при использовании слишком длинных кадров для передачи коротких квитанций разработчики стандарта разрешили конечным узлам передавать несколько кадров подряд без передачи среды другим станциям. Такой режим получил название режима пульсаций. Станция может передать подряд несколько кадров с общей длиной не более 65536 бит или 8192 байт. Если станции нужно передать несколько небольших кадров, то она может не дополнять первый кадр до размера в 512 байт за счет поля расширения, а передавать несколько кадров подряд до исчерпания предела в 8192 байт (в этот предел входят все байты кадра, в том числе преамбула, заголовок, данные и контрольная сумма). Предел 8192 байт называется длиной пульсации. Если станция начала передавать кадр и предел длины пульсации достигнут в середине кадра, то кадр разрешается передать до конца. Увеличение «совмещенного» кадра до 8192 байт несколько задерживает доступ к разделяемой среде других станций, но при скорости 1000 Мбит/с эта задержка не столь существенна. Спецификации физической среды стандарта 802.3z В стандарте 802.3z определены следующие типы физической среды:  одномодовый волоконно-оптический кабель;  многомодовый волоконно-оптический кабель 62,5/125;  многомодовый волоконно-оптический кабель 50/125;  экранированный сбалансированный медный кабель. Для передачи данных по традиционному для компьютерных сетей многомодовому волоконно-оптическому кабелю стандарт определяет применение излучателей, работающих на двух длинах волн: 1300 и 850 нм. Применение светодиодов с длиной волны 850 нм объясняется тем, что они намного дешевле, чем светодиоды, работающие на волне 1300 нм, хотя при этом максимальная длина кабеля уменьшается, так как затухание многомодового оптоволокна на волне 850 м более чем в два раза выше, чем на волне 1300 нм. Однако возможность удешевления чрезвычайно важна для такой в целом дорогой технологии, как Gigabit Ethernet. Для многомодового оптоволокна стандарт 802.3z определяет спецификации 1000Base-SX и 1000Base-LX. В первом случае используется длина волны 850 нм (S означает Short Wavelength), а во втором — 1300 нм (L — Long Wavelength). Спецификация 1000Base-SX может использовать только многомодовый кабель, при этом его максимальная длина составляет около 500 м. Для спецификации 1000Base-LX в качестве источника излучения всегда применяется полупроводниковый лазерный диод с длиной волны 1300 нм. Спецификация 1000Base-LX может работать как с многомодовым (максимальное расстояние до 500 м), так и с одномодовым кабелем (максимальное расстояние зависит от мощности передатчика и качества кабеля и может доходить до нескольких десятков километров). В качестве среды передачи данных в спецификации 1000-СХ определен экранированный сбалансированный медный кабель с волновым сопротивлением 150 Ом. Максимальная длина сегмента составляет всего 25 м, поэтому это решение подходит для соединения оборудования, расположенного в одной комнате. Gigabit Ethernet на витой паре категории 5 Как известно, каждая пара кабеля категории 5 имеет гарантированную полосу пропускания до 100 МГц. Для передачи по такому кабелю данных со скоростью 1000 Мбит/с было решено организовать параллельную передачу одновременно по всем 4 парам кабеля. Это сразу снизило скорость передачи данных по каждой паре до 250 Мбит/с. Однако и для такой скорости необходимо было придумать метод кодирования, который имел бы спектр не выше 100 МГц. Например, применение кода 4В/5В не может решить поставленную задачу, так как основной вклад в спектр сигнала на такой скорости у него вносит частота 155 МГц. Кроме того, не нужно забывать, что каждая новая технология должна поддерживать не только классический полудуплексный режим, рассматриваемый в этой главе, но и дуплексный режим, о котором мы 127 будем подробно говорить в главе 15. На первый взгляд кажется, что одновременное использование четырех пар лишает сеть возможность работы в дуплексном режиме, так как не остается свободных пар для одновременной передачи данных в двух направлениях — от узла и к узлу. На оба эти вопроса проблемная группа 802.3ab нашла ответы. Для кодирования данных был применен код РАМ5, в котором 5 уровней потенциала: -2, -1, 0, +1, +2. Поэтому за один такт по одной паре передается 2,322 бит информации (Iog25). Следовательно, для достижения скорости 250 Мбит/с тактовую частоту 250 МГц можно уменьшить в 2,322 раза. Разработчики стандарта решили использовать несколько более высокую частоту, а именно 125 МГц. При этой тактовой частоте код РАМ5 имеет спектр уже, чем 100 МГц, то есть он может быть передан без искажений по кабелю категории 5. В каждом такте передается не 2,322 х 4 = 9,288 бит информации, а 8. Это и дает искомую суммарную скорость 1000 Мбит/с. Передача ровно 8 бит в каждом такте достигается за счет того, что при кодировании информации используются не все 625 (54 = 625) комбинаций кода РАМ5, а только 256 (28 = 256). Оставшиеся комбинации приемник использует для контроля принимаемой информации и выделения правильных комбинаций на фоне шума. Для организации дуплексного режима разработчики спецификации 802.3ab применили технику выделения принимаемого сигнала из суммарного. Два передатчика работают навстречу друг другу по каждой из 4-х пар в одном и том же диапазоне частот (рис. 7.7). Н-образная схема гибридной развязки позволяет приемнику и передатчику одного и того же узла использовать одновременно витую пару и для приема, и для передачи (так же, как и в трансиверах Ethernet на коаксиале). Для отделения принимаемого сигнала от собственного приемник вычитает из результирующего сигнала известный ему свой сигнал. Естественно, что это не простая операция и для ее выполнения используются специальные процессоры цифрового сигнала (Digital Signal Processor, DSP). Рис. 7.7. Двунаправленная передача по четырем парам UTP категории 5 Выводы Потребности в высокоскоростной и в то же время недорогой технологии для подключения к сети мощных рабочих станций привели в начале 90-х годов к созданию инициативной группы, 128 которая занялась поисками такой же простой и эффективной технологии, как Ethernet, но работающей на скорости 100 Мбит/с. Специалисты разбились на два лагеря, что, в конце концов, привело к появлению двух стандартов, принятых осенью 1995 года: комитет 802.3 утвердил стандарт Fast Ethernet, почти полностью повторяющий технологию Ethernet 10 Мбит/с, а специально созданный комитет 802.12 утвердил стандарт технологии 100VG-AnyLAN, которая сохраняла формат кадра Ethernet, но существенно изменяла метод доступа. Технология Fast Ethernet сохранила в неприкосновенности метод доступа CSMA/CD, оставив в нем тот же алгоритм и те же временные параметры в битовых интервалах (сам битовый интервал уменьшился в 10 раз). Все отличия Fast Ethernet от Ethernet проявляются на физическом уровне. В стандарте Fast Ethernet определены три спецификации физического уровня: 100Base-TX, 100BaseFX и 100Base-T4. Максимальный диаметр сети Fast Ethernet равен приблизительно 200 м, а более точные значения зависят от спецификации физической среды. В домене коллизий Fast Ethernet допускается не более одного повторителя класса I и не более двух повторителей класса II. Технология Fast Ethernet при работе на витой паре позволяет за счет процедуры автопереговоров двум портам выбрать наиболее эффективный режим работы — скорость 10 Мбит/с или 100 Мбит/с, а также полудуплексный или дуплексный режим. В технологии 100VG-AnyLAN арбитром, решающим вопрос о предоставлении станциям доступа к разделяемой среде, является концентратор, поддерживающий приоритетный доступ по требованию. Технология Gigabit Ethernet добавляет в иерархию скоростей семейства Ethernet новую ступень в 1000 Мбит/с. Эта ступень позволяет эффективно строить крупные локальные сети, в которых серверы и магистрали нижних уровней сети работают на скорости 100 Мбит/с, а магистраль Gigabit Ethernet объединяет их, обеспечивая достаточно большой запас пропускной способности. Разработчики технологии Gigabit Ethernet сохранили большую степень преемственности с технологиями Ethernet и Fast Ethernet. В Gigabit Ethernet те же форматы кадров, что и в предыдущих версиях Ethernet; Gigabit Ethernet работает в дуплексном и полудуплексном режимах, поддерживая на разделяемой среде тот же метод доступа CSMA/CD с минимальными изменениями. Специальная рабочая группа 802.3ab разработала вариант Gigabit Ethernet на UTP категории 5. Для обеспечения скорости в 1000 Мбит/с используются: одновременная передача данных по 4 неэкранированным витым парам; метод кодирования РАМ-5, передача информации в дуплексном режиме с выделением принимаемого сигнала из общего с помощью процессоров DSP. Вопросы и задания 1. Какие недостатки метода CSMA/CD устраняет приоритетный доступ по требованию? 2. Почему разработчики технологии Fast Ethernet решили сохранить метод CSMA/CD? Какие топологии поддерживает сеть Fast Ethernet на разделяемой среде? Каков максимальный диаметр сети Fast Ethernet? 3. Сколько пар кабеля используется для передачи данных в версии 100Base-T4? 4. Чем отличаются повторители Fast Ethernet класса I и класса II? 5. Почему в сети Fast Ethernet разрешается использование не более одного повторителя класса I? 6. Чему равен минимальный межкадровый интервал (IPG) в технологии Gigabit Ethernet? 7. Из-за увеличения пропускной способности минимальный размер кадра в Gigabit Ethernet пришлось увеличить до 512 байт. В тех случаях, когда передаваемые данные не могут полностью заполнить поле данных кадра, оно дополняется до необходимой длины неким «заполнителем», который не несет полезной информации. Что предпринято в Gigabit Ethernet для сокращения накладных расходов, возникающих при передаче коротких данных? 8. Какие меры предприняли разработчики технологии Gigabit Ethernet в плане обеспечения передачи данных со скоростью 1000 Мбит/с по витой паре? 129 9. Почему в технологии Gigabit Ethernet наряду с многомодовым используется и одномодовое оптическое волокно? 10. Пользуясь информацией, представленной в табл. 7.3 и 7.4, определите, какой запас устойчивости имеет конфигурация сети Fast Ethernet с одним повторителем класса I. Подсказка. При определении корректности конфигурации сети Fast Ethernet можно не руководствоваться правилами одного или двух хабов, а рассчитать время оборота сети, как это было сделано в примере сети завода «Трансмаш» (см. главу 12). Таблица 7.3. Задержки, вносимые кабелем Таблица 7.4. Задержки, вносимые сетевыми адаптерами Как и для технологии Ethernet 10 Мбит/с, стандарт Fast Ethernet дает исходные данные для расчета времени оборота сигнала. Однако при этом сама форма представления этих данных и методика расчета меняются. Стандарт Fast Ethernet предоставляет данные об удвоенных задержках, вносимых каждым сегментом сети, не разделяя сегменты сети на левый, правый и промежуточный. Кроме того, задержки, вносимые сетевыми адаптерами, учитывают преамбулы кадров, поэтому время оборота нужно сравнивать с величиной 512 битовых интервала, то есть со временем передачи кадра минимальной длины без преамбулы. Для повторителей класса I время оборота можно рассчитать следующим образом. Задержки, вносимые прохождением сигналов по кабелю, рассчитываются на основании данных табл. 7.3, в которой учитывается удвоенное прохождение сигнала по кабелю. Задержки, которые вносят два взаимодействующих через повторитель сетевых адаптера (или порта коммутатора), берутся из табл. 7.4. Учитывая, что удвоенная задержка, вносимая повторителем класса I, равна 140 битовых интервалов, можно рассчитать время оборота для произвольной конфигурации сети, естественно, учитывая максимально возможные длины непрерывных сегментов кабелей, приведенные в табл. 7.2. Если получившееся значение меньше 512, значит, по критерию распознавания коллизий сеть является корректной. Стандарт 802.3 рекомендует оставлять запас в 4 битовых интервала для 130 устойчиво работающей сети, но разрешает выбирать эту величину из диапазона от 0 до 5 битовых интервалов. 131 15. Функции сетевого уровня взаимодействия Эта глава посвящена протоколу IP (Intrenet Protocol — межсетевой протокол), описанному в документе RFC 751. В каждой очередной сети, лежащей на пути перемещения пакета, протокол IP обращается к средствам транспортировки этой сети, чтобы с их помощью передать пакет на маршрутизатор, ведущий к следующей сети, или непосредственно на узел-получатель. Таким образом, одной из важнейших функций IP является поддержание интерфейса с нижележащими технологиями сетей, образующих составную сеть. Кроме того, в функции протокола IP входит поддержание интерфейса с протоколами вышележащего транспортного уровня, в частности с протоколом TCP, который решает все вопросы обеспечения надежной доставки данных по составной сети в стеке TCP/IP. Протокол IP относится к протоколам без установления соединений, он поддерживает обработку каждого IP-пакета как независимой единицы обмена, не связанной с другими IPпакетами. В протоколе IP нет механизмов, обычно применяемых для обеспечения достоверности конечных данных. Если во время продвижения пакета происходит какая-либо ошибка, то протокол IP по своей инициативе ничего не предпринимает для исправления этой ошибки. Например, если на промежуточном маршрутизаторе пакет был отброшен из-за ошибки по контрольной сумме, то модуль IP не пытается заново послать потерянный пакет. Другими словами, протокол IP реализует политику доставки «по возможности» (с максимальными усилиями). В этой главе мы подробно рассмотрим основную функцию протокола IP — маршрутизацию. Основательно изучим структуру таблиц маршрутизации как без использования, так и с использованием масок. Приведем примеры применения масок одинаковой и переменной длины, перекрывающихся адресных пространств, разделения на подсети и объединения подсетей. Также мы исследуем возможности протокола IP, связанные с фрагментацией пакетов. При обсуждении особенностей новой версии IPv6 мы наиболее подробно остановимся на модернизации схемы адресации, сделавшей ее более масштабируемой, а также на изменении формата IP-заголовка, что позволило повысить пропускную способность сети за счет сокращения объема работ, выполняемых маршрутизаторами. Формат IP-пакета Список ключевых слов: номер версии протокола IP, длина заголовка IP-пакета, тип сервиса, байт дифференцированного обслуживания, или DS-байт, приоритет IP-пакета, критерий выбора маршрута, общая длина IP-пакета, идентификатор IP-пакета, флаги IP-пакета, смещение фрагмента, время жизни IP-пакета, протокол верхнего уровня, контрольная сумма заголовка, IPадреса источника и приемника, поле параметров IP-пакета, выравнивание заголовка. Имеется прямая связь между количеством полей заголовка пакета и функциональной сложностью протокола, который работает с этим заголовком. Чем проще заголовок — тем проще соответствующий протокол. Большая часть действий протокола связана с обработкой той служебной информации, которая переносится в полях заголовка пакета. Изучая назначение каждого поля заголовка IP-пакета, мы получаем не только формальные знания о структуре пакета, но и знакомимся с основными функциями протокола IP. IP-пакет состоит из заголовка и поля данных. Ниже перечислены поля заголовка (рис. 8.1). 132 Рис. 8.1. Структура заголовка IP-пакета Поле номера версии занимает 4 бита и идентифицирует версию протокола IP. Сейчас повсеместно используется версия 4 (IPv4), хотя все чаще встречается и новая версия (IPv6). Значение длины заголовка IP-пакета также занимает 4 бита и измеряется в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при добавлении некоторой служебной информации это значение может быть увеличено за счет дополнительных байтов в поле параметров. Наибольшая длина заголовка составляет 60 байт. Поле типа сервиса (Type of Service, ToS) имеет и другое, более современное название — байт дифференцированного обслуживания, или DS-байт. Этим двум названиям соответствуют два варианта интерпретации этого поля. В обоих случаях данное поле служит одной цели — хранению признаков, которые отражают требования к качеству обслуживания пакета. В прежнем варианте первые три бита содержат значение приоритета пакета: от самого низкого — 0 до самого высокого — 7. Маршрутизаторы и компьютеры могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Следующие три бита поля ToS определяют критерий выбора маршрута. Если бит D (Delay — задержка) установлен в 1, то маршрут должен выбираться для минимизации задержки доставки данного пакета, установленный бит Т (Throughput — пропускная способность) — для максимизации пропускной способности, а бит R (Reliability — надежность) — для максимизации надежности доставки. Оставшиеся два бита имеют нулевое значение. Стандарты дифференцированного обслуживания, принятые в конце 90-х годов, дали новое название этому полю и переопределили назначение его битов. В DS-байте также используются только старшие 6 бит, а два младших бита остаются в качестве резерва. Назначение битов DSбайта будет рассмотрено в подразделе «Дифференцированное обслуживание» раздела «Стандарты QoS в IP-сетях» главы 20. Поле общей длины занимает 2 байта и характеризует общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65535 байт, однако в большинстве компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандартах TCP/IP предусматривается, что все хосты должны быть 133 готовы принимать пакеты вплоть до 576 байт длиной (независимо от того, приходят ли они целиком или фрагментами). Идентификатор пакета занимает 2 байта и используется для распознавания пакетов, образовавшихся путем деления на части (фрагментации) исходного пакета. Все части (фрагменты) одного пакета должны иметь одинаковое значение этого поля. Флаги занимают 3 бита и содержат признаки, связанные с фрагментацией. Установленный в 1 бит DF (Do not Fragment — не фрагментировать) запрещает маршрутизатору фрагментировать данный пакет, а установленный в 1 бит MF (More Fragments — больше фрагментов) говорит о том, что данный пакет является промежуточным (не последним) фрагментом. Оставшийся бит зарезервирован. Поле смещения фрагмента занимает 13 бит и задает смещение в байтах поля данных этого фрагмента относительно начала поля данных исходного нефрагментированного пакета. Используется при сборке/разборке фрагментов пакетов. Смещение должно быть кратно 8 байт. Поле времени жизни (Time To Live, TTL) занимает один байт и используется для задания предельного срока, в течение которого пакет может перемещаться по сети. Время жизни пакета измеряется в секундах и задается источником. По истечении каждой секунды пребывания на каждом из маршрутизаторов, через которые проходит пакет во время своего «путешествия» по сети, из его текущего времени жизни вычитается единица; единица вычитается и в том случае, если время пребывания было меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно интерпретировать как максимальное число транзитных узлов, которые разрешено пройти пакету. Если значение поля времени жизни становится нулевым до того, как пакет достигает получателя, пакет уничтожается. Таким образом, время жизни является своего рода часовым механизмом самоуничтожения пакета. Поле протокола верхнего уровня занимает один байт и содержит идентификатор, указывающий, какому протоколу верхнего уровня принадлежит информация, размещенная в поле данных пакета. Значения идентификаторов для разных протоколов приводятся в документе RFC 1700, доступном по адресу http://www.iana.org. Например, 6 означает, что в пакете находится сообщение TCP, 17 — сообщение UDP, 1 — сообщение ICMP. Контрольная сумма заголовка занимает 2 байта (16 бит) и рассчитывается только по заголовку. Поскольку некоторые поля заголовка меняют свое значение в процессе передачи пакета по сети (например, поле времени жизни), контрольная сумма проверяется и повторно рассчитывается на каждом маршрутизаторе и конечном узле как дополнение к сумме всех 16битовых слов заголовка. При вычислении контрольной суммы значение самого поля контрольной суммы устанавливается в нуль. Если контрольная сумма неверна, то пакет отбрасывается, как только обнаруживается ошибка. Поля IP-адресов источника и приемника имеют одинаковую длину — 32 бита. Поле параметров является необязательным и используется обычно только при отладке сети. Это поле состоит из нескольких подполей одного из восьми предопределенных типов. В этих подполях можно указывать точный маршрут, регистрировать проходимые пакетом маршрутизаторы, помещать данные системы безопасности или временные отметки. Так как число подполей в поле параметров может быть произвольным, то в конце заголовка должно быть добавлено несколько нулевых байтов для выравнивания заголовка пакета по 32битной границе. Ниже приведена распечатка значений полей заголовка одного из реальных IP-пакетов, захваченных в сети Ethernet средствами анализатора протоколов сетевого монитора (Network Monitor, NM) от Microsoft. В данной распечатке NM в скобках дает шестнадцатеричные значения полей, кроме того, программа иногда представляет числовые коды полей в виде, более удобном для чтения. Например, дружественный программный интерфейс NM интерпретирует код 6 в поле протокола, помещая туда название соответствующего протокола — TCP (см. строку, выделенную полужирным шрифтом). IP: Version = 4 (0x4) IP: Header Length = 20 (0x14) IP: Service Type = 0 (0x0) 134 IP: Precedence = Routine IP: ...0... = Normal Delay IP: ...0... = Normal Throughput IP: ...0... = Normal Reliability IP: Total Length = 54 (0x36) IP: Identification = 31746 (0x7C02) IP: Flags Summary = 2 (0x2) IP: ...0 = Last fragment in datagram IP: ...1 = Cannot fragment datagram IP: Fragment Offset = 0 (0x0) bytes IP: Time to Live = 128 (0x80) IP: Protocol = TCP — Transmission Control IP: Checksum = 0xEB86 IP: Source Address = 194.85 135.75 IP: Destination Address = 194.85.135.66 IP: Data: Number of data bytes remaining = 34 (0x0022) Схема IP-маршрутизации Список ключевых слов: таблица маршрутизации, адрес назначения пакетов, сетевой адрес следующего маршрутизатора, сетевой адрес выходного интерфейса, специфический маршрут, маршрут по умолчанию, маршрутизатор по умолчанию, признак непосредственно подключенной сети, время жизни записи, поле источника, программное обеспечение стека TCP/IP, администратор, протокол маршрутизации. Рассмотрим механизм IP-маршрутизации на примере составной сети, представленной на рис. 8.2. В этой сети 20 маршрутизаторов (изображенных в виде пронумерованных квадратных блоков) объединяют 18 сетей в общую сеть; N1, N2, …, N18 — это номера сетей. На каждом маршрутизаторе и конечных узлах А и В установлены протоколы IP. Маршрутизаторы имеют по несколько интерфейсов (портов), к которым присоединяются сети. Каждый интерфейс маршрутизатора можно рассматривать как отдельный узел сети: он имеет сетевой адрес и локальный адрес в той подсети, которая к нему подключена. Например, маршрутизатор под номером 1 имеет три интерфейса, к которым подключены сети N1, N2, N3. На рисунке сетевые адреса этих портов обозначены IP11, IP12 и IP13. Интерфейс IP11 является узлом сети N1, и следовательно в поле номера сети порта IP11 содержится номер N1. Аналогично интерфейс IP12 — узел в сети N2, а порт IP13 — узел в сети N3. Таким образом, маршрутизатор можно рассматривать как совокупность нескольких узлов, каждый из которых входит в свою сеть. Как единое устройство маршрутизатор не имеет ни отдельного сетевого, ни локального адреса. Примечание. Если маршрутизатор имеет блок управления (например, SNMP-управления), то этот блок имеет собственные локальный и сетевой адреса, по которым к нему обращается центральная станция управления. В сложных составных сетях почти всегда существуют несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Так, пакет, отправленный из узла А в узел В, может пройти через маршрутизаторы 17, 12, 5, 4 и 1 или маршрутизаторы 17, 13, 7, 6 и 3. Нетрудно найти еще несколько маршрутов между узлами А и В. 135 Рис. 8.2. Принципы маршрутизации в составной сети Задачу выбора маршрута из нескольких возможных решают маршрутизаторы, а также конечные узлы. Маршрут выбирается на основании имеющейся у этих устройств информации о текущей конфигурации сети, а также на основании критерия выбора маршрута. В качестве критерия часто выступает задержка прохождения маршрута отдельным пакетом, средняя пропускная способность маршрута для последовательности пакетов или наиболее простой критерий, учитывающий только количество пройденных в маршруте промежуточных маршрутизаторов (ретрансляционных участков, или хопов). Полученная в результате анализа информация о маршрутах дальнейшего следования пакетов помещается в таблицу маршрутизации. Упрощенная таблица маршрутизации 136 Используя условные обозначения для сетевых адресов маршрутизаторов и номеров сетей в том виде, как они приведены на рис. 8.2, посмотрим, как могла бы выглядеть таблица маршрутизации, например, в маршрутизаторе 4 (табл. 8.1). Таблица 8.1. Таблица маршрутизации маршрутизатора 4 Примечание. Таблица 8.1 значительно упрощена по сравнению с реальными таблицами, например, здесь отсутствуют столбцы с масками, признаками состояния маршрута, временем, в течение которого действительны записи данной таблицы (их применение будет рассмотрено позже). Вместо номера сети назначения может быть указан полный сетевой адрес отдельного узла назначения. Кроме того, как уже отмечалось, здесь указаны адреса сетей условного формата, не соответствующие какому-либо определенному сетевому протоколу. Тем не менее эта таблица содержит основные поля, имеющиеся в реальных таблицах. Первый столбец таблицы содержит адреса назначения пакетов. В каждой строке таблицы следом за адресом назначения указывается сетевой адрес следующего маршрутизатора (точнее, сетевой адрес интерфейса следующего маршрутизатора), на который надо направить пакет, чтобы тот передвигался по направлению к заданному адресу по рациональному маршруту. Перед тем как передать пакет следующему маршрутизатору, текущий маршрутизатор должен определить, на какой из нескольких собственных портов (IP41 или IP42) он должен поместить данный пакет. Для этого служит третий столбец таблицы маршрутизации, содержащий сетевые адреса выходных интерфейсов. Некоторые реализации сетевых протоколов допускают наличие в таблице маршрутизации сразу нескольких строк, соответствующих одному и тому же адресу назначения. В этом случае при выборе маршрута принимается во внимание столбец «расстояние до сети назначения». При этом расстояние измеряется в любой метрике, используемой в соответствии с заданным в сетевом пакете критерием. Расстояние может измеряться временем прохождения пакета по линиям связи, различными характеристиками надежности линий связи на данном маршруте, пропускной способностью или другой величиной, отражающей качество данного маршрута по отношению к заданному критерию. В табл. 8.1 расстояние между сетями измеряется хопами. Расстояние для сетей, непосредственно подключенных к портам маршрутизатора, здесь принимается равным 0, однако в некоторых реализациях отсчет расстояний начинается с 1. Когда пакет поступает на маршрутизатор, модуль IP извлекает из поступившего 137 заголовка кадра номер сети назначения и последовательно сравнивает его с номерами сетей из каждой строки таблицы. Строка с совпавшим номером сети указывает ближайший маршрутизатор, на который следует направить пакет. Например, если на какой-либо порт маршрутизатора 4 поступает пакет, адресованный в сеть N6, то из таблицы маршрутизации следует, что адрес следующего маршрутизатора — IP21, то есть очередным этапом движения данного пакета будет движение к порту 1 маршрутизатора 2. Чаще всего в качестве адреса назначения в таблице указывается не весь IP-адрес, а только номер сети назначения. Таким образом, для всех пакетов, направляемых в одну и ту же сеть, протокол IP будет предлагать один и тот же маршрут (мы пока не принимаем во внимание возможные изменения в состоянии сети — отказы маршрутизаторов или обрывы кабелей). Однако в некоторых случаях возникает необходимость для одного из узлов сети определить специфический маршрут, отличающийся от маршрута, заданного для всех остальных узлов сети. Для этого в таблицу маршрутизации помещают для данного узла отдельную строку, содержащую его полный IP-адрес и соответствующую маршрутную информацию. Такого рода запись имеется в табл. 8.1 для узла В. Пусть, например, администратор маршрутизатора 4, руководствуясь соображениями безопасности, решил, что пакеты, следующие в узел В (полный адрес IPB), должны идти через маршрутизатор 2 (интерфейс IP21), а не маршрутизатор 1 (интерфейс IP12), через который передаются пакеты всем остальным узлам сети N3. Если в таблице имеются записи о маршрутах как к сети в целом, так и к ее отдельному узлу, то при поступлении пакета, адресованного данному узлу, маршрутизатор отдаст предпочтение специфическому маршруту. Поскольку пакет может быть адресован в любую сеть составной сети, может показаться, что каждая таблица маршрутизации должна иметь записи обо всех сетях, входящих в составную сеть. Но при таком подходе в случае крупной сети объем таблиц маршрутизации может оказаться очень большим, что повлияет на время ее просмотра, потребует много места для хранения и т. п. Поэтому на практике широко известен прием уменьшения количества записей в таблице маршрутизации, основанный на введении маршрута по умолчанию (default route). В этом приеме используются особенности топологии сети. Рассмотрим, например, маршрутизаторы, находящиеся на периферии составной сети. В их таблицах достаточно записать номера только тех сетей, которые непосредственно подсоединены к данному маршрутизатору или расположены поблизости, на тупиковых маршрутах. Обо всех же остальных сетях можно сделать в таблице единственную запись, указывающую на маршрутизатор, через который пролегает путь ко всем этим сетям. Такой маршрутизатор называется маршрутизатором по умолчанию (default router). В нашем примере маршрутизатор 4 указывает специфические маршруты только для пакетов, следующих в сети N1 — N6. Для всех остальных пакетов, адресованных в сети N7 — N18, маршрутизатор предлагает продолжить путь через один и тот же порт IP51 маршрутизатора 5, который в данном случае и является маршрутизатором по умолчанию. Таблицы маршрутизации конечных узлов Задачу маршрутизации решают не только промежуточные (маршрутизаторы), но и конечные узлы — компьютеры. Решение этой задачи начинается с того, что протокол IP, установленный на конечном узле, определяет, направляется ли пакет в другую сеть или адресован какому-нибудь узлу данной сети. Если номер сети назначения совпадает с номером данной сети, это означает, что пакет маршрутизировать не требуется. В противном случае маршрутизация нужна. Структуры таблиц маршрутизации конечных узлов и транзитных маршрутизаторов аналогичны. Обратимся снова к сети, изображенной на рис. 8.2. Таблица маршрутизации конечного узла В, принадлежащего сети N3, могла бы выглядеть следующим образом (табл. 8.2). Здесь IPВ — сетевой адрес интерфейса компьютера В. На основании этой таблицы конечный узел В выбирает, на какой из двух имеющихся в локальной сети N3 маршрутизаторов (R1 или R3) следует посылать тот или иной пакет. Таблица 8.2. Таблица маршрутизации конечного узла В 138 Конечные узлы в еще большей степени, чем маршрутизаторы, пользуются приемом маршрутизации по умолчанию. Хотя они также в общем случае имеют в своем распоряжении таблицу маршрутизации, ее объем обычно незначителен, что объясняется периферийным расположением всех конечных узлов. Конечный узел часто вообще работает без таблицы маршрутизации, имея только сведения об адресе маршрутизатора по умолчанию. При наличии одного маршрутизатора в локальной сети этот вариант — единственно возможный для всех конечных узлов. Но даже при наличии нескольких маршрутизаторов в локальной сети, когда перед конечным узлом стоит проблема их выбора, часто в компьютерах для повышения производительности прибегают к заданию маршрута по умолчанию. Рассмотрим таблицу маршрутизации другого конечного узла составной сети — узла А (табл. 8.3). Компактный вид таблицы маршрутизации узла А отражает тот факт, что все пакеты, направляемые из узла А, либо не выходят за пределы сети N12, либо проходят через порт 1 маршрутизатора 17. Этот маршрутизатор и определен в таблице маршрутизации в качестве маршрутизатора по умолчанию. Таблица 8.3. Таблица маршрутизации конечного узла А Еще одним отличием работы маршрутизатора и конечного таблицы маршрутизации. Если маршрутизаторы, как правило, маршрутизации, обмениваясь служебной информацией, то маршрутизации часто создаются вручную администраторами файлов на дисках. узла является способ построения автоматически создают таблицы для конечных узлов таблицы и хранятся в виде постоянных Просмотр таблиц маршрутизации без масок Ниже приведен алгоритм просмотра таблицы маршрутизации протоколом IP, установленным на маршрутизаторе. При его описании мы будем использовать табл. 8.1 и рис. 8.2. 1. Пусть на один из интерфейсов маршрутизатора поступает пакет. Протокол IP извлекает из пакета IP-адрес назначения (предположим, адрес назначения IPВ). 139 2. Выполняется первая фаза просмотра таблицы — поиск конкретного маршрута к узлу. IP-адрес (целиком) последовательно строка за строкой сравнивается с содержимым поля адреса назначения таблицы маршрутизации. Если произошло совпадение (как в табл. 8.1), то из соответствующей строки извлекаются адрес следующего маршрутизатора (IP21) и идентификатор выходного интерфейса (IP41). На этом просмотр таблицы заканчивается. 3. Предположим теперь, что в таблице нет строки с адресом назначения IPB, а значит, совпадения не произошло. В таком случае протокол IP переходит ко второй фазе просмотра — поиску маршрута к сети назначения. Из IP-адреса выделяется номер сети (в нашем примере из адреса IPB выделяется номер сети N3), и таблица снова просматривается на предмет совпадения номера сети в какой-либо строке с номером сети из пакета. При совпадении (а в нашем примере оно произошло) из соответствующей строки таблицы извлекаются адрес следующего маршрутизатора (IP12) и идентификатор выходного интерфейса (IP41). Просмотр таблицы на этом завершается. 4. Наконец, предположим, что адрес назначения в пакете был таков, что совпадения не произошло ни в первой, ни во второй фазах просмотра. В таком случае протокол IP либо выбирает маршрут по умолчанию (и пакет направляется по адресу IP51), либо, если маршрут по умолчанию отсутствует, отбрасывает пакет (стандарты технологии TCP/IP не требуют, чтобы в таблице маршрутизации непременно содержались маршруты для всех пакетов, которые могут прийти на интерфейсы маршрутизатора, более того, в таблице может отсутствовать маршрут по умолчанию). Просмотр таблицы на этом заканчивается. Внимание. Последовательность фаз в данном алгоритме строго определена, в то время как последовательность просмотра или, что одно и то же, порядок расположения строк в таблице, включая запись о маршруте по умолчанию, никак не сказывается на результате. Примеры таблиц маршрутизации разных форматов Структура реальных таблиц маршрутизации стека TCP/IP в целом соответствует упрощенной структуре таблиц, рассмотренных выше. Отметим, однако, что вид таблицы IP-маршрутизации зависит от конкретной реализации стека TCP/IP. Приведем пример нескольких вариантов таблицы маршрутизации, с которыми мог бы работать маршрутизатор R1 в сети, представленной на рис. 8.3. 140 Рис. 8.3. Пример маршрутизируемой сети Начнем с «придуманного», предельно упрощенного варианта таблицы маршрутизации (табл. 8.4). Здесь имеются три маршрута к сетям (записи 56.0.0.0, 116.0.0.0 и 128.13.0.0), две записи о непосредственно подсоединенных сетях (128.13.0.0 и 213.34.12.0), а также запись о маршруте по умолчанию. Таблица 8.4. Упрощенная таблица маршрутизации маршрутизатора R1 141 Более сложный вид имеют таблицы, которые генерируются в промышленно выпускаемом сетевом оборудовании. Если представить, что в качестве маршрутизатора R1 в данной сети работает штатный программный маршрутизатор операционной системы Microsoft Windows 2000, то его таблица маршрутизации могла бы выглядеть так, как табл. 8.5. Если на месте маршрутизатора R1 установить один из популярных аппаратных маршрутизаторов, то его таблица маршрутизации для этой же сети может выглядеть совсем иначе (табл. 8.6). И, наконец, табл. 8.7 представляет собой таблицу маршрутизации для того же маршрутизатора R1, реализованного в виде программного маршрутизатора одной из версий операционной системы Unix. Примечание. Заметим, что поскольку между структурой сети и таблицей маршрутизации нет однозначного соответствия, то и для каждого из приведенных вариантов таблицы можно предложить свои «подварианты», отличающиеся выбранным маршрутом к той или иной сети. В данном случае внимание концентрируется на существенных различиях в форме представления маршрутной информации разными реализациями маршрутизаторов. Несмотря на достаточно заметные внешние различия, во всех трех «реальных» таблицах присутствуют все рассмотренные выше ключевые данные, которые необходимы протоколу IP для маршрутизации пакетов. К таким данным, во-первых, относятся адреса сети назначения (столбцы адреса назначения в аппаратном маршрутизаторе и маршрутизаторе Unix или столбец «Сетевой адрес» в маршрутизаторе ОС Windows 2000). Вторым обязательным полем таблицы маршрутизации является адрес следующего маршрутизатора (столбцы «Шлюз» в аппаратном маршрутизаторе и маршрутизаторе Unix или столбец «Адрес шлюза» в маршрутизаторе ОС Windows 2000). Таблица 8.5. Таблица программного маршрутизатора ОС Windows 2000 142 Таблица 8.6. Таблица маршрутизации аппаратного маршрутизатора Таблица 8.7. Таблица маршрутизации Unix-маршрутизатора 143 Третий ключевой параметр — адрес порта, на который нужно направить пакет, в некоторых таблицах указывается прямо (столбец «Интерфейс» в таблице маршрутизатора ОС Windows 2000), а в некоторых — косвенно. Так, в таблице Unix-маршрутизатора вместо адреса порта задается его условное наименование — lе0 для порта с адресом 198.21.17.5, le1 для порта с адресом 213.34.12.3 и lo0 для внутреннего порта с адресом 127.0.0.1. В аппаратном маршрутизаторе поле, обозначающее выходной порт в какой-либо форме, вообще отсутствует. Это объясняется тем, что адрес выходного порта всегда можно косвенно определить по адресу следующего маршрутизатора. Например, определим по табл. 8.6 адрес выходного порта для сети 56.0.0.0. Из таблицы следует, что следующим маршрутизатором для этой сети будет маршрутизатор с адресом 213.34.12.4. Адрес следующего маршрутизатора должен принадлежать одной из непосредственно присоединенных к маршрутизатору сетей, и в данном случае это сеть 213.34.12.0. Маршрутизатор имеет порт, присоединенный к этой сети, и адрес этого порта 213.34.12.3 мы находим в столбце «Шлюз» второй строки таблицы маршрутизации, которая описывает непосредственно присоединенную сеть 213.34.12.0. Для непосредственно присоединенных сетей адресом следующего маршрутизатора всегда является адрес собственного порта маршрутизатора. Таким образом, для сети 56.0.0.0 адресом выходного порта является 213.34.12.3. Стандартным решением сегодня является использование поля маски в каждой записи таблицы, как это сделано в таблицах маршрутизатора ОС Windows 2000 и аппаратного маршрутизатора (столбцы «Маска»). Обработка масок при принятии решения маршрутизаторами будет рассмотрена далее. Отсутствие поля маски говорит о том, что либо маршрутизатор рассчитан на работу только с тремя стандартными классами адресов, либо для всех записей используется одна и та же маска, что снижает гибкость маршрутизации. Поскольку в таблице маршрутизации Unix-маршрутизатора каждая сеть назначения упомянута только один раз, а, значит, выбор маршрута отсутствует, то поле метрики является необязательным параметром. В остальных двух таблицах поле метрики используется только для указания на то, что сеть подключена непосредственно. Метрика 0 для аппаратного маршрутизатора или 1 для маршрутизатора ОС Windows 2000 говорит маршрутизатору, что эта сеть непосредственно подключена к его порту, а другое значение метрики соответствует удаленной сети. Выбор метрики для непосредственно подключенной сети (1 или 0) является произвольным, главное, чтобы метрика удаленной сети отсчитывалась с учетом этого выбранного начального значения. В Unix-маршрутизаторе используется поле признаков, где флаг G (Gateway — шлюз) отмечает удаленную сеть, а его отсутствие — непосредственно подключенную. Признак непосредственно подключенной сети говорит маршрутизатору, что пакет уже достиг своей сети, поэтому протокол IP активизирует ARP-запрос относительно IР-адреса узла назначения, а не следующего маршрутизатора. Однако существуют ситуации, когда маршрутизатор должен обязательно хранить значение метрики для записи о каждой удаленной сети. Эти ситуации возникают, когда записи в таблице маршрутизации являются результатом работы некоторых протоколов маршрутизации, например протокола RIP. В таких протоколах новая информация о какой-либо удаленной сети сравнивается с информацией, содержащейся в таблице в данный момент, и если значение новой метрики лучше 144 текущей, то новая запись вытесняет имеющуюся. В таблице Unix-маршрутизатора поле метрики отсутствует, и это значит, что он не использует протокол RIP. Флаги записей присутствуют только в таблице Unix-маршрутизатора.  U — маршрут активен и работоспособен. Аналогичный смысл имеет поле статуса в аппаратном маршрутизаторе.  Н — признак специфического маршрута к определенному хосту.  G — означает, что маршрут пакета проходит через промежуточный маршрутизатор (шлюз). Отсутствие этого флага отмечает непосредственно подключенную сеть.  D — означает, что маршрут получен из перенаправленного сообщения протокола ICMP. Этот признак может присутствовать только в таблице маршрутизации конечного узла. Признак означает, что конечный узел в какой-то предыдущей передаче пакета выбрал не самый рациональный следующий маршрутизатор на пути к данной сети, и этот маршрутизатор с помощью протокола ICMP сообщил конечному узлу, что все последующие пакеты к данной сети нужно отправлять через другой маршрутизатор. В таблице Unix-маршрутизатора используется еще два поля, имеющих справочное значение. Поле числа ссылок показывает, сколько раз на данный маршрут ссылались при продвижении пакетов. Поле загрузки отражает количество байтов, переданных по данному маршруту. В записях таблиц аппаратного маршрутизатора также имеется два справочных поля. Поле времени жизни записи (TTL) в данном случае никак не связано со временем жизни пакета. Здесь оно показывает время, в течение которого значение данной записи еще действительно. Поле источника говорит об источнике появления записи в таблице маршрутизации. Источники и типы записей в таблице маршрутизации Практически для всех маршрутизаторов существуют три основных источника появления записи в таблице.  Одним из источников записей в таблицу маршрутизации является программное обеспечение стека TCP/IP, которое при инициализации маршрутизатора автоматически заносит в таблицу несколько записей, в результате чего создается так называемая минимальная таблица маршрутизации. Программное обеспечение формирует записи о непосредственно подключенных сетях и маршрутах по умолчанию, информация о которых появляется в стеке при ручном конфигурировании интерфейсов компьютера или маршрутизатора. К таким записям в приведенных примерах относятся записи о сетях 213.34.12.0 и 198.21.17.0, а также запись о маршруте по умолчанию в Unix-маршрутизаторе и запись 0.0.0.0 в маршрутизаторе ОС Windows 2000. Программное обеспечение также автоматически заносит в таблицу маршрутизации записи об адресах особого назначения. В приведенных примерах таблица маршрутизатора ОС Windows 2000 содержит наиболее полный набор записей такого рода. Несколько записей в этой таблице связаны с особым адресом 127.0.0.0. Записи с адресом 224.0.0.0 требуются для обработки групповых адресов. Кроме того, в таблицу могут быть занесены адреса, предназначенные для обработки широковещательных рассылок (например, записи 8 и 11 содержат адрес отправки широковещательного сообщения в соответствующих подсетях, а последняя запись в таблице — адрес ограниченной широковещательной рассылки). Заметим, что в некоторых таблицах записи об особых адресах вообще отсутствуют.  Еще одним источником записей в таблице является администратор, непосредственно формирующий записи с помощью некоторой системной утилиты, например программы route, имеющейся в операционных системах Unix и Windows 2000. В аппаратных маршрутизаторах также всегда имеется команда для ручного задания записей таблицы маршрутизации. Заданные вручную записи всегда являются статическими, то есть они не имеют срока жизни. Эти записи могут быть как постоянными, то есть сохраняющимися при перезагрузке маршрутизатора, так и временными, хранящимися в таблице только до выключения устройства. Часто администратор вручную заносит запись о маршруте по умолчанию. Таким же образом в таблицу маршрутизации может быть внесена запись о специфическом для узла маршруте. 145  И, наконец, третьим источником записей могут быть протоколы маршрутизации, такие как RIP или OSPF. Такие записи всегда являются динамическими, то есть имеют ограниченный срок жизни. Программные маршрутизаторы Windows 2000 и Unix не показывают источник появления той или иной записи в таблице, а аппаратный маршрутизатор использует для этой цели поле источника. В приведенном в табл. 8.6 примере первые две записи созданы программным обеспечением стека на основании данных о конфигурации портов маршрутизатора — это показывает признак «Подключена». Следующие две записи обозначены как статические — это означает, что их ввел вручную администратор. Последняя запись является следствием работы протокола RIP, поэтому в ее поле «TTL» имеется значение 160. Пример IP-маршрутизации без масок Рассмотрим на примере IP-сети (рис. 8.4) процесс продвижения пакета в составной сети. При этом будем считать, что все узлы сети, рассматриваемой в примере, имеют адреса, основанные на классах. Особое внимание будет уделено взаимодействию протокола IP с протоколами разрешения адресов ARP и DNS. Итак, пусть пользователю компьютера cit.mgu.com, находящегося в сети Ethernet1, необходимо установить связь с FTP-сервером. Пользователю известно символьное имя сервера unix.mgu.com. Поэтому он набирает на клавиатуре команду обращения к FTP-серверу по имени: > ftp unix.mgu.com Эта команда включает обязательные три этапа. 1. Передача от клиента DNS-запроса для определения IP-адреса узла назначения. 2. Передача от сервера DNS-ответа. 3. Передача пакета от FTP-клиента к FTP-серверу. Давайте рассмотрим каждый из них подробно. 146 Рис. 8.4. Пример IP-маршрутизации Передача DNS-запроса 1. FTP-клиент передает запрос к работающей на этом же компьютере клиентской части протокола DNS, который в свою очередь формирует к DNS-серверу запрос, интерпретируемый примерно так: «Какой IP-адрес соответствует символьному имени unix.mgu.com?». Запрос упаковывается в UDP-дейтаграмму, затем в IP-пакет (рис. 8.5). В заголовке пакета в качестве адреса назначения указывается IP-адрес DNS-сервера — 203.21.4.6. Этот адрес известен программному обеспечению клиентского компьютера, так как он входит в число его конфигурационных параметров. 2. Прежде чем поместить IP-пакет в кадр Ethernet, необходимо выяснить, надо ли этот пакет маршрутизировать через составную сеть, или он адресован узлу, находящемуся в той же сети, что и отправитель. Для этого модуль IP сравнивает номера сетей в адресах отправителя и получателя, то есть 194.87.23.17 и 203.21.4.6. В результате сравнения выясняется, что пакет направляется в другую сеть, следовательно, его необходимо передать маршрутизатору. Поскольку в сети Ethernet1 имеется только один маршрутизатор (R1), все конечные узлы этой 147 сети вместо полноценной таблицы маршрутизации пользуются адресом 194.87.23.1 этого маршрутизатора в качестве маршрутизатора по умолчанию. Рис. 8.5. IP-пакет с DNS-запросом 3. Чтобы сеть Ethernet1 смогла доставить пакет маршрутизатору R1, этот пакет необходимо поместить в поле данных кадра Ethernet и снабдить его МАС-адресом. Эта проблема решается с помощью протокола ARP. Пусть, например, нужного адреса в ARP-таблице нет, тогда клиентский узел отправляет широковещательный ARP-запрос: «Какой МАС-адрес соответствует IP-адресу 194.87.23.1?» Этот запрос получают все узлы сети Ethernet1, но ответ приходит только от интерфейса 1 маршрутизатора R1: «Я имею IP-адрес 194.87.23.1 и мой МАС-адрес 008048ЕВ7Е60». После получения этой информации компьютер cit.mgu.com отправляет по локальной сети пакет, упакованный в кадр Ethernet и имеющий поля, показанные на рис. 8.6. Рис. 8.6. Кадр Ethernet с DNS-запросом, отправленный с клиентского компьютера 4. Кадр принимается интерфейсом 1 маршрутизатора R1. Протокол Ethernet извлекает из этого кадра IP-пакет и передает его протоколу IP. Протокол IP находит в заголовке пакета адрес назначения 203.21.4.6 и просматривает записи своей таблицы маршрутизации. Пусть маршрутизатор R1 имеет в своей таблице маршрутизации следующую запись: 203.21.4.0 135.12.0.11 135.12.0.1 Эта запись говорит о том, что пакеты для сети 203.21.4.0 нужно передавать маршрутизатору 135.12.0.11, находящемуся в сети, подключенной к интерфейсу 135.12.0.1 маршрутизатора R1. Маршрутизатор R1 просматривает параметры интерфейса 135.12.0.1 и находит, что к нему подключена сеть FDDI. Так как максимально возможная длина дейтаграммы, которую можно поместить в поле данных кадра FDDI, больше, чем в поле данных кадра Ethernet, фрагментация IP-пакета не требуется. Поэтому маршрутизатор R1 формирует кадр формата FDDI. 5. На этом этапе модуль IP маршрутизатора R1 должен определить МАС-адрес следующего маршрутизатора по известному IP-адресу 135.12.0.11. Для этого он обращается к протоколу ARP. Допустим, в этот раз в ARP-таблице присутствует запись о нужном адресе: 135.12.0.11 — 00E0F77F5A02 Теперь, зная МАС-адрес маршрутизатора R2 (00E0F77F5A02), маршрутизатор R1 отсылает в сеть FDDI кадр (рис. 8.7). 148 Рис. 8.7. Кадр Ethernet с DNS-запросом, отправленный с маршрутизатора R1 маршрутизатору R2 6. Аналогично действует модуль IP на маршрутизаторе R2. Получив FDDI-кадр, он отбрасывает его заголовок, а из заголовка IP извлекает IP-адрес назначения и просматривает свою таблицу маршрутизации. Там он обнаруживает, что сеть назначения является непосредственно присоединенной к его второму интерфейсу. Поэтому он посылает ARP-запрос по сети Ethernet2: «Какой МАС-адрес соответствует IP-адресу конечного узла 203.21.4.6?» Получив ответ о МАСадресе DNS-сервера — 00E0F7751231, маршрутизатор R2 отправляет в сеть Ethernet2 кадр (рис. 8.8). Рис. 8.8. Кадр Ethernet с DNS-запросом, отправленный с маршрутизатора R2 7. Сетевой адаптер DNS-сервера захватывает кадр Ethernet, обнаруживает совпадение МАС-адреса получателя, содержащегося в заголовке, со своим собственным адресом и направляет его модулю IP. После анализа полей заголовка IP из пакета извлекаются данные вышележащих протоколов. DNS-запрос передается программному модулю DNS-сервера. DNS-сервер просматривает свои таблицы, возможно, обращается к другим DNS-серверам и в результате формирует ответ, смысл которого состоит в следующем: символьному имени unix.mgu.com соответствует IP-адрес 142.06.13.14. Примечание. Заметим, что во время всего путешествия пакета по составной сети от клиентского компьютера до DNS-сервера адреса получателя и отправителя в полях заголовка IPпакета не изменились. Зато в заголовке каждого нового кадра, который переносил пакет от одного маршрутизатора к другому, аппаратные адреса изменялись на каждом отрезке пути. Передача DNS-ответа 1. Стек TCP/IP, установленный на DNS-сервере, упаковывает DNS-ответ в UDP-дейтаграмму, затем — в IP-пакет (IP-адрес получателя ему известен из DNS-запроса). Протокол IP определяет, что пакет необходимо маршрутизировать. 2. Протокол IP просматривает таблицу маршрутизации, в результате определяет IP-адрес следующего маршрутизатора IP22 — 203.21.4.3. 3. Протокол ARP определяет МАС-адрес интерфейса маршрутизатора — 00E0F734F5C0. 4. IP-пакет размещается в поле данных кадра Ethernet и отправляется в сеть Ethernet2. 5. Маршрутизатор R2 получает кадр, выполняет шаги 2 и 3 и отправляет FDDI-кадр маршрутизатору R1. 6. Маршрутизатор R1 определяет по таблице маршрутизации, что поступивший пакет адресован в сеть, непосредственно подсоединенную к его интерфейсу. Поэтому IP обращается к протоколу ARP, чтобы получить МАС-адрес узла назначения, а не маршрутизатора. 7. В сеть Ethernet1 отправляется адресованный FTP-клиенту кадр (рис. 8.9). 149 Рис. 8.8. Кадр Ethernet с DNS-запросом, отправленный с маршрутизатора R2 8. FTP-клиент извлекает из кадра DNS-ответ, теперь он может продолжить выполнение команды, в которой адрес FTP-сервера указан в виде IP-адреса: > ftp 142.06.13.14 Передача пакета от FTP-клиента к FTP-серверу Этот этап полностью аналогичен описанным выше шагам, относящимся к передаче по сети DNS-запроса и DNS-ответа. Однако для читателя будет весьма полезно описать этот процесс, обращая особое внимание на значения адресных полей заголовков кадров и заголовка вложенного IP-пакета. Маршрутизация с использованием масок Список ключевых слов: маска, демилитаризованная зона, технология бесклассовой междоменной маршрутизации, префикс адреса, локализация адресов, подсеть, специфический маршрут, маски переменной длины, агрегирование адресов, перекрытие адресных пространств, CIDR. Алгоритм маршрутизации усложняется, когда в систему адресации узлов вносятся дополнительные элементы — маски. В чем же причины отказа от хорошо себя зарекомендовавшего в течение многих лет метода адресации, основанного на классах? Основная из них — потребность в структуризации сетей в условиях дефицита нераспределенных номеров сетей. Часто администраторы сетей испытывают неудобства, поскольку количества централизованно выделенных им номеров сетей недостаточно для того, чтобы структурировать сеть надлежащим образом, например, развести все слабо взаимодействующие компьютеры по разным сетям. В такой ситуации возможны два пути. Первый из них связан с получением от какого-либо центрального органа дополнительных номеров сетей. Второй способ, употребляющийся чаще, связан с использованием технологии масок, которая позволяет разделить одну сеть на несколько сетей. Структуризация сети масками одинаковой длины Допустим, администратор получил в свое распоряжение адрес класса В: 128.44.0.0. Он может организовать сеть с большим числом узлов, номера которых брать из диапазона 0.0.0.1 — 0.0.255.254. Всего получается 216 - 2 адреса (с учетом того, что адреса из одних нулей и одних единиц имеют специальное назначение и не годятся для адресации узлов). Однако ему не нужна одна большая неструктурированная сеть, производственная необходимость диктует администратору другое решение, в соответствии с которым сеть должна быть разделена на три отдельных подсети, при этом трафик в каждой подсети должен быть надежно локализован. Это позволит легче диагностировать сеть и проводить в каждой из подсетей особую политику безопасности. (Заметим, что разделение большой сети с помощью масок имеет еще одно преимущество — оно позволяет скрыть внутреннюю структуру сети предприятия от внешнего наблюдения и тем самым повысить ее безопасность.) На рис. 8.10 показано разделение всего полученного администратором адресного диапазона на 4 равные части — каждая по 2 14 адресов. При этом число разрядов, доступное для нумерации узлов, уменьшилось на два бита, а префикс (номер) каждой из четырех сетей стал длиннее на два бита. Следовательно, каждый из четырех диапазонов можно записать в виде IP-адреса с маской, состоящей из 18 единиц, или в десятичной нотации — 255.255.192.0. 128.44.0.0/18 (10000001 00101100 00000000 00000000) 128.44.64.0/18 (10000001 00101100 01000000 00000000) 128.44.128.0/18 (10000001 00101100 10000000 00000000) 150 128.44.192.0/18 (10000001 00101100 11000000 00000000) Из приведенных записей видно, что администратор получает возможность использовать для нумерации подсетей два дополнительных бита (выделенных жирным шрифтом). Именно это позволяет ему сделать из одной централизованно выделенной сети четыре, в данном примере это 128.44.0.0/18, 128.44.64.0/18, 128.44.128.0/18, 128.44.192.0/8. Рис. 8.10. Разделение адресного пространства сети класса В 128.44.0.0 на четыре равные части Примечание. Некоторые программные и аппаратные маршрутизаторы, следуя устаревшим рекомендациям RFC 950, не поддерживают номера подсетей, которые состоят либо только из одних нулей, либо только из одних единиц. Например, для такого типа оборудования номер сети 128.44.0.0 с маской 255.255.192.0, использованной в нашем примере, окажется недопустимым, поскольку в этом случае разряды в поле номера подсети имеют значение 00. По аналогичным соображениям недопустимым может оказаться номер сети 128.44.192.0 с тем же значением маски. Здесь номер подсети состоит только из единиц. Однако современные маршрутизаторы, поддерживающие рекомендации RFC 1878, свободны от этих ограничений. Пример сети, построенной путем деления на 4 сети равного размера, показан на рис. 8.11. Весь трафик во внутреннюю сеть 128.44.0.0, направляемый из внешней сети, поступает через маршрутизатор R1. В целях структуризации информационных потоков во внутренней сети установлен дополнительный маршрутизатор R2. Каждая из вновь образованных сетей 151 128.44.0.0/18, 128.44.64.0/18, 128.44.128.0/18 и 128.44.192.0/18 подключена к соответственно сконфигурированным портам внутреннего маршрутизатора R2. Примечание. В одной из этих сетей (128.44.192.0/18), выделенной для создания соединения между внешним и внутренним маршрутизаторами, для адресации узлов были использованы всего два адреса — 128.44.192.1 (порт маршрутизатора R2) и 128.44.192.2 (порт маршрутизатора R1). Огромное число узлов в этой подсети не используются. Такой пример выбран исключительно в учебных целях, чтобы показать неэффективность сетей равного размера. Рис. 8.11. Маршрутизация с использованием масок одинаковой длины Извне сеть по-прежнему выглядит, как единая сеть класса В. Однако поступающий в сеть общий трафик разделяется локальным маршрутизатором R2 между четырьмя сетями. В условиях, когда механизм классов не действует, маршрутизатор должен иметь другое средство, которое позволило бы ему определять, какая часть 32-разрядного числа, помещенного в поле «Адрес назначения», является номером сети. Именно этой цели служит дополнительное поле маски, включенное в таблицу маршрутизации (табл. 8.8). Первые четыре записи в таблице соответствуют внутренним подсетям, непосредственно подключенным к портам маршрутизатора R2. Запись 0.0.0.0 с маской 0.0.0.0 соответствует маршруту по умолчанию. Последняя запись определяет специфический маршрут к узлу 128.44.128.15. В тех строках таблицы, в которых в качестве адреса назначения указан полный IP-адрес узла, маска имеет значение 255.255.255.255. В отличие от всех других узлов сети 128.44.128.0, к которым пакеты поступают с интерфейса 128.44.128.5 маршрутизатора R2, к данному узлу они будит приходить через маршрутизатор R3. Таблица 8.8. Таблица маршрутизатора R2 в сети с масками одинаковой длины 152 Просмотр таблиц маршрутизации с учетом масок Алгоритм просмотра таблиц маршрутизации, содержащих маски, имеет много общего с описанным выше алгоритмом просмотра таблиц, не содержащих маски. Однако в нем имеются и существенные изменения. 1. Поиск следующего маршрутизатора для вновь поступившего IP-пакета протокол начинает с того, что извлекает из пакета адрес назначения (обозначим его IPD). Затем протокол IP приступает к процедуре просмотра таблицы маршрутизации, также состоящей из двух фаз, как и процедура просмотра таблицы, в которой столбец маски отсутствует. 2. Первая фаза состоит в поиске специфического маршрута для адреса IPD. С этой целью из каждой записи таблицы, в которой маска имеет значение 255.255.255.255, извлекается адрес назначения и сравнивается с адресом из пакета IPD. Если в какой-либо строке совпадение произошло, то адрес следующего маршрутизатора для данного пакета берется из данной строки. 3. Вторая фаза выполняется только в том случае, если во время первой фазы не произошло совпадения адресов. Она состоит в поиске неспецифического маршрута, общего для группы узлов, к которой относится и пакет с адресом IPD. Для этого IP заново просматривает таблицу маршрутизации, причем с каждой записью производятся следующие действия:  маска (обозначим ее М), содержащаяся в данной записи, «накладывается» на IP-адрес узла назначения IPD, извлеченный из пакета: IPD AND M;  полученное в результате число сравнивается со значением, которое помещено в поле адреса назначения той же записи таблицы маршрутизации;  если происходит совпадение, протокол IP соответствующим образом отмечает эту строку;  если просмотрены не все строки, то IP-протокол аналогичным образом просматривает следующую строку, если все (включая строку о маршруте по умолчанию), то просмотр записей заканчивается и происходит переход к следующему шагу. 4. После просмотра всей таблицы маршрутизатор выполняет одно их трех действий:  если не произошло ни одного совпадения и маршрут по умолчанию отсутствует, то пакет отбрасывается;  если произошло одно совпадение, то пакет отправляется по маршруту, указанному в строке с совпавшим адресом;  если произошло несколько совпадений, то все помеченные строки сравниваются и выбирается маршрут из той строки, в которой количество совпавших двоичных разрядов наибольшее (другими словами, в ситуации, когда адрес назначения пакета принадлежит сразу нескольким подсетям, маршрутизатор использует наиболее специфический маршрут). Примечание. Во многих таблицах маршрутизации запись с адресом 0.0.0.0 и маской 0.0.0.0 соответствует маршруту по умолчанию. Действительно, любой адрес в пришедшем пакете после наложения на него маски 0.0.0.0 даст адрес сети 0.0.0.0, что совпадает с адресом, указанным в записи. Поскольку маска 0.0.0.0 имеет нулевую длину, то этот маршрут считается самым 153 неспецифическим и используется только при отсутствии совпадений с остальными записями из таблицы маршрутизации. Проиллюстрируем, как маршрутизатор R2 (см. рис. 8.11) использует вышеописанный алгоритм для работы со своей таблицей маршрутизации (см. табл. 8.8). Пусть на маршрутизатор R2 поступает пакет с адресом назначения 128.44.78.200. Модуль IP, установленный на этом маршрутизаторе, прежде всего сравнит этот адрес с адресом 128.44.128.15, для которого определен специфический маршрут. Совпадения нет, поэтому модуль IP начинает последовательно обрабатывать все строки таблицы, накладывая маски и сравнивая результаты до тех пор, пока не найдет совпадения номера сети в адресе назначения и в строке таблицы. В результате определяется маршрут для пакета 128.44.78.200 — он должен быть отправлен на выходной порт маршрутизатора 128.44.64.7 в сеть 128.44.64.0, непосредственно подключенную к данному маршрутизатору. Использование масок переменной длины Во многих случаях более эффективным является разбиение сети на подсети разного размера. В частности, для подсети, которая связывает два маршрутизатора по двухточечной схеме, даже количество адресов сети класса С явно является избыточным. На рис. 8.12 приведен другой пример распределения того же адресного пространства 128.44.0.0/16, что и в предыдущем примере. Здесь половина из имеющихся адресов (2 15) отведена для создания сети с адресом 128.44.0.0 и маской 255.255.128.0. Следующая порция адресов, составляющая четверть всего адресного пространства (2 14), назначена для сети 128.44.128.0 с маской 255.255.192.0. Далее в пространстве адресов был «вырезан» небольшой фрагмент для создания сети, предназначенной для связывания внутреннего маршрутизатора R2 с внешним маршрутизатором R1. Для нумерации узлов в такой вырожденной сети достаточно отвести два двоичных разряда. Из четырех возможных комбинаций номеров узлов: 00, 01, 10 и 11 два номера имеют специальное назначение и не могут быть присвоены узлам, но оставшиеся два 10 и 01 позволяют адресовать порты маршрутизаторов. Поле номера узла в таком случае имеет два двоичных разряда, маска в десятичной нотации имеет вид 255.255.255.252, а номер сети, как видно из рисунка, равен 128.44.192.0. 154 Рис. 8.12. Разделение адресного пространства сети класса В 128.44.0.0 на сети разного размера путем использования масок переменной длины Примечание. Глобальным связям между маршрутизаторами, соединенными по двухточечной схеме, не обязательно давать IP-адреса. Однако чаще всего такой вырожденной сети все же дают IP-адрес. Кроме прочего, это делается, например, для того, чтобы скрыть внутреннюю структуру сети и обращаться к ней по одному адресу входного порта маршрутизатора, в данном примере по адресу 128.44.192.1, применяя технику трансляции сетевых адресов (Network Address Translator, NAT (о технологии NAT читайте в главе 20)). Оставшееся адресное пространство администратор может «нарезать» на разное количество сетей разного объема в зависимости от своих потребностей. Из оставшегося пула (2 14 - 4) адресов администратор может образовать еще одну достаточно большую сеть с числом узлов 2 13. При этом свободными останутся почти столько же адресов (2 13 - 4), которые также могут быть использованы для создания новых сетей. К примеру, из этого «остатка» можно образовать 31 сеть, каждая из которых равна размеру сети класса С, и к тому же еще несколько сетей меньшего размера. Ясно, что разбиение может быть другим, но в любом случае с помощью масок переменного размера администратор имеет больше возможностей рационально использовать все имеющиеся у него адреса. 155 На рис. 8.13 показан пример сети, структурированной с помощью масок переменной длины. Рис. 8.13. Структуризация сети масками переменной длины Давайте посмотрим, как маршрутизатор R2 обрабатывает поступающие на его интерфейсы пакеты (табл. 8.9). Таблица 8.8. Таблица маршрутизатора R2 в сети с масками переменной длины Пусть поступивший на R2 пакет имеет адрес назначения 128.44.192.15. Поскольку специфические маршруты в таблице отсутствуют, маршрутизатор переходит ко второй фазе — фазе последовательного анализа строк на предмет поиска совпадения с адресом назначения:  (128.44.192.5) AND (255.255.128.0) = 128.44.128.0 — нет совпадения; 156  (128.44.192.5) AND (255.255.192.0) = 128.44.192.0 — нет совпадения;  (128.44.192.5) AND (255.255.255.248) = 128.44.192.0 — совпадение;  (128.44.192.5) AND (255.255.224.0) = 128.44.192.0 — нет совпадения. Таким образом, совпадение имеет место в одной строке. Пакет будет отправлен в непосредственно подключенную к данному маршрутизатору сеть на выходной интерфейс 128.44.192.1. Если пакет с адресом 128.44.192.1 поступает из внешней сети, и маршрутизатор R1 не использует маски, пакет передается маршрутизатору R2, а потом снова возвращается в соединительную сеть. Очевидно, что такие передачи пакета не выглядят рациональными. Маршрутизация будет более эффективной, если в таблице маршрутизации маршрутизатора R1 маршруты будут заданы масками переменной длины (табл. 8.10). Первая из приведенных двух записей говорит о том, что все пакеты, адреса которых начинаются с 128.44, должны быть переданы на маршрутизатор R2. Эта запись выполняет агрегирование адресов всех подсетей, созданных на базе одной сети 128.44.0.0. Вторая строка говорит о том, что среди всех возможных подсетей сети 128.44.0.0 есть одна (128.44.192.0/30), которой пакеты можно направлять непосредственно, а не через маршрутизатор R2. Таблица 8.10. Фрагмент таблицы маршрутизатора R1 Примечание. В IP-пакетах при использовании механизма масок по-прежнему передается только IP-адрес назначения, а маска сети назначения не передается. Поэтому из IP-адреса пришедшего пакета невозможно выяснить, какая часть адреса относится к номеру сети, а какая — к номеру узла. Если маски во всех подсетях имеют один размер, то это не создает проблем. Если же для образования подсетей применяют маски переменной длины, то маршрутизатор должен каким-то образом узнавать, каким адресам сетей какие маски соответствуют. Для этого используются протоколы маршрутизации, переносящие между маршрутизаторами не только служебную информацию об адресах сетей, но и о масках, соответствующих этим номерам. К таким протоколам относятся протоколы RIPv2 и OSPF, а вот, например, протокол RIP маски не переносит и для масок переменной длины не подходит. Перекрытие адресных пространств Со сложностями использования масок администратор впервые сталкивается не тогда, когда начинает конфигурировать сетевые интерфейсы и создавать таблицы маршрутизации, а гораздо раньше — на этапе планирования сети. Планирование включает определение количества сетей, из которых будет состоять корпоративная сеть, оценку требуемого количества адресов для каждой сети, получение пула адресов от поставщика услуг, распределение адресного пространства между сетями. Последняя задача часто оказывается нетривиальной, особенно когда решается в условиях дефицита адресов. Рассмотрим пример использования масок для организации перекрывающихся адресных пространств. Пусть на некотором предприятии было принято решение обратиться к поставщику услуг для получения пула адресов, достаточного для создания сети, структура которой показана на рис. 8.14. 157 Сеть клиента включает три подсети. Две из них — это внутренние сети отделов: сеть Ethernet на 600 пользователей и сеть Token Ring на 200 пользователей. Предприятие также предусматривает отдельную сеть на 10 узлов, главное назначение которой — предоставление информации в режиме открытого доступа для потенциальных клиентов. Такого рода участки корпоративной сети, в которых располагаются веб-серверы, FTP-серверы и другие источники публичной информации, называют демилитаризованной зоной (DeMilitarized Zone, DMZ). Еще одна сеть на два узла потребуется для связи с поставщиком услуг, общее число адресов, требуемых для адресации сетевых интерфейсов, составляет 812. Кроме того, необходимо, чтобы пул доступных адресов включал для каждой из сетей широковещательные адреса, состоящие только из единиц, а также адреса, состоящие только из нулей. Учитывая также, что в любой сети адреса всех узлов должны иметь одинаковые префиксы, становится очевидным, что минимальное количество адресов, необходимое клиенту для построения задуманной сети, может значительно отличаться от значения 812, полученного простым суммированием. В данном примере поставщик услуг решает выделить клиенту непрерывный пул из 1024 адресов. Значение 1024 выбрано как наиболее близкое к требуемому количеству адресов, равному степени двойки (210 = 1024). Поставщик услуг выполняет поиск области такого размера в имеющемся у него адресном пространстве — 131.57.0.0/16, часть которого, как показано на рис. 8.15, уже распределена. Обозначим распределенные участки и владеющих ими клиентов — S1, S2 и S3. Поставщик услуг находит среди нераспределенных еще адресов непрерывный участок размером 1024 адреса, начальный адрес которого кратен размеру данного участка. Таким образом, наш клиент получает пул адресов 131.57.8.0/22, обозначенный на рисунке через S. Далее начинается самый сложный этап — распределение полученного от поставщика услуг адресного пула S между четырьмя сетями клиента. Прежде всего, администратор решил назначить для самой большой сети (Ethernet на 600 узлов) весь пул адресов 131.57.8.0/22, полученный от поставщика услуг (рис. 8.16). Рис. 8.14. Сети поставщика услуг и клиента 158 Рис. 8.15. Адресное пространство поставщика услуг Рис. 8.16. Планирование адресного пространства для сетей клиента 159 Номер, назначенный для этой сети, совпадает с номером сети, полученным от поставщика услуг. А как же быть с оставшимися тремя сетями? Администратор учел, что для сети Ethernet требуется только 600 адресов, а из оставшихся 624 «выкроил» сеть Token Ring 131.57.8.0/24 на 250 адресов. Воспользовавшись тем, что для Token Ring требуется только 200 адресов, он «вырезал» из нее два участка: для DMZ-сети 131.57.8.16/28 на 16 адресов и для связывающей сети 131.57.8.32/30 на 4 адреса. В результате все сети клиента получили достаточное (а иногда и с избытком) количество адресов. Следующий этап — это конфигурирование сетевых интерфейсов конечных узлов и маршрутизаторов. Каждому интерфейсу сообщается его IP-адрес и соответствующая маска. На рис. 8.17 показана сконфигурированная сеть клиента. После конфигурирования сетевых интерфейсов должны быть созданы таблицы маршрутизации маршрутизаторов R1 и R2 клиента. Они могут быть сгенерированы автоматически или с участием администратора. Ниже приведена таблица маршрутизатора R2 (табл. 8.11). Таблица 8.11. Таблица маршрутизатора R2 Рис. 8.17. Сконфигурированная сеть клиента 160 В данной таблице нет маршрута по умолчанию, а значит, все пакеты, адресованные сетям, адреса которых явно не указаны в таблице, будут отбрасываться маршрутизатором. Пусть, например, на маршрутизатор R2 поступает пакет с адресом назначения 131.57.8.28. В результате просмотра таблицы получаем следующие результаты для каждой строки:  (131.57.8.29) AND (255.255.252.0) = 131.57.8.0 — совпадение;  (131.57.8.29) AND (255.255.255.0) = 131.57.8.0 — совпадение;  (131.57.8.29) AND (255.255.255.240) = 131.57.8.16 — совпадение;  (131.57.8.29) AND (255.255.255.252) = 131.57.8.28 — нет совпадения. Поскольку при наличии нескольких совпадений выбирается маршрут из той строки, в которой совпадение адреса назначения с адресом из пакета имеет наибольшую длину, — определено, что пакет с адресом 131.57.8.29 направлен в DMZ-сеть. CIDR За последние несколько лет в Интернете многое изменилось: резко возросло число узлов и сетей, повысилась интенсивность трафика, изменился характер передаваемых данных. Из-за несовершенства протоколов маршрутизации обмен сообщениями об обновлении таблиц стал приводить к сбоям магистральных маршрутизаторов, происходящим из-за перегрузок при обработке большого объема служебной информации. Так, сегодня таблицы магистральных маршрутизаторов в Интернете могут содержать до нескольких сотен и даже тысяч маршрутов. На решение этой проблемы направлена, в частности, и технология бесклассовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR). Суть технологии CIDR заключается в следующем. Каждому поставщику услуг Интернета назначается непрерывный диапазон IP-адресов. При таком подходе все адреса каждого поставщика услуг имеют общую старшую часть — префикс, поэтому маршрутизация на магистралях Интернета может осуществляться на основе префиксов, а не полных адресов сетей. А это значит, вместо множества записей по числу сетей будет достаточно поместить одну запись сразу для всех сетей, имеющих общий префикс. Такое агрегирование адресов позволит уменьшить объем таблиц в маршрутизаторах всех уровней, а следовательно, ускорить работу маршрутизаторов и повысить пропускную способность Интернета. Ранее мы рассматривали примеры, где администраторы корпоративных сетей использовали маски для деления непрерывного пула адресов, полученного от поставщика услуг, на несколько частей, чтобы использовать их для структуризации своей сети. Такой вариант использования масок называется разделением на подсети (subnetting). Вместе с тем в процессе использования масок для разделения на подсети проявлялся и обратный эффект их применения — эффект объединения подсетей. Упрощенно говоря, для того чтобы направить весь суммарный трафик, адресованный из внешнего окружения в корпоративную сеть, разделенную на подсети, достаточно, чтобы во всех внешних маршрутизаторах наличествовала одна строка. В этой строке на месте адреса назначения должен быть указан общий префикс для всех этих сетей. Здесь мы имеем дело с операцией, обратной разделению на подсети, — операцией агрегирования несколько сетей в одну более крупную (supernetting). Вернемся к рис. 8.15, на котором показано адресное пространство поставщика услуг с участками S1, S2, S3 и S, переданными в пользование четырем клиентам. Этот пример также иллюстрирует рис. 8.8. В результате агрегирования сетей клиентов в табл. 8.12 маршрутизатора RISP поставщика услуг для каждого клиента будет выделено по одной строке независимо от количества подсетей, организованных ими в своих сетях. Так, вместо четырех маршрутов к четырем сетям клиента S в таблице задан только один общий для всех них маршрут (выделенный жирным шрифтом). Таблица 8.12. Таблица маршрутизатора RISP поставщика услуг 161 Рис. 8.8. Объединение подсетей Итак, внедрение технологии CIDR позволяет решить две основные задачи.  Более экономное расходование адресного пространства. Благодаря технологии CIDR поставщики услуг получают возможность «нарезать» блоки из выделенного им адресного пространства в точном соответствии с требованиями каждого клиента, при этом у клиента остается пространство для маневра на случай будущего роста. 162  Уменьшение числа записей в таблицах маршрутизации за счет объединения маршрутов — одна запись в таблице маршрутизации может представлять большое количество сетей. Если все поставщики услуг Интернета будут придерживаться стратегии CIDR, то особенно заметный выигрыш будет достигаться в магистральных маршрутизаторах. Необходимым условием эффективного использования технологии CIDR является локализация адресов, то есть назначение адресов, имеющих совпадающие префиксы, сетям, располагающимся территориально по соседству. Только в таком случае трафик может быть агрегирован. К сожалению, сейчас распределение адресов носит во многом случайный характер. Кардинальный путь решения проблемы — перенумерование сетей. Однако эта процедура сопряжена с определенными временными и материальными затратами, и для ее проведения пользователей нужно каким-либо образом стимулировать. В качестве таких стимулов рассматривается, например, введение оплаты за строку в таблице маршрутизации или же за количество узлов в сети. Первое требование подводит потребителя к мысли получить у поставщика услуг такой адрес, чтобы маршрутизация трафика в его сеть шла на основании префикса и номер его сети не фигурировал больше в магистральных маршрутизаторах. Требование оплаты каждого адреса узла также может подтолкнуть пользователя решиться на перенумерование с тем, чтобы получить ровно столько адресов, сколько ему нужно. Технология CIDR уже успешно используется в текущей версии протокола IP (IPv4) и поддерживается такими протоколами маршрутизации, как OSPF, RIP-2, BGP4 (в основном магистральными маршрутизаторами Интернета). Особенности применения технологии CIDR в новой версии протокола IP (IPv6) будут рассмотрены далее. 163 16. Маршрутизация в IP-сетях Архитектура подразумевает представление сети в виде системы элементов, каждый из которых выполняет определенную частную функцию, при этом все элементы вместе согласованно решают общую задачу взаимодействия компьютеров. Другими словами, архитектура сети отражает декомпозицию общей задачи взаимодействия компьютеров на отдельные подзадачи, которые должны решаться отдельными элементами сети. Одним из важных элементов архитектуры сети является коммуникационный протокол — формализованный набор правил взаимодействия узлов сети. Прорывом в стандартизации архитектуры компьютерной сети стала разработка модели взаимодействия открытых систем (Open System Interconnection, OSI), которая в начале 80-х годов обобщила накопленный к тому времени опыт. Модель OSI является международным стандартом и определяет способ декомпозиции задачи взаимодействия «по вертикали», поручая эту задачу коммуникационным протоколам семи уровней. Уровни образуют иерархию, известную как стек протоколов, где каждый вышестоящий уровень использует нижестоящий в качестве удобного инструмента для решения своих задач. Существующие сегодня (или существовавшие еще недавно) стеки протоколов в целом отражают архитектуру модели OSI. Однако в каждом стеке протоколов имеются свои особенности и отличия от архитектуры OSI. Так, наиболее популярный стек TCP/IP состоит из четырех уровней. Стандартная архитектура компьютерной сети определяет также распределение протоколов между элементами сети — конечными узлами (компьютерами) и промежуточными узлами (коммутаторами и маршрутизаторами). Промежуточные узлы выполняют только транспортные функции стека протоколов, передавая трафик между конечными узлами. Конечные узлы поддерживают весь стек протоколов, предоставляя информационные услуги, например вебсервис. Такое распределение функций означает смещение «интеллекта» сети на ее периферию. Декомпозиция задачи сетевого взаимодействия Список ключевых слов: декомпозиция, модуль, спецификация, многоуровневый подход, иерархия, межуровневый интерфейс, интерфейс услуг, протокол, стек протоколов, файловая система, протокольные сущности, сообщение, заголовок сообщения, поля данных сообщения. Организация взаимодействия между устройствами сети является сложной задачей. Для решения сложных задач используется известный универсальный прием — декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей. Декомпозиция состоит в четком определении функций каждого модуля, а также порядка их взаимодействия (то есть межмодульных интерфейсов). При таком подходе каждый модуль можно рассматривать как «черный ящик», абстрагируясь от его внутренних механизмов и концентрируя внимание на способе взаимодействия этих модулей. В результате такого логического упрощения задачи появляется возможность независимого тестирования, разработки и модификации модулей. Так, любой из показанных на рис. 9.1 модулей может быть переписан заново. Пусть, например, это будет модуль А, и если при этом разработчики сохранят без изменения межмодульные связи (в данном случае интерфейсы А-В и А-С), то это не потребует никаких изменений в остальных модулях. 164 Рис. 9.1. Пример декомпозиции задачи Многоуровневый подход Еще более эффективной концепцией, развивающей идею декомпозиции, является многоуровневый подход. После представления исходной задачи в виде множества модулей эти модули группируют и упорядочивают по уровням, образующим иерархию. В соответствии с принципом иерархии для каждого промежуточного уровня можно указать непосредственно примыкающие к нему соседние вышележащий и нижележащий уровни (рис. 9.2). Группа модулей, составляющих каждый уровень, для решения своих задач должна обращаться с запросами только к модулям соседнего нижележащего уровня. С другой стороны, результаты работы каждого из модулей, отнесенных к некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функций и интерфейсов не только отдельных модулей, но и каждого уровня. Рис. 9.2. Многоуровневый подход — создание иерархии задач Межуровневый интерфейс, называемый также интерфейсом услуг, определяет набор функций, которые нижележащий уровень предоставляет вышележащему (рис. 9.3). 165 Рис. 9.3. Концепция многоуровневого взаимодействия Такой подход дает возможность проводить разработку, тестирование и модификацию отдельного уровня независимо от других уровней. Иерархическая декомпозиция позволяет, двигаясь от более низкого уровня к более высокому, переходить ко все более и более абстрактному, а значит, и более простому представлению исходной задачи. Пример Рассмотрим задачу считывания логической записи из файла, расположенного на локальном диске. Ее (очень упрощенно) можно представить в виде следующей иерархии частных задач. 1. Поиск по символьному имени файла его характеристик, необходимых для доступа к данным: информации о физическом расположении файла на диске, размере и др. Поскольку функции этого уровня связаны только с просмотром каталогов, представление о файловой системе на этом уровне чрезвычайно абстрактно: файловая система имеет вид графа, в узлах которого находятся каталоги, а листьями являются файлы. Никакие детали физической и логической организации данных на диске данный уровень не интересуют. 2. Определение считываемой части файла. Для решения этой задачи необходимо снизить степень абстракции файловой системы. Функции данного уровня оперируют с файлом как с совокупностью определенным образом связанных физических блоков диска. 3. Считывание данных с диска. После определения номера физического блока файловая система обращается к системе ввода-нывода для выполнения операции чтения. На этом уровне уже фигурируют такие детали устройства файловой системы, как номера цилиндров, дорожек, секторов. Среди функций, которые может запросить прикладная программа, обращаясь к верхнему уровню файловой системы, может быть, например, такая: ПРОЧИТАТЬ 22 ЛОГИЧЕСКУЮ ЗАПИСЬ ФАЙЛА DIR1/MY/FILE.ТХТ Верхний уровень не может выполнить этот запрос «только своими силами», определив по символьному имени DIR1/MY/FILE.TXT физический адрес файла, он обращается с запросом к нижележащему уровню: ПРОЧИТАТЬ 22 ЛОГИЧЕСКУЮ ЗАПИСЬ ИЗ ФАЙЛА. 166 ИМЕЮЩЕГО ФИЗИЧЕСКИЙ АДРЕС 174 И РАЗМЕР 235 В ответ на запрос второй уровень определяет, что файл с адресом 174 занимает на диске пять несмежных областей, а искомая запись находится в четвертой области в физическом блоке 345. После этого он обращается к драйверу с запросом о чтении требуемой логической записи. В соответствии с этой упрощенной схемой взаимодействие уровней файловой системы было однонаправленным — сверху вниз. Однако реальная картина существенно сложнее. Действительно, чтобы определить характеристики файла, верхний уровень должен «раскрутить» его символьное имя, то есть последовательно прочитать всю цепочку каталогов, указанную в имени файла. А это значит, что для решения свой задачи он несколько раз обратится к нижележащему уровню, который в свою очередь несколько раз «попросит» драйвер считать данные каталогов с диска. И каждый раз результаты будут передаваться снизу вверх. Задача организации взаимодействия компьютеров в сети тоже может быть представлена в виде иерархически организованного множества модулей. Например, модулям нижнего уровня можно поручить вопросы, связанные с надежной передачей информации между двумя соседними узлами, а модулям следующего, более высокого уровня — транспортировку сообщений в пределах всей сети. Очевидно, что последняя задача — организация связи двух любых, не обязательно соседних узлов — является более общей и поэтому ее решение может быть получено путем многократных обращений к нижележащему уровню. Так, организация взаимодействия узлов А и В (рис. 9.4) может быть сведена к поочередному взаимодействию пар промежуточных смежных узлов. Рис. 9.9. Взаимодействие произвольной пары узлов Протокол и стек протоколов Многоуровневое представление средств сетевого взаимодействия имеет свою специфику, связанную с тем, что в процессе обмена сообщениями участвуют, по меньшей мере, две стороны, то есть в данном случае необходимо организовать согласованную работу двух иерархий аппаратных и программных средств, работающих на разных компьютерах. Оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способ определения размера сообщений, договориться о методах контроля достоверности и т. п. Другими словами, соглашения должны быть приняты на всех уровнях, начиная от самого низкого — уровня передачи битов и заканчивая самым высоким, реализующим обслуживание пользователей сети. На рис. 9.5 показана модель взаимодействия двух узлов. С каждой стороны средства взаимодействия представлены четырьмя уровнями. Каждый уровень поддерживает интерфейсы двух типов. Во-первых, это интерфейсы услуг с выше- и нижележащим уровнями «своей» иерархии средств. Во-вторых, это интерфейс со средствами взаимодействия другой стороны, расположенными на том же уровне иерархии. Этот тип интерфейса называют протоколом. Таким образом, протокол всегда является одноранговым интерфейсом. 167 Рис. 9.5. Взаимодействие двух узлов Примечание. В сущности, термины «протокол» и «интерфейс» выражают одно и то же понятие — формализованное описание процедуры взаимодействия двух объектов, но традиционно в сетях за ними закрепили разные области действия: протоколы определяют правила взаимодействия модулей одного уровня в разных узлах, а интерфейсы — правила взаимодействия модулей соседних уровней в одном узле. Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком протоколов. Протоколы нижних уровней часто реализуются комбинацией программных и аппаратных средств, а протоколы верхних уровней, как правило, программными средствами. Программный модуль, реализующий некоторый протокол, называют протокольной сущностью, или, для краткости, тоже протоколом. Понятно, что один и тот же протокол может быть реализован с разной степенью эффективности. Именно поэтому при сравнении протоколов следует учитывать не только логику их работы, но и качество программной реализации. Более того, на эффективность взаимодействия устройств в сети влияет качество всей совокупности протоколов, составляющих стек, в частности то, насколько рационально распределены функции между протоколами разных уровней и насколько хорошо определены интерфейсы между ними. Протокольные сущности одного уровня двух взаимодействующих сторон обмениваются сообщениями в соответствии с определенным для них протоколом. Сообщения состоят из заголовка и поля данных (иногда оно может отсутствовать). Обмен сообщениями является своеобразным языком общения, с помощью которого каждая из сторон «объясняет» другой стороне, что необходимо сделать на каждом этапе взаимодействия. Работа каждого протокольного модуля состоит в интерпретации заголовков поступающих к нему сообщений и выполнении связанных с этим действий. Заголовки сообщений разных протоколов имеют разную структуру, что соответствует различиям в их функциональности. Понятно, что чем сложнее структура заголовка сообщения, тем более сложные функции возложены на соответствующий протокол. Модель OSI Список ключевых слов: взаимодействие открытых систем, прикладной программный интерфейс, протокольная единица данных, сообщение, кадр, пакет, дейтаграмма, сегмент, физический уровень, канальный уровень, контрольная последовательность кадра, управление доступом к среде, сетевой уровень, составная сеть, или Интернет, межсетевое взаимодействие, сетевой, или глобальный, адрес, таблица маршрутизации, маршрутизируемый протокол, маршрутизирующий протокол, или протокол маршрутизации, транспортный уровень, классы транспортного сервиса, сеансовый уровень, уровень представления, прикладной уровень, коммутация пакетов. Из того, что протокол является соглашением, принятым двумя взаимодействующими узлами сети, совсем не следует, что он обязательно является стандартным. Но на практике при реализации 168 сетей стремятся использовать стандартные протоколы. Это могут быть фирменные, национальные или международные стандарты. В начале 80-х годов ряд международных организаций по стандартизации, в частности International Organization for Standardization (ISO), часто называемая также International Standards Organization, а также International Telecommunications Union (ITU) и некоторые другие, — разработали стандартную модель взаимодействия открытых систем (Open System Interconnection, OSI). Эта модель сыграла значительную роль в развитии компьютерных сетей. Общая характеристика модели OSI К концу 70-х годов в мире уже существовало большое количество фирменных стеков коммуникационных протоколов, среди которых можно назвать, например, такие популярные стеки, как DECnet, TCP/IP и SNA. Такое разнообразие средств межсетевого взаимодействия вывело на первый план проблему несовместимости устройств, использующих разные протоколы. Одним из путей разрешения этой проблемы в то время виделся всеобщий переход на единый, общий для всех систем стек протоколов, созданный с учетом недостатков уже существующих стеков. Такой академический подход к созданию нового стека начался с разработки модели OSI и занял семь лет (с 1977 по 1984 год). Назначение модели OSI состоит в обобщенном представлении средств сетевого взаимодействия. Она разрабатывалась в качестве своего рода универсального языка сетевых специалистов, именно поэтому ее называют справочной моделью. Внимание. Модель OSI определяет, во-первых, уровни взаимодействия систем в сетях с коммутацией пакетов, во-вторых, стандартные названия уровней, в-третьих, функции, которые должен выполнять каждый уровень. Модель OSI не содержит описаний реализаций конкретного набора протоколов. В модели OSI (рис. 9.6) средства взаимодействия делятся на семь уровней: прикладной, представления, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с совершенно определенным аспектом взаимодействия сетевых устройств. Внимание. Модель OSI описывает только системные средства взаимодействия, реализуемые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает средства взаимодействия приложений конечных пользователей. Важно различать уровень взаимодействия приложений и прикладной уровень семиуровневой модели. Приложения могут реализовывать собственные протоколы взаимодействия, используя для этих целей многоуровневую совокупность системных средств. Именно для этого в распоряжение программистов предоставляется прикладной программный интерфейс (Application Program Interface, API). В соответствии с идеальной схемой модели OSI приложение может обращаться с запросами к самому верхнему уровню — уровню приложений, однако на практике многие стеки коммуникационных протоколов предоставляют возможность программистам напрямую обращаться к сервисам, или службам, расположенным ниже уровней. Например, некоторые СУБД имеют встроенные средства удаленного доступа к файлам. В этом случае приложение, выполняя доступ к удаленным ресурсам, не использует системную файловую службу; оно обходит верхние уровни модели OSI и обращается непосредственно к ответственным за транспортировку сообщений по сети системным средствам, которые располагаются на нижних уровнях модели OSI. Итак, пусть приложение узла А хочет взаимодействовать с приложением узла В. Для этого приложение А обращается с запросом к прикладному уровню, например к файловой службе. На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата. Но для того чтобы доставить эту информацию по назначению, предстоит решить еще много задач, ответственность за которые несут нижележащие уровни. 169 Рис. 9.6. Модель взаимодействия открытых систем ISO/OSI После формирования сообщения прикладной уровень направляет его вниз по стеку уровню представления. Протокол уровня представления на основании информации, полученной из заголовка сообщения прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию — заголовок уровня представления, в котором содержатся указания для протокола уровня представления машины-адресата. Полученное в результате сообщение передается вниз сеансовому уровню, который в свою очередь добавляет свой заголовок и т. д. (Некоторые реализации протоколов помещают служебную информацию не только в начале сообщения в виде заголовка, но и в конце в виде так называемого концевика.) Наконец, сообщение достигает нижнего, физического уровня, который, собственно, и передает его по линиям связи машине-адресату. К этому моменту сообщение «обрастает» заголовками всех уровней (рис. 9.7). 170 Рис. 9.7. Вложенность сообщений различных уровней Физический уровень помещает сообщение на физический выходной интерфейс компьютера 1, и оно начинает свое «путешествие» по сети (до этого момента сообщение передавалось от одного уровня другому в пределах компьютера 1). Когда сообщение по сети поступает на входной интерфейс компьютера 2, оно принимается его физическим уровнем и последовательно перемещается вверх с уровня на уровень. Каждый уровень анализирует и обрабатывает заголовок своего уровня, выполняя соответствующие функции, а затем удаляет этот заголовок и передает сообщение вышележащему уровню. Как видно из описания, протокольные сущности одного уровня не общаются между собой непосредственно, в этом общении всегда участвуют посредники — средства протоколов нижележащих уровней. И только физические уровни различных узлов взаимодействуют непосредственно. В стандартах ISO для обозначения единиц обмена данными, с которыми имеют дело протоколы разных уровней, используется общее название протокольная единица данных ((Protocol Data Unit, PDU). Для обозначения единиц обмена данными конкретных уровней часто используются специальные названия, в частности: сообщение, кадр, пакет, дейтаграмма, сегмент. Физический уровень Физический уровень (physical layer) имеет дело с передачей потока битов по физическим каналам связи, таким как коаксиальный кабель, витая пара, оптоволоконный кабель или цифровой территориальный канал. Мы уже рассмотрели основные особенности этого уровня в разделе «Физическая передача данных по линиям связи» главы 2. Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 метров, манчестерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов. Физический уровень не вникает в смысл информации, которую он передает. Для него эта информация представляет однородный поток битов, которые нужно доставить без искажений и в соответствии с заданной тактовой частотой (интервалом между соседними битами). Канальный уровень 171 Канальный уровень (data link layer) является первым уровнем (если идти снизу вверх), который работает в режиме коммутации пакетов. На этом уровне PDU обычно носит название кадр (frame). Функции средств канального уровня определяются по-разному для локальных и глобальных сетей.  В локальных сетях канальный уровень должен обеспечивать доставку кадра между любыми узлами сети. При этом предполагается, что сеть имеет типовую топологию, например общую шину, кольцо, звезду или дерево (иерархическую звезду). Примерами технологий локальных сетей, применение которых ограничено типовыми топологиями, являются Ethernet, FDDI, Token Ring.  В глобальных сетях канальный уровень должен обеспечивать доставку кадра только между двумя соседними узлами, соединенными индивидуальной линией связи. Примерами двухточечных протоколов (как часто называют такие протоколы) могут служить широко распространенные протоколы РРР и HDLC. На основе двухточечных связей могут быть построены сети произвольной топологии. Для связи локальных сетей между собой или для доставки сообщений между любыми конечными узлами глобальной сети используются средства более высокого сетевого уровня. Одной из функций канального уровня является поддержание интерфейсов с нижележащим физическим уровнем и вышележащим сетевым уровнем. Сетевой уровень направляет канальному уровню пакет для передачи в сеть или принимает от него пакет, полученный из сети. Физический уровень используется канальным как инструмент, который принимает и передает в сеть последовательности битов. Начнем рассмотрение работы канального уровня, начиная с момента, когда сетевой уровень отправителя передает канальному уровню пакет, а также указание, какому узлу его передать. Для решения этой задачи канальный уровень создает кадр, который имеет поле данных и заголовок. Канальный уровень помещает (инкапсулирует) пакет в поле данных кадра и заполняет соответствующей служебной информацией заголовок кадра. Важнейшей информацией заголовка кадра является адрес назначения, на основании которого коммутаторы сети будут продвигать пакет. Одной из задач канального уровня является обнаружение и коррекция ошибок. Для этого канальный уровень фиксирует границы кадра, помещая специальную последовательность битов в его начало и конец, а затем добавляет к кадру контрольную сумму, которая называется также контрольной последовательностью кадра (Frame Check Sequence, FCS). Контрольная сумма вычисляется по некоторому алгоритму как функция от всех байтов кадра. По значению FCS узел назначения сможет определить, были или нет искажены данные кадра в процессе передачи по сети. Однако прежде, чем переправить кадр физическому уровню для непосредственной передачи данных в сеть, канальному уровню может потребоваться решить еще одну важную задачу. Если в сети используется разделяемая среда, то прежде чем физический уровень начнет передавать данные, канальный уровень должен проверить доступность среды. Функции проверки доступности разделяемой среды иногда выделяют в отдельный подуровень управления доступом к среде (Media Access Control, MAC). Если разделяемая среда освободилась (когда она не используется, то такая проверка, конечно, пропускается), кадр передается средствами физического уровня в сеть, проходит по каналу связи и поступает в виде последовательности битов в распоряжение физического уровня узла назначения. Этот уровень в свою очередь передает полученные биты «наверх» канальному уровню своего узла. Последний группирует биты в кадры, снова вычисляет контрольную сумму полученных данных и сравнивает результат с контрольной суммой, переданной в кадре. Если они совпадают, кадр считается правильным. Если же контрольные суммы не совпадают, фиксируется ошибка. В функции канального уровня входит не только обнаружение ошибок, но и исправление их за счет повторной передачи поврежденных кадров. Однако эта функция не является обязательной и в некоторых реализациях канального уровня она отсутствует, например в Ethernet, Token Ring, FDDI и Frame Relay. 172 Протоколы канального уровня реализуются компьютерами, мостами, коммутаторами и маршрутизаторами. В компьютерах функции канального уровня реализуются совместными усилиями сетевых адаптеров и их драйверов. Протокол канального уровня обычно работает в пределах сети, являющейся одной из составляющих более крупной составной сети, объединенной протоколами сетевого уровня. Адреса, с которыми работает протокол канального уровня, используются для доставки кадров только в пределах этой сети, а для перемещения пакетов между сетями применяются уже адреса следующего, сетевого, уровня. В локальных сетях канальный уровень поддерживает весьма мощный и законченный набор функций по пересылке сообщений между узлами сети. В некоторых случаях протоколы канального уровня локальных сетей оказываются самодостаточными транспортными средствами и могут допускать работу непосредственно поверх себя протоколов прикладного уровня или приложений без привлечения средств сетевого и транспортного уровней. Тем не менее для качественной передачи сообщений в сетях с произвольной топологией функций канального уровня оказывается недостаточно. Это утверждение в еще большей степени справедливо для глобальных сетей, в которых протокол канального уровня реализует достаточно простую функцию передачи данных между соседними узлами. Сетевой уровень Сетевой уровень (network layer) служит для образования единой транспортной системы, объединяющей несколько сетей, называемой составной сетью, или интернетом (не следует путать интернет (со строчной буквы) с Интернетом (с прописной буквы). Интернет — это самая известная и охватывающая весь мир реализация составной сети, построенная на основе технологии TCP/IP). Технология, позволяющая соединять в единую сеть множество сетей, в общем случае построенных на основе разных технологий, называется технологией межсетевого взаимодействия (internetworking). На рис. 9.8 показаны несколько сетей, каждая из которых использует собственную технологию канального уровня: Ethernet, FDDI, Token Ring, ATM, Frame Relay. На базе этих технологий каждая из указанных сетей может связывать между собой любых пользователей, но только своей сети, и не способна обеспечить передачу данных в другую сеть. Причина такого положения вещей очевидна и кроется в существенных отличиях одной технологии от другой. Даже наиболее близкие технологии LAN — Ethernet, FDDI, Token Ring, — имеющие одну и ту же систему адресации (адреса подуровня MAC, называемые МАС-адресами), отличаются друг от друга форматом используемых кадров и логикой работы протоколов. Еще больше отличий между технологиями LAN и WAN. Во многих технологиях WAN задействована техника предварительно устанавливаемых виртуальных каналов, идентификаторы которых применяются в качестве адресов. Все технологии имеют собственные форматы кадров (в технологии ATM кадр даже называется иначе — ячейкой) и, конечно, собственные стеки протоколов. 173 Рис. 9.8. Необходимость сетевого уровня Чтобы связать между собой сети, построенные на основе столь отличающихся технологий, нужны дополнительные средства, и такие средства предоставляет сетевой уровень. Функции сетевого уровня реализуются:  группой протоколов;  специальными устройствами — маршрутизаторами. Одной из функций маршрутизатора является физическое соединение сетей. Маршрутизатор имеет несколько сетевых интерфейсов, подобных интерфейсам компьютера, к каждому из которых может быть подключена одна сеть. Таким образом, все интерфейсы маршрутизатора можно считать узлами разных сетей. Маршрутизатор может быть реализован программно, на базе универсального компьютера (например, типовая конфигурация Unix или Windows включает программный модуль маршрутизатора). Однако чаще маршрутизаторы реализуются на базе специализированных аппаратных платформ. В состав программного обеспечения маршрутизатора входят протокольные модули сетевого уровня. Итак, чтобы связать сети, показанные на рис. 9.8, необходимо соединить все эти сети маршрутизаторами и установить протокольные модули сетевого уровня на все конечные узлы пользователей, которые хотели бы связываться через составную сеть (рис. 9.9). 174 Рис. 9.9. Пример составной сети Данные, которые необходимо передать через составную сеть, поступают на сетевой уровень от вышележащего транспортного уровня. Эти данные снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет — так называется PDU сетевого уровня. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в составную сеть, и несет наряду с другой служебной информацией данные об адресе назначения этого пакета. Для того чтобы протоколы сетевого уровня могли доставлять пакеты любому узлу составной сети, эти узлы должны иметь адреса, уникальные в пределах данной составной сети. Такие адреса называются сетевыми, или глобальными. Каждый узел составной сети, который намерен обмениваться данными с другими узлами составной сети, должен иметь сетевой адрес наряду с адресом, назначенным ему на канальном уровне. Например, на рис. 9.9 компьютер в сети Ethernet, входящей в составную сеть, имеет адрес канального уровня МАС1 и адрес сетевого уровня NETA1; аналогично в сети ATM узел, адресуемый идентификаторами виртуальных каналов ID1 и ID2, имеет сетевой адрес NET-A2. В пакете в качестве адреса назначения должен быть указан адрес сетевого уровня, на основании которого определяется маршрут пакета. Определение маршрута является важной задачей сетевого уровня. Маршрут описывается последовательностью сетей (или маршрутизаторов), через которые должен пройти пакет, чтобы попасть к адресату. Например, на рис. 9.9 штриховой линией показано 3 маршрута, по которым могут быть переданы данные от компьютера А к компьютеру Б. Маршрутизатор собирает информацию о топологии связей между сетями и на ее основании строит таблицы коммутации, которые в данном случае носят специальное название таблиц маршрутизации. Задачу выбора маршрута мы уже коротко обсуждали в разделе «Обобщенная задача коммутации» главы 2. В соответствии с многоуровневым подходом сетевой уровень для решения своей задачи обращается к нижележащему канальному уровню. Весь путь через составную сеть разбивается на участки от одного маршрутизатора до другого, причем каждый участок соответствует пути через отдельную сеть. Для того чтобы передать пакет через очередную сеть, сетевой уровень помещает его в поле данных кадра соответствующей канальной технологии, указывая в заголовке кадра канальный 175 адрес интерфейса следующего маршрутизатора. Сеть, используя свою канальную технологию, доставляет кадр с инкапсулированным в него пакетом по заданному адресу. Маршрутизатор извлекает пакет из прибывшего кадра и после необходимой обработки передает пакет для дальнейшей транспортировки в следующую сеть, предварительно упаковав его в новый кадр канального уровня в общем случае другой технологии. Таким образом, сетевой уровень играет роль координатора, организующего совместную работу сетей, построенных на основе разных технологий. Пример-аналогия Можно найти аналогию между функционированием сетевого уровня и международной почтовой службы, такой, например, как DHL или TNT (рис. 9.10). Представим, что некоторый груз необходимо доставить из города Абра в город Кадабра, причем эти города расположены на разных континентах. Для доставки груза международная почта использует услуги различных региональных перевозчиков:  железную дорогу;  морской транспорт;  авиаперевозчиков;  автомобильный транспорт. Эти перевозчики могут рассматриваться как аналоги сетей канального уровня, причем каждая «сеть» здесь построена на основе собственной технологии. Из этих региональных служб международная почтовая служба должна организовать единую слаженно работающую сеть. Для этого международная почтовая служба должна, во-первых, продумать маршрут перемещения почты, во-вторых, координировать работу в пунктах смены перевозчиков (например, выгружать почту из вагонов и размещать ее в транспортном отсеке самолета). Каждый же перевозчик ответственен только за перемещение почты по своей части пути и не несет никакой ответственности за состояние почты за его пределами. Рис. 9.10. Работа международной почтовой службы В общем случае функции сетевого уровня шире, чем обеспечение обмена в пределах составной сети. Так, сетевой уровень решает задачу создания надежных и гибких барьеров на пути нежелательного трафика между сетями. В заключение отметим, что на сетевом уровне определяются два вида протоколов. Первый вид — маршрутизируемые протоколы — реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоколов, называемых маршрутизирующими протоколами, или протоколами маршрутизации. С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений, на основании которой осуществляется выбор маршрута продвижения пакетов. Транспортный уровень 176 На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надежным соединением. Транспортный уровень (transport layer) обеспечивает приложениям или верхним уровням стека — прикладному, представления и сеансовому — передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов транспортного сервиса от низшего класса 0 до высшего класса 9. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное — способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов. Выбор класса сервиса транспортного уровня определяется, с одной стороны, тем, в какой степени задача обеспечения надежности решается самими приложениями и протоколами более высоких, чем транспортный, уровней. С другой стороны, этот выбор зависит от того, насколько надежной является система транспортировки данных в сети, обеспечиваемая уровнями, расположенными ниже транспортного, — сетевым, канальным и физическим. Так, если качество каналов передачи связи очень высокое и вероятность возникновения ошибок, не обнаруженных протоколами более низких уровней, невелика, то разумно воспользоваться одним из облегченных сервисов транспортного уровня, не обремененных многочисленными проверками, квитированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который работает, используя максимум средств для обнаружения и устранения ошибок, включая предварительное установление логического соединения, контроль доставки сообщений по контрольным суммам и циклической нумерации пакетов, установление тайм-аутов доставки и т. п. Все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети — компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell. Протоколы нижних четырех уровней обобщенно называют сетевым транспортом, или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Оставшиеся три верхних уровня решают задачи предоставления прикладных сервисов, используя нижележащую транспортную подсистему. Сеансовый уровень Сеансовый уровень (session layer) обеспечивает управление взаимодействием сторон: фиксирует, какая из сторон является активной в настоящий момент, и предоставляет средства синхронизации сеанса. Эти средства позволяют в ходе длинных передач сохранять информацию о состоянии этих передач в виде контрольных точек, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов. Функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе. Уровень представления Уровень представления (presentation layer), как явствует из его названия, обеспечивает представление передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне могут выполняться шифрование и дешифрирование данных, благодаря которым секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол 177 SSL (Secure Socket Layer — слой защищенных сокетов), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP. Прикладной уровень Прикладной уровень (application layer) — это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые веб-страницы, а также организуют свою совместную работу, например, по протоколу электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением. Существует очень большое разнообразие протоколов и соответствующих служб прикладного уровня. Приведем в качестве примера несколько наиболее распространенных реализаций сетевых файловых служб: NFS и FTP в стеке TCP/IP, SMB в Microsoft Windows, NCP в операционной системе Novell NetWare. Модель OSI и сети с коммутацией каналов Как уже было упомянуто, модель OSI описывает процесс взаимодействия устройств в сети с коммутацией пакетов. А как же обстоит дело с сетями коммутации каналов? Существует ли для них собственная справочная модель? Можно ли сопоставить функции технологий коммутации каналов с уровнями модели OSI? Да, для представления структуры средств межсетевого взаимодействия сетей с коммутацией каналов также используется многоуровневый подход, в соответствии с которым существуют протоколы нескольких уровней, образующих иерархию. Однако общей справочной модели, подобной модели OSI, для сетей с коммутацией каналов не существует. Например, различные типы телефонных сетей используют собственные стеки протоколов, отличающиеся количеством уровней и распределением функций между уровнями. Первичные сети, такие как SDH или DWDM, также обладают собственной иерархией протоколов. Ситуация усложняется еще и тем, что практически все типы современных сетей с коммутацией каналов задействуют эту технику только для передачи пользовательских данных, а для управления процессом установления соединений в сети и общего управления сетью применяют технику коммутации пакетов. Такими сетями являются, например, сети ISDN, SDH, DWDM. Для сетей с коммутацией пакетов сети с коммутацией каналов предоставляют сервис физического уровня, несмотря на то, что сами они устроены достаточно сложно и поддерживают собственную иерархию протоколов. Рассмотрим, к примеру, случай, когда несколько локальных пакетных сетей связываются между собой через цифровую телефонную сеть. Очевидно, что функции создания составной сети выполняют протоколы сетевого уровня, поэтому мы устанавливаем в каждой локальной сети маршрутизатор. Маршрутизатор должен быть оснащен интерфейсом, который может установить соединение через телефонную сеть с другой локальной сетью. После того как такое соединение установлено, в телефонной сети образуется поток битов, передаваемых с постоянной скоростью. Это соединение и предоставляет сервис физического уровня для маршрутизаторов. Для того чтобы организовать передачу данных, маршрутизаторы используют поверх этого физического канала какой-либо двухточечный протокол канального уровня. Стандартизация сетей Список ключевых слов: открытая спецификация, открытая система, стандарты отдельных фирм, специальных комитетов и объединений, национальные стандарты, международные стандарты, совет по архитектуре Интернета, RFC, стеки TCP/IP, OSI, IPX/SPX, NetBIOS/SMB, DECnet, SNA, поток данных, сегмент, дейтаграмма, кадр, фрейм, хост, шлюз. Универсальный тезис о пользе стандартизации, справедливый для всех отраслей, в компьютерных сетях приобретает особое значение. Суть сети — это соединение разного оборудования, а значит, проблема совместимости является здесь одной из наиболее острых. Без согласования всеми производителями общепринятых стандартов для оборудования и протоколов прогресс в деле «строительства» сетей был бы невозможен. Поэтому все развитие компьютерной 178 отрасли, в конечном счете, отражено в стандартах — любая новая технология только тогда приобретает «законный» статус, когда ее содержание закрепляется в соответствующем стандарте. В компьютерных сетях идеологической основой стандартизации является рассмотренная выше модель взаимодействия открытых систем (OSI). Понятие открытой системы Что же такое открытая система? Открытой может быть названа любая система (компьютер, вычислительная сеть, ОС, программный пакет, другие аппаратные и программные продукты), которая построена в соответствии с открытыми спецификациями. Напомним, что под термином «спецификация» в вычислительной технике понимают формализованное описание аппаратных или программных компонентов, способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации, особых характеристик. Понятно, что не всякая спецификация является стандартом. Под открытыми спецификациями понимаются опубликованные, общедоступные спецификации, соответствующие стандартам и принятые в результате достижения согласия после всестороннего обсуждения всеми заинтересованными сторонами. Использование при разработке систем открытых спецификаций позволяет третьим сторонам разрабатывать для этих систем различные аппаратные или программные средства расширения и модификации, а также создавать программно-аппаратные комплексы из продуктов разных производителей. Открытый характер стандартов и спецификаций важен не только для коммуникационных протоколов, но и для всех разнообразных устройств и программ, выпускаемых для построения сети. Нужно отметить, что большинство стандартов, принимаемых сегодня, носят открытый характер. Время закрытых систем, точные спецификации на которые были известны только фирмепроизводителю, ушло. Все осознали, что возможность взаимодействия с продуктами конкурентов не снижает, а, наоборот, повышает ценность изделия, так как его можно применить в большем количестве работающих сетей, собранных из продуктов разных производителей. Поэтому даже такие фирмы, как IBM, Novell и Microsoft, ранее выпускавшие закрытые системы, сегодня активно участвуют в разработке открытых стандартов и применяют их в своих продуктах. Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, помимо всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии. Модель OSI касается только одного аспекта открытости, а именно открытости средств взаимодействия устройств, связанных в компьютерную сеть. Здесь под открытой системой понимается сетевое устройство, готовое взаимодействовать с другими сетевыми устройствами по стандартным правилам, определяющим формат, содержание и значение принимаемых и отправляемых сообщений. Если две сети построены с соблюдением принципов открытости, это дает следующие преимущества:  возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта;  безболезненная замена отдельных компонентов сети другими, более совершенными, что позволяет сети развиваться с минимальными затратами;  легкость сопряжения одной сети с другой. Источники стандартов Работы по стандартизации вычислительных сетей ведутся большим количеством организаций. В зависимости от статуса организаций различают следующие виды стандартов: 179  стандарты отдельных фирм (например, стек протоколов SNA компании IBM или графический интерфейс OPEN LOOK для Unix-систем компании Sun);  стандарты специальных комитетов и объединений, создаваемых несколькими компаниями, например стандарты технологии ATM, разрабатываемые специально созданным объединением ATM Forum, насчитывающем около 100 коллективных участников, или стандарты союза Fast Ethernet Alliance по разработке стандартов 100 Мбит Ethernet;  национальные стандарты, например, стандарт FDDI, представляющий один из многочисленных стандартов института ANSI, или стандарты безопасности для операционных систем, разработанные центром NCSC Министерства обороны США;  международные стандарты, например, модель и стек коммуникационных протоколов Международной организации по стандартизации (ISO), многочисленные стандарты Международного союза электросвязи (ITU), в том числе стандарты на сети с коммутацией пакетов Х.25, сети Frame Relay, ISDN, модемы и многие другие. Некоторые стандарты, непрерывно развиваясь, могут переходить из одной категории в другую. В частности, фирменные стандарты на продукцию, получившую широкое распространение, обычно становятся международными стандартами де-факто, так как вынуждают производителей из разных стран следовать фирменным стандартам, чтобы обеспечить совместимость своих изделий с этими популярными продуктами. Например, из-за феноменального успеха персонального компьютера компании IBM фирменный стандарт на архитектуру IBM PC стал международным стандартом де-факто. Более того, ввиду широкого распространения некоторые фирменные стандарты становятся основой для национальных и международных стандартов де-юре. Например, стандарт Ethernet, первоначально разработанный компаниями Digital Equipment, Intel и Xerox, через некоторое время и в несколько измененном виде был принят как национальный стандарт IEEE 802.3, а затем организация ISO утвердила его в качестве международного стандарта ISO 8802.3. Стандартизация Интернета Ярким примером открытой системы является Интернет. Эта международная сеть развивалась в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимали участие тысячи специалистов-пользователей этой сети из различных университетов, научных организаций и фирм-производителей вычислительной аппаратуры и программного обеспечения, работающих в разных странах. Само название стандартов, определяющих работу Интернета, — темы для обсуждения (Request For Comments, RFC) — показывает гласный и открытый характер принимаемых стандартов. В результате Интернет сумел объединить в себе разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру. Ввиду постоянной растущей популярности Интернета документы RFC становятся международными стандартами де-факто, многие из которых затем приобретают статус официальных международных стандартов в результате их утверждения какой-либо организацией по стандартизации, как правило, ISO и ITU-T. Существует несколько организационных подразделений, отвечающих за развитие и, в частности, за стандартизацию архитектуры и протоколов Интернета. Основным из них является научно-административное сообщество Интернета (Internet Society, ISOC), объединяющее около 100000 человек, которое занимается социальными, политическими и техническими проблемами эволюции Интернета. Под управлением ISOC работает совет по архитектуре Интернета (Internet Architecture Board, IAB). В IAB входят две основные группы: Internet Research Task Force (IRTF) и Internet Engineering Task Force (IETF). IRTF координирует долгосрочные исследовательские проекты по протоколам TCP/IP. Вторая группа — IETF — это инженерная группа, которая занимается решением текущих технических проблем Интернета. Именно IETF определяет спецификации, которые затем становятся стандартами Интернета. Процесс разработки и принятия стандарта для 180 протокола Интернета состоит из ряда обязательных этапов, или стадий, включающих обязательную экспериментальную проверку. В соответствии с принципом открытости Интернета все документы RFC, в отличие, скажем, от стандартов ISO, находятся в свободном доступе. Список RFC можно найти, в частности, на сайте www.rfc-editor.org. Стандартные стеки коммуникационных протоколов Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. Наиболее известными стеками протоколов являются: OSI, TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA (не все из них применяются сегодня на практике). Стек OSI Важно различать модель OSI и стек протоколов OSI. В то время как модель OSI является концептуальной схемой взаимодействия открытых систем, стек OSI представляет собой набор спецификаций конкретных протоколов. В отличие от других стеков протоколов стек OSI (рис. 9.11) полностью соответствует модели OSI, включая спецификации протоколов для всех семи уровней взаимодействия, определенных в этой модели. Это и понятно, разработчики стека OSI использовали модель OSI как прямое руководство к действию. Рис. 9.11. Стек протоколов OSI Протоколы стека OSI отличает большая сложность и неоднозначность спецификаций. Эти свойства явились результатом общей политики разработчиков стека, стремившихся учесть в своих протоколах все многообразие уже существующих и появляющихся технологий. 181 На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN, то есть использует все разработанные вне стека популярные протоколы нижних уровней, как и большинство других стеков. Сетевой уровень включает сравнительно редко используемые протоколы Connection-oriented Network Protocol (CONP) и Connectionless Network Protocol (CLNP). Как следует из названий, первый из них ориентирован на соединение (connection-oriented), второй — нет (connectionless). Более популярны протоколы маршрутизации стека OSI: ES-IS (End System-Intermediate System) между конечной и промежуточной системами и IS-IS (Intermediate System-Intermediate System) между промежуточными системами. Транспортный уровень стека OSI в соответствии с функциями, определенными для него в модели OSI, скрывает различия между сетевыми сервисами с установлением соединения и без установления соединения, так что пользователи получают требуемое качество обслуживания независимо от нижележащего сетевого уровня. Чтобы обеспечить это, транспортный уровень требует, чтобы пользователь задал нужное качество обслуживания. Службы прикладного уровня обеспечивают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее популярными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VTP), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM). Стек IPX/SPX Стек IPX/SPX является оригинальным стеком протоколов фирмы Novell, разработанным для сетевой операционной системы NetWare еще в начале 80-х годов. Структура стека IPX/SPX и его соответствие модели OSI иллюстрирует рис. 9.12. Протоколы сетевого и транспортного уровней — Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX) — дали название стеку. К сетевому уровню этого стека отнесены также протоколы маршрутизации RIP и NLSP. А в качестве представителей трех верхних уровней на рисунке приведены два популярных протокола: протокол удаленного доступа к файлам NetWare Core Protocol (NCP) и протокол объявления о сервисах Service Advertising Protocol (SAP). Примечание. До 1996 года этот стек был бесспорным мировым лидером по числу установленных копий, но затем картина резко изменилась — стек TCP/IP по темпам роста числа установок намного стал опережать другие стеки, а с 1998 года вышел в лидеры и в абсолютном выражении. Рис. 9.12. Стек протоколов IPX/SPX Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были 182 протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт) и которые бы быстро работали на процессорах небольшой вычислительной мощности. В результате протоколы стека IPX/SPX до недавнего времени отлично справлялись с работой в локальных сетях. Однако в крупных корпоративных сетях они слишком перегружали медленные глобальные связи широковещательными пакетами, интенсивно использующимися несколькими протоколами этого стека, например протоколом SAP. Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали распространенность его только сетями NetWare. Стек NetBIOS/SMB Стек NetBIOS/SMB является совместной разработкой компаний IBM и Microsoft (рис. 9.13). На физическом и канальном уровнях этого стека также задействованы уже получившие распространение протоколы, такие как Ethernet, Token Ring, FDDI, а на верхних уровнях — специфические протоколы NetBEUI и SMB. Рис. 9.13. Стек NetBIOS/SMB Протокол Network Basic Input/Output System (NetBIOS) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода-вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI (NetBIOS Extended User Interface). Для обеспечения совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к транспортному и сеансовому уровням модели OSI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает применение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях. Протокол Server Message Block (SMB) поддерживает функции сеансового уровня, уровня представления и прикладного уровня. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями. 183 Стек TCP/IP Стек TCP/IP был разработан по инициативе Министерства обороны США (DoD) более 20 лет назад для связи экспериментальной сети ARPANET с другими сетями как набор общих протоколов для разнородной вычислительной среды. Большой вклад в развитие стека TCP/IP, который получил свое название по популярным протоколам IP и TCP, внес университет Беркли, реализовав протоколы стека в своей версии ОС Unix. Популярность этой операционной системы привела к широкому распространению протоколов TCP, IP и других протоколов стека. Сегодня этот стек используется для связи компьютеров в Интернете, а также в огромном числе корпоративных сетей. Поскольку стек TCP/IP изначально создавался для Интернета, он имеет много особенностей, дающих ему преимущество перед другими протоколами, когда речь заходит о построении сетей, включающих глобальные связи. В частности, очень полезным свойством, делающим возможным применение этого протокола в больших сетях, является его способность фрагментировать пакеты. Действительно, большая составная сеть часто состоит из сетей, построенных на совершенно разных принципах. В каждой из этих сетей может быть собственная величина максимальной длины единицы передаваемых данных (кадра). В таком случае при переходе из одной сети, имеющей большую максимальную длину, в сеть с меньшей максимальной длиной может возникнуть необходимость деления передаваемого кадра на несколько частей. Протокол IP стека TCP/IP эффективно решает эту задачу. Другой особенностью технологии TCP/IP является гибкая система адресации, позволяющая проще, чем другие протоколы аналогичного назначения включать в составную сеть сети разных технологий. Это свойство также способствует применению стека TCP/IP для построения больших гетерогенных сетей. В стеке TCP/IP очень экономно используются широковещательные рассылки. Это свойство совершенно необходимо при работе на медленных каналах связи, характерных для территориальных сетей. Однако, как и всегда, за получаемые преимущества надо платить, и платой здесь оказываются высокие требования к ресурсам и сложность администрирования IP-сетей. Мощные функциональные возможности протоколов стека TCP/IP требуют для своей реализации больших вычислительных затрат. Гибкая система адресации и отказ от широковещательных рассылок приводят к наличию в IP-сети разнообразных централизованных служб типа DNS, DHCP и т. п. Каждая из этих служб направлена на облегчение администрирования сети, но в то же время сама требует пристального внимания со стороны администраторов. Можно приводить и другие доводы за и против стека протоколов Интернета, однако факт остается фактом — сегодня это самый популярный стек протоколов, широко используемый как в глобальных, так и локальных сетях. На рис. 9.14 приведена структура стека TCP/IP. Так как стек TCP/IP был разработан до появления модели ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно. В стеке TCP/IP определены 4 уровня. Прикладной уровень стека TCP/IP соответствует трем верхним уровням модели OSI: прикладному, представления и сеансовому. Он объединяет службы, предоставляемые системой пользовательским приложениям. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и служб прикладного уровня. К ним относятся такие распространенные протоколы, как протокол передачи файлов (File Transfer Protocol, FTP), протокол эмуляции терминала (telnet), простой протокол передачи электронной почты (Simple Mail Transfer Protocol, SMTP), протокол передачи гипертекста (HyperText Transfer Protocol, HTTP) и многие другие. Протоколы прикладного уровня развертываются на хостах (в Интернете конечный узел традиционно называют хостом, а маршрутизатор — шлюзом. В этой главе мы будем также придерживаться такой терминологии). 184 Рис. 9.19. Архитектура стека TCP/IP Транспортный уровень стека TCP/IP может предоставлять вышележащему уровню два типа сервиса:  гарантированную доставку обеспечивает протокол управления передачей (Transmission Control Protocol, TCP);  доставку по возможности, или с максимальными усилиями, обеспечивает протокол пользовательских дейтаграмм (User Datagram Protocol, UDP). Для того чтобы обеспечить надежную доставку данных протокол TCP предусматривает установление логического соединения, что позволяет ему нумеровать пакеты, подтверждать их прием квитанциями, в случае потери организовывать повторные передачи, распознавать и уничтожать дубликаты, доставлять прикладному уровню пакеты в том порядке, в котором они были отправлены. Этот протокол позволяет объектам на компьютере-отправителе и компьютереполучателе поддерживать обмен данными в дуплексном режиме. TCP дает возможность без ошибок доставить сформированный на одном из компьютеров поток байтов в любой другой компьютер, входящий в составную сеть. TCP делит поток байтов на фрагменты и передает их нижележащему уровню межсетевого взаимодействия. После того как эти фрагменты будут доставлены средствами уровня межсетевого взаимодействия в пункт назначения, протокол TCP снова соберет их в непрерывный поток байтов. Второй протокол этого уровня — UDP — является простейшим дейтаграммным протоколом, который используется в том случае, когда задача надежного обмена данными либо вообще не ставится, либо решается средствами более высокого уровня — прикладным уровнем или пользовательскими приложениями. В функции протоколов транспортного уровня TCP и UDP входит также исполнение роли связующего звена между прилегающими к ним прикладным уровнем и уровнем межсетевого взаимодействия. От прикладного протокола транспортный уровень принимает задание на передачу данных с тем или иным качеством, а после выполнения рапортует ему об этом. Нижележащий уровень межсетевого взаимодействия протоколы TCP и UDP рассматривают как своего рода инструмент, не очень надежный, но способный перемещать пакет в свободном и рискованном путешествии по составной сети. 185 Программные модули, реализующие протоколы TCP и UDP, подобно модулям протоколов прикладного уровня, устанавливаются на хостах. Сетевой уровень, называемый также уровнем интернета, является стержнем всей архитектуры TCP/IP. Именно этот уровень, функции которого соответствуют сетевому уровню модели OSI, обеспечивает перемещение пакетов в пределах составной сети, образованной объединением множества сетей. Протоколы сетевого уровня поддерживают интерфейс с вышележащим транспортным уровнем, получая от него запросы на передачу данных по составной сети, а также с нижележащим уровнем сетевых интерфейсов, о функциях которого мы расскажем далее. Основным протоколом сетевого уровня является межсетевой протокол (Internet Protocol, IP). В его задачу входит продвижение пакета между сетями — от одного маршрутизатора до другого до тех пор, пока пакет не попадет в сеть назначения. В отличие от протоколов прикладного и транспортного уровней протокол IP развертывается не только на хостах, но и на всех шлюзах. Протокол IP — это дейтаграммный протокол, работающий без установления соединений по принципу доставки с максимальными усилиями. К сетевому уровню TCP/IP часто относят протоколы, выполняющие вспомогательные функции по отношению к IP. Это, прежде всего, протоколы маршрутизации RIP и OSPF, занимающиеся изучением топологии сети, определением маршрутов и составлением таблиц маршрутизации, на основании которых протокол IP перемещает пакеты в нужном направлении. По этой же причине к сетевому уровню могут быть отнесены еще два протокола: протокол межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP), предназначенный для передачи маршрутизатором источнику информации об ошибках, возникших при передаче пакета, и протокол групповой адресации (Internet Group Management Protocol, IGMP), использующийся для направления пакета сразу по нескольким адресам. Идеологическим отличием архитектуры стека TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня — уровня сетевых интерфейсов. Напомним, что нижние уровни модели OSI (канальный и физический) реализуют большое количество функций доступа к среде передачи, формированию кадров и согласованию уровней электрических сигналов, кодированию и синхронизации и некоторые другие. Все эти весьма конкретные функции составляют суть таких протоколов обмена данными, как Ethernet, Token Ring, PPP, HDLC и многих других. У нижнего уровня стека TCP/IP задача существенно проще — он отвечает только за организацию взаимодействия с технологиями сетей, входящих в составную сеть. TCP/IP рассматривает любую сеть, входящую в составную сеть, как средство транспортировки пакетов до следующего на пути маршрутизатора. Задачу обеспечения интерфейса между технологией TCP/IP и любой другой технологией промежуточной сети упрощенно можно свести:  к определению способа упаковки (инкапсуляции) IP-пакета в единицу передаваемых данных промежуточной сети;  к определению способа преобразования сетевых адресов в адреса технологии данной промежуточной сети. Такой подход делает составную сеть TCP/IP открытой для включения любой сети, какую бы внутреннюю технологию передачи данных эта сеть не использовала. Для каждой новой технологии должны быть разработаны собственные интерфейсные средства. Следовательно, функции этого уровня нельзя определить раз и навсегда. Уровень сетевых интерфейсов в стеке TCP/IP не регламентируется. Он поддерживает все популярные технологии; для локальных сетей — это Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, для глобальных сетей — протоколы двухточечных соединений SLIP и РРР, технологии Х.25, Frame Relay, ATM. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP путем разработки соответствующего документа RFC, определяющего метод инкапсуляции IP-пакетов в ее кадры (например, спецификация RFC 1577, определяющая 186 работу протокола IP через сети ATM, появилась в 1994 году вскоре после принятия основных стандартов ATM). Примечание. Стек TCP/IP позволяет включать в составную сеть сети независимо от того, каким количеством уровней описывается используемая в них технология. Так, перемещение данных в сети Х.25 обеспечивают собственные протоколы физического, канального и сетевого уровней (в терминологии OSI). Тем не менее стек TCP/IP рассматривает сеть Х.25 наравне с другими технологиями в качестве средства транспортировки IP-пакетов между двумя пограничными шлюзами. Уровень сетевых интерфейсов обычным образом предоставляет для этой технологии способ инкапсуляции IP-пакета в пакет Х.25, а также средства преобразования сетевых IP-адресов в адреса сетевого уровня Х.25. Если рассматривать такую организацию сети в строгом соответствии с моделью OSI, то налицо явное противоречие — один сетевой протокол (IP) работает поверх другого сетевого протокола (Х.25). Однако для стека TCP/IP это нормальное явление. Каждый коммуникационный протокол оперирует некоторой единицей передаваемых данных. Названия этих единиц иногда закрепляются стандартом, а чаще просто определяются традицией. В стеке TCP/IP за многие годы его существования образовалась устоявшаяся терминология в этой области (рис. 9.15). Потоком данных, или просто потоком, называют данные, поступающие от приложений на вход протоколов транспортного уровня — TCP и UDP. Протокол TCP «нарезает» из потока данных сегменты. Рис. 9.15. Названия PDU в TCP/IP Единицу данных протокола UDP часто называют дейтаграммой, или датаграммой. Дейтаграмма — это общее название для единиц данных, которыми оперируют протоколы без установления соединений. К таким протоколам относится и протокол IP, поэтому его единицу данных также называют дейтаграммой. Однако очень часто используется и другой термин — пакет. В стеке TCP/IP принято называть кадрами, или фреймами, единицы данных любых технологий, в которые упаковываются IP-пакеты для последующей переноски их через сети составной сети. При этом не имеет значения, какое название используется для этой единицы данных в технологии составляющей сети. Для TCP/IP фреймом является и кадр Ethernet, и ячейка ATM, и пакет Х.25, так как все они выступают в качестве контейнера, в котором IP-пакет переносится через составную сеть. Соответствие популярных стеков протоколов модели OSI На рис. 9.16 показано, в какой степени популярные стеки протоколов соответствуют рекомендациям модели OSI. Как мы видим, часто это соответствие весьма условно. В большинстве случаев разработчики стеков отдавали предпочтение скорости работы сети в ущерб модульности 187 — ни один стек, кроме стека OSI, не разбит на семь уровней. Чаще всего в стеке явно выделяются 3-4 уровня: уровень сетевых адаптеров, в котором реализуются протоколы физического и канального уровней, сетевой уровень, транспортный уровень и уровень служб, вбирающий в себя функции сеансового уровня, уровня представления и прикладного уровня. Структура стеков протоколов часто не соответствует рекомендуемому моделью OSI разбиению на уровни и по другим причинам. Давайте вспомним, чем характеризуется идеальная многоуровневая декомпозиция. С одной стороны, необходимо соблюсти принцип иерархии: каждый вышележащий уровень обращается с запросами только к нижележащему, а нижележащий предоставляет свои сервисы только непосредственно соседствующему с ним вышележащему. В стеках протоколов это приводит к тому, что PDU вышележащего уровня всегда инкапсулируется в PDU нижележащего. Рис. 9.16. Соответствие популярных стеков протоколов модели OSI С другой же стороны, идеальная многоуровневая декомпозиция предполагает, что все модули, отнесенные к одному уровню, ответственны за решение общей для всех них задачи. Однако эти требования часто вступают в противоречие. Например, основной функцией протоколов сетевого уровня стека TCP/IP (так же как и сетевого уровня OSI) является обеспечение передачи пакетов через составную сеть. Для решения этой задачи в стеке TCP/IP предусмотрено несколько протоколов: протокол продвижения IP-пакетов и протоколы маршрутизации RIP, OSPF и др. Если считать признаком принадлежности к одному и тому же уровню общность решаемых задач, то, очевидно, протокол IP и протоколы маршрутизации должны быть отнесены к одному уровню. Вместе с тем, если принять во внимание, что сообщения протокола RIP инкапсулируются в дейтаграммы UDP, а сообщения протокола OSPF — в IP-пакеты, то, следуя формально принципу иерархической организации стека, OSPF следовало бы отнести к транспортному, a RIP — к прикладному уровню. На практике же протоколы маршрутизации обычно включают в сетевой уровень. Информационные и транспортные услуги Список ключевых слов: транспортные услуги, информационные услуги, базы данных, файловые архивы, веб-сервис, электронная почта, инфокоммуникационная сеть, пользовательский слой, слой управления, слой менеджмента, сетевые приложения, интерфейс API, коммуникационные устройства, концентратор, коммутатор, маршрутизатор. Услуги компьютерной сети можно разделить на две категории: 188  транспортные услуги;  информационные услуги. Транспортные услуги состоят в передаче информации между пользователями сети в неизменном виде. При этом сеть принимает информацию от пользователя на одном из своих интерфейсов, передает ее через промежуточные коммутаторы и выдает другому пользователю через другой интерфейс. При оказании транспортных услуг сеть не вносит никаких изменений в передаваемую информацию, передавая ее получателю в том виде, в котором она поступила в сеть от отправителя. Примером транспортной услуги глобальных сетей является объединение локальных сетей клиентов. Информационные услуги состоят в предоставлении пользователю некоторой новой информации. Информационная услуга всегда связана с операциями по обработке информации: хранению ее в некотором упорядоченном виде (файловая система, база данных), поиску нужной информации и преобразованию информации. Информационные услуги существовали и до появления первых компьютерных сетей, например, справочные услуги телефонной сети. С появлением компьютеров информационные услуги пережили революцию, так как компьютер и был изобретен для автоматической программной обработки информации. Для оказания информационных услуг применяются различные информационные технологии: программирование, базы данных, файловые архивы, веб-сервис, электронная почта. В телекоммуникационных сетях «докомпьютерной» эры всегда преобладали транспортные услуги. Основной услугой телефонной сети всегда была передача голосового трафика между абонентами, в то время как справочные услуги были дополнительными. В компьютерных сетях одинаково важны обе категории услуг. Эта особенность компьютерных сетей сегодня отражается на названии нового поколения телекоммуникационных сетей, которые появляются в результате конвергенции сетей различных типов. Такие сети все чаще стали называть инфокоммуникационными. Это название пока не стало общеупотребительным, но оно хорошо отражает новые тенденции, включая обе составляющие услуг на равных правах. Деление услуг компьютерных сетей на две категории проявляется во многих аспектах. Существует, например, четкое деление специалистов в области компьютерных сетей на специалистов информационных технологий и сетевых специалистов. К первой категории относятся программисты, разработчики баз данных, администраторы операционных систем, вебдизайнеры, словом все те, кто имеет дело с разработкой и обслуживанием программного и аппаратного обеспечения компьютеров. Вторая категория специалистов занимается транспортными проблемами сети. Эти специалисты имеют дело с каналами связи и коммуникационным оборудованием, таким как коммутаторы, маршрутизаторы и концентраторы. Они решают проблемы выбора топологии сети, выбора маршрутов для потоков трафика, определения требуемой пропускной способности каналов связи и коммуникационных устройств и другие проблемы, связанные только с передачей трафика через сеть. Безусловно, каждой категории специалистов необходимо знать проблемы и методы смежной области. Специалисты, занимающиеся разработкой распределенных приложений, должны представлять, какие транспортные услуги они могут получить от сети для организации взаимодействия отдельных частей своих приложений. Например, программист должен понимать, какая из двух предлагаемых стеком TCP/IP транспортных услуг, реализуемых протоколами TCP и UDP, подходит наилучшим образом его приложению. Аналогично, разработчики транспортных средств сети при передаче трафика должны стремиться максимально учитывать требования приложений. Тем не менее специализация в области информационных технологий сохраняется, отражая двойственное назначение компьютерных сетей. Деление услуг сети на транспортные и информационные сказывается и на организации стека протоколов, а также на распределении протоколов различных уровней по элементам сети. Распределение протоколов по элементам сети 189 На рис. 9.17 показаны основные элементы компьютерной сети: конечные узлы — компьютеры и промежуточные узлы — коммутаторы и маршрутизаторы (для примера выбраны протоколы стека TCP/IP, как наиболее распространенного). Рис. 9.17. Соответствие функций различных устройств сети уровням модели OSI Из рисунка видно, что полный стек протоколов реализован только на конечных узлах, а промежуточные узлы поддерживают протоколы всех трех нижних уровней. Это объясняется тем, что коммуникационным устройствам для продвижения пакетов достаточно функциональности нижних трех уровней. Более того, коммуникационное устройство может поддерживать только протоколы двух нижних уровней или даже одного физического уровня — это зависит от типа устройства. Концентратор — это устройство, которое работает с потоком битов и поэтому ограничивается поддержкой протокола физического уровня. Коммутаторы локальных сетей поддерживают протоколы двух нижних уровней, физического и канального, что дает им возможность работать в пределах стандартных топологий. Маршрутизаторы должны поддерживать протоколы всех трех уровней, так как сетевой уровень нужен им для объединения сетей различных технологий, а протоколы нижних уровней — для взаимодействия с конкретными сетями, образующими составную сеть, например Ethernet или Frame Relay. Коммутаторы глобальных сетей (например, ATM), работающие на основе технологии виртуальных каналов, могут поддерживать как два уровня протоколов, так и три. Протокол сетевого уровня нужен им в том случае, если они поддерживают процедуры автоматического установления виртуальных каналов. Так как топология глобальных сетей произвольная, без сетевого протокола в этом случае обойтись нельзя. Если же виртуальные соединения устанавливаются администраторами сети вручную, то коммутатору глобальной сети достаточно поддерживать только протоколы физического и канального уровней, чтобы передавать данные по уже проложенным виртуальным каналам. Компьютеры, на которых работают сетевые приложения, должны поддерживать протоколы всех уровней. Протоколы прикладного уровня, пользуясь сервисами протоколов уровня представления и сеансового уровня, предоставляют приложениям набор сетевых услуг в виде сетевого интерфейса API. Протокол транспортного уровня также работает на всех конечных узлах. При передаче данных через сеть два модуля транспортного протокола, работающие на узлеотправителе и узле-получателе, взаимодействуют друг с другом для поддержания транспортного сервиса нужного качества. Коммуникационные устройства сети переносят сообщения транспортного протокола прозрачным образом, не вникая в их содержание. 190 В компьютерах коммуникационные протоколы всех уровней (кроме физического и части функций канального уровня) реализуются программно операционной системой или системными приложениями. Конечные узлы сети (компьютеры и компьютеризованные устройства, например, мобильные телефоны) всегда предоставляют как информационные, так и транспортные услуги, а промежуточные узлы сети — только транспортные. Когда же мы говорим, что некоторая сеть предоставляет только транспортные услуги, то мы подразумеваем, что конечные узлы находятся за границей сети. Это обычно имеет место в обслуживающих клиентов коммерческих сетях. Если же говорят, что сеть предоставляет также информационные услуги, то это значит, что компьютеры, предоставляющие эти услуги, включаются в состав сети. Примером является типичная ситуация, когда поставщик услуг Интернета поддерживает еще и собственные вебсерверы. Вспомогательные протоколы транспортной системы Настало время сказать, что на рис. 9.17 показан упрощенный вариант распределения протоколов между элементами сети. В реальных сетях некоторые из коммуникационных устройств поддерживают не только протоколы трех нижних уровней, но и протоколы верхних уровней. Так, маршрутизаторы реализуют протоколы маршрутизации, позволяющие автоматически строить таблицы маршрутизации, а концентраторы и коммутаторы часто поддерживают протоколы SNMP и telnet, которые не нужны для выполнения основных функций этих устройств, но позволяют конфигурировать и управлять ими удаленно. Все эти протоколы являются протоколами прикладного уровня и выполняют некоторые вспомогательные (служебные) функции транспортной системы. Очевидно, что для работы прикладных протоколов сетевые устройства должны также поддерживать протоколы промежуточных уровней, таких как IP и TCP/UDP. Вспомогательные протоколы можно разделить на группы, в соответствии с их функциями.  Первую группу вспомогательных протоколов представляют протоколы маршрутизации, такие как RIP, OSPF, BGP. Без этих протоколов маршрутизаторы не смогут продвигать пакеты, так как таблица маршрутизации будет пустой (если только администратор не заполнит ее вручную, но это не очень хорошее решение для крупной сети). Если рассматривать не только стек TCP/IP, но и стеки протоколов сетей с виртуальными каналами, то в эту группу попадают служебные протоколы, которые используются для установления виртуальных каналов.  Другая группа вспомогательных протоколов выполняет преобразование адресов. Здесь работает протокол DNS, который преобразует символьные имена узлов в IP-адреса. Протокол DHCP позволяет назначать IP-адреса узлам динамически, а не статически, что облегчает работу администратора сети.  Третью группу образуют протоколы, которые используются для управления сетью. В стеке TCP/IP здесь находится протокол SNMP (Simple Network Management Protocol — простой протокол управления сетью), который позволяет автоматически собирать информацию об ошибках и отказах устройств, а также протокол telnet, с помощью которого администратор может удаленно конфигурировать коммутатор или маршрутизатор. При рассмотрении вспомогательных протоколов мы столкнулись с ситуацией, когда деления протоколов на уровни иерархии (то есть деление «по вертикали»), которое существует в модели OSI, оказывается недостаточно. Полезным оказывается деление протоколов на группы «по горизонтали». И хотя такое деление отсутствует в модели OSI, оно существует в других стеках протоколов. Например, при стандартизации сетей ISDN, которые, как мы уже упоминали, используют как принцип коммутации пакетов, так и принцип коммутации каналов, все протоколы разделены на три группы (рис. 9.18): 191 Рис. 9.18. Три группы протоколов  пользовательский слой (user plane) образует группа протоколов, предназначенных для того, чтобы переносить пользовательский голосовой трафик;  слой управления (control plane) составляют протоколы, необходимые для установления соединений в сети;  в слой менеджмента (management plane) входят протоколы, поддерживающие операции менеджмента, такие как анализ ошибок и конфигурирование устройств. И хотя такое «горизонтальное» деление протоколов пока не является общепринятым для компьютерных сетей, оно полезно, так как позволяет глубже понять назначение протоколов. Кроме того, оно объясняет сложности при соотнесении некоторых протоколов уровням модели OSI. Например, в книгах одних авторов протоколы маршрутизации могут находиться на сетевом уровне, а в книгах других — на прикладном. Это происходит не из-за небрежности авторов, а из-за объективных трудностей классификации. Модель OSI хорошо подходит для стандартизации протоколов, которые переносят пользовательский трафик, то есть протоколов пользовательского слоя. В то же время она в гораздо меньшей степени подходит для стандартизации вспомогательных протоколов. Поэтому многие авторы и помещают протоколы маршрутизации на сетевой уровень, чтобы каким-то образом отразить функциональную близость этих протоколов к транспортным услугам сети, которые реализуются протоколом IP. Выводы Эффективной моделью средств взаимодействия компьютеров в сети является многоуровневая структура, в которой модули вышележащего уровня при решении своих задач рассматривают средства нижележащего уровня как некий инструмент. Каждый уровень данной структуры поддерживает интерфейсы двух типов. Во-первых, это интерфейсы услуг с выше- и нижележащими уровнями «своей» иерархии средств. Во-вторых, это одноранговый интерфейс со средствами другой взаимодействующей стороны, расположенными на том же уровне иерархии. Этот интерфейс называют протоколом. Иерархически организованный набор протоколов, достаточный для взаимодействия узлов в сети, называется стеком протоколов. Протоколы нижних уровней часто реализуются комбинацией программных и аппаратных средств, а протоколы верхних уровней — как правило, программными средствами. Программный модуль, реализующий некоторый протокол, называют протокольной сущностью, или тоже протоколом. В начале 80-х годов ISO, ITU-T при участии некоторых других международных организаций по стандартизации разработали стандартную модель взаимодействия открытых систем (OSI). Модель OSI содержит описание обобщенного представления средств сетевого взаимодействия и используется в качестве своего рода универсального языка сетевых специалистов, именно поэтому ее называют справочной моделью. Модель OSI определяет 7 уровней взаимодействия, дает им стандартные имена, указывает, какие функции должен выполнять каждый уровень. 192 Открытой системой может быть названа любая система (компьютер, компьютерная сеть, операционная система, программный пакет, другие аппаратные и программные продукты), которая построена в соответствии с общедоступными спецификациями и стандартами, принятыми в результате публичного обсуждения всеми заинтересованными сторонами. В зависимости от области действия различают стандарты отдельных компаний, стандарты специальных комитетов и объединений, национальные стандарты, международные стандарты. Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. Примерами стандартизованных стеков протоколов являются TCP/IP, IPX/SPX, NetBIOS/SMB, OSI, DECnet, SNA. Лидирующее положение занимает стек TCP/IP, он используется для связи десятков миллионов компьютеров всемирной информационной сети Интернет. Стек TCP/IP имеет 4 уровня: прикладной, транспортный, межсетевого взаимодействия и сетевых интерфейсов. Соответствие уровней стека TCP/IP уровням модели OSI достаточно условно. Вопросы и задания 1. Что стандартизирует модель OSI? 2. Можно ли представить еще один вариант модели взаимодействия открытых систем с другим количеством уровней, например 8 или 5? 3. Ниже перечислены оригинальные (англоязычные) названия семи уровней модели OSI. Отметьте, какие из названий уровней не соответствуют стандарту.  physical layer  data-link layer  network layer  transport layer  seances layer  presentation layer  application layer 4. Какие из приведенных утверждений вы считаете ошибочными:  протокол — это программный модуль, решающий задачу взаимодействия систем;  протокол — это формализованное описание правил взаимодействия, включающих последовательность обмена сообщениями и их форматы;  термины «интерфейс» и «протокол», в сущности, являются синонимами. 5. На каком уровне модели OSI работает прикладная программа? 6. Как вы считаете, протоколы транспортного уровня устанавливаются только на конечных узлах, только на промежуточном коммуникационном оборудовании (маршрутизаторах) или и там, и там? 7. На каком уровне модели OSI работают сетевые службы? 8. Ниже перечислены некоторые сетевые устройства:  маршрутизатор;  коммутатор;  мост;  повторитель;  сетевой адаптер;  концентратор. В каком из этих устройств реализуются функции физического уровня модели OSI? Канального уровня? Сетевого уровня? 9. Какое название традиционно используется для единицы передаваемых данных на каждом из уровней? Заполните таблицу. 193 10. Дайте определение открытой системы. 11. Пусть малоизвестная небольшая компания предлагает нужный вам продукт с характеристиками, превосходящими характеристики аналогичных продуктов известных фирм. В каком из перечисленных вариантов ваши действия можно считать согласующимися с принципом открытых систем:  приму предложение, проверив прилагаемую документацию и убедившись, что в ней указаны характеристики, превосходящие известные аналоги;  приму предложение только после того, как проведу тестирование и удостоверюсь, что характеристики действительно лучше;  в любом случае откажусь в пользу продукта известной фирмы, так как последняя наверняка следует стандартам, а значит, будет меньше проблем с совместимостью;  откажусь от продукта неизвестной компании, так как есть риск ее исчезновения, а значит, могут быть проблемы с поддержкой. 12. Какая организация разработала стандарты сетей Ethernet? 13. Какое из административных подразделений Интернета непосредственно занимается стандартизацией? 14. Какие из перечисленных терминов являются синонимами:  стандарт;  спецификация;  RFC;  никакие. 15. К какому типу стандартов могут относиться современные документы RFC:  к стандартам отдельных фирм;  к государственным стандартам;  к национальным стандартам;  к международным стандартам. 16. Какая организация стояла у истоков создания и стандартизации стека TCP/IP? 17. Определите основные особенности стека TCP/IP. 18. Сравните функции самых нижних уровней моделей TCP/IP и OSI. 19. Дайте определение транспортных и информационных услуг. 20. Какие протоколы относятся к слою управления (control plane)? А к слою менеджмента (management plane)? 21. Должны ли маршрутизаторами поддерживаться протоколы транспортного уровня? 22. Пусть на двух компьютерах установлено идентичное программное и аппаратное обеспечение за исключением того, что драйверы сетевых адаптеров Ethernet поддерживают отличающиеся интерфейсы с протоколом сетевого уровня IP. Будут ли эти компьютеры нормально взаимодействовать, если их соединить в сеть? 23. Как организовать взаимодействие двух компьютеров, если у них отличаются протоколы:  физического и канального уровней; 194  сетевого уровня;  прикладного уровня. 24. Опишите ваши действия в случае, если вам необходимо проверить, на каком этапе находится процесс стандартизации технологии MPLS. 25. Выясните, в каком направлении IETF работает в настоящее время наиболее интенсивно (в качестве критерия можно использовать, например, количество рабочих групп). 195 17. Стек протоколов TCP/IP Значительная часть технологии TCP/IP направлена на решение следующих задач адресации:  Задача согласованного использования адресов различного типа включает отображение адресов разных типов, например, преобразование сетевого IP-адреса в локальный, доменного имени — в IP-адрес.  Обеспечение уникальности адресов. В зависимости от типа адреса требуется обеспечивать однозначность адресации в пределах компьютера, подсети, корпоративной сети или Интернета.  Конфигурирование сетевых интерфейсов и сетевых приложений. Каждая из перечисленных задач имеет достаточно простое решение для сети, число узлов которой не превосходит нескольких десятков. Например, для отображения символьного доменного имени в IP-адрес достаточно поддерживать на каждом хосте таблицу всех символьных имен, используемых в сети, и соответствующих им IP-адресов. Так же просто «вручную» присвоить всем интерфейсам в небольшой сети уникальные адреса. Однако в крупных сетях эти же задачи усложняются настолько, что требуют принципиально других решений. Ключевым словом, которое характеризует подход к решению этих проблем, принятый в TCP/IP, является масштабируемость. Процедуры, предлагаемые TCP/IP для назначения, отображения и конфигурирования адресов, одинаково хорошо работают в сетях разного масштаба. В этой главе наряду с собственно схемой образования IP-адресов мы познакомимся с наиболее популярными масштабируемыми средствами поддержки адресации в сетях TCP/IP: технологией бесклассовой междоменной маршрутизации, системой доменных имен, протоколом динамического конфигурирования хостов. Типы адресов стека TCP/IP Список ключевых слов: МАС-адрес, локальный (аппаратный) адрес, номер сети, номер узла в сети, сетевой адрес, IP-адрес, символьное имя, доменное имя, система доменных имен, DNS-имя. Итак, для идентификации сетевых интерфейсов используются три типа адресов:  локальные (аппаратные) адреса;  сетевые адреса (IP-адреса);  символьные (доменные) имена. Локальные адреса В большинстве технологий LAN (Ethernet, FDDI, Token Ring) для однозначной адресации интерфейсов используются МАС-адреса. Существует немало технологий (Х.25, ATM, frame relay), в которых применяются другие схемы адресации. Будучи автономными, такие сети используют свою схему адресации исключительно для обеспечения связи собственных узлов. Однако как только некоторая сеть объединяется с другими сетями, функциональность этих адресов расширяется, они становятся необходимым элементом вышележащей объединяющей технологии — в данном случае технологии TCP/IP. Роль, которую играют эти адреса в TCP/IP, не зависит от того, какая именно технология используется в подсети, поэтому они имеют общее название — локальные (аппаратные) адреса. Слово «локальный» в контексте TCP/IP означает «действующий не во всей составной сети, а лишь в пределах подсети». Именно в таком смысле понимаются здесь термины: «локальная технология» (технология, на основе которой построена подсеть), «локальный адрес» (адрес, который используется некоторой локальной технологией для адресации узлов в пределах подсети). Напомним, что в качестве подсети («локальной сети») может выступать сеть, построенная как на основе локальной технологии, например Ethernet, FDDI, так и на основе глобальной технологии, например Х.25, Frame Relay. Следовательно, говоря о подсети, мы используем слово «локальная» 196 не как характеристику технологии, на которой построена эта подсеть, а как указание на роль, которую играет эта подсеть в архитектуре составной сети. Сложности могут возникнуть и при интерпретации определения «аппаратный». В данном случае термин «аппаратный» подчеркивает концептуальное представление разработчиков стека TCP/IP о подсети как о некотором вспомогательном аппаратном средстве, единственной функцией которого является перемещение IP-пакета через подсеть до ближайшего шлюза (маршрутизатора). И не важно, что реально нижележащая локальная технология может быть достаточно сложной, все ее сложности игнорируются технологией TCP/IP. Рассмотрим, например, случай, когда в составную сеть TCP/IP входит сеть IPX/ SPX. Последняя сама может быть разделена на подсети, и так же как IP-сеть, она идентифицирует свои узлы аппаратными и сетевыми IPX-адресами. Но технология TCP/IP игнорирует многоуровневое строение сети IPX/SPX и рассматривает в качестве локальных адресов узлов подсети IPX/SPX адреса сетевого уровня данной технологии (IPX-адреса). Аналогично, если в составную сеть включена сеть Х.25, то локальными адресами узлов этой сети для протокола IP будут соответственно адреса Х.25. Сетевые IP-адреса Чтобы технология TCP/IP могла решать свою задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных сетях. Эта система адресации должна позволять универсальным и однозначным способом идентифицировать любой интерфейс составной сети. Очевидным решением является уникальная нумерация всех сетей составной сети, а затем нумерация всех узлов в пределах каждой из этих сетей. Пара, состоящая из номера сети и номера узла, отвечает поставленным условиям и может служить в качестве сетевого адреса. В качестве номера узла может выступать либо локальный адрес этого узла (такая схема принята в стеке IPX/SPX), либо некоторое число, никак не связанное с локальной технологией и однозначно идентифицирующее узел в пределах данной подсети. В первом случае сетевой адрес становится зависимым от локальных технологий, что ограничивает его применение. Например, сетевые адреса IPX/SPX рассчитаны на работу в составных сетях, объединяющих сети, в которых используются только МАС-адреса или адреса аналогичного формата. Второй подход более универсален, он характерен для стека TCP/IP (заметим, что использование локального адреса в качестве номера узла имеет ряд преимуществ; как будет показано далее, именно такая схема принята в протоколе IPv6). В технологии TCP/IP сетевой адрес называют IP-адрес. Рис. 10.1. Преобразование адресов 197 Каждый раз, когда пакет направляется адресату через составную сеть, в его заголовке указывается IP-адрес узла назначения. По номеру сети назначения каждый очередной маршрутизатор находит IP-адрес следующего маршрутизатора. Перед тем как отправить пакет в следующую сеть, маршрутизатор должен определить на основании найденного IP-адреса следующего маршрутизатора его локальный адрес. Для этой цели протокол IP, как показано на рис. 10.1, обращается к протоколу разрешения адресов (ARP). Внимание. Рассмотрим IP-сеть. Маршрутизатор по определению входит сразу в несколько сетей, следовательно, каждый его интерфейс имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес идентифицирует не отдельный компьютер или маршрутизатор, а одно сетевое соединение. Доменные имена Для идентификации компьютеров аппаратное и программное обеспечение в сетях TCP/IP полагается на IP-адреса. Например, команда ftp://192.45.66.17 будет устанавливать сеанс связи с нужным ftp-сервером, а команда http://203.23.106.33 откроет начальную страницу на корпоративном веб-сервере. Однако пользователи обычно предпочитают работать с более удобными символьными именами компьютеров. Символьные идентификаторы сетевых интерфейсов в пределах составной сети строятся по иерархическому признаку. Составляющие полного символьного (или доменного) имени в IP-сетях разделяются точкой и перечисляются в следующем порядке: сначала простое имя хоста, затем имя группы хостов (например, имя организации), затем имя более крупной группы (домена) и так до имени домена самого высокого уровня (например, домена, объединяющего организации по географическому принципу: RU — Россия, UK — Великобритания, US — США). Примером доменного имени может служить имя base2.sales.zil.ru. Между доменным именем и IP-адресом узла нет никакой функциональной зависимости, поэтому единственный способ установления соответствия — это таблица. В сетях TCP/IP используется специальная система доменных имен (Domain Name System, DNS), которая устанавливает это соответствие на основании создаваемых администраторами сети таблиц соответствия. Поэтому доменные имена называют также DNS-именами. В общем случае сетевой интерфейс может иметь несколько локальных адресов, сетевых адресов, доменных имен. Формат IP-адреса Список ключевых слов: номер сети, номер узла в сети, фиксированная граница поля адреса, маска, классы адресов А, В, С, D и Е, групповой адрес, индивидуальный адрес, неопределенный адрес, ограниченный широковещательный адрес, широковещательный адрес, адрес обратной петли, групповой адрес. В заголовке IP-пакета для хранения IP-адресов отправителя и получателя отводятся два поля, каждое имеет фиксированную длину 4 байт (32 бит). IP-адрес состоит из двух логических частей — номера сети и номера узла в сети. Наиболее распространенной формой представления IP-адреса является запись в виде четырех чисел, представляющих значения каждого байта в десятичной форме и разделенных точками, например: 128.10.2.30 Этот же адрес может быть представлен в двоичном формате: 10000000 00001010 00000010 00011110 и в шестнадцатеричном формате: 80.0A.02.1D Заметим, что запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Вместе с тем при передаче пакета по сети часто возникает 198 необходимость разделить адрес на эти две части. Например, маршрутизация, как правило, осуществляется на основании номера сети, поэтому каждый маршрутизатор, получая пакет, должен прочитать из соответствующего поля заголовка адрес назначения и выделить из него номер сети. Каким образом маршрутизаторы определяют, какая часть из 32 бит, отведенных под IP-адрес, относится к номеру сети, а какая — к номеру узла? Можно предложить несколько вариантов решения этой проблемы.  Простейший из них состоит в использовании фиксированной границы. При этом все 32битовое поле адреса заранее делится на две части не обязательно равной, но фиксированной длины, в одной из которых всегда будет размещаться номер сети, а в другой — номер узла. Решение очень простое, но хорошее ли? Поскольку поле, которое отводится для хранения номера узла, имеет фиксированную длину, все сети будут иметь одинаковое максимальное число узлов. Если, например, под номер сети отвести один первый байт, то все адресное пространство распадется на сравнительно небольшое (2 8) число сетей огромного размера (224 узлов). Если границу передвинуть дальше вправо, то сетей станет больше, но все равно все они будут одинакового размера. Очевидно, что такой жесткий подход не позволяет дифференцированно удовлетворять потребности отдельных предприятий и организаций. Именно поэтому он не нашел применения, хотя и использовался на начальном этапе существования технологии TCP/IP (RFC 760).  Второй подход (RFC 950, RFC 1518) основан на использовании маски, которая позволяет максимально гибко устанавливать границу между номером сети и номером узла. При таком подходе адресное пространство можно использовать для создания множества сетей разного размера. Маска — это число, применяемое в паре с IP-адресом, причем двоичная запись маски содержит непрерывную последовательность единиц в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Граница между последовательностями единиц и нулей в маске соответствует границе между номером сети и номером узла в IP-адресе.  И, наконец, наиболее распространенный до недавнего времени способ решения данной проблемы заключается в использовании классов адресов (RFC 791). Этот способ представляет собой компромисс по отношению к двум предыдущим: размеры сетей хотя и не могут быть произвольными, как при использовании масок, но и не должны быть одинаковыми, как при установлении фиксированных границ. Вводится пять классов адресов: А, В, С, D, Е. Три из них — А, В и С — используются для адресации сетей, а два — D и Е — имеют специальное назначение. Для каждого класса сетевых адресов определено собственное положение границы между номером сети и номером узла. Классы IP-адресов Признаком, на основании которого IP-адрес относится к тому или иному классу, являются значения нескольких первых битов адреса. Таблица 10.1 иллюстрирует структуру IP-адресов разных классов. Таблица 10.1. Классы IP-адресов 199  К классу А относится адрес, в котором старший бит имеет значение 0. В адресах класса А под идентификатор сети отводится 1 байт, а остальные 3 байта интерпретируются как номер узла в сети. Сети, все IP-адреса которых имеют значение первого байта в диапазоне от 1 (00000001) до 126 (01111110), называются сетями класса А. Значение 0 (00000000) первого байта не используется, а значение 127 (01111111) зарезервировано для специальных целей, о чем будет рассказано далее. Сетей класса А сравнительно немного, зато количество узлов в них может достигать 224, то есть 16777216 узлов.  К классу В относятся все адреса, старшие два бита которых имеют значение 10. В адресах класса В под номер сети и под номер узла отводится по два байта. Сети, значения первых двух байтов адресов которых находятся в диапазоне от 128.0. (10000000 00000000) до 191.255 (10111111 11111111), называются сетями класса В. Ясно, что сетей класса В больше, чем сетей класса А, а размеры их меньше. Максимальное количество узлов в сетях класса В составляет 2 16 (65536).  К классу С относятся все адреса, старшие три бита которых имеют значение 110. В адресах класса С под номер сети отводится 3 байта, а под номер узла — 1 байт. Сети, старшие три байта которых находятся в диапазоне от 192.0.0 (11000000 00000000 00000000) до 223.255.255 (11011111 11111111 11111111), называются сетями класса С. Сети класса С наиболее распространены и имеют наименьшее максимальное число узлов — 28 (256).  Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес (multicast address). В то время как адреса классов А, В и С используются для идентификации отдельных сетевых интерфейсов, то есть являются индивидуальными адресами (unicast address), групповой адрес идентифицирует группу сетевых интерфейсов, которые в общем случае могут принадлежать разным сетям. Интерфейс, входящий в группу, получает наряду с обычным индивидуальным IP-адресом еще один групповой адрес. Если при отправке пакета в качестве адреса назначения указан адрес класса D, то такой пакет должен быть доставлен всем узлам, которые входят в группу.  Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений. Чтобы получить из IP-адреса номер сети и номер узла, требуется не только разделить адрес на две соответствующие части, но и дополнить каждую из них нулями до полных 4 байт. Возьмем, например, адрес класса В 129.64.134.5. Первые два байта идентифицируют сеть, а последующие два — узел. Таким образом, номером сети является адрес 129.64.0.0, а номером узла — адрес 0.0.134.5. Особые IP-адреса В TCP/IP существуют ограничения при назначении IP-адресов, а именно номера сетей и номера узлов не могут состоять из одних двоичных нулей или единиц. Отсюда следует, что 200 максимальное количество узлов, приведенное в табл. 10.1 для сетей каждого класса, должно быть уменьшено на 2. Например, в адресах класса С под номер узла отводится 8 бит, которые позволяют задавать 256 номеров: от 0 до 255. Однако в действительности максимальное число узлов в сети класса С не может превышать 254, так как адреса 0 и 255 запрещены для адресации сетевых интерфейсов. Из этих же соображений следует, что конечный узел не может иметь адрес типа 98.255.255.255, поскольку номер узла в этом адресе класса А состоит из одних двоичных единиц. Итак, некоторые IP-адреса интерпретируются особым образом.  Если IP-адрес состоит только из двоичных нулей, то он называется неопределенным адресом и обозначает адрес того узла, который сгенерировал этот пакет. Адрес такого вида в особых случаях помещается в заголовок IP-пакета в поле адреса отправителя.  Если в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет. Такой адрес также может быть использован только в качестве адреса отправителя.  Если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такой адрес называется ограниченным широковещательным (limited broadcast). Ограниченность в данном случае означает, что пакет не выйдет за границы данной сети ни при каких условиях.  Если в поле адреса назначения в разрядах, соответствующих номеру узла, стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети, номер которой указан в адресе назначения. Например, пакет с адресом 192.190.21.255 будет направлен всем узлам сети 192.190.21.0. Такой тип адреса называется широковещательным (broadcast). Внимание. В протоколе IP нет понятия широковещания в том смысле, в котором оно используется в протоколах канального уровня локальных сетей, когда данные должны быть доставлены абсолютно всем узлам сети. Как ограниченный, так и обычный варианты широковещательной рассылки имеют пределы распространения в составной сети — они ограничены либо сетью, которой принадлежит источник пакета, либо сетью, номер которой указан в адресе назначения. Поэтому деление сети с помощью маршрутизаторов на части локализует широковещательный шторм пределами одной из подсетей просто потому, что нет способа адресовать пакет одновременно всем узлам всех сетей составной сети. Особый смысл имеет IP-адрес, первый октет которого равен 127. Этот адрес является внутренним адресом стека протоколов компьютера (или маршрутизатора). Он используется для тестирования программ, а также для организации работы клиентской и серверной частей приложения, установленных на одном компьютере. Обе программные части данного приложения спроектированы в расчете на то, что они будут обмениваться сообщениями по сети. Но какой же IP-адрес они должны использовать для этого? Адрес сетевого интерфейса компьютера, на котором они установлены? Но это приводит к избыточным передачам пакетов в сеть. Экономичным решением является применение внутреннего адреса 127.0.0.0. В IP-сети запрещается присваивать сетевым интерфейсам IP-адреса, начинающиеся со 127. Когда программа посылает данные по IPадресу 127.х.х.х, то данные не передаются в сеть, а возвращаются модулям верхнего уровня того же компьютера как только что принятые. Маршрут перемещения данных образует «петлю», поэтому этот адрес называется адресом обратной петли (loopback). Групповые адреса (multicast), относящиеся к классу D, предназначены для экономичного распространения в Интернете или большой корпоративной сети аудио- или видеопрограмм, адресованных сразу большой аудитории слушателей или зрителей. Если групповой адрес помещен в поле адреса назначения IP-пакета, то данный пакет должен быть доставлен сразу нескольким узлам, которые образуют группу с номером, указанным в поле адреса. Один и тот же узел может входить в несколько групп. В общем случае члены группы могут распределяться по различным сетям, находящимся друг от друга на произвольно большом расстоянии. Групповой адрес не делится на номера сети и узла и обрабатывается маршрутизатором особым образом. Основное назначение групповых адресов — распространение информации по схеме «один ко многим». От того, найдут групповые адреса широкое применение (сейчас их 201 используют в основном небольшие экспериментальные «островки» в Интернете), зависит, сможет ли Интернет создать серьезную конкуренцию радио и телевидению. Использование масок при IP-адресации Снабжая каждый IP-адрес маской, можно отказаться от понятий классов адресов и сделать более гибкой систему адресации. Пусть, например, для IP-адреса 129.64.134.5 указана маска 255.255.128.0, то есть в двоичном виде IP-адрес 129.64.134.5 — это: 10000001.01000000.10000110.00000101, а маска 255.255.128.0 — это: 11111111.11111111.10000000.00000000 Если игнорировать маску и интерпретировать адрес 129.64.134.5 на основе классов, то номером сети является 129.64.0.0, а номером узла — 0.0.134.5 (поскольку адрес относится к классу В). Если же использовать маску, то 17 последовательных двоичных единиц в маске 255.255.128.0, «наложенные» на IP-адрес 129.64.134.5, делят его на две части:  номер сети: 10000001.01000000.1;  номер узла: 0000110.00000101. В десятичной форме записи номера сети и узла, дополненные нулями до 32 бит, выглядят, соответственно, как 129.64.128.0 и 0.0.6.5. Наложение маски можно интерпретировать как выполнение логической операции «И» (AND). Так, в предыдущем примере номер сети из адреса 129.64.134.5 является результатом выполнения логической операции AND с маской 255.255.128.0: 10000001 01000000 10000110 00000101 AND 11111111 11111111 10000000 00000000 Для стандартных классов сетей маски имеют следующие значения:  класс А — 11111111. 00000000. 00000000. 00000000 (255.0.0.0);  класс В — 11111111. 11111111. 00000000. 00000000 (255.255.0.0);  класс С — 11111111. 11111111. 11111111. 00000000 (255.255.255.0). Примечание. Для записи масок используются и другие форматы. Например, удобно интерпретировать значение маски, записанной в шестнадцатеричном коде: FF.FF.00.00 — маска для адресов класса В. Еще более часто встречается и такое обозначение 185.23.44.206/16 — эта запись говорит о том, что маска для этого адреса содержит 16 единиц или что в указанном IPадресе под номер сети отведено 16 двоичных разрядов. Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может разбивать одну, выделенную ему поставщиком услуг сеть определенного класса, на несколько других, не требуя дополнительных номеров сетей — эта операция называется разделением на подсети (subletting). На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» для уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов — такая операция называется объединением подсетей (supernetting). Подробнее об этом мы поговорим при изучении технологии бесклассовой междоменной маршрутизации. Порядок назначения IP-адресов Список ключевых слов: частный адрес, организация ICANN, префикс адреса, RFC 2050, уникальность номеров сетей и узлов, централизованная процедура, дефицит адресов, IPv6, NAT, технология бесклассовой междоменной маршрутизации, пул адресов. 202 По определению схема IP-адресации должна обеспечивать уникальность нумерации сетей, а также уникальность нумерации узлов в пределах каждой из сетей. Следовательно, процедуры назначения номеров как сетям, так и узлам сетей должны быть централизованными. Рекомендуемый порядок назначения IP-адресов дается в RFC 2050. Назначение адресов автономной сети Когда дело касается сети, являющейся частью Интернета, уникальность нумерации может быть обеспечена только усилиями специально созданных для этого центральных органов. В небольшой же автономной IP-сети условие уникальности номеров сетей и узлов может быть выполнено силами сетевого администратора. В этом случае в распоряжении администратора имеется все адресное пространство, так как совпадение IP-адресов в не связанных между собой сетях не вызовет никаких отрицательных последствий. Администратор может выбирать адреса произвольным образом, соблюдая лишь синтаксические правила и учитывая ограничения на особые адреса. (Напомним, что номер узла в технологии TCP/IP назначается независимо от его локального адреса.) Однако при таком подходе исключена возможность в будущем подсоединить данную сеть к Интернету. Действительно, произвольно выбранные адреса данной сети могут совпасть с централизовано назначенными адресами Интернета. Для того чтобы избежать коллизий, связанных с такого рода совпадениями, в стандартах Интернета определено несколько так называемых частных адресов, рекомендуемых для автономного использования:  в классе А — сеть 10.0.0.0;  в классе В — диапазон из 16 номеров сетей 172.16.0.0-172.31.0.0;  в классе С — диапазон из 256 сетей 192.168.0.0-192.168.255.0. Эти адреса, исключенные из множества централизованно распределяемых, составляют огромное адресное пространство, достаточное для нумерации узлов автономных сетей практически любых размеров. Заметим также, что частные адреса, как и при произвольном выборе адресов, в разных автономных сетях могут совпадать. В то же время использование частных адресов для адресации автономных сетей делает возможным корректное подключение их к Интернету. Применяемые при этом специальные технологии подключения исключают коллизии адресов (например, такой технологией является NAT, которая будет рассмотрена в главе 20). Централизованное распределение адресов В больших сетях, подобных Интернету, уникальность сетевых адресов гарантируется централизованной, иерархически организованной системой их распределения. Номер сети может быть назначен только по рекомендации специального подразделения Интернета. Главным органом регистрации глобальных адресов в Интернете с 1998 года является неправительственная некоммерческая организация ICANN (Internet Corporation for Assigned Names and Numbers). Эта организация координирует работу региональных отделов, деятельность которых охватывает большие географические площади: ARIN — Америка, RIPE (Европа), APNIC (Азия и Тихоокеанский регион). Региональные отделы выделяют блоки адресов сетей крупным поставщикам услуг, а те, в свою очередь, распределяют их между своими клиентами, среди которых могут быть и более мелкие поставщики. Проблемой централизованного распределения адресов является их дефицит. Уже сравнительно давно очень трудно получить адрес класса В и практически невозможно стать обладателем адреса класса А. При этом надо отметить, что дефицит обусловлен не только ростом сетей, но и тем, что имеющееся адресное пространство используется нерационально. Очень часто владельцы сетей класса С расходуют лишь небольшую часть из имеющихся у них 254 адресов. Рассмотрим пример, когда две сети необходимо соединить глобальной связью. В таких случаях в качестве линии связи используют два маршрутизатора, соединенных по двухточечной схеме (рис. 10.2). Для вырожденной сети, образованной линией связи, связывающей порты двух смежных маршрутизаторов, приходится выделять отдельный номер сети, хотя в этой сети имеется всего два узла. 203 Рис. 10.2. Нерациональное использование пространства IP-адресов Для смягчения проблемы дефицита адресов разработчики стека TCP/IP предлагают разные подходы. Принципиальным решением является переход на новую версию протокола IP — протокол IPv6, в котором резко расширяется адресное пространство. Однако и текущая версия протокола IP (IPv4) поддерживает технологии, направленные на более экономное расходование IPадресов, такие например, как NAT и CIDR. Адресация и технология CIDR Технология бесклассовой междоменной маршрутизации (Classless Inter-Domain Routing, CIDR), которая описана в документах RFC 1517, RFC 1518, RFC 1519, RFC 1520 и о которой впервые было официально объявлено в 1993 году, позволяет центрам распределения адресов избежать выдачи абонентам излишних адресов. Деление IP-адреса на номер сети и номер узла в технологии CIDR происходит не на основе нескольких старших битов, определяющих класс сети (А, В или С), а на основе маски переменной длины, назначаемой поставщиком услуг. Непременным условием применимости CIDR является наличие у организации, распоряжающейся адресами, непрерывных диапазонов адресов. Такие адреса имеют одинаковый префикс, то есть одинаковые цифры в нескольких старших разрядах. Пусть в распоряжении некоторого поставщика услуг имеется непрерывное пространство IPадресов в количестве 2n (рис. 10.3). Отсюда следует, что префикс имеет длину (32 - n) разрядов. Оставшиеся n разрядов играют роль счетчика последовательных номеров. Когда потребитель обращается к поставщику услуг с просьбой о выделении ему некоторого числа адресов, то в имеющемся пуле адресов «вырезается» непрерывная область S1, S2 или S3, в зависимости от требуемого количества адресов. При этом должны быть выполнены следующие условия:  количество адресов в выделяемой области должно быть равно степени двойки,  начальная граница выделяемого пула адресов должна быть кратна требуемому количеству узлов. 204 Рис. 10.3. Распределение адресов на основе технологии CIDR Очевидно, что префикс каждой из показанных на рисунке областей имеет собственную длину — чем меньше количество адресов в данной области, тем длиннее ее префикс. Пример Пусть поставщик услуг Интернета располагает пулом адресов в диапазоне 193.20.0.0193.23.255.255 (11000001.00010100.00000000.00000000-11000001.0001 0111.11111111.11111111), то есть количество адресов равно 218. Соответственно префикс поставщика услуг имеет длину 14 разрядов — 11000001.000101, или в другом виде — 193.20/14. Если абоненту этого поставщика услуг требуется совсем немного адресов, например 13, то поставщик мог бы предложить ему различные варианты: сеть 193.20.30.0/28, сеть 193.20.30.16/28 или сеть 193.21.204.48/28. Во всех случаях в распоряжении абонента для нумерации узлов имеются 4 младших бита. Таким образом, наименьшее число, удовлетворяющее потребностям абонента (13), которое можно представить степенью двойки (24), является 16. Префикс для каждого из выделяемых пулов во всех этих случаях играет роль номера сети, он имеет длину 32 - 4 = 28 разрядов. Рассмотрим другой вариант, когда к поставщику услуг обратился крупный заказчик, сам, возможно, собирающийся оказывать услуги по доступу в Интернет. Ему требуется блок адресов в 4000 узлов. На нумерацию такого количества узлов пойдет 12 двоичных разрядов, следовательно, размер выделенного пула адресов будет несколько больше требуемого — 4096. Граница, с которой должен начинаться выделяемый участок, должна быть кратна размеру участка, то есть это могут быть любые адреса из следующих: 193.20.0.0, 193.20.16.0, 193.20.32.0, 193.20.48.0 и другие числа, оканчивающиеся на 12 нулей. Пусть поставщик услуг предложил потребителю диапазон адресов 193.20.16.0-193.20.31.255. Для этого диапазона агрегированный номер сети (префикс) имеет длину 20 двоичных разрядов и равен 193.20.16.0/20. 205 Благодаря CIDR поставщик услуг получает возможность «нарезать» блоки из выделенного ему адресного пространства в соответствии с действительными требованиями каждого клиента. Мы еще вернемся к технологии CIDR в главе 18, чтобы обсудить, каким образом эта технология помогает не только экономно расходовать адреса, но и более эффективно осуществлять маршрутизацию. Отображение IP-адресов на локальные адреса Список ключевых слов: протокол разрешения адресов, ARP-запрос, статическая запись, динамическая запись, ARP-кэш, ARP-сервер, протокол Proxy-ARP. Одной из главных задач, которая ставилась при создании протокола IP, являлось обеспечение совместной согласованной работы в сети, состоящей из подсетей, в общем случае использующих разные сетевые технологии. Взаимодействие технологии TCP/IP с локальными технологиями подсетей происходит многократно при перемещении IP-пакета по составной сети. На каждом маршрутизаторе протокол IP определяет, какому следующему маршрутизатору в этой сети надо направить пакет. В результате решения этой задачи протоколу IP становится известен IP-адрес интерфейса следующего маршрутизатора (или конечного узла, если эта сеть является сетью назначения). Чтобы локальная технология сети смогла доставить пакет на следующий маршрутизатор, необходимо:  упаковать пакет в кадр соответствующего для данной сети формата (например, Ethernet);  снабдить данный кадр локальным адресом следующего маршрутизатора. Решением этих задач, как уже отмечалось, занимается уровень сетевых интерфейсов стека TCP/IP (см. раздел «Стек TCP/IP» в главе 4). Протокол разрешения адресов Как уже было сказано, никакой зависимости между локальным адресом и его IP-адресом не существует, следовательно, единственный способ установления соответствия — ведение таблиц. В результате конфигурирования сети каждый интерфейс знает свои IP-адрес и локальный адрес, что можно рассматривать как таблицу, состоящую из одной строки. Проблема состоит в том, как организовать обмен имеющейся информацией между узлами сети. Для определения локального адреса по IP-адресу используется протокол разрешения адресов (Address Resolution Protocol, ARP). Протокол разрешения адресов реализуется различным образом в зависимости от того, работает ли в данной сети протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещания или же какой-либо из протоколов глобальной сети (Х.25, Frame Relay), которые, как правило, не поддерживают широковещательный доступ. Рассмотрим работу протокола ARP в локальных сетях с широковещанием. На рис. 10.4 показан фрагмент IP-сети, включающий две сети — Ethernetl (из трех конечных узлов А, В и С) и Ethernet2 (из двух конечных узлов D и Е). Сети подключены соответственно к интерфейсам 1 и 2 маршрутизатора. Каждый сетевой интерфейс имеет IP-адрес и МАС-адрес. Пусть в какой-то момент IP-модуль узла С направляет пакет узлу D. Протокол IP узла С определил IP-адрес интерфейса следующего маршрутизатора — это IP1. Теперь, прежде чем упаковать пакет в кадр Ethernet и направить его маршрутизатору, необходимо определить соответствующий МАСадрес. Для решения этой задачи протокол IP обращается к протоколу ARP. Протокол ARP поддерживает на каждом интерфейсе сетевого адаптера или маршрутизатора отдельную ARPтаблицу, в которой в ходе функционирования сети накапливается информация о соответствии между IP-адресами и МАС-адресами других интерфейсов данной сети. Первоначально, при включении компьютера или маршрутизатора в сеть все его ARP-таблицы пусты. 206 Рис. 10.4. Схема работы протокола ARP 1. На первом шаге происходит передача от протокола IP протоколу ARP примерно такого сообщения: «Какой МАС-адрес имеет интерфейс с адресом IP1? 2. Работа протокола ARP начинается с просмотра ARP-таблицы соответствующего интерфейса. Предположим, что среди содержащихся в ней записей отсутствует запрашиваемый IP-адрес. 3. В этом случае исходящий IP-пакет, для которого оказалось невозможным определить локальный адрес из ARP-таблицы, запоминается в буфере, а протокол ARP формирует ARP-запрос, вкладывает его в кадр протокола Ethernet и широковещательно рассылает. 4. Все интерфейсы сети Ethernet1 получают ARP-запрос и направляют его «своему» протоколу ARP. ARP сравнивает указанный в запросе адрес IP1 с IP-адресом интерфейса, на который поступил этот запрос. Протокол ARP, который констатировал совпадение (в данном случае это ARP маршрутизатора 1), формирует ARP-ответ. В ARP-ответе маршрутизатор указывает локальный адрес MAC1 своего интерфейса и отправляет его запрашивающему узлу (в данном примере узлу С), используя его локальный адрес. Широковещательный ответ в этом случае не требуется, так как формат ARP-запроса предусматривает поля локального и сетевого адресов отправителя. Заметим, что зона распространения ARP-запросов ограничивается сетью Ethernet1, так как на пути широковещательных кадров барьером стоит маршрутизатор. На рис. 10.5 показан кадр Ethernet с вложенным в него ARP-сообщением. ARP-запросы и ARP-ответы имеют один и тот же формат. В табл. 10.2 в качестве примера приведены значения полей реального ARP-запроса, переданного по сети Ethernet (символы 0х означают, что за ними следует число, записанное в шестнадцатеричном формате). 207 Рис. 10.5. Инкапсуляция ARP-сообщений в кадр Ethernet Таблица 10.2. Пример ARP-запроса В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать протокол ARP не только с протоколом IP, но и с другими сетевыми протоколами. Для IP значение этого поля равно 0x0800. Длина локального адреса для протокола Ethernet равна 6 байт, а длина IP-адреса — 4 байт. В поле операции для ARP-запросов указывается значение 1, для ARP-ответов — значение 2. Из этого запроса видно, что в сети Ethernet узел с IP-адресом 194.85.135.75 пытается определить, какой МАС-адрес имеет другой узел той же сети, сетевой адрес которого 194.85.135.65. Поле искомого локального адреса заполнено нулями. Ответ присылает узел, опознавший свой IP-адрес. Если в сети нет машины с искомым IPадресом, то ARP-ответа не будет. Протокол IP уничтожает IP-пакеты, направляемые по этому адресу. В табл. 10.3 показаны значения полей ARP-ответа, который мог бы поступить на приведенный в табл. 10.2 ARP-запрос. Таблица 10.3. Пример ARP-ответа 208 В результате обмена ARP-сообщениями модуль IP, пославший запрос с интерфейса, имеющего адрес 194.85.135.75, определил, что IP-адресу 194.85.135.65 соответствует МАС-адрес 00E0F77F1920. Этот адрес будет затем помещен в заголовок кадра Ethernet, ожидавшего отправления IP-пакета. Чтобы уменьшить число ARP-обращений в сети, найденное соответствие между IP-адресом и МАС-адресом сохраняется в ARP-таблице соответствующего интерфейса, в данном случае — это запись: 194.85.135.65 - 00E0F77F1920 Данная запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как модуль ARP проанализирует ARP-ответ. Теперь, если вдруг вновь возникнет необходимость послать пакет по адресу 194.85.135.65, то протокол IP, прежде чем посылать широковещательный запрос, проверит, нет ли уже такого адреса в ARP-таблице. ARP-таблица пополняется не только за счет поступающих на данный интерфейс ARPответов, но и в результате извлечения полезной информации из широковещательных ARPзапросов. Действительно, в каждом запросе, как это видно из табл. 10.2 и 10.3, содержатся IPадрес и МАС-адрес отправителя. Все интерфейсы, получившие этот запрос, могут поместить информацию о соответствии локального и сетевого адресов отправителя в собственную ARPтаблицу. В частности, все узлы, получившие ARP-запрос (см. табл. 10.2), могут пополнить свою ARP-таблицу записью: 194.85.135.75 - 008048ЕВ7Е60 Таким образом, вид ARP-таблицы, в которую в ходе работы сети были добавлены две упомянутые нами записи, иллюстрирует табл. 10.4. Таблица 10.4. Пример ARP-таблицы В ARP-таблицах существует два типа записей: динамические и статические. Статические записи создаются вручную с помощью утилиты arp и не имеют срока устаревания, точнее, они 209 существуют до тех пор, пока компьютер или маршрутизатор остается включенным. Динамические записи должны периодически обновляться. Если запись не обновлялась в течение определенного времени (порядка нескольких минут), то она исключается из таблицы. Таким образом, в ARP-таблице содержатся записи не обо всех узлах сети, а только о тех, которые активно участвуют в сетевых операциях. Поскольку такой способ хранения информации называют кэшированием, ARP-таблицы иногда называют ARP-кэшем. Примечание. Некоторые реализации протоколов IP и ARP не ставят IP-пакеты в очередь на время ожидания ARP-ответов. Вместо этого IP-пакет просто уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через протокол UDP. Такое восстановление выполняется за счет тайм-аутов и повторных передач. Повторная передача сообщения проходит успешно, так как первая попытка уже вызвала заполнение ARP-таблицы. Совсем другой способ разрешения адресов используется в глобальных сетях, в которых не поддерживается широковещательная рассылка. Здесь администратору сети чаще всего приходится вручную формировать и помещать на какой-либо сервер ARP-таблицы, в которых он задает, например, соответствие IP-адресов адресам Х.25, имеющих для протокола IP смысл локальных адресов. В то же время сегодня наметилась тенденция автоматизации работы протокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP-адрес и локальный адрес выделенного для этих целей маршрутизатора. При включении каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе. Всякий раз, когда возникает необходимость определения по IP-адресу локального адреса, модуль ARP обращается к выделенному маршрутизатору с запросом и автоматически получает ответ без участия администратора. Работающий таким образом маршрутизатор называют ARP-сервером. В некоторых случаях возникает обратная задача — нахождение IP-адреса по известному локальному адресу. Тогда в действие вступает реверсивный протокол ARP (Reverse Address Resolution Protocol, RARP). Этот протокол используется, например, при старте бездисковых станций, не знающих в начальный момент времени своего IP-адреса, но знающих МАС-адрес своего сетевого адаптера. Протокол Proxy-ARP Протокол Proxy-ARP — это одна из разновидностей протокола ARP, позволяющая отображать IP-адреса на аппаратные адреса в сетях, поддерживающих широковещание, даже в тех случаях, когда искомый узел находится за пределами данного домена коллизий. На рис. 10.6 показана сеть, один из конечных узлов которой (компьютер D) работает в режиме удаленного узла. Подробнее об этом режиме вы прочитаете в главе 23 части V, а сейчас достаточно знать, что конечный узел в таком режиме обладает всеми возможностями компьютеров, работающих в основной части сети Ethernet, в частности, он имеет IP-адрес (IPD), относящийся к той же сети. Для всех конечных узлов сети Ethernet особенности подключения удаленного узла (наличие модемов, коммутируемая связь, протокол РРР) абсолютно прозрачны — они взаимодействуют с ним обычным образом. Чтобы такой режим взаимодействия стал возможным, среди прочего, необходим протокол Proxy-ARP. Поскольку удаленный узел подключен к сети по протоколу РРР, то он, очевидно, не имеет МАС-адреса. 210 Рис. 10.6. Схема работы протокола Proxy-ARP Пусть приложение, работающее, например, на компьютере С, решает послать пакет компьютеру D. Ему известен IP-адрес узла назначения (IPD), однако как мы уже не раз отмечали, для передачи пакета по сети Ethernet его необходимо упаковать в кадр Ethernet и снабдить MACадресом. Для определения МАС-адреса IP-протокол узла С обращается к протоколу ARP, который посылает широковещательное сообщение с ARP-запросом. Если бы в этой сети на маршрутизаторе не был установлен протокол Proxy-ARP, на этот запрос не откликнулся бы ни один узел. Однако протокол Proxy-ARP установлен на маршрутизаторе и работает следующим образом. При подключении к сети удаленного узла D в таблицу ARP-маршрутизатора заносится запись IPD — MAC1 — int2, которая означает, что:  при поступлении ARP-запроса на маршрутизатор относительно адреса IPD в ARP-ответ будет помещен аппаратный адрес MAC1, соответствующий аппаратному адресу интерфейса 1 маршрутизатора;  узел, имеющий адрес IPD, подключен к интерфейсу 2 маршрутизатора. В ответ на посланный узлом С широковещательный ARP-запрос откликается маршрутизатор с установленным протоколом Proxy-ARP. Он посылает «ложный» ARP-ответ, в котором на место аппаратного адреса компьютера D помещает собственный адрес MAC1. Узел С, не подозревая «подвоха», посылает кадр с IP-пакетом по адресу MAC1. Получив кадр, маршрутизатор с установленным протоколом Proxy-ARP «понимает», что он направлен не ему (в пакете указан чужой IP-адрес) и, следовательно, надо искать адресата в ARP-таблице. Из таблицы видно, что кадр надо направить узлу, подключенному ко второму интерфейсу. Мы рассмотрели простейшую схему применения протокола Proxy-ARP, которая тем не менее достаточно полно отражает логику его работы. Система DNS 211 Список ключевых слов: плоское имя, домен имен, поддомен, краткое доменное имя, относительное доменное имя, полное доменное имя, централизованная служба DNS, нерекурсивная и рекурсивная процедуры разрешения имени, обратная зона. Плоские символьные имена В операционных системах, которые первоначально разрабатывались для локальных сетей, таких как Novell NetWare, Microsoft Windows или IBM OS/2, пользователи всегда работали с символьными именами компьютеров. Так как локальные сети состояли из небольшого числа компьютеров, применялись так называемые плоские имена, состоящие из последовательности символов, не разделенных на части. Примерами таких имен являются: NW1_1, mail2, MOSCOW_ SALES_2. Для установления соответствия между символьными именами и МАС-адресами в этих операционных системах применялся механизм широковещательных запросов, подобный механизму запросов протокола ARP. Так, широковещательный способ разрешения имен реализован в протоколе NetBIOS, на котором были построены многие локальные ОС. Так называемые NetBIOS-имена стали на долгие годы одним из основных типов плоских имен в локальных сетях. Для стека TCP/IP, рассчитанного в общем случае на работу в больших территориально распределенных сетях, подобный подход оказывается неэффективным. Иерархические символьные имена В стеке TCP/IP применяется доменная система имен, которая имеет иерархическую древовидную структуру, допускающую наличие в имени произвольного количества составных частей (рис. 10.7). Рис. 10.7. Пространство доменных имен 212 Иерархия доменных имен аналогична иерархии имен файлов, принятой во многих популярных файловых системах. Дерево имен начинается с корня, обозначаемого здесь точкой (.). Затем следует старшая символьная часть имени, вторая по старшинству символьная часть имени и т. д. Младшая часть имени соответствует конечному узлу сети. В отличие от имен файлов, при записи которых сначала указывается самая старшая составляющая, затем составляющая более низкого уровня и т. д., запись доменного имени начинается с самой младшей составляющей, а заканчивается самой старшей. Составные части доменного имени отделяются друг от друга точкой. Например, в имени partnering.microsoft.com составляющая partnering является именем одного из компьютеров в домене microsoft.com. Разделение имени на части позволяет разделить административную ответственность за назначение уникальных имен между различными людьми или организациями в пределах своего уровня иерархии. Так, для примера, приведенного на рис. 10.7, один человек может нести ответственность за то, чтобы все имена, которые имеют окончание «ru», имели уникальную следующую вниз по иерархии часть. Если этот человек справляется со своими обязанностями, то все имена типа www.ru, mail.mmt.ru или m2.zil.mmt.ru будут отличаться второй по старшинству частью. Разделение административной обязанности позволяет решить проблему образования уникальных имен без взаимных консультаций между организациями, отвечающими за имена одного уровня иерархии. Очевидно, что должна существовать одна организация, отвечающая за назначение имен верхнего уровня иерархии. Совокупность имен, у которых несколько старших составных частей совпадают, образуют домен имен (domain). Например, имена www1.zil.mmt.ru, ftp.zil.mmt.ru, yandex.ru и s1.mgu.ru входят в домен ru, так как все они имеют одну общую старшую часть — имя ru. Другим примером является домен mgu.ru. Из представленных на рис. 10.7 имен в него входят имена s1.mgu.ru, s2.mgu.ru и m.mgu.ru. Этот домен образуют имена, у которых две старшие части всегда равны mgu.ru. Администратор домена mgu.ru несет ответственность за уникальность имен следующего уровня, входяших в домен, то есть имен s1, s2 и m. Образованные домены s1.mgu.ru, s2.mgu.ru и m.mgu.ru являются поддоменами домена mgu.ru, так как имеют общую старшую часть имени. Часто поддомены для краткости называют только младшей частью имени, то есть поддомены s1, s2 и m. Примечание. Термин «домен» очень многозначен, поэтому его нужно трактовать в рамках определенного контекста. Помимо доменов имен стека TCP/IP в компьютерной литературе также часто упоминаются домены Windows NT, домены коллизий и некоторые другие. Общим у всех этих терминов является то, что они описывают некоторое множество компьютеров, обладающее каким-либо определенным свойством. Если в каждом домене и поддомене обеспечивается уникальность имен следующего уровня иерархии, то и вся система имен будет состоять из уникальных имен. По аналогии с файловой системой в доменной системе имен различают краткие имена, относительные имена и полные доменные имена. Краткое имя — это имя конечного узла сети: хоста или порта маршрутизатора. Краткое имя — это лист дерева имен. Относительное имя — это составное имя, начинающееся с некоторого уровня иерархии, но не самого верхнего. Например, www1.zil — это относительное имя. Полное доменное имя (Fully Qualified Domain Name, FQDN) включает составляющие всех уровней иерархии, начиная от краткого имени и кончая корневой точкой: www1.zil.mmt.ru. Корневой домен управляется центральными органами Интернета IANA и InterNIC. Домены верхнего уровня назначаются для каждой страны, а также для различных типов организаций. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, например ru (Россия), uk (Великобритания), fi (Финляндия), us (Соединенные Штаты), а для различных типов организаций — например, следующие обозначения:  com — коммерческие организации (например, microsoft.com);  edu — образовательные организации (например, mit.edu); 213  gov — правительственные организации (например, nsf.gov);  org — некоммерческие организации (например, fidonet.org);  net — сетевые организации (например, nsf.net). Каждый домен администрирует отдельная организация, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Чтобы получить доменное имя, необходимо зарегистрироваться в какой-либо организации, которой орган InterNIC делегировал свои полномочия по распределению имен доменов. Внимание. Компьютеры входят в домен в соответствии со своими составными именами, при этом они могут иметь абсолютно независимые друг от друга IP-адреса, принадлежащие различным сетям и подсетям. Например, в домен mgu.ru могут входить хосты с адресами 132.13.34.15, 201.22.100.33 и 14.0.0.6. Доменная система имен реализована в Интернете, но она может работать и как автономная система имен в любой крупной корпоративной сети, которая хотя и использует стек TCP/IP никак не связана с Интернетом. Схема работы DNS Широковещательный способ установления соответствия между символьными именами и локальными адресами, подобный протоколу ARP, хорошо работает только в небольшой локальной сети, не разделенной на подсети. В крупных сетях, где возможность всеобщей широковещательной рассылки не поддерживается, нужен другой способ разрешения символьных имен. Хорошей альтернативой широковещательной рассылке является применение централизованной службы, поддерживающей соответствие между различными типами адресов всех компьютеров сети. Например, компания Microsoft для своей корпоративной операционной системы Windows NT разработала централизованную службу WINS, которая поддерживала базу данных NetBIOS-имен и соответствующих им IP-адресов. В сетях TCP/IP соответствие между доменными именами и IP-адресами может устанавливаться средствами как локального хоста, так и централизованной службы. На раннем этапе развития Интернета на каждом хосте вручную создавался текстовый файл с известным именем hosts.txt. Этот файл состоял из некоторого количества строк, каждая из которых содержала одну пару «доменное имя — IP-адрес», например: rhino.acme.com — 102.54.94.97 По мере роста Интернета файлы hosts.txt также увеличивались в объеме, и создание масштабируемого решения для разрешения имен стало необходимостью. Таким решением стала централизованная служба DNS (Domain Name System — система доменных имен), основанная на распределенной базе отображений «доменное имя — IP-адрес». Служба DNS использует в своей работе DNS-серверы и DNS-клиенты. DNS-серверы поддерживают распределенную базу отображений, а DNS-клиенты обращаются к серверам с запросами о разрешении доменного имени в IP-адрес. Служба DNS использует текстовые файлы почти такого формата, как и файл hosts, и эти файлы администратор также подготавливает вручную. Однако служба DNS опирается на иерархию доменов, и каждый сервер службы DNS хранит только часть имен сети, а не все имена, как это происходит при использовании файлов hosts. При росте количества узлов в сети проблема масштабирования решается созданием новых доменов и поддоменов имен и добавлением в службу DNS новых серверов. Для каждого домена имен создается свой DNS-сервер. Имеется два распределения имен на серверах. В первом случае сервер может хранить отображения «доменное имя — IP-адрес» для всего домена, включая все его поддомены. Однако такое решение оказывается плохо масштабируемым, так как при добавлении новых поддоменов нагрузка на этот сервер может превысить его возможности. Чаще используется другой подход, когда сервер домена хранит только имена, которые заканчиваются на следующем ниже уровне иерархии по сравнению с именем домена. (Аналогично каталогу файловой системы, который содержит записи о файлах и 214 подкаталогах, непосредственно в него «входящих».) Именно при такой организации службы DNS нагрузка по разрешению имен распределяется более-менее равномерно между всеми DNSсерверами сети. Например, в первом случае DNS-сервер домена mmt.ru будет хранить отображения для всех имен, заканчивающихся на mmt.ru (www1.zil.mmt.ru, ftp.zil.mmt.ru, mail.mmt.ru и т. д.). Во втором случае этот сервер хранит отображения только имен типа mail.mmt.ru, www.mmt.ru, а все остальные отображения должны храниться на DNS-сервере поддомена zil. Каждый DNS-сервер помимо таблицы отображений имен содержит ссылки на DNS-серверы своих поддоменов. Эти ссылки связывают отдельные DNS-серверы в единую службу DNS. Ссылки представляют собой IP-адреса соответствующих серверов. Для обслуживания корневого домена выделено несколько дублирующих друг друга DNS-серверов, IP-адреса которых являются широко известными (их можно узнать, например, в InterNIC). Процедура разрешения DNS-имени во многом аналогична процедуре поиска файловой системой адреса файла по его символьному имени. Действительно, в обоих случаях составное имя отражает иерархическую структуру организации соответствующих справочников — каталогов файлов или DNS-таблиц. Здесь домен и доменный DNS-сервер являются аналогом каталога файловой системы. Для доменных имен, так же как и для символьных имен файлов, характерна независимость именования от физического местоположения. Процедура поиска адреса файла по символьному имени заключается в последовательном просмотре каталогов, начиная с корневого. При этом предварительно проверяются кэш и текущий каталог. Для определения IP-адреса по доменному имени также необходимо просмотреть все DNSсерверы, обслуживающие цепочку поддоменов, входящих в имя хоста, начиная с корневого домена. Существенным отличием файловой системы от службы DNS является то, что первая расположена на одном компьютере, а вторая по своей природе является распределенной. Существует две основные схемы разрешения DNS-имен. В первом варианте работу по поиску IP-адреса координирует DNS-клиент. 1. DNS-клиент обращается к корневому DNS-серверу с указанием полного доменного имени. 2. DNS-сервер отвечает клиенту, указывая адрес следующего DNS-сервера, обслуживающего домен верхнего уровня, заданный в следующей старшей части запрошенного имени. 3. DNS-клиент делает запрос следующего DNS-сервера, который отсылает его к DNS-серверу нужного поддомена и т. д., пока не будет найден DNS-сервер, в котором хранится соответствие запрошенного имени IP-адресу. Этот сервер дает окончательный ответ клиенту. Такая процедура разрешения имени называется нерекурсивной, когда клиент сам итеративно выполняет последовательность запросов к разным серверам имен. Эта схема загружает клиента достаточно сложной работой, и она применяется редко. Во втором варианте реализуется рекурсивная процедура. 1. DNS-клиент запрашивает локальный DNS-сервер, то есть тот сервер, обслуживающий поддомен, которому принадлежит имя клиента. 2. Далее возможны два варианта действий.  если локальный DNS-сервер знает ответ, то он сразу же возвращает его клиенту (это может произойти, когда запрошенное имя входит в тот же поддомен, что и имя клиента, или когда сервер уже узнавал данное соответствие для другого клиента и сохранил его в своем кэше);  если локальный сервер не знает ответ, то он выполняет итеративные запросы к корневому серверу и т. д. точно так же, как это делал клиент в предыдущем варианте, а получив ответ, передает его клиенту, который все это время просто ждет его от своего локального DNSсервера. В этой схеме клиент перепоручает работу своему серверу, поэтому схема называется косвенной, или рекурсивной. Практически все DNS-клиенты используют рекурсивную процедуру. Для ускорения поиска IP-адресов DNS-серверы широко применяют кэширование проходящих через них ответов. Чтобы служба DNS могла оперативно отрабатывать изменения, происходящие в сети, ответы кэшируются на относительно короткое время — обычно от нескольких часов до нескольких дней. 215 Обратная зона Служба DNS предназначена не только для нахождения IP-адреса по имени хоста, но и для решения обратной задачи — нахождению DNS-имени по известному IP-адресу. Многие программы и утилиты, пользующиеся службой DNS, пытаются найти имя узла по его адресу в том случае, когда пользователем задан только адрес (или этот адрес программа узнала из пришедшего пакета). Обратная запись не всегда существует даже для тех адресов, для которых есть прямые записи. Ее могли просто забыть создать или же ее создание требует дополнительной оплаты. Обратная задача решается в Интернете путем организации так называемых обратных зон. Обратная зона — это система таблиц, которая хранит соответствие между IP-адресами и DNS-имена хостов некоторой сети. Для организации распределенной службы и использования для поиска имен того же программного обеспечения, что и для поиска адресов, применяется оригинальный подход, связанный с представлением IP-адреса в виде DNS-имени. Первый этап преобразования заключается в том, что составляющие IP-адреса интерпретируются как составляющие DNS-имени. Например, адрес 192.31.106.0 рассматривается как состоящий из старшей части, соответствующей домену 192, затем идет домен 31, в который входит домен 106. Далее, учитывая, что при записи IP-адреса старшая часть является самой левой частью адреса, а при записи DNS-имени — самой правой, то составляющие в преобразованном адресе указываются в обратном порядке, то есть для данного примера — 106.31.192. Для хранения соответствия всех адресов, начинающихся, например, с числа 192, заводится зона 192 со своими серверами имен. Для записей о серверах, поддерживающих старшие в иерархии обратные зоны, создана специальная зона in-addr.arpa, поэтому полная запись для использованного в примере адреса выглядит так: 106.31.192.in-addr.arpa Серверы для обратных зон используют файлы баз данных, не зависящие от файлов основных зон, в которых имеются записи о прямом соответствии тех же имен и адресов. Такая организация данных может приводить к несогласованности, так как одно и то же соответствие вводится в файлы дважды. Протокол DHCP Список ключевых слов: конфигурирование, конфигурационные параметры, протокол динамического конфигурирования хостов, ручной режим конфигурирования, режим автоматического назначения статических адресов, динамическое распределение адресов, срок аренды, DHCP-агент. Для нормальной работы сети каждому сетевому интерфейсу компьютера и маршрутизатора должен быть назначен IP-адрес. Процедура присвоения адресов происходит в ходе конфигурирования компьютеров и маршрутизаторов. Назначение IP-адресов может происходить вручную в результате выполнения процедуры конфигурирования интерфейса, для компьютера сводящейся, например, к заполнению системы экранных форм. При этом администратор должен помнить, какие адреса из имеющегося множества он уже использовал для других интерфейсов, а какие еще свободны. При конфигурировании помимо IP-адресов сетевых интерфейсов (и соответствующих масок) устройству сообщается ряд других конфигурационных параметров. При конфигурировании администратор должен назначить клиенту не только IP-адрес, но и другие параметры стека TCP/IP, необходимые для его эффективной работы, например маску и IP-адрес маршрутизатора по умолчанию, IP-адрес сервера DNS, доменное имя компьютера и т. п. Даже при не очень большом размере сети эта работа представляет для администратора утомительную процедуру. Протокол динамического конфигурирования хостов (Dynamic Host Configuration Protocol, DHCP) автоматизирует процесс конфигурирования сетевых интерфейсов, гарантируя от дублирования адресов за счет централизованного управления их распределением. Работа DHCP описана в RFC 2131 и 2132. 216 Режимы DHCP Протокол DHCP работает в соответствии с моделью клиент-сервер. Во время старта системы компьютер, являющийся DHCP-клиентом, посылает в сеть широковещательный запрос на получение IP-адреса. DHCP-сервер откликается и посылает сообщение-ответ, содержащее IP-адрес и некоторые другие конфигурационные параметры. При этом сервер DHCP может работать в разных режимах, включая:  ручное назначение статических адресов;  автоматическое назначение статических адресов;  автоматическое распределение динамических адресов. Во всех режимах работы администратор при конфигурировании DHCP-сервера сообщает ему один или несколько диапазонов IP-адресов, причем все эти адреса относятся к одной сети, то есть имеют одно и то же значение в поле номера сети. В ручном режиме администратор, помимо пула доступных адресов, снабжает DHCP-сервер информацией о жестком соответствии IP-адресов физическим адресам или другим идентификаторам клиентских узлов. DHCP-сервер, пользуясь этой информацией, всегда выдает определенному DHCP-клиенту один и тот же назначенный ему администратором IP-адрес (а также набор других конфигурационных параметров (иногда для краткости мы будем опускать это уточнение)). В режиме автоматического назначения статических адресов DHCP-сервер самостоятельно без вмешательства администратора произвольным образом выбирает клиенту IP-адрес из пула наличных IP-адресов. Адрес дается клиенту из пула в постоянное пользование, то есть между идентифицирующей информацией клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавливается в момент первого назначения DHCP-сервером IP-адреса клиенту. При всех последующих запросах сервер возвращает клиенту тот же самый IP-адрес. При динамическом распределении адресов DHCP-сервер выдает адрес клиенту на ограниченное время, называемое сроком аренды. Когда компьютер, являющийся DHCP-клиентом, удаляется из подсети, назначенный ему IP-адрес автоматически освобождается. Когда компьютер подключается к другой подсети, то ему автоматически назначается новый адрес. Ни пользователь, ни сетевой администратор не вмешиваются в этот процесс. Это дает возможность впоследствии повторно использовать этот IP-адрес для назначения другому компьютеру. Таким образом, помимо основного преимущества DHCP — автоматизации рутинной работы администратора по конфигурированию стека TCP/IP на каждом компьютере, динамическое разделение адресов в принципе позволяет строить IP-сеть, количество узлов в которой превышает количество имеющихся в распоряжении администратора IP-адресов. Пример Рассмотрим преимущества, которые дает динамическое разделение пула адресов на примере организации, в которой сотрудники значительную часть рабочего времени проводят вне офиса — дома или в командировках. Каждый из них имеет портативный компьютер, который во время пребывания в офисе подключается к корпоративной IP-сети. Возникает вопрос, сколько IPадресов необходимо этой организации? Первый ответ — столько, скольким сотрудникам необходим доступ в сеть. Если их 500 человек, то каждому из них должен быть назначен IP-адрес и выделено рабочее место. То есть администрация должна получить у поставщика услуг адреса двух сетей класса С и оборудовать соответствующим образом помещение. Однако вспомним, что сотрудники в этой организации редко появляются в офисе, значит, большая часть ресурсов при таком решении будет простаивать. Второй ответ — столько, сколько сотрудников обычно присутствует в офисе (с некоторым запасом). Если обычно в офисе работает не более 50 сотрудников, то достаточно получить у поставщика услуг пул из 64 адресов и установить в рабочем помещении сеть с 64 коннекторами 217 для подключения компьютеров. Но возникает другая проблема — кто и как будет конфигурировать компьютеры, состав которых постоянно меняется? Существует два пути. Во-первых, администратор (или сам мобильный пользователь) может конфигурировать компьютер вручную каждый раз, когда возникает необходимость подключения к офисной сети. Такой подход требует от администратора (или пользователей) выполнения большого объема рутинной работы, следовательно — это плохое решение. Гораздо привлекательнее выглядят возможности автоматического динамического назначения адресов DHCP. Действительно, администратору достаточно один раз при настройке DHCP-сервера указать диапазон из 64 адресов, а каждый вновь прибывающий мобильный пользователь будет просто физически подключать в сеть свой компьютер, на котором запускается DHCP-клиент. Он запросит конфигурационные параметры и автоматически получит их от DHCP-сервера. Таким образом, для работы 500 мобильных сотрудников достаточно иметь в офисной сети 64 IP-адреса и 64 рабочих места. Алгоритм динамического назначения адресов Администратор управляет процессом конфигурирования сети, определяя два основных параметра конфигурации DHCP-сервера: пул адресов, доступных распределению, и срок аренды. Срок аренды диктует, как долго компьютер может использовать назначенный IP-адрес, перед тем как снова запросить его от DHCP-сервера. Срок аренды зависит от режима работы пользователей сети. Если это небольшая сеть учебного заведения, куда со своими компьютерами приходят многочисленные студенты для выполнения лабораторных работ, то срок аренды может быть равен длительности лабораторной работы. Если же это корпоративная сеть, в которой сотрудники предприятия работают на регулярной основе, то срок аренды может быть достаточно длительным — несколько дней или даже недель. DHCP-сервер должен находиться в одной подсети с клиентами, учитывая, что клиенты посылают ему широковещательные запросы. Для снижения риска выхода сети из строя из-за отказа DHCP-сервера в сети иногда ставят резервный DHCP-сервер (такой вариант соответствует сети 1 на рис. 10.8). 218 Рис. 10.8. Схемы взаимного расположения DHCP-серверов и DHCP-клиентов Иногда наблюдается и обратная картина: в сети нет ни одного DHCP-сервера, его подменяет связной DHCP-агент — программное обеспечение, играющее роль посредника между DHCPклиентами и DHCP-серверами (пример такого варианта — сеть 2 на рисунке). Связной агент переправляет запросы клиентов из сети 2 DHCP-серверу сети 3. Таким образом, один DHCPсервер может обслуживать DHCP-клиентов нескольких разных сетей. Ниже дана упрощенная схема обмена сообщениями между клиентскими и серверными частями DHCP. 1. Когда компьютер включают, установленный на нем DHCP-клиент посылает ограниченное широковещательное сообщение DHCP-поиска (IP-пакет с адресом назначения, состоящим из одних единиц, который должен быть доставлен всем узлам данной IP-сети). 2. Находящиеся в сети DHCP-серверы получают это сообщение. Если в сети DHCP-серверы отсутствуют, то сообщение DHCP-поиска получает связной DHCP-агент. Он пересылает это сообщение в другую, возможно, значительно отстоящую от него сеть DHCP-серверу, IP-адрес которого ему заранее известен. 3. Все DHCP-серверы, получившие сообщение DHCP-поиска, посылают DHCP-клиенту, обратившемуся с запросом, свои DHCP-предложения. Каждое предложение содержит IP-адрес и другую конфигурационную информацию. (DHCP-сервер, находящийся в другой сети, посылает ответ через агента.) 4. DHCP-клиент собирает конфигурационные DHCP-предложения ото всех DHCP-серверов. Как правило, он выбирает первое из поступивших предложений и отправляет в сеть широковещательный DHCP-запрос. В этом запросе содержатся идентификационная информация о DHCP-сервере, предложение которого принято, а также значения принятых конфигурационных параметров. 5. Все DHCP-серверы получают DHCP-запрос, и только один выбранный DHCP-сервер посылает положительную DHCP-квитанцию (подтверждение IP-адреса и параметров аренды), а остальные серверы аннулируют свои предложения, в частности возвращают в свои пулы предложенные адреса. 6. DHCP-клиент получает положительную DHCP-квитанцию и переходит в рабочее состояние. Время от времени компьютер пытается обновить параметры аренды у DHCP-сервера. Первую попытку он делает задолго до истечения срока аренды, обращаясь к тому серверу, от которого он получил текущие параметры. Если ответа нет или ответ отрицательный, он через некоторое время снова посылает запрос. Так повторяется несколько раз, и, если все попытки получить параметры у того же сервера оказываются безуспешными, клиент обращается к другому серверу. Если и другой сервер отвечает отказом, то клиент теряет свои конфигурационные параметры и переходит в режим автономной работы. DHCP-клиент может и по своей инициативе досрочно отказаться от выделенных ему параметров. В сети, где адреса назначаются динамически, нельзя быть уверенным в адресе, который в данный момент имеет тот или иной узел. И такое непостоянство IP-адресов влечет за собой некоторые проблемы. Во-первых, возникают сложности при преобразовании символьного доменного имени в IPадрес. Действительно, представьте себе функционирование системы DNS, которая должна поддерживать таблицы соответствия символьных имен IP-адресам в условиях, когда последние меняются каждые два часа! Учитывая это обстоятельство, для серверов, к которым пользователи часто обращаются по символьному имени, назначают статические IP-адреса, оставляя динамические только для клиентских компьютеров. Однако в некоторых сетях количество серверов настолько велико, что их ручное конфигурирование становится слишком обременительным. Это привело к разработке усовершенствованной версии DNS (так называемой динамической системы DNS), в основе которой лежит согласование информационной адресной базы в службах DHCP и DNS. 219 Во-вторых, трудно осуществлять удаленное управление и автоматический мониторинг интерфейса (например, сбор статистики), если в качестве его идентификатора выступает динамически изменяемый IP-адрес. Наконец, для обеспечения безопасности сети многие сетевые устройства могут блокировать (фильтровать) пакеты, определенные поля которых имеют некоторые заранее заданные значения. Другими словами, при динамическом назначении адресов усложняется фильтрация пакетов по IP-адресам. Последние две проблемы проще всего решаются отказом от динамического назначения адресов для интерфейсов, фигурирующих в системах мониторинга и безопасности. Выводы В стеке TCP/IP используются три типа адресов: локальные (называемые также аппаратными), IP-адреса и символьные доменные имена. Все эти типы адресов присваиваются узлам составной сети независимо друг от друга. IP-адрес имеет длину 4 байта и состоит из номера сети и номера узла Для определения границы, отделяющей номер сети от номера узла, сегодня используется два подхода. Первый основан на классах адресов, второй — масок. Класс адреса определяется значениями нескольких первых битов адреса. В адресах класса А под номер сети отводится один байт, а остальные три байта — под номер узла, поэтому они используются в самых больших сетях. Для небольших сетей больше подходят адреса класса С, в которых номер сети занимает три байта, а для нумерации узлов может быть использован только один байт. Промежуточное положение занимают адреса класса В. Для разделения IP-адреса на номер сети и номер узла используется связанная с этим адресом маска. Двоичная запись маски содержит единицы в тех разрядах, которые в данном IP-адресе должны интерпретироваться как номер сети. IP-адреса уникально идентифицируют узел в пределах составной сети, поэтому они должны назначаться централизовано. Если сеть автономная, то уникальность IP-адресов в пределах этой сети может быть обеспечена администратором сети. При этом он может выбирать для нумерации сетей и узлов любые синтаксически правильные IP-адреса. Однако предпочтительнее в этом случае применять адреса, специально выделенные для автономных сетей (так называемые частные адреса). Если сеть очень велика, как, например, Интернет, то процесс назначения IP-адресов усложняется, разбиваясь на два этапа. Первый — распределение номеров сетей — регулируется специальным административным органом, обеспечивающим однозначность нумерации сетей. После того как сеть получила номер, наступает второй этап — назначение номеров узлам сети. Назначение IP-адресов узлам сети может происходить либо вручную (администратор сам ведет списки свободных и занятых адресов и конфигурирует сетевой интерфейс), либо автоматически (с использованием протокола DHCP). В последнем случае администратор заранее назначает DHCP-серверу диапазон свободных для распределения адресов, из которого последний автоматически выделяет адреса узлам в ответ на поступившие от них запросы. Установление соответствия между IP-адресом и аппаратным адресом сетевого интерфейса осуществляется протоколом разрешения адресов (ARP). Протокол ARP, работающий в сетях Ethernet, Token Ring, FDDI, для трансляции IP-адреса в МАС-адрес выполняет широковещательный ARP-запрос. Поступающие ARP-ответы запоминаются в таблицах, создаваемых на каждом сетевом интерфейсе. В сетях, в которых не поддерживается широковещательная рассылка, ARP-таблицы хранятся централизовано на выделенном ARP-сервере. В стеке TCP/IP применяется система доменных символьных имен, которая имеет иерархическую древовидную структуру, допускающую использование в имени произвольного количества составных частей. Совокупность имен, у которых несколько старших составных частей совпадают, образуют домен имен. Доменные имена назначаются централизованно, если сеть является частью Интернета, в противном случае — локально. 220 Соответствие между доменными именами и IP-адресами может устанавливаться как средствами локального хоста с использованием файла hosts, так и с помощью централизованной службы DNS, основанной на распределенной базе отображений «доменное имя — IP-адрес». Вопросы и задания 1. В чем состоит отличие процедур назначения аппаратных и сетевых адресов? 2. Какие из адресов могли бы в составной IP-сети являться локальными, а какие нет? Варианты ответов:  6-байтовый МАС-адрес, например, 12-В3-3В-51-А2-10;  адрес Х.25, например, 25012112654987;  12-байтовый IPX-адрес, например, 13.34.В4.0А.С5.10.11.32.54.С5.3В.01;  адрес VPI/VCI сети ATM. 3. Какие из следующих утверждений верны всегда?  Каждый интерфейс моста/коммутатора имеет МАС-адрес.  Каждый мост/коммутатор имеет сетевой адрес.  Каждый интерфейс моста/коммутатора имеет сетевой адрес.  Каждый маршрутизатор имеет сетевой адрес.  Каждый интерфейс маршрутизатора имеет МАС-адрес.  Каждый интерфейс маршрутизатора имеет сетевой адрес. 4. Какие из приведенных адресов не могут быть использованы в качестве IP-адресов сетевого интерфейса для узлов Интернета? Для синтаксически правильных адресов определите их класс: А, В, С, D или Е. Варианты адресов:  127.0.0.1;  201.13.123.245;  226.4.37.105;  103.24.254.0;  10.234.10.25;  154.12.255.255;  13.13.13.13;  204.0.3.1;  193.256.1.16;  194.87.45.0;  195.34.116.255;  161.23.45.305. 5. Пусть IP-адрес некоторого узла подсети равен 198.65.12.67, а значение маски для этой подсети — 255.255.255.240. Определите номер подсети. Какое максимальное число узлов может быть в этой подсети? 6. Пусть вам известно соответствие между IP-адресами и доменными именами для всех компьютеров в сети, кроме одного. Для этого компьютера вы знаете только доменное имя. Можете ли вы, обладая всей этой информацией, с уверенностью определить его IP-адрес? 7. Сколько ARP-таблиц имеет компьютер? Маршрутизатор? Коммутатор? 8. Протокол ARP функционально можно разделить на клиентскую и серверную части. Опишите, какие функции вы отнесли бы к клиентской части, а какие — к серверной? 9. Какие адреса и с какой целью заносит администратор в ARP-таблицу? 10. В каких случаях полезно использовать протокол Proxy-ARP? 11. Можно ли определить по доменным именам компьютеров, насколько близко (территориально) они находятся? 221 12. Известно, что компьютер с адресом 204.35.101.24 имеет доменное имя new.firm.net. Определите, если это возможно, какое из доменных имен имеет компьютер с адресом 204.35.101.25. Варианты ответов:  new1.firm.net;  new.firm1.net;  new.1firm.net. 13. Что общего между системой DNS и файловой системой? 14. Сколько DHCP-серверов достаточно, чтобы обслужить сеть, разделенную двумя маршрутизаторами? 15. Если в сети для надежности установлено два DHCP-сервера, то каким образом следует администратору назначать для каждого из них пул распределяемых адресов: выделить каждому из них неперекрывающиеся части общего пула или назначить каждому из них один и тот же общий пул? 16. Пусть поставщик услуг Интернета имеет в своем распоряжении адрес сети класса В. Для адресации узлов собственной сети он использует 254 адреса. Определите максимально возможное число абонентов этого поставщика услуг, если размеры требуемых для них сетей соответствуют классу С? Какая маска должна быть установлена на маршрутизаторе поставщика услуг, соединяющем его сеть с сетями абонентов? 17. Какое максимальное количество подсетей теоретически можно организовать, если в вашем распоряжении имеется сеть класса С? Какое значение должна при этом иметь маска? 18. Почему для решения обратной задачи — поиска IP-адресов по известным именам — не используют тот же подход, что и для решения прямой задачи, то есть те же файлы зон и доменов, организованных в дерево, соответствующее иерархии имен? 222 18. Безопасность в сетях Безопасность Список ключевых слов: уровень защищенности, компьютерная безопасность, сетевая безопасность, брандмауэр, конфиденциальность, доступность, целостность, шифрование, криптосистема, аутентификация, электронная подпись, идентификация, авторизация, аудит, защищенный канал. Компьютерные сети — замечательное средство доступа к самой разнообразной информации, а также средство общения. Однако, как и у каждой красивой медали, у компьютерных сетей есть и обратная сторона. Она проявляется в разнообразных потенциальных угрозах целостности и конфиденциальности информации, которую вы доверяете сети. Например, предприятия, имеющие постоянное соединение с Интернетом, регулярно страдают от атак злоумышленников на их информационные ресурсы. Подвергаются атакам и пользователи, соединяющиеся с Интернетом по модему на небольшое время. Информация, находящаяся на их компьютерах, также может пострадать от вирусов, «живущих» в почтовых сообщениях или проникающих через «дырки» в системах мгновенной доставки сообщений, таких как ICQ. Немного статистики В отчете о проблемах и тенденциях в сферах компьютерной преступности и безопасности за 2002 год (Issues and Trends: 2002 CSI/FBI Computer Crime and Security Survey), опубликованном в апреле 2002 года, отмечается резкий рост числа обращений в правоохранительные органы по поводу компьютерных преступлений. 90 % респондентов (преимущественно из крупных компаний и правительственных структур) сообщили, что за последние 12 месяцев в их организациях имели место нарушения информационной безопасности; 80 % констатировали финансовые потери от этих нарушений; 44 % (223 респондента) смогли и/или захотели оценить потери количественно — общая сумма составила более 455 млн долларов. Злоумышленники, которые пытаются получить несанкционированный доступ к информации или разрушить ее, могут использовать для атак не только Интернет, но и корпоративную сеть. Действительно, никогда нельзя ручаться за то, что кто-нибудь из служащих предприятия не захочет превысить свои служебные полномочия и попытаться прочитать документ, который он не имеет права читать. Возможны также попытки разрушить информацию предприятия изнутри (стереть файлы, вывести из строя компьютер и т. п.). Очевидно, что пользователи сети хотели бы, чтобы их информация была надежно защищена от такого рода инцидентов. Уровень защищенности информации пользователя сетевых услуг является еще одной важной характеристикой сети. Защищенность не является количественной характеристикой, ее можно оценить только качественно — высокий (средний, низкий) уровень защищенности. Обычно уровень защищенности информации в определенной сети оценивается экспертом. Компьютерная и сетевая безопасность При всем своем многообразии средства защиты информации делятся на два больших класса:  средства компьютерной безопасности предназначены для защиты внутренних информационных ресурсов, находящихся в локальной сети или на отдельном компьютере пользователя;  средства сетевой безопасности предназначены для защиты информации в процессе ее передачи через сеть. Это деление достаточно естественное, так как функции по обеспечению безопасности в этих двух случаях существенно различаются. В первом случае нужно защитить от несанкционированного доступа все ресурсы, находящиеся внутри собственной локальной сети. Это — аппаратные ресурсы (серверы, дисковые массивы, маршрутизаторы), программные ресурсы 223 (операционные системы, СУБД, почтовые службы и т. п.) и сами данные, хранящиеся в файлах и обрабатываемые в оперативной памяти. Очевидно, что для этого необходимо контролировать трафик, входящий в сеть из публичной сети (сегодня это преимущественно Интернет), и стараться перекрыть доступ извне для любой информации, с помощью которой злоумышленник может попытаться использовать внутренние ресурсы сети во вред их владельцу. Наиболее часто используемым средством защиты этого типа является брандмауэр, устанавливаемый в местах всех соединений внутренней сети с Интернетом. Брандмауэр (firewall) представляет собой межсетевой экран, который контролирует обмен сообщениями, ведущийся по протоколам всех уровней, и не пропускает подозрительный трафик в сеть. Брандмауэр может использоваться и внутри сети, защищая одну подсеть от другой, что может быть необходимо в крупных компаниях с достаточно независимыми подразделениями. Помимо брандмауэра аналогичные проблемы призваны решать встроенные средства безопасности операционных систем и приложений, таких как базы данных, а также встроенные аппаратные средства компьютера. В плане обеспечения сетевой безопасности приходится защищать информацию, которая находится вне пределов нашей досягаемости, а в виде IP-пакетов «путешествует» через сети поставщиков услуг Интернета. Интернет сегодня используется предприятиями не только как сверхмощный источник информации, хранящейся на многочисленных веб-сайтах, но и как дешевая транспортная среда, позволяющая объединить сеть центрального отделения с сетями филиалов, а также подключить к ресурсам предприятия телекомьютеров — сотрудников, находящихся дома или в командировке работающих с корпоративной сетью удаленно. При этом во многих случаях предприятию жизненно важно, чтобы передаваемая через Интернет информация не была искажена, уничтожена или просмотрена посторонними людьми. Для решения этой задачи сегодня широко используется механизм виртуальных частных сетей (VPN). Автономно работающий компьютер можно эффективно защитить от внешних покушений разнообразными способами, например просто заперев на замок клавиатуру или сняв жесткий накопитель и поместив его в сейф. Компьютер, работающий в сети, по определению не может полностью отгородиться от мира, он должен общаться с другими компьютерами, возможно, даже удаленными от него на большое расстояние, поэтому обеспечение безопасности в сети является задачей значительно более сложной. Логический вход чужого пользователя в ваш компьютер является штатной ситуацией, если вы работаете в сети. Обеспечение безопасности в такой ситуации сводится к тому, чтобы сделать подобное проникновение контролируемым — каждому пользователю сети должны быть четко определены его права на доступ к информации, внешним устройствам, на выполнение системных действий на каждом из компьютеров сети. Помимо проблем, порождаемых возможностью удаленного входа в сетевые компьютеры, сети по своей природе подвержены еще одному виду опасности — перехвату и анализу передаваемых по сети сообщений, а также созданию «ложного» трафика. Большая часть средств обеспечения сетевой безопасности направлена на предотвращение именно этого типа нарушений. Вопросы сетевой безопасности приобретают особое значение сейчас, когда проектировщики корпоративных сетей все чаще отказываются от выделенных линий в пользу транспортных возможностей публичных сетей (Интернет, frame relay). Конфиденциальность, целостность и доступность данных Безопасная информационная система — это система, которая, во-первых, защищает данные от несанкционированного доступа, во-вторых, всегда готова предоставить их своим пользователям, в-третьих, надежно хранит информацию и гарантирует неизменность данных. Таким образом, безопасная система по определению обладает свойствами конфиденциальности, доступности и целостности.  Конфиденциальность (confidentiality) — гарантия того, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешен (такие пользователи называются авторизованными).  Доступность (availability) — гарантия того, что авторизованные пользователи всегда получат доступ к данным. 224  Целостность (integrity) — гарантия сохранности данными правильных значений, которая обеспечивается запретом для неавторизованных пользователей каким-либо образом изменять, модифицировать, разрушать или создавать данные. Целью злоумышленников может быть нарушение каждой их составляющих информационной безопасности — доступности, целостности или конфиденциальности. Требования безопасности могут меняться в зависимости от назначения системы, характера используемых данных и типа возможных угроз. Трудно представить систему, для которой были бы не важны свойства целостности и доступности, но свойство конфиденциальности не всегда является обязательным. Например, если вы публикуете информацию в Интернете на веб-сервере и вашей целью является сделать ее доступной для самого широкого круга людей, то конфиденциальность в данном случае не требуется. Однако требования целостности и доступности остаются актуальными. Действительно, если вы не предпримете специальных мер по обеспечению целостности данных, злоумышленник может, например, внести такие изменения в помещенный на веб-сайте прайс-лист, которые снизят конкурентоспособность вашего предприятия, или испортить коды свободно распространяемого вашей фирмой программного продукта, что, безусловно, скажется на ее деловом имидже. Не менее важной в данном примере является и доступность данных. Затратив немалые средства на создание и поддержание сервера в Интернете, предприятие вправе рассчитывать на отдачу: увеличение числа клиентов, количества продаж и т.д. Однако существует вероятность того, что злоумышленник предпримет атаку, в результате которой помещенные на сервер данные станут недоступными для тех, кому они предназначались. Примером таких злонамеренных действий может служить «бомбардировка» сервера IP-пакетами с неправильным обратным адресом, которые в соответствии с логикой работы протокола IP могут вызывать тайм-ауты и, в конечном счете, сделать сервер недоступным для всех остальных запросов. Примечание. Понятия конфиденциальности, доступности и целостности могут быть определены не только по отношению к информации, но и к другим ресурсам вычислительной сети, например внешним устройствам или приложениям. Возможность «незаконного» использования такого рода ресурсов способна привести к нарушению безопасности системы. Свойство конфиденциальности, примененное к устройству печати, означает, что доступ к нему имеют те и только те пользователи, которым этот доступ разрешен, причем они могут выполнять только те операции с устройством, которые для них определены. Свойство доступности устройства интерпретируется как его готовность к использованию всякий раз, когда в этом возникает необходимость. Благодаря свойству целостности злоумышленник не может изменить параметры настройки устройства, что могло бы привести к изменению очередности работ и даже к выводу устройства из строя. Легальность использования сетевых устройств важна не только постольку, поскольку она влияет на безопасность данных. Устройства могут предоставлять различные услуги (распечатка текстов, отправка факсов, доступ в Интернет, электронная почта и т. п.), незаконное потребление которых наносит материальный ущерб, что также является нарушением безопасности предприятия. Сервисы сетевой безопасности В разных программных и аппаратных продуктах, предназначенных для защиты данных, часто используются одинаковые подходы, приемы и технические решения. Такие средства, называемые также сервисами сетевой безопасности, решают самые разнообразные задачи по защите системы, обеспечивая, например, контроль доступа, включающий процедуры аутентификации и авторизации, аудит, шифрование информации, антивирусную защиту, контроль сетевого трафика и пр. Технические средства безопасности могут быть либо встроены в программное (операционные системы и приложения) и аппаратное (компьютеры и коммуникационное оборудование) обеспечение сети, либо реализованы в виде отдельных продуктов, созданных специально для решения проблем безопасности. Определим основные из них. Шифрование — это краеугольный камень всех систем информационной безопасности, будь то система аутентификации или авторизации, защищенный канал или система безопасного 225 хранения данных. Любая процедура шифрования, превращающая информацию из обычного «понятного» вида в «нечитабельный» зашифрованный вид, естественно должна быть дополнена процедурой дешифрирования, которая после применения к зашифрованному тексту снова делает его «понятным». Пара процедур — шифрование и дешифрирование — называется криптосистемой. Аутентификация предотвращает доступ к сети нежелательных лиц и разрешает вход для легальных пользователей. Термин «аутентификация» в переводе с латинского означает «установление подлинности». В качестве объектов, требующих аутентификации, могут выступать не только пользователи, но и различные устройства, приложения, текстовая и другая информация. Так, пользователь, обращающийся с запросом к корпоративному серверу, должен доказать ему свою легальность, но он также должен убедиться сам, что ведет диалог действительно с сервером своего предприятия. Другими словами, сервер и клиент должны пройти процедуру взаимной аутентификации. Здесь мы имеем дело с аутентификацией на уровне приложений. При установлении сеанса связи между двумя устройствами также часто предусматриваются процедуры взаимной аутентификации на более низком, канальном уровне. Аутентификация данных означает доказательство целостности этих данных, а также факт их поступления именно от того человека, который объявил об этом. Для этого используется механизм электронной подписи. Аутентификацию следует отличать от идентификации. Идентификация заключается в сообщении пользователем системе своего идентификатора, в то время как аутентификация — это процедура доказательства пользователем того, что он является тем, за кого себя выдает, в частности доказательство того, что именно ему принадлежит введенный им идентификатор. Идентификаторы пользователей применяются в системе с теми же целями, что и идентификаторы любых других объектов (файлов, процессов, структур данных), и они не всегда связаны непосредственно с обеспечением безопасности. Авторизация — процедура контроля доступа легальных пользователей к ресурсам системы с предоставлением каждому из них именно тех прав, которые определены ему администратором. Помимо предоставления пользователям прав доступа к каталогам, файлам и принтерам, система авторизации может контролировать возможность выполнения пользователями различных системных функций, таких как локальный доступ к серверу, установка системного времени, создание резервных копий данных, выключение сервера и т. п. Аудит — фиксация в системном журнале событий, связанных с доступом к защищаемым системным ресурсам. Подсистема аудита современных ОС позволяет дифференцированно задавать перечень интересующих администратора событий с помощью удобного графического интерфейса. Средства учета и наблюдения обеспечивают возможность обнаружить и зафиксировать важные события, связанные с безопасностью; любые попытки (в том числе и неудачные) создать, получить доступ или удалить системные ресурсы. Технология защищенного канала обеспечивает безопасность передачи данных по открытой транспортной сети, например по Интернету, за счет:  взаимной аутентификации абонентов при установлении соединения;  защиты передаваемых по каналу сообщений от несанкционированного доступа;  обеспечения целостности поступающих по каналу сообщений. Характеристики сети поставщика услуг Список ключевых слов: расширяемость сети, масштабируемость сети, управляемость сети, совместимость, или интегрируемость, сети. Рассмотрим основные характеристики, которыми оперирует поставщик услуг, оценивая эффективность своей сети. Эти характеристики часто являются качественными, то есть не могут быть выражены числами и соотношениями. Расширяемость и масштабируемость 226 Термины «расширяемость» и «масштабируемость» иногда неверно используют как синонимы. Расширяемость означает возможность сравнительно легкого добавления отдельных компонентов сети (пользователей, компьютеров, приложений, служб), наращивания длины сегментов кабелей и замены существующей аппаратуры более мощной. При этом принципиально важно, что легкость расширения системы иногда может обеспечиваться в определенных пределах. Например, локальная сеть Ethernet, построенная на основе одного разделяемого сегмента толстого коаксиального кабеля, обладает хорошей расширяемостью в том смысле, что позволяет легко подключать новые станции. Однако такая сеть имеет ограничение на число станций — оно не должно превышать 30-40. Хотя сеть допускает физическое подключение к сегменту и большего числа станций (до 100), при этом резко снижается производительность сети. Наличие такого ограничения и является признаком плохой масштабируемости системы при ее хорошей расширяемости. Масштабируемость означает, что сеть позволяет наращивать количество узлов и протяженность связей в очень широких пределах, при этом производительность сети не ухудшается. Для обеспечения масштабируемости сети приходится применять дополнительное коммуникационное оборудование и специальным образом структурировать сеть. Обычно масштабируемое решение обладает многоуровневой иерархической структурой, которая позволяет добавлять элементы на каждом уровне иерархии без изменения главной идеи проекта. Примером хорошо масштабируемой сети является Интернет, технология которого (TCP/IP) оказалась способной поддерживать сеть в масштабах земного шара. Организационная структура Интернета, которую мы рассмотрели в главе 5, образует несколько иерархических уровней: сети пользователей, сетей локальных поставщиков услуг и так далее вверх по иерархии вплоть до сетей межнациональных поставщиков услуг. Технология TCP/IP, на которой построен Интернет, также позволяет строить иерархические сети. Основной протокол Интернета (IP) основан на двухуровневой модели: нижний уровень составляют отдельные сети (чаще всего сети корпоративных пользователей), а верхний уровень — это составная сеть, объединяющая эти сети. Стек TCP/IP поддерживает также концепцию автономной системы. В автономную систему входят все составные сети одного поставщика услуг, так что автономная система представляет собой более высокий уровень иерархии. Наличие автономных систем в Интернете позволяет упростить решение задачи нахождение оптимального маршрута — сначала ищется оптимальный маршрут между автономными системами, а затем каждая автономная система находит оптимальный маршрут внутри себя. Не только сама сеть должна быть масштабируемой, но и устройства, работающие на магистрали сети, также должны обладать этим свойством, так как рост сети не должен приводить к необходимости постоянной смены оборудования. Поэтому магистральные коммутаторы и маршрутизаторы строятся обычно по модульному принципу, позволяя наращивать количество интерфейсов и производительность обработки пакетов в широких пределах. Управляемость Управляемость сети подразумевает возможность централизованно контролировать состояние основных элементов сети, выявлять и разрешать проблемы, возникающие при работе сети, выполнять анализ производительности и планировать развитие сети. Управляемость подразумевает наличие в сети некоторых автоматизированных средств администрирования, которые взаимодействуют с программным и аппаратным обеспечением сети с помощью коммуникационных протоколов. В идеале средства администрирования сети представляют собой систему, осуществляющую наблюдение и контроль за каждым элементом сети — от простейших до самых сложных устройств, при этом сеть рассматривается как единое целое, а не как разрозненный набор отдельных устройств. Хорошая система администрирования наблюдает за сетью и, обнаружив проблему, активизирует определенное действие, исправляет ситуацию и уведомляет администратора о том, 227 что произошло и какие шаги предприняты. Одновременно с этим система администрирования должна накапливать данные, на основании которых можно планировать развитие сети. Наконец, система администрирования должна быть независима от производителя и обладать удобным интерфейсом, позволяющим выполнять все действия с одной консоли. Решая тактические задачи, администраторы и технический персонал сталкиваются с ежедневными проблемами обеспечения работоспособности сети. Эти задачи требуют быстрого решения, обслуживающий сеть персонал должен оперативно реагировать на сообщения о неисправностях, поступающих от пользователей или автоматических средств администрирования сети. Постепенно становятся заметными более общие проблемы производительности, конфигурирования сети, обработки сбоев и безопасности данных, требующие стратегического подхода, то есть планирования сети. Планирование, кроме того, подразумевает умение прогнозировать изменения в требованиях пользователей к сети, решение вопросов применения новых приложений, новых сетевых технологий и т. п. Полезность системы администрирования особенно ярко проявляется в больших сетях: корпоративных или публичных глобальных. Без системы администрирования в таких сетях требуется присутствие квалифицированных специалистов по эксплуатации в каждом здании каждого города, где установлено оборудование сети, что в итоге приводит к необходимости содержания огромного штата обслуживающего персонала. В настоящее время в области систем администрирования сетей накопилось много нерешенных проблем. Явно недостаточно действительно удобных, компактных и многопротокольных средств администрирования. Большинство существующих средств вовсе не управляют сетью, а всего лишь обеспечивают наблюдение за ее работой и фиксацию важных событий, например отказов устройств. Реже системы администрирования выполняют активные действия, ликвидирующие последствия нежелательного события или предотвращающие его. Совместимость Совместимость, или интегрируемость, сети означает, что сеть способна включать в себя самое разнообразное программное и аппаратное обеспечение, то есть в ней могут сосуществовать различные операционные системы, поддерживающие разные стеки коммуникационных протоколов, а также аппаратные средства и приложения от разных производителей. Сеть, состоящая из разнотипных элементов, называется неоднородной, или гетерогенной, а если гетерогенная сеть работает без проблем, то она является интегрированной. Основной путь построения интегрированных сетей — использование модулей, выполненных в соответствии с открытыми стандартами и спецификациями. Сервис защищенного канала Ключевые слова: сервис IPSec, защищенный протокол IP, защищенный канал, протокол SSL и его реализация TLS, слой защищенных сокетов, безопасность транспортного уровня, шифрование, симметричная схема шифрования, секретный ключ, вычислительно необратимая функция, хэшфункция, дайджест-функция, дайджест, цифровая подпись, асимметричный алгоритм шифрования, безопасная ассоциация, транспортный и туннельный режимы передачи, шлюз безопасности, значение проверки целостности, заголовок ESP. Основное назначение сервиса IPSec (Internet Protocol Security — защищенный протокол IP) состоит в обеспечении безопасной передачи данных по IP-сетям. Применение протокола IPSec гарантирует целостность, аутентичность и конфиденциальность данных. Базовой технологией, на основе которой достигаются эти цели, является шифрование. Для протоколов такого назначения используется обобщенное название — защищенный канал. Термин «канал» подчеркивает тот факт, что защита данных обеспечивается на протяжении всего пути между двумя узлами сети (хостами или шлюзами). Свойства защищенного канала мы кратко обсуждали в главе 6. Иерархия сервисов защищенного канала 228 IPSec — это только одна из многих, хотя и очень популярная сегодня, технология безопасной передачи данных по публичной сети. Защищенный канал можно построить с помощью системных средств, реализованных на разных уровнях модели OSI (рис. 11.1). Рис. 11.1. Протоколы, формирующие защищенный канал на разных уровнях модели OSI Если защита данных осуществляется средствами верхних уровней (прикладного, представления или сеансового), то такой способ защиты не зависит от технологий транспортировки данных (IP или IPX, Ethernet или ATM), что можно считать несомненным достоинством. С другой стороны, приложения при этом становятся зависимыми от конкретного протокола защищенного канала, так как в них должны быть встроены явные вызовы функций этого протокола. Защищенный канал, реализованный на самом высоком, прикладном, уровне защищает только вполне определенную сетевую службу, например файловую, гипертекстовую или почтовую. Так, протокол S/MIME защищает исключительно сообщения электронной почты. При таком подходе для каждой службы необходимо разрабатывать собственную защищенную версию протокола. Популярный протокол SSL (Secure Socket Layer — слой защищенных сокетов) и его открытая реализация TLS (Transport Layer Security — безопасность транспортного уровня) работают на уровне представления. Ясно, что эти протоколы являются более универсальным средством защиты, чем протоколы безопасности прикладного уровня, так как ими могут воспользоваться любые приложения. Однако для этого приложения по-прежнему необходимо модифицировать, встраивая явные обращения к интерфейсам API данных протоколов безопасности. Средства защищенного канала становятся прозрачными для приложений в тех случаях, когда они защищают кадры протоколов сетевого и канального уровней. Однако здесь мы сталкиваемся с другой проблемой — зависимостью сервиса защищенного канала от протокола нижнего уровня. Например, протокол РРТР (сам не являясь протоколом канального уровня) защищает кадры протокола РРР канального уровня, упаковывая их в IP-пакеты. При этом не имеет никакого значения, пакет какого протокола в свою очередь упакован в данном РРР-кадре: IP, IPX, SNA или NetBIOS. С одной стороны, это делает сервис РРТР достаточно универсальным, так как клиент сервиса защищенного канала может использовать любые протоколы в своей сети. С другой стороны, такая схема предъявляет жесткие требования к типу протокола канального уровня, используемому на участке доступа клиента к защищенному каналу — для протокола РРТР таким протоколом может быть только РРР. Хотя протокол РРР очень распространен в линиях доступа, 229 сегодня конкуренцию ему составляют протоколы Gigabit/Fast Ethernet, которые все чаще работают не только в локальных, но и в глобальных сетях. Работающий на сетевом уровне протокол IPSec является компромиссным вариантом. С одной стороны, он прозрачен для приложений, с другой — может работать практически во всех сетях, так как основан на широко распространенном протоколе IP и использует любую технологию канального уровня (РРР, Ethernet, ATM и т. д.). Распределение функций между протоколами IPSec Протокол IPSec — называют в стандартах Интернета системой. Действительно, IPSec — это согласованный набор открытых стандартов, имеющий сегодня вполне очерченное ядро, которое в то же время может быть достаточно просто дополнено новыми функциями и протоколами. Ядро IPSec составляют три протокола:  АН (Authentication Header — заголовок аутентификации) — гарантирует целостность и аутентичность данных;  ESP (Encapsulating Security Payload — инкапсуляция зашифрованных данных) — шифрует передаваемые данные, обеспечивая конфиденциальность, может также поддерживать аутентификацию и целостность данных;  IKE (Internet Key Exchange — обмен ключами Интернета) — решает вспомогательную задачу автоматического предоставления конечным точкам защищенного канала секретных ключей, необходимых для работы протоколов аутентификации и шифрования данных. Как видно из краткого описания функций, возможности протоколов АН и ESP частично перекрываются (рис. 11.2). В то время как АН отвечает только за обеспечение целостности и аутентификации данных, ESP может шифровать данные и, кроме того, выполнять функции протокола АН (хотя, как увидим позднее, аутентификация и целостность обеспечиваются им в несколько урезанном виде). ESP может поддерживать функции шифрования и аутентификации/целостности в любых комбинациях, то есть либо всю группу функций, либо только аутентификацию/целостность, либо только шифрование. Рис. 11.2. Распределение функций между протоколами IPSec Разделение функций защиты между протоколами АН и ESP вызвано применяемой во многих странах практикой ограничения экспорта и/или импорта средств, обеспечивающих конфиденциальность данных путем шифрования. Каждый из этих протоколов может использоваться как самостоятельно, так и одновременно с другим, так что в тех случаях, когда шифрование из-за действующих ограничений применять нельзя, систему можно поставлять только с протоколом АН. Естественно, подобная защита данных во многих случаях оказывается недостаточной. Принимающая сторона в этом случае получает лишь возможность проверить, что данные были отправлены именно тем узлом, от которого они ожидаются, и дошли в том виде, в котором были отправлены. Однако от несанкционированного просмотра данных на пути их следования по сети протокол АН защитить не может, так как не шифрует их. Для шифрования данных необходим протокол ESP. 230 Шифрование в протоколе IPSec Для шифрования данных в протоколе IPSec может быть применен любой симметричный алгоритм шифрования. В симметричных схемах шифрования конфиденциальность основана на том, что отправитель и получатель обладают общим, известным только им, параметром функции шифрования. Этот параметр называется секретным ключом. Секретный ключ используется как для шифрования текста, так и для его дешифрирования. На рис. 11.3 приведена классическая модель симметричной криптосистемы, теоретические основы которой впервые были изложены в 1949 году в работе Клода Шеннона (Claude Shannon). В данной модели есть три участника: отправитель, получатель, злоумышленник. Задача отправителя заключается в том, чтобы по общедоступному каналу передать некоторое сообщение в защищенном виде. Для этого он, используя ключ k, зашифровывает открытый текст X и передает зашифрованный текст Y. Задача получателя заключается в том, чтобы расшифровать текст Y и прочитать сообщение X. Предполагается, что отправитель имеет свой источник ключа. Сгенерированный ключ заранее по надежному каналу передается получателю. Рис. 11.3. Симметричная схема шифрования Примечание. Наиболее популярным симметричным алгоритмом шифрования данных в течение многих лет был алгоритм DES (Data Encryption Standard — стандарт шифрования данных), разработанный фирмой IBM в 1976 г. На смену DES в 2001 г. пришел новый более совершенный алгоритм AES (Advanced Encryption Standard — улучшенный стандарт шифрования), обладающий лучшим, чем DES, сочетанием показателей безопасности и быстродействия. В основе обеспечения целостности и аутентификации данных также лежит один из приемов шифрования — шифрование с помощью вычислительно необратимой функции (One-Way Function, OWF), частными случаями которой являются хэш-функция и дайджест-функция. Значение, полученное в результате применения функций этого типа к данным, не позволяет и даже не предполагает восстановления исходных данных. Зачем же нужны такие функции? Поясним это на примере дайджест-функции. Однако прежде отметим особенность дайджестфункции: независимо от объема исходных данных, к которым применяется эта функция, результат, называемый дайджестом, состоит из фиксированного, как правило, небольшого числа байтов. Пусть требуется гарантировать целостность данных при передаче их через ненадежную сеть. Для достижения этой цели на стороне отправителя вычисляется дайджест передаваемых данных. 231 Дайджест передается по сети вместе с исходным сообщением (рис. 11.4). Получатель, зная, какая необратимая функция была применена для вычисления дайджеста, заново вычисляет его, используя полученное сообщение. Если значения полученного по сети и вычисленного локально дайджестов совпадают, значит сообщение во время передачи не было подвергнуто никаким изменениям. Рис. 11.4. Использование шифрования для обеспечения целостности и аутентичности данных Примечание. Наиболее популярными в системах безопасности в настоящее время является серия дайджест-функций MD2, MD4, MD5. Все они генерируют дайджесты фиксированной длины в 16 байт. Адаптированным вариантом MD4 является американский стандарт SHA, длина дайджеста в котором составляет 20 байт. Компания IBM поддерживает дайджест-функции MDC2 и MDC4. Дайджест является своего рода контрольной суммой для исходного сообщения. Однако имеется и существенное отличие. Использование контрольной суммы — это средство проверки целостности передаваемых по ненадежным линиям связи сообщений, и оно не направлено на борьбу со злонамеренными действиями. В самом деле, наличие контрольной суммы в передаваемом пакете не помешает злоумышленнику подменить исходное сообщение, добавив к нему новое значение контрольной суммы. В отличие от контрольной суммы при вычислении дайджеста используется секретный ключ. Если для получения дайджеста применялась необратимая функция с параметром (в качестве которого выступает секретный ключ), известным только отправителю и получателю, любая модификация исходного сообщения будет немедленно обнаружена. Таким образом, вычислительно необратимая функция является средством решения сразу двух задач — контроля целостности и аутентичности данных. Такую схему передачи данных наряду с другими методами, позволяющими устанавливать подлинность автора сообщения, согласно терминологии ISO называют цифровой подписью. Основная область применения цифровой подписи — финансовые документы, сопровождающие электронные сделки, документы, фиксирующие международные договоренности и т. п. Наиболее часто для построения схемы цифровой подписи используется асимметричный алгоритм шифрования. В основе этого алгоритма лежит концепция Диффи—Хеллмана (Diffie— Hellmann), заключающаяся в том, что каждый пользователь сети имеет свой секретный (закрытый) ключ, необходимый для формирования подписи в зашифрованном виде; все остальные пользователи используют для проверки подписи соответствующий этому секретному ключу открытый ключ. Безопасная ассоциация 232 Для того чтобы протоколы АН и ESP могли выполнять свою работу по защите передаваемых данных, протокол IKE устанавливает между двумя конечными точками логическое соединение (рис. 11.5), которое в стандартах IPSec носит название безопасной ассоциации (Security Association, SA). Рис. 11.5. Безопасная ассоциация Стандарты IPSec позволяют конечным точкам защищенного канала использовать как одну ассоциацию SA для передачи трафика всех взаимодействующих через этот канал хостов, так и создавать для этой цели произвольное число ассоциаций SA, например, по одной на каждое соединение TCP. Это дает возможность выбирать нужную степень детализации защиты — от одной общей ассоциации для трафика множества конечных узлов до индивидуально настроенных ассоциаций для защиты каждого приложения. Безопасная ассоциация в протоколе IPSec представляет собой однонаправленное (симплексное) логическое соединение, поэтому, если требуется обеспечить безопасный двусторонний обмен данными, то необходимо установить две безопасные ассоциации. Эти ассоциации в общем случае могут иметь разные характеристики, например, в одну сторону при передаче запросов к базе данных достаточно только аутентификации, а для ответных данных, несущих ценную информацию, дополнительно нужно обеспечить конфиденциальность. Установление безопасной ассоциации начинается со взаимной аутентификации сторон, потому что все меры безопасности теряют смысл, если данные передаются или принимаются не тем лицом или не от того лица. Выбираемые далее параметры SA определяют, какой из двух протоколов, АН или ESP, будет применяться для защиты данных, какие функции будет выполнять протокол (например, можно выполнять только аутентификацию и проверку целостности или, кроме того, еще и обеспечивать конфиденциальность). Очень важными параметрами безопасной ассоциации являются также секретные ключи, используемые в работе протоколов АН и ESP. Протокол IPSec допускает как автоматическое, так и ручное установление безопасной ассоциации. При ручном способе администратор конфигурирует конечные узлы так, чтобы они поддерживали согласованные параметры ассоциации, включая и секретные ключи. При автоматической процедуре установления SA протоколы IKE, работающие по разные стороны канала, выбирают параметры в ходе переговорного процесса. Для каждой задачи, решаемой протоколами АН и ESP, предлагается несколько схем аутентификации и шифрования (рис. 11.6). Это делает протокол IPSec очень гибким средством. Заметим, что выбор дайджест-функции для решения задач целостности и аутентификации никак не влияет на выбор функции шифрования, обеспечивающей конфиденциальность данных. 233 Рис. 11.6. Согласование параметров в протоколе ESP Для обеспечения совместимости в стандартной версии IPsec определен некоторый обязательный «инструментальный» набор: в частности, для аутентификации данных всегда может быть использована одна из стандартных дайджест-функций MD5 либо SHA-1, а в число алгоритмов шифрования непременно входит DES. При этом производители продуктов, включающих IPSec, вольны расширять протокол путем включения других алгоритмов аутентификации и шифрования, что они с успехом и делают. Например, многие реализации IPSec поддерживают популярный алгоритм шифрования Triple DES, а также сравнительно новые алгоритмы — Blowfish, Cast, CDMF, Idea, RC5. Транспортный и туннельный режимы Протоколы АН и ESP могут защищать данные в двух режимах: транспортном и туннельном. В транспортном режиме передача IP-пакета через сеть выполняется с помощью оригинального заголовка этого пакета, а в туннельном режиме исходный пакет помещается в новый IP-пакет, и передача данных по сети выполняется на основании заголовка нового IP-пакета. Применение того или иного режима зависит от требований, предъявляемых к защите данных, а также от роли, которую играет в сети узел, завершающий защищенный канал. Так, узел может быть хостом (конечным узлом) или шлюзом (промежуточным узлом). Соответственно, имеются три схемы применения протокола IPSec:  хост—хост;  шлюз—шлюз;  хост—шлюз. В схеме хост—хост защищенный канал, или, что в данном контексте одно и то же, безопасная ассоциация, устанавливается между двумя конечными узлами сети (см. рис. 11.5). Тогда протокол IPSec работает на конечных узлах и защищает данные, передаваемые от хоста 1 к хосту 2. Для схемы хост—хост чаще всего используется транспортный режим защиты. В соответствии со схемой шлюз—шлюз защищенный канал устанавливается между двумя промежуточными узлами, так называемыми шлюзами безопасности (Security Gateway, SG), на каждом из которых работает протокол IPSec (рис. 11.7). Защищенный обмен данными может происходить между любыми двумя конечными узлами, подключенными к сетям, которые расположены позади шлюзов безопасности. От конечных узлов поддержка протокола IPSec не требуется, они передают свой трафик в незащищенном виде через заслуживающие доверие внутренние сети предприятий. Трафик, направляемый в общедоступную сеть, проходит через шлюз безопасности, который и обеспечивает его защиту с помощью протокола IPSec. Шлюзы могут использовать только туннельный режим работы. 234 На рис. 11.7 пользователь компьютера с адресом IP1 посылает пакет по адресу IP2, используя туннельный режим протокола IPSec. Шлюз SG1 зашифровывает пакет целиком, вместе с заголовком, и снабжает его новым заголовком IP, в котором в качестве адреса отправителя указывает свой адрес — IP3, а в качестве адреса получателя — адрес IР4 шлюза SG2. Вся передача данных по составной IP-сети выполняется на основании заголовка внешнего пакета, а внутренний пакет становится при этом полем данных для внешнего пакета. На шлюзе SG2 протокол IPSec извлекает инкапсулированный пакет и расшифровывает его, приводя к исходному виду. Рис. 11.7. Работа защищенного канала по схеме шлюз—шлюз в туннельном режиме Схема хост—шлюз часто применяется при удаленном доступе. В этом случае защищенный канал организуется между удаленным хостом, на котором работает протокол IPSec, и шлюзом, защищающим трафик для всех хостов, входящих во внутреннюю сеть предприятия. Эту схему можно усложнить, создав параллельно еще один защищенный канал — между удаленным хостом и каким-либо хостом, принадлежащим внутренней сети, защищаемой шлюзом (рис. 11.8). Такое комбинированное использование двух безопасных ассоциаций позволяет надежно защитить трафик и во внутренней сети. Рис. 11.8. Схема защищенного канала хост—шлюз 235
«Информационные технологии» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot