Глава 1.

Основы Интерсетей


Эта глава совместно с последующими шестью задаёт основы для обсуждения технологий, которое последует далее. В этой главе находятся некоторые фундаментальные понятия и термины, используемые в развивающемся языке интерсетей. Аналогично тому, как эта книга в целом обеспечивает основы понимания современных интерсетей, данная глава суммирует некоторые общие темы, представленные в последующих главах данной книги. Освещаемые темы включают в себя управление потоком (flow control), контроль ошибок и мультиплексирование, но в-основном эта глава фокусируется на соотнесении модели Взаимодействия Открытых Систем (Open Systems Interconnect – OSI) с сетевыми/интерсетевыми функциями и суммирует общую природу схем адресации в контексте модели OSI.

Что такое интерсеть?

Интерсеть – это объединение соединённых промежуточными сетевыми устройствами индивидуальных сетей которое функционирует, как одна большая сеть. К реализации интерсетей относится производство, продукты и процедуры, которые соответствуют проблеме создания и администрирования интерсетей. Рисунок 1-1 иллюстрирует некоторые различные типы сетевых технологий, которые могут быть объединены маршрутизаторами и другими сетевыми устройствами для создания интерсети:


Рисунок 1-1

Для создания интерсети могут быть соединены различные сетевые технологии

История создания интерсетей

Первые сети были сетями с разделением доступа по времени (time-sharing), которые использовали центральные процессоры (mainframe) и присоединённые терминалы. Средой такого исполнения были как Архитектура Системной Сети (System Network Architecture – SNA) IBM, так и архитектура сети компании Digital.

Локальные сети (Local area network – LAN) развивались вокруг революции персональных компьютеров (Personal Computer – PC). Локальные сети позволили многим пользователям в относительно малой географической области обмениваться файлами и сообщениями, а также иметь доступ к разделяемым ресурсам, таким как файловые серверы.

Распределённые сети (Wide area network – WAN) объединяют локальные сети по обычным телефонным проводам (и другим средам), соединяя таким образом географически рассеянных пользователей.

На сегодняшний день начинают широко использоваться высокоскоростные локальные сети и коммутируемые интерсети, в большинстве случаев потому что они работают на очень высоких скоростях и выдерживают такие высокопоточные приложения, как голосовые и видеоконференции.

Воплощение интерсетей развивалось как решение трёх ключевых проблем: изолированность локальных сетей, дублирование ресурсов и недостаточность управления сетью. Изолированность локальных сетей делала электронные коммуникации между различными офисами и отделениями невозможными. Дублирование ресурсов означало, что аналогичное аппаратное и программное обеспечение должно было быть поставлено в каждый офис и отдел и поддерживаться отдельным персоналом. Недостаточность управления сетью означала, что не существовало централизованного метода управления и ликвидации проблем сетей.

Проблемы создания интерсетей

Реализация функциональной интерсети – непростая задача. Придётся столкнуться со многими проблемами, особенно в сферах связности, надёжности, управления сетью и гибкости. Каждая сфера является ключевой в создании исправной и эффективной интерсети.

При соединении между собой разнообразных систем проблема заключается в поддержании сообщения между несравнимыми технологиями. Различные сайты, к примеру, могут использовать различные типа среды передачи данных или работать на различных скоростях.

Другое существенное соображение, надёжность сервиса, должно быть поддержано в любой интерсети. Отдельные пользователи и целые организации зависят от последовательного, надёжного доступа к сетевым ресурсам.

Далее, управление сетью должно обеспечивать в интерсети возможности разрешения проблем и централизованной поддержки. Конфигурация, безопасность, производительность и другие вопросы также должны быть соответственно решены для обеспечения гладкого функционирования интерсети.

В завершение списка, гибкость важна для расширения сети и внедрения новых приложений и сервисов, наряду с другими факторами.

Эталонная Модель Взаимодействия Открытых Систем

Эталонная модель Взаимодействия Открытых Систем (OSI Reference Model) описывает, как информация от прикладного программного обеспечения на одном компьютере перемещается через сетевую среду к прикладному программному обеспечению на другом компьютере. Эталонная OSI модель – это понятийная модель, состоящая из семи уровней, каждый из которых характеризует частные сетевые функции. Модель была разработана Международной Организацией по Стандартизации (International Standardization Organization – ISO) в 1984 году и сейчас рассматривается как первичная архитектурная модель для межкомпьютерных коммуникаций. OSI модель разделяет задачи, выполнямые при перемещении информации между компьютерами в сети, на семь меньших, более управляемых групп задач. Задача или группа задач далее относится к одному из семи уровней OSI. Каждый уровень является разумно самодостаточным, так что задачи, отнесённые к каждому из уровней, могут быть выполнены независимо. Это позволяет обновлять решения, предлагаемые одним уровнем, без неблагоприятного влияния на другие уровни. Следующий список детализирует семь уровней эталонной модели OSI:

  • Уровень 7 – Прикладной Уровень
  • Уровень 6 – Уровень Представления Данных
  • Уровень 5 – Сеансовый Уровень
  • Уровень 4 – Транспортный Уровень
  • Уровень 3 – Сетевой Уровень
  • Уровень 2 – Канальный Уровень
  • Уровень 1 – Физический Уровень

Рисунок 1-2 иллюстрирует семиуровневую эталонную модель OSI.

7 Прикладной
6 Представления данных
5 Сеансовый
4 Транспортный
3 Сетевой
2 Канальный
1 Физический

Рисунок 1-2

Эталонная модель OSI содержит семь независимых уровней

Характеристики уровней OSI

Семь уровней эталонной модели OSI могут быть разделены на две категории: высшие уровни и низшие уровни.

Высшие уровни OSI модели работают с прикладными задачами и в общем выполняются только программно. Наивысший уровень, прикладной, является ближайшим к конечному пользователю. Процессы, как пользовательские, так и прикладного уровня взаимодействуют с программными приложениями, которые содержат коммуникационный компонент. Термин "высший слой" иногда употребляется для обозначения любого уровня OSI модели, высшего по отношению к предыдущему.

Низшие уровни OSI модели имеют дело с задачами транспорта данных. Физический и канальный уровни исполняются и аппаратно, и программно. Другие низшие уровни в общем реализуют только программно. Наинизший уровень, физический, является ближайшим к физической среде сети (сетевые кабели, например, отвечают за фактическое помещение информации в среду сети).

Рисунок 1-3 иллюстрирует деление между высшими и низшими уровнями OSI.

ПрикладнойПрикладной
Представления данных
Сеансовый
Транспорт данныхТранспортный
Сетевой
Канальный
Физический

Рисунок 1-3

OSI уровни образованы двумя наборами уровней.

Протоколы

Модель OSI обеспечивает принципиальную основу коммуникаций между компьютерами, но сама по себе не является методом коммуникаций. Настоящие коммуникации становятся возможными посредством использования протоколов связи. В контексте сетей передачи данных протокол – это формальный набор правил и соглашений, которые определяют, как компьютеры обмениваются информацией через сетевую среду. Протокол выполняет функции одного или более уровней OSI. Существует широкое разнообразие протоколов связи, но они все склоняются к попаданию в одну из следующих групп: протоколы LAN, протоколы WAN, сетевые протоколы и протоколы маршрутизации. Протоколы LAN оперируют на физическом и канальном уровнях модели OSI и определяют комуникации через различные среды LAN. Протоколы WAN оперируют на трёх низших уровнях модели OSI и определяют коммуникации через различные распределённые среды. Протоколы маршрутизации являются протоколами сетевого уровня, которые ответственны за определение пути и коммутацию потока. Наконец, сетевые протоколы – это разнообразные протоколы высших уровней, которые существуют в данном наборе протоколов.

Модель OSI и комуникации между системами

Информация, передаваемая от программного приложения на одной компьютерной системе к программному приложению на другой, должна пройти через каждый из уровней OSI. Если, например, программное приложение в Системе А имеет информацию для передачи программному приложению в Систему Б, прикладная программа в Системе А передаст свою информацию прикладному уровню (Уровень 7) Системы А. Прикладной уровень затем передаст эту информацию уровню представления данных (Уровень 6), который перенаправит данные сеансовому уровню (Уровень 5), и так далее вплоть до физического уровня (Уровень 1). На физическом уровне информация помещается в физическую среду сети и пересылается по ней к Системе Б. Физический уровень Системы Б извлекает информацию из физической среды и затем пересылает её вверх канальному уровню (Уровень 2), который затем посылает её сетевому уровню (Урвоень 3), и так далее, пока информация не достигает прикладного уровня (Уровень 7) Системы Б. Наконец, в завершение процесса коммуникации прикладной уровень системы Б передаёт информацию прикладной программе-получателю.

Взаимодействие между уровнями модели OSI

Отдельно взятый уровень из OSI уровней обычно обменивается информацией с тремя другими OSI уровнями: теми, что находятся непосредственно выше и ниже него, а также с равным ему уровнем в другой сетевой компьютерной системе. Канальный уровень в Системе А, например, взаимодействует с сетевым уровнем в Системе А, физическим уровнем в Системе А и канальным уровнем в Системе Б.

Рисунок 1-4 иллюстрирует этот пример.


Рисунок 1-4

Уровни модели OSI обмениваются информацией с другими уровнями

Сервисы OSI-уровня

Один OSI-уровень взаимодействует с другим с целью использования сервисов, предоставляемых вторым уровнем. Сервисы, обеспечиваемые предшествующими уровнями, помогают данному OSI-уровню обмениваться информацией с равным ему уровнем в других компьютерных системах. В сервисах уровня содержится три основных элемента: пользователь сервиса, предоставитель сервиса и точка доступа к сервису (Service Access Point – SAP). В этом контексте пользователем сервиса является OSI-уровень, который запрашивает обслуживание у предшествующего OSI-уровня, а предоставителем сервиса является OSI-уровень, который предоставляет обслуживание пользователям сервиса. OSI-уровни могут предоставлять обслуживание многим пользователям сервиса одновременно. Точка доступа (SAP) – это принципиальное местонахождение, в котором один OSI-уровень может запросить обслуживание у другого.

Рисунок 1-5 показывает, как эти три элемента взаимодействуют на сетевом и канальном уровнях.


Рисунок 1-5

Взаимодействие пользователей сервиса, предоставителей и точек доступа на примере сетевого и канального уровней.

Уровни OSI модели и обмен информацией

Семь уровней OSI используют разнообразные формы управляющей информации для взаимодействия с равными им уровнями в других компьютерных системах. Эта управляющая информация состоит из специфических запросов и команд, обмен которыми происходит между равными OSI-уровнями.

Управляющая информация принимает одну из двух типичных форм: заголовки и шлейфы. Заголовки предваряют данные, пришедшие из вышестоящего уровня, тогда как шлейфы добавляются в конец к этим данным. От OSI-уровня не требуется присоединять заголовок или шлейф к данным из вышестоящих уровней.

Заголовки, шлейфы и данные являются относительными понятиями, зависящими от уровня, на котором анализируется единица информации. На сетевом уровне, например, единица информации состоит из заголовка Уровня 3 и данных. На канальном уровне, однако, вся информация, отправленная сетевым уровнем (заголовок Уровня 3 и данные), трактуется, как данные.

Другими словами, данные в единице информации выбранного OSI-уровня потенциально могут содержать заголовки, шлейфы и данные всех вышестоящих уровней. Это называется инкапсуляцией. Рисунок 1-6 показывает, как заголовок и данные одного уровня инкапсулируются заголовком следующего низшего уровня.


Рисунок 1-6

Заголовки и данные могут быть инкапсулированы в процессе обмена информацией.

Процесс обмена информацией

Между равными уровнями OSI происходит обмен информацией. Каждый уровень в исходной системе добавляет управляющую информацию к данным, а каждый уровень в системе назначения анализирует и удаляет управляющую информацию из этих данных.

Если Система А имеет информацию от программного приложения для передачи в Систему Б, данные поступают на прикладной уровень. Прикладной уровень в Системе А затем передаёт любую необходимую управляющую информацию прикладному уровню в Системе Б, предваряя данные заголовком. Образовавшаяся единица информации (заголовок и данные) поступает на уровень презентации данных, и он предваряет её своим собственным заголовком, содержащим управляющую информацию, которая предназначена уровню презентации данных в Системе Б. Единица информации растёт в размерах, по мере того как каждый уровень присовокупляет к ней свой собственный заголовок (и в некоторых случаях шлейф), содержащий управляющую информацию, которая должна быть использована равным ему уровнем в Системе Б. На физическом уровне вся получившаяся единица информации помещается в среду сети.

Физический уровень Системы Б принимает единицу информации и пропускает её на канальный уровень. Канальный уровень системы Б считывает управляющую информацию, которая содержится в заголовке, вставленном канальным уровнем Системы А. Затем заголовок удаляется, и остаток единицы информации пропускается на сетевой уровень. Каждый уровень осуществляет те же действия: читает заголовок (шлейф) равного ему уровня, обрезает его и пропускает оставшуюся информацию на следующий высший уровень. После того, как эти действия осуществит прикладной уровень, данные передаются программному приложению получателя в Системе Б, в точности в той форме, в которой они были переданы приложением в Системе А.

Физический уровень OSI-модели

Физический уровень задаёт электрические, механические, процедурные и функциональные характеристики для включения, поддержания и выключения физической связи между взаимодействующими сетевыми системами. Спецификации физического уровня задают такие характеристики как уровни напряжений, временные диаграммы изменений напряжения, физические скорости передачи данных, максимальные дальности передачи и физические разъёмы. Реализации физического уровня могут быть отнесены к категориям либо LAN, либо WAN спецификаций. Рисунок 1-7 иллюстрирует некоторые широко используемые LAN и WAN реализации физического уровня.


Рисунок 1-7

Реализации физического уровня могут быть спецификациями LAN или WAN.

Канальный уровень OSI-модели

Канальный уровень обеспечивает надёжную передачу данных через физическое сетевое соединение. Различные спецификации канального уровня задают различные характеристики сети и протоколов, включая физическую адресацию, топологию сети, уведомление об ошибках, упорядочивание кадров и управление потоком данных. Физическая адресация (в противовес сетевой адресации) определяет, как адресуются устройства на канальном уровне. Топология сети заключается в спецификациях канального уровня, которые часто определяют, как физически соединяются устройства, – таких как магистральная или кольцевая топология. Уведомление об ошибках предупреждает протоколы вышестоящих уровней, что произошла ошибка передачи, а упорядочивание кадров данных восстанавливает порядок следования кадров, которые были переданы вне последовательности. Наконец, управление потоком регулирует передачу данных, так чтобы принимающее устройство не было загружено большим потоком, чем оно может обработать в единицу времени.

Институт Электрической и Электронной Инженерии (The Institute of Electrical and Electronics Engineers – IEEE) разделил канальный уровень на два подуровня: Контроль Логического Соединения (Logical Link Control – LLC) и Контроль Доступа к Среде (Media Access Control – MAC). Рисунок 1-8 иллюстрирует IEEE подуровни канального уровня.

Канальный
Уровень

Подуровень LLC

Подуровень MAC

Рисунок 1-8

Канальный уровень содержит два подуровня.

Подуровень Контроля Логическим Соединением (LLC) канального уровня управляет коммуникациями между устройствами по одиночному звену сети. LLC задан спецификацией IEEE 802.2 и поддерживает как связенезависимые, так и связеориентированные сервисы, используемые вышестоящими протоколами. IEEE 802.2 задаёт ряд полей в кадрах канального уровня, которые позволяют множественным протоколам высших уровней делить между собой один физический канал данных. Подуровень Контроля Доступа к Среде (MAC) канального уровня управляет доступом протоколов к физической среде сети. Спецификация IEEE MAC задаёт MAC-адреса, которые позволяют множественным устройствам уникально идентифицировать друг друга на канальном уровне.

Сетевой уровень OSI-модели.

Сетевой уровень предоставляет маршрутизацию и связанные с ней функции, которые позволяют многим каналам данных быть объединёнными в интерсеть. Этого добивается путём логической адресации (в противовес физической) устройств. Сетевой уровень поддерживает как связеориентированные, так и связенезависимые сервисы протоколов высших уровней. Протоколы сетевого уровня обычно являются протоколами маршрутизации, но есть и другие типы протоколов, также реализованные на сетевом уровне. Некоторые часто используемые протоколы маршрутизации включают в себя Граничный Шлюзовой Протокол (Border Gateway Protocol – BGP) – Интернет-протокол междоменной маршрутизации, Первоочерёдное Открытие Кратчайшего Пути (Open Shortest Path First – OSPF) – внутренний шлюзовой протокол состояния канала, разработанный для использования в сетях TCP/IP, и Протокол Маршрутизационной Информации (Routing Information Protocol – RIP) – Интернет-протокол маршрутизации, который использует в качестве своей метрики количество этапов (hop).

Транспортный уровень OSI-модели.

Транспортный уровень воплощает надёжные службы транспорта данных интерсетей, прозрачные для высших уровней. Функции транспортного уровня обычно включают в себя управление потоком, мультиплексирование, распоряжение виртуальными цепями, а также проверку и устранение ошибок.

Управление потоком распоряжается передачей данных между устройствами, так чтобы передающее устройство не послало больше данных, чем принимающее может обработать. Мультиплексирование позволяет данным от нескольких приложений быть переданным по одному физическому каналу. На транспортном уровне создаются, поддерживаются и завершаются виртуальные цепи. Проверка ошибок включает в себя создание разнообразных механизмов определения ошибок передачи, тогда как устранение ошибок подразумевает совершение действия, такого как запрос на перепосылку данных, с целью коррекции любых появившихся ошибок.

Некоторые реализации транспортного уровня включают в себя Протокол Управления Передачей (Transmission Control Protocol – TCP), Протокол Привязки Имён (Name Binding Protocol – NBP) и транспортные протоколы OSI. TCP – это протокол из комплекта TCP/IP, который обеспечивает надёжную передачу данных. NBP – это протокол, который ассоциирует в сети AppleTalk имена с адресами. Транспортные протоколы OSI являются серией транспортных протоколов из комплекта протоколов OSI.

Сеансовый уровень OSI-модели.

Сеансовый уровень устанавливает, поддерживает и завершает сеансы связи между агентами уровня представления данных. Сеансы связи состоят из запросов на обслуживание и отзывов сервиса, которые происходят между приложениями, расположенными в различных сетевых устройствах. Эти запросы и отзывы координируются протоколами, реализованными на сеансовом уровне. Отдельные примеры реализаций сеансового уровня включают в себя Протокол Зональной Информации (Zone Information Protocol – ZIP) – протокол сети AppleTalk, который координирует процесс привязки имён, и Протокол Управления Сеансом (Session Control Protocol – SCP), протокол сеансового уровня сети DECnet Phase IV.

Уровень представления данных OSI-модели.

Уровень представления данных обеспечивает множество функций кодирования и преобразования, которые применяются к данным прикладного уровня. Эти функции удостоверяют, что информация, посланная на прикладном уровне одной системы, будет читаема прикладным уровнем другой системы. Отдельные примеры схем кодирования и преобразования уровня представления данных включают в себя общепринятые форматы представления данных, преобразование форматов представления символов, общепринятые схемы сжатия и шифрования данных.

Общепринятые форматы представления данных, или использование стандартных форматов изображения, звука и видео позволяют обмен прикладными данными между различными типами компьютерных систем. Схемы преобразования используются для обмена информацией между системами, использующими различные представления текстов и данных, такие как EBCDIC и ASCII. Стандартные схемы сжатия данных позволяют данным, которые были сжаты исходным устройством, быть сответственно развёрнутым в точке назначения. Стандартные схемы шифрования данных позволяют данным, зашифрованным в исходном устройстве, быть соответственно раскодированным в точке назначения.

Реализации уровня представления данных не связаны обычно с отдельно взятым набором (стеком) протоколов. Некоторые хорошо известные стандартны для видео включают в себя QuickTime и Motion (MPEG). QuickTime – это спецификация для видео и аудио фирмы Apple Computer, тогда как MPEG – это стандарт для сжатия и кодирования видеоинформации, разработанный группой экспертов (Motion Picture Experts Group).

Среди хорошо известных форматов графических изображений – Формат Обмена Графикой (Graphics Interchange Format – GIF), формат Объединённой Группы Экспертов Фотографии (Joint Photographic Experts Group – JPEG) и Формат Файла Расцвеченного Изображения (Tagged Image File Format – TIFF). GIF – это стандарт сжатия и кодирования графических изображений. JPEG – другой стандарт сжатия и кодирования графических изображений, появившийся несколько позже. TIFF – стандартный формат кодирования графических изображений, первоначально не имевший алгоритма сжатия – оно появилось только в пятой версии этого стандарта, как необязательный параметр.

Прикладной уровень OSI-модели.

Прикладной уровень – это OSI-уровень, ближайший к конечному пользователю, и это означает, что как прикладной OSI-уровень, так и пользователь взаимодействуют непосредственно с программным приложением.

Этот уровень взаимодействует с программными приложениями, которые реализуют коммуникационный компонент. Такие прикладные программы выпадают за пределы пространства OSI-модели. Функции прикладного уровня обычно включают идентификацию коммуникационных партнёров, определение доступности ресурсов и синхронизацию связи.

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

Два ключевых типа реализаций прикладного уровня – это приложения TCP/IP и приложения OSI. TCP/IP приложения – это протоколы, существующие в комплекте Интернет-протоколов, такие как lTelnet, Протокол Передачи Файлов (File Transfer Protocol – FTP) и Простой Протокол Передачи Почты (Simple Mail Transfer Protocol – SMTP). Приложения OSI – это протоколы комплекта OSI, такие как Передачи Файлов, Доступа и Управления (File Transfer, Access and Management – FTAM), Виртуальный Терминальный Протокол (Virtual Terminal Protocol – VTP) и Обобщённый Протокол Управляющей Информации (Common Management Information Protocol – CMIP).

Форматы Информации

Данные и управляющая информация, передаваемые по интерсетям, принимают широкое разнообразие форм. Термины, используемые для описания этих форматов информации, не используются существенно в индустрии интерсетей, но периодически применяются как взаимозаменяемые. Общепринятые форматы информации включают в себя кадр, пакет, датаграмму (datagram – досл. грамм данных), сегмент, сообщение, соты (cell) и блок (единицу) данных.

Кадр (frame) – это единица информации, чьи источник и место назначения – агенты канального уровня. Кадр состоит из заголовка канального уровня (и возможно шлейфа) и данных высшего уровня. Заголовок и шлейф содержат контрольную информацию, предназначенную для агента канального уровня в системе назначения. Данные агентов высших уровней обрамляются заголовком и шлейфом канального уровня. Рисунок 1-9 иллюстрирует основные элементы кадра канального уровня.

Кадр
  

Заголовок канального уровня
 

Данные высших уровней
 

Шлейф канального уровня
 


Рисунок 1-9

Данные высших уровней образуют кадр канального уровня.

Пакет – это единица информации, источник и место назначения которой являются агентами сетевого уровня. Пакет состоит из заголовка сетевого уровня (и возможно шлейфа) и данных высшего уровня. Заголовок и шлейф содержат контрольную информацию, предназначенную для агента сетевого уровня в системе назначения. Данные агентов высших уровней обрамляются заголовком и шлейфом сетевого уровня. Рисунок 1-10 иллюстрирует основные элементы пакета сетевого уровня.

Пакет
  

Заголовок сетевого уровня
 

Данные высших уровней
 

Шлейф сетевого уровня
 


Рисунок 1-10

Три базовых компонента образуют пакет сетевого уровня.

Термин датаграмма обычно обозначает единицу информации, чьи источник и место назначения – агенты сетевого уровня, использующие связенезависимый сетевой сервис.

Термин сегмент обычно обозначает единицу информации, чьи источник и место назначения – агенты транспортного уровня.

Сообшение – это единица информации, чьи источник и место назначения существуют выше сетевого уровня (часто на прикладном уровне).

Соты – это единицы информации фиксированного размера, чьи источник и место назначения – агенты канального уровня. Соты используются в коммутированных средах, таких как сети Асинхронного Режима Передачи (Asynchronous Transfer Mode – ATM) и Службы Коммутированных Мультимегабитных Данных (Switched Multimegabit Data Service – SMDS). Соты состоят из заголовка и "оплачиваемой нагрузки". Заголовок содержит контрольную информацию, предназначенную для агента канального уровня в пункте назначения, и обычно имеет длину 5 байт. Нагрузка содержит данные высшего уровня, которые обрамляются (инкапсулируются) заголовком сот, и обычно имеет длину 48 байт.

Длины полей заголовка и нагрузки всегда в точности те же для каждой ячейки сот. Рисунок 1-11 обрисовывает компоненты типичной ячейки.

Ячейка сот
 

Заголовок ячейки
(5 байт)
 

Полезная нагрузка
(48 байт)
 
 

53 байта


Рисунок 1-11

Два компонента образуют типичную сотовую ячейку.

Единица данных (data unit) – это обобщённый термин, который обозначает множество единиц информации. Некоторые распространённые единицы данных – это Обслуживаемая Единица Информации (Service Data Unit – SDU), единицы информации протоколов (PDU) и единицы информации протокола моста (bridge protocol data units – BPDU). SDU – это единицы информации протоколов высших уровней, которые задают протоколам низших уровней запрос на обслуживание. PDU – это пакет в терминологии OSI. BPDU используются алгоритмом мостового дерева (spanning-tree) в качестве начальных сообщений.

ISO Иерархия Сетей

Большие сети обычно организованы в иерархии. Иерархическая организация обеспечивает такие преимущества, как простота управления, гибкость и снижение ненужного потока. Таким образом, Международная Организация Стандартизации (ISO) приняла ряд терминологических соглашений для обозначения элементов сети. Ключевые термины, определённые в этой секции, включают в себя конечную систему (End System &150; ES), промежуточную систему (Intermediate System – IS), область (area) и автономную систему (Autonomous System – AS).

ES – это система, которая не осуществляет маршрутизацию или другие функции пересылки потока. Типичные конечные системы включают в себя такие устройства, как терминалы, персональные компьютеры и принтеры. IS – это сетевое устройство, которое осуществляет маршрутизацию или другие функции пересылки потока. Типичные IS включают в себя такие устройства, как маршрутизаторы (router), коммутаторы (switch) и мосты (bridge). Существует два типа сетей IS: внутридоменные и междоменные IS. Внутридоменная IS осуществляет связь в пределах одной автономной системы, тогда как междоменная IS осуществляет связь как внутри, так и между автономными системами. Область – это логическая группа сегментов сети и присоединённых к ним устройств. Области являются подразделениями автономных систем. AS – это совокупность сетей, объединённых общим администрированием, которые разделяют общую стратегию маршрутизации. Автономные системы подразделяются на области, и иногда AS называют доменом. Рисунок 1-12 иллюстрирует иерархическую сеть и её компоненты.


Рисунок 1-12

Иерархическая сеть состоит из множества компонентов.

Связеориентированные и Связенезависимые Службы Сети

В общих чертах, сетевые протоколы и потоки данных, которые они могут поддерживать, могут быть охарактеризованы как либо связеориентированные (connection-oriented), либо связенезависимые (connectionless). Вкратце, связеориентированная обработка данных подразумевает использование специфического пути, который задаётся на период соединения. Связенезависимая обработка данных подразумевает передачу данных через постоянно заданное соединение.

Связеориентированный сервис включает в себя три фазы: установление соединения, передачу данных и завершение соединения.

В период фазы установления соединения определяется один путь между исходной системой и системой назначения. В этот момент обычно резервируются сетевые ресурсы для обеспечения постоянного ранга обслуживания, такого как гарантированная пропускная скорость.

В фазе передачи данных данные передаются последовательно по установленному пути. Данные всегда появляются в системе назначения в том порядке, в котором они были посланы.

Во время фазы завершения соединения, установленное соединение, надобности в котором больше нет, завершается. Дальнейшие коммуникации между исходной системой и системой назначения потребуют установления нового соединения.

Связеориентированный сетевой сервис несёт в себе два значительных недостатка по сравнению со связенезависимым: статический выбор пути и статическое резервирование сетевых ресурсов. Статический выбор пути может создать трудности, поскольку весь поток должен проходить через один и тот же статический путь. Отказ в любой точке на протяжении пути становится причиной отказа соединения. Статическое резервирование сетевых ресурсов порождает трудности, поскольку оно требует гарантированной скорости пропуска и, таким образом, выделения ресурсов, которые не могут быть разделены с другими пользователями сети. Если соединение не использует полную пропускную способность непрерывно, полоса пропускания не будет использована эффективно.

Связеориентированные службы, однако, удобны для передачи данных от приложений, которые не терпят задержек и переупорядочивания пакетов. Голосовые и видеоприложения обычно базируются на связеориентированном сервисе.

Как другой недостаток, связенезависимый сетевой сервис не предопределяет путь от источника к системе назначения, а также ни последовательность пакетов, ни пропускная способность, ни другие сетевые ресурсы не гарантируются. Каждый пакет должен быть полностью адресован, поскольку для разных пакетов могут быть выбраны разные пути через сеть на основе множества влияющих факторов. Каждый пакет независимо передаётся исходной системой и независимо обрабатывается промежуточными сетевыми устройствами.

Связенезависимый сервис, однако, предлагает два важных преимущества по сравнению со связеориентированным сервисом: динамический выбор пути и динамическое выделение полосы пропускания. Динамический выбор пути позволяет маршрутизировать поток в обход отказов сети, поскольку пути выбираются попакетно. Посредством динамического выделения полосы пропускания она используется более эффективно, поскольку сетевые ресурсы не назначают полосу пропускания, которая не будет использоваться.

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

Интерсетевая Адресация

Интерсетевые адреса определяют устройства по отдельности или как члены группы. Схемы адресации варьируются в зависимости от семейства протоколов и уровня OSI. Повсеместно используется три типа интерсетевых адресов: канального уровня, Контроля Доступа к Среде (Media Access Control – MAC) и сетевого уровня.

Канальный уровень

Адреса канального уровня уникально идентифицируют каждое физическое сетевое соединение сетевого устройства. Канальные адреса иногда называют физическими или аппаратными адресами. Канальные адреса обычно существуют в одноуровневом адресном пространстве и имеют предустановленное и обычно фиксированное отношение к специфическому устройству.

Конечные системы обычно имеют одно физическое сетевое соединение, и таким образом имеют всего один канальный адрес. Маршрутизаторы и другие интерсетевые устройства обычно имеют множественные физические сетевые соединения и, следовательно, имеют также много канальных адресов. Рисунок 1-13 показывает, как каждый интерфейс устройства уникально идентифицируется канальным адресом.


Рисунок 1-13

Каждый интерфейс устройства уникально идентифицирован канальным адресом.

MAC адреса

Адреса Контроля Доступа к Среде (Media Access Control) состоят из подмножества канальных адресов. MAC-адреса идентифицируют элементы сети в локальных сетях, которые реализуют IEEE MAC-адреса на канальном уровне. Как и большинство канальных адресов, MAC-адреса являются уникальными для каждого LAN-интерфейса. Рисунок 1-14 иллюстрирует взаимоотношения между MAC-адресами, канальными адресами и подуровнями IEEE канального уровня.


Рисунок 1-14

MAC-адреса, канальные адреса и IEEE подуровни канального уровня все взаимосвязаны.

MAC-адреса имеют длину 48 бит и выражаются 12-ю шестнадцатеричными числами. Первые 6 цифр, администрируемые IEEE, идентифицируют производителя или поставщика и таким образом заключают в себе Уникальный Идентификатор Организации (Organization Unique Identifier – OUI). Последние 6 цифр содержат в себе серийный номер интерфейса или другое значение, администрируемое специфическим поставщиком. MAC-адреса иногда называют прошитыми адресами (Burned-In Address – BIA), потому что они прошиваются в постоянное запоминающее устройство (read-only memory – ROM) и копируются в оперативную память (random-access memory – RAM), когда интерфейсная карта инициализируется. Рисунок 1-15 иллюстрирует формат MAC-адреса.


Рисунок 1-15

MAC-адрес содержит уникальный набор шестнадцатеричных цифр.

Различные комплекты протоколов используют разные методы определения MAC-адреса устройства. Наиболее часто используются следующие три метода: Протокол Адресного Разрешения (Address Resolution Protocol – ARP) отображает сетевые адреса на MAC-адреса, "привет" (hello) протокол позволяет сетевым устройствам изучить MAC-адреса других сетевых устройств, MAC-адреса встраиваются в адрес сетевого уровня или генерируются определённым алгоритмом.

Разрешение адресов – это процесс отображения сетевых адресов на MAC-адреса. Этот процесс выполняется с использованием протокола ARP, который реализован во многих комплектах протоколов. Когда сетевой адрес успешно ассоциируется с MAC-адресом, сетевое устройство сохраняет информацию в ARP-кэше. Таблицы ARP-кэша позволяют устройствам пересылать данные по назначению без порождения потока ARP-информации, поскольку MAC-адрес назначения уже известен.

Процесс разрешения адресов слегка различается в зависимости от сетевой среды. Адресное разрешение в отдельно взятой локальной сети начинается, когда Конечная Система А посылает широковещательный адресный запрос (ARP request) в локальную сеть в попытке узнать MAC-адрес Конечной Системы Б. Широковещательный запрос принимается и обрабатывается всеми устройствами в сети, хотя только Конечная Система Б отвечает на ARP-запрос посылкой ARP-ответа, содержащего её MAC-адрес, Конечной Системе А. Конечная Система А получает ARP-ответ и записывает MAC-адрес Конечной Системы Б в свой ARP-кэш (таблицу, где сетевые адреса ассоциированы с MAC-адресами). Впоследствии, как только Конечной Системе А понадобится обменяться информацией с Конечной Системой Б, она проверит ARP-кэш, найдёт MAC-адрес Системы Б и пошлёт кадр напрямую, не имея необходимости посылать предварительно ARP-запрос.

Адресное разрешение работает иначе, однако, когда исходное устройство и устройство назначения прикреплены к разным локальным сетям, соединённым через маршрутизатор. Конечная Система К посылает широковещательный ARP-запрос в сеть в попытке узнать MAC-адрес Конечной Системы Л. ARP-запрос принимается и обрабатывается всеми устройствами локальной сети, включая Маршрутизатор М, который выполняет роль "заместителя" (proxy) для Конечной Системы Л, проверяя свои таблицы маршрутизации, чтобы определить, что Конечная Система Л расположена в другой локальной сети. Маршутизатор М отвечает в этом случае на ARP-запрос Конечной Системы К посылкой ARP-ответа, содержашего его собственный MAC-адрес, как если бы он принадлежал Конечной Системе Л. Конечная Система К получает ARP-ответ и записывает MAC-адрес Маршрутизатора М в ARP-кэш в запись для Конечной Системы Л. Как только Конечной Системе К потребуется обменяться информацией с Конечной Системой Л, она проверяет ARP-кэш, находит MAC-адрес Маршрутизатора М и посылает кадр непосредственно ему, не используя ARP-запросов. Маршрутизатор М получает информацию от Конечной Системы К и пересылает его Конечной Системе Л в другой локальной сети.

Hello протокол – это протокол сетевого уровня, который позволяет сетевым устройствам идентифицировать друг друга и обозначить, что они продолжают функционировать. Когда включается новая система, например, она посылает широковещательные Hello сообщения в сеть. Устройства в сети возвращают Hello ответы и, кроме того, посылают Hello сообщения с определёнными интервалами с целью обозначить, что они продолжают функционировать. Сетевые устройства могут узнать MAC-адреса других устройств путём исследования пакетов Hello-протокола.

Три протокола используют заранее известные MAC-адреса. В этих комплектах протоколов MAC-адреса предсказуемы, поскольку их сетевой уровень либо включает MAC-адреса в адреса сетевого уровня, либо использует заданный алгоритм определения MAC-адресов. Этими тремя протоколами являются Сетевые Системы Ксерокс (Xerox Network Systems – XNS), Обмен Пакетов Интерсетей (Internetwork Packet Exchange – IPX) фирмы Novell и DECnet Phase IV.

Адреса сетевого уровня

Адреса сетевого уровня идентифицируют устройства на сетевом уровне OSI-уровней. Сетевые адреса обычно существуют в иерархическом адресном пространстве и иногда называются виртуальными или логическими адресами.

Взаимоотношения между сетевым адресом и устройством являются логическими и не фиксированы, обычно они базируются либо на физических характеристиках сети (устройство находится в некотором сегменте сети) либо на группированиях, не имеющих физической основы (устройство является частью зоны AppleTalk). Конечным системам требуется по одному адресу сетевого уровня для каждого протокола сетевого уровня, который они поддерживают. Маршрутизатор с тремя интерфейсами, например, каждый из которых поддерживает AppleTalk, TCP/IP и OSI, должен иметь три адреса сетевого уровня для каждого из интерфейсов. Таким образом, маршрутизатор имеет девять адресов сетевого уровня. Рисунок 1-16 показывает, как каждому сетевому интерфейсу должен быть присвоен сетевой адрес для каждого поддерживаемого протокола.


Рисунок 1-16

Каждому сетевому интерфейсу должен быть присвоен сетевой адрес для каждого поддерживаемого протокола.

Иерархическое адресное пространство в противовес линейному

Адресное пространство интерсетей обычно принимает одну из двух форм: иерархическую или линейную. Иерархическое адресное пространство организовано в многочисленные подгруппы, каждая из которых успешно сужает адрес, до тех пор пока он не будет указывать на единственное устройство (в манере, аналогичной почтовым адресам). Линейное адресное пространство организовано в одну группу (аналогично номерам социальной защиты в США. Я бы скорее поставил в соответствие ICQ UIN – Прим. Перев.).

Иерархическая адресация даёт некоторые преимущества по сравнению со схемами линейной адресации. Сортировка и повторное использование адресов упрощаются посредством использования операций сравнения. Наличие в почтовом адресе, например, Ирландии исключает любую другую страну как возможное местонахождение. Рисунок 1-17 иллюстрирует разницу между иерархическим и линейным адресными пространствами.


Рисунок 1-17

Иерархическое и линейное адресные пространства различаются в операциях сравнения.

Присвоение адресов

Адреса присваиваются устройствам как один из трёх типов: статические, динамические или серверные. Статические адреса присваиваются администратором сети в соответствии с заранее составленным планом адресации сети. Статический адрес не меняется, до тех пор пока администратор сети не изменит его вручную. Динамические адреса устройства получают в момент присоединения к сети посредством некоторого процесса, характерного для данного протокола. Устройство, использующее динамический адрес, зачастую имеет другой адрес каждый раз, когда оно присоединяется к сети. Адреса, назначаемые сервером, даются устройствам в момент присоединения к сети. Адреса, назначаемые сервером, отбираются для повторного использования, как только устройства завершают связь. Устройство в результате вероятно будет иметь другой адрес каждый раз при соединении с сетью.

Адреса в противовес именам

Устройства в интерсетях обычно имеют как имя, так и адрес, связанные с ними. Интерсетевые имена обычно местонезависимы и остаются связанными с устройством, куда бы его не перемещали (например, из одного здания в другое). Интерсетевые адреса обычно местозависимы и меняются, когда устройство перемещают (хотя MAC-адрес является исключением из этого правила). Имена и адреса представляют логический идентификатор, каковым может быть локальный системный администратор или организация, такая как Управление Выделения Интернет-Номеров (Internet Assigned Numbers Authority – IANA).

Основы Управления Потоком

Управление потоком – это функция, которая предотвращает заторы в сети, гарантируя, что передающие устройства не затопят принимающие данными. Существует бесчисленное множество возможных причин сетевых заторов. Высокоскоростной компьютер, например, может создавать поток данных быстрее, чем сеть может его передать, или быстрее, чем устройство назначения может принять его и обработать. Три повсеместно используемых метода обработки сетевых заторов – буферизация, передача сообщений глушения источника (source-quench) и задание размера окна.

Буферизация используется сетевыми устройствами, чтобы временно сохранить всплески изыбточных данных в памяти, до тех пор пока они не смогут быть обработаны. Нерегулярные всплески данных легко обрабатываются буферизацией. Избыточные всплески данных могут однако исчерпать память, вынуждая устройство отбрасывать любые дополнительные прибывающие датаграммы.

Сообщения глушения источника используются принимающими устройствами, чтобы содействовать предотвращению переполнения своих буферов. Принимающее устройство посылает сообщения глушения источника, чтобы запросить у источника уменьшение текущей скорости передачи данных. Принимающее устройство начинает, во-первых, отбрасывать принимаемые данные вследствие переполнения буферов, во-вторых, посылать сообщения глушения источника передающему устройству со скоростью одного сообщения на каждый отброшенный пакет. Устройство-отправитель получает сообщения глушения источника и снижает скорость передачи данных, до тех пор пока не перестаёт получать эти сообщения. Наконец, устройство-отправитель впоследствии постепенно наращивает скорость передачи данных при условии, что запросов на глушение источника более не поступает.

Ограничение размера окна (windowing) – это схема управления потоком данных, в которой исходное устройство требует подтверждения от адресата после некоторого количества переданных пакетов. С размером окна, равным трём, отправитель требует подтверждения от адресата после отправки трёх пакетов, и так далее. Устройство-отправитель сперва посылает три пакета адресату, затем, после их получения, адресат посылает подтверждение отправителю. Отправитель, получив подтверждение, посылает ещё три пакета. Если адресат не получает один или более пакетов по некоторой причине, такой как переполнение буферов, он не получает достаточно пакетов, чтобы послать подтверждение. Тогда отправитель передаёт пакеты заново с уменьшенной скоростью передачи.

Основы Проверки Ошибок

Схемы проверки ошибок определяют, не были ли переданные данные искажены или повреждены на пути от источника к адресату. Проверка ошибок реализована на множестве OSI-уровней.

Одна из общепринятых схем проверки ошибок это циклическая избыточная проверка (cyclic redundancy check – CRC), которая определяет и отбрасывает искажённые данные. Функции коррекции ошибок (такие, как перепосылка данных) оставлены протоколам высших уровней. Значение CRC генерируется путём калькуляции, осуществляемой на устройстве-отправителе. Устройство назначения сравнивает это значение со своим собственным расчётом, чтобы определить, не были ли допущены ошибки при передаче. Вначале устройство-отправитель осуществляет предопределённый набор расчётов над содержимым пакета, предназначенного к передаче. Затем отправитель помещает рассчитанное значение в пакет и посылает пакет получателю. Получатель производит тот же самый предопределённый набор расчётов над содержимым пакета и затем сравнивает своё рассчитанное значение с тем, которое содержится в пакете. Если значения равны, пакет считается действительным. Если значения не совпадают, пакет содержит ошибки и отвергается.

Основы Мультиплексирования

Мультиплексирование – это процесс, в котором множественные каналы данных скомбинированы в один физический или канал данных в исходной точке. Мультиплексирование может быть осуществлено на любом из уровней OSI. И наоборот, демультиплексирование – это процесс разделения мультплексированных каналов данных в точке назначения. Один из примеров мультиплексирования – это когда данные от многих приложений мультиплексируются в один пакет данных низшего уровня. Рисунок 1-18 иллюстрирует этот пример.


Рисунок 1-18

Данные нескольких приложений могут быть мультиплексированы в один пакет данных низшего уровня.

Другой пример мультиплексирования – это когда данные от многих устройств комбинируются в один физический канал (с использованием устройства, называемого мультиплексором). Рисунок 1-19 иллюстрирует этот пример.


Рисунок 1-19

Данные нескольких устройств могут быть мультиплексированы в один физический канал.

Мультиплексор - это устройство физического уровня, которое комбинирует несколько потоков данных в один или более выходных каналов в исходной точке. Мультиплексоры осуществляют демультиплексирование каналов на несколько потоков данных на удалённом конце и таким образом максимизируют использование полосы пропускания физической среды, позволяя разделять её между многими источниками потока.

Некоторые методы, используемые для мультиплексирования данных, – это мультиплексирование с разделением времени (time-division multiplexing – TDM), асинхронное с разделением времени (asynchronous TDM – ATDM), с разделением частоты (frequency-division – FDM) и статистическое.

При использовании TDM информации из каждого канала данных выделяется полоса пропускания, основанная на предопределённых временных окнах (time slot), вне зависимости от того, есть ли данные для передачи. При использовании ATDM информации каналов данных выделяется полоса пропуска по мере необходимости, с использованием динамически выделяемых временных окон. При использовании FDM полосы пропускания для информации каждого из канала данных выделяются на основе частоты сигнала потока. При статистическом мультиплексировании полоса пропускания динамически выделяется для любого из каналов данных, имеющих информацию для передачи.

Организации Стандартизации

В создание интерсетевых стандартов внесло свой вклад множество организаций путём обеспечения форумов для дискуссий, превращения неформальных обсуждений в формальные спецификации и распространения спецификаций после их стандартизации.

Большинство стандартизирующих организаций создают формальные стандарты путём использования специфических процессов: организация идей, обсуждение подхода, разрабатотка проектов стандартов, голосование по стандартам в целом или по их существенным аспектам, и затем формальная публикация законченного стандарта.

В число некоторых хорошо известных стандартизирующих организаций, осуществляющих вклад в стандарты межсетевого взаимодействия, входят:

  • Международная Организация Стандартизации (International Organization for Standartization – ISO). ISO ответственна за широкий набор стандартов, включая многие, имеющие отношение к работе в сети. Наиболее известным её вкладом является разработка эталонной модели OSI и комплекта протоколов OSI.
  • Американский Национальный Институт Стандартов (American National Standards Institute – ANSI), который также является членом ISO, – это координирующий орган для независимых групп стандартов в Соединённых Штатах. ANSI разработал Оптоволоконный Интерфейс Распределённых Данных (Fiver Data Distributed Interface – FDDI) и другие стандарты коммуникаций.
  • Ассоциация Электронных Индустрий (Electronic Industries Association – EIA). EIA задаёт электрические стандарты передачи, включая используемые в сетях. EIA разработала широко используемый стандарт EIA/TIA-232 (ранее известный как RS-232).
  • Институт Электрической и Электронной Инженерии (Institute of Electrical and Electronical Engineers – IEEE) – профессиональная организация, которая задаёт сетевые и другие стандарты. IEEE разработал широко используемые стандарты локальных сетей IEEE 802.3 и IEEE 802.5.
  • Международный Телекоммуникационный Союз, Сектор Стандартизации Телекоммуникаций (International Telecommunication Union Telecommunication Standartization Sector – ITU-T), ранее называвшийся Комитетом по Международному Телеграфу и Телефону (Commitee for International Telegraph and Telephone – CCITT), на данный момент – международная организация, которая разрабатывает коммуникационные стандарты. ITU-T разработал X.25 и другие коммуникационные стандарты.
  • Коллегия Интернет Деятельности (Internet Activities Board – IAB) – группа исследователей интерсети, которые обсуждают вопросы, имеющие отношение к сети Интернет и устанавливают правила Интернет посредством решений и оперативных групп. IAB разработал отдельные документы Приглашений К Обсуждению (Request For Comments – RFC) как стандарты Интернет, включая Протокол Управления Передачей/Интернет Протокол (Transmission Control Protocol/Internet Protocol &3150; TCP/IP) и Простейший Протокол Управления Сетью (Simple Network Management Protocol – SNMP).