«ОСНОВЫ СЕТЕВЫХ ТЕХНОЛОГИЙ Учебное пособие Санкт-Петербург Издательство СПбГЭТУ ЛЭТИ' 2000 2 УДК 681.324:621.391.1 ББК 3973.202 + 388 О- 7 5 Авторы: А.В Горячев, Н.Е. Новакова, А. В. Нисковский, С.В. Полехин. Основы ...»
1
Министерство образования РФ
Санкт-Петербургский государственный
электротехнический университет «ЛЭТИ»
ОСНОВЫ СЕТЕВЫХ ТЕХНОЛОГИЙ
Учебное пособие
Санкт-Петербург
Издательство СПбГЭТУ "ЛЭТИ'
2000
2
УДК 681.324:621.391.1
ББК 3973.202 + 388
О- 7 5
Авторы: А.В Горячев, Н.Е. Новакова, А. В. Нисковский, С.В. Полехин.
Основы сетевых технологий: Учеб пособие. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2000. 64 с.
Определяют ся основны е понят ия сет евы х т ехнолог ий, рассматриваются составляющие для построения вычислительных сетей и принципы организации передачи данных в них. Рассматриваются основные сетевые службы, модели описания сетевых взаимодействий, отображение основных стеков протоколов на модель OSI. Приводятся алгоритмы и протоколы коммутации и маршрутизации информации в вычислительных сетях, основы организации межсетевых взаимодействий.
Предназначено для студентов дневной и вечерней форм обучения по направлению 552800 «Информатика и вычислительная техника».
Р е це нз е нт ы : ка ф е др а инф ор м а т ики Се в е р о-З а па дной а ка де м ии государственной службы; начальник отдела системной интеграции ЗАО «ЭВРИКА» А. А. Гусак.
Утверждено редакционно-издательским советом университета в качестве учебного пособия СПбГЭТУ «ЛЭТИ»,
1. БАЗОВЫЕ ПОНЯТИЯ СЕТЕВЫХ ТЕХНОЛОГИЙ
Понятие "сеть" (net, network, сеть передачи данных) в русском языке имеет много разных значений и применяется для определения самых разнообразных взаимодействий между самыми разнообразными объектами.Сети, обеспечивающие взаимодействие между компьютерами, чаще всего называют компьютерными или вычислительными сетями.
Сетевые ресурсы представляют собой аппаратные устройства, участвующие в сетевом взаимодействии, и их компоненты, задействованные в этом процессе. Самым характерным устройством — звеном сети - является компьютер. Его аппаратные компоненты (процессор, оперативная память, накопители на жестких дисках, принтеры, модемы и т. д.) являются ресурсами, управляет которыми программный комплекс - операционная система. В большинстве случаев операционная система обеспечивает доступ к перечисленным ресурсам локально - с консоли компьютера. Участие в сетевом взаимодействии подразумевает возможность удаленного доступа к ресурсам компьютера. Операционные системы, для которых такой режим доступа является основным, называют сетевыми операционными системами СОС (Network Operation System - NOS).
Отдельные программные компоненты обеспечивают доступ к отдельным видам ресурсов или специальные режимы их использования. Набор таких компонентов называют сетевой службой - сетевым сервисом (Network Service).
Процесс совместного использования (sharing) сетевых ресурсов называется сетевым взаимодействием (networking).
1.1. Модели сетевых вычислений Первый способ сетевого взаимодействия предполагает полностью централизованную обработку информации и ее хранение. Обработку осуществляет центральный компьютер (mainframe, host), на котором и выполняются все задачи пользователей. Пользователи совместно используют для решения своих задач все ресурсы центрального компьютера - процессор, оперативную и дисковую память, периферийные устройства. Взаимодействие с центральным компьютером пользователи осуществляют с помощью локальных устройств - терминалов (рис. 1.1). Терминал обычно состоит из коммуникационного оборудования и устройств ввода и вывода данных, например клавиатуры и дисплея, что дает ему возможность играть роль интерфейса ввода-вывода данных. Часто эту модель взаимодействия называют «терминал-хост» (terminal-host).
Центральный компьютер должен работать под управлением операционной системы, поддерживающей такое взаимодействие, которое называется централизованным вычислением (centralized computing). Хотя такая машина полностью обеспечивает хранение данных и вычислительные возможности, подключение к ней удаленных терминалов не является сетевым взаимодействием, так как терминалы, являясь, по сути, периферийными устройствами, обеспечивают только преобразование формы информации, но не ее обработку. Собственно сети появились тогда, когда на устройстве, с которым непосредственно взаимодействует пользователь, стала выполняться некоторая предварительная обработка информации, что привело к появлению модели «клиент-сервер».
В вычислительной модели обработки данных «клиент-сервер»
несколько клиентов (персональных компьютеров) подключаются к серверу.
Модель имеет следующие характеристики:
- возможности обработки распределяются между несколькими машинами;
- клиенты запрашивают сервисы у серверов;
- серверы выполняют некоторую часть обработки для клиента.
Приложения, используемые в сетях «клиент-сервер», производят предварительную обработку данных (front end), которая выполняется на клиенте, и обработку базы данных (back end), выполняющуюся на сервере.
В модели «клиент-сервер» могут быть использованы:
- автономные (несетевые) приложения, такие как программы обработки электронных таблиц (spreadsheet) или текстовые процессоры, которые выполняются на клиенте, но сохраняют данные на сервере;
- приложения баз данных, которые обеспечивают интерфейс клиента для запросов и механизм поиска на сервере, который размещает записи, хранящиеся на одном или нескольких серверах;
- программы, такие как система электронной почты, в которой сервер применяется для совместного использования информации.
Сервер и клиент. Сервер (server в дословном переводе на русский язык означает «тот, кто обслуживает») сети предназначен для обслуживания поступающих от клиента (client) сети запросов. Клиент всегда запрашивает обслуживание, а сервер всегда обслуживает клиента. В некоторых случаях один и тот же компьютер может выступать как в роли клиента, так и в роли сервера, обеспечивая обработку запросов от других клиентов и запрашивая обслуживание у других серверов.
По способу взаимодействия серверов и клиентов определяют два вида сетей: «клиент-сервер» (client-server) и «равный с равным» (peer-topeer). Поскольку клиентом сети является пользователь, выполняющий на компьютере свои задачи, то сам компьютер пользователя, подключенный к сети, называется «рабочая станция» (workstation).
В модели «клиент-сервер» (рис. 1.2) рабочие станции формируют запросы на обслуживание и пересылают их серверу (стадия 1). Сервер, используя свои вычислительные мощности, обрабатывает запросы (стадия 2).
Результаты обработки возвращаются рабочим станциям (стадия 3). В этой модели максимально используются все ресурсы сервера, учитывается его специализация. Именно по такой модели работают серверы приложений и клиенты, использующие эти приложения.
Часто модели «клиент-сервер» и «равный с разным» могут одновременно существовать в одной сети. Сети, построенные по принципу «равный с равным», называют также одноранговыми сетями, в которых все компьютеры имеют одинаковый статус - ранг.
Использование дополнительных возможностей по предоставлению сервисов компьютерами (модели «клиент-сервер») в одноранговой сети расширяет функциональные возможности для пользователей (рис. 1.3).
Компьютеры 1 и 2 выступают только как клиенты сети, а компьютеры 3 и обеспечивают совместное использование своих ресурсов, например дисков и принтеров, оставаясь при этом клиентами сети. Запросы 1, 2 и 7 поступают от клиентов. Эти запросы обрабатываются серверами (стадии обращений 3, и 8) и результаты возвращаются сетевым клиентам (стадии 4, 6, 9).
Компьютерная индустрия развивалась в различных направлениях, увеличивались вычислительные мощности машин, предназначенных для работы по схеме «терминал-хост», бурно развивались персональные ЭВМ (ПЭВМ). ПЭВМ полностью управляет пользователь. Идеология ПЭВМ предполагает, что все ее ресурсы используются задачами пользователя, работающего за ее консолью. Однако, несмотря на рост вычислительной мощности ПЭВМ, многие задачи по-прежнему требовали значительно больших вычислительных ресурсов. Появилась необходимость создания нового типа взаимодействия, новой структуры, обеспечивающей распределенную обработку информации (distributed computing). В этой модели взаимодействия каждая из машин призвана решать свои задачи, что делает возможной специализацию: каждый компьютер работает над конкретной задачей, для решения которой он оптимизирован (в модели «клиент-сервера» сервер тоже специализирован и выполняет свои специфические задачи, но он при этом «самодостаточен» и никак не связан с другими серверами). При этом для решения задач ему необходимо получать результаты работы других ЭВМ и, в свою очередь, передавать им свои результаты, что стало возможным только с объединением компьютеров в вычислительную сеть. Распределение задач между компьютерами сети (рис. 1.4) позволяет расширить функциональные возможности каждого из них путем организации совместного доступа к ресурсам.
Одной из заметных тенденций развития вычислительной индустрии стала модель совместной обработки данных (collaborative computing или cooperative processing). В этой модели несколько компьютеров используются для решения одной и той же задачи, а не только для обмена результатами вычислений (рис. 1.5). При использовании модели совместных вычислений возрастают суммарная вычислительная мощность и доступные ресурсы (оперативная и дисковая память), повышается отказоустойчивость всей системы в целом.
Как правило, распределенное выполнение задачи контролируется с пе циальной систем ой упра вления, котора я при отка з е одного из компьютеров переложит выполнение его части работы на оставшиеся компьютеры. В такой ситуации порой невозможно сказать, на каком узле выполняется конкретная задача - она как бы «размазана» по компьютерам, участвующим в процессе. Решения по распределенному выполнению задач носят название кластеров (cluster).
Обработка данных «клиент—сеть» (client-network). В этой новой модели пользователи получают доступ к определенным сервисам, а не к какому-то конкретному серверу. Специальные службы каталога, например Novell Directory Services (NDS), сами определяют, на каком сервере будет выполнен запрос клиента. Для пользователя не имеет значения, где конкретно в сети располагаются выделенные ему в пользование ресурсы, он должен только уметь обратиться к ним, используя принятую в сети систему обращений (рис. 1.6). При таком подходе существенно упрощается работа всех пользователей, а сами сетевые ресурсы и сервисы должны быть доступны им в любое время. Повышение уровня готовности сетевых сервисов требует соответствующих технических решений, например повышения отказоустойчивости или дублирования сервисов.
По размеру, охватываемому расстоянию и структуре сети делятся на локальные и глобальные сети, иногда выделяются городские сети.
Локальные сети (ЛС) (Local area network, LAN) характеризуются высокой скоростью передачи (десятки и сотни мегабит в секунду) и относительно небольшой протяженностью (единицы и десятки километров).
Важными особенностями ЛС являются низкая удельная стоимость передачи единицы информации и большой запас пропускной способности, что позволяет использовать достаточно простые (и потому дешевые) технологии передачи информации.
Обычно ЛС локализуются в пределах одного здания или группы зданий (Campus), используют один вид среды передачи информации, имеют единую систему управления и предназначены для обслуживания потребностей одной организации, которой и принадлежат все ее компоненты от компьютеров до кабельных систем.
Глобальные сети (ГС) (Wide area network, WAN) характеризуются низкой пропускной способностью (единицы и десятки килобит в секунду), использованием разнородных сред передачи информации, большой протяженностью (могут располагаться в различных уголках земного шара и пересекать государственные границы). Чаще всего ГС не является собственностью одной орга низ а ции, а состоит из ком понентов, принадлежащих потребителям и поставщикам услуг глобальной связи.
Хорошая аналогия - телефонная сеть, где вашей собственностью является только телефонный аппарат, а все остальное принадлежит телефонным компаниям, которым вы и платите за их услуги.
Городские сети (Metropoliten area network, MAN) обычно формируются на основе принадлежащих городским управленческим структурам высокоскоростных каналов связи, которыми на договорной основе пользуются все желающие.
1.2. Необходимые компоненты сетевого взаимодействия Для любого сетевого взаимодействия необходимы три элемента:
1. Как минимум два объекта (индивидуума), заинтересованных во взаимодействии, когда хотя бы у одного их них есть ресурсы (например, информация), которые представляют интерес для другого и, следовательно, могут быть использованы объектами совместно.
взаимодействия между объектами (метод или канал связи). Среда передачи формируется на основе кабельных и беспроводных технологий, позволяющих сетевым устройствам передавать информацию друг другу.
3. Правила взаимодействия между этими объектами. В качестве правил взаимодействия используются сетевые протоколы и модели передачи данных. Протокол может состоять из одного правила или из множества правил и стандартов, которые позволяют различным устройствам «вести друг с другом переговоры».
При этом очень важно понимать разницу между наличием среды (канала) взаимодействия и самим взаимодействием Канал взаимодействия с другим объектом даст возможность услышать его, но не понять. Сетевая среда гарантирует лишь возможность доставки сообщения.
Взаимопонимание между объектами обеспечивают протоколы.
Сетевые службы (сервисы) - это одни из важнейших понятий сетевых взаимодействий. Несмотря на большое разнообразие сетевых служб, базовыми сервисами принято считать следующие: файловый, печати, сообщений, приложений и баз данных. Наиболее важными из них были и остаются файловый сервис и сервис печати.
Файловый сервис организует удаленный доступ, совместное использование, быстрый перенос и тиражирование, резервное копирование файлов. Этот сервис предусматривает наличие централизованных хранилищ файлов, эффективное использование дискового пространства. Сетевой файловый сервис повышает эффективность хранения и поиска информации. Основными функциями файлового сервиса являются: передача файлов, хранение файлов и миграция данных, синхронизация изменений файлов, архивирование файлов.
Сетевым файловым сервисом передачи файлов называется любой сервис, который сохраняет, извлекает или перемещает файлы для сетевых клиентов. Этот вид файлового сервиса позволяет обрабатывать данные намного эффективнее, чем это делается с использованием таких носителей информации, как дискеты и ленты, транспортируемые людьми из одного места в другое.
Легкость, с которой файлы могут передаваться, не зависит от их размера и расстояния передачи. Сервис передачи файлов не только увеличивает эффективность работы организации, но и обеспечивает доступ к информации, которая недоступна в бессетевой среде. Важным аспектам применения сервиса передачи файлов является возможность регулировать права доступа к информации, например, разрешить передачу по сети важной информации только уполномоченным лицам. Использование паролей и различных методов шифрования позволяет повысить уровень безопасности файловой системы.
Хранение файлов и миграция данных. Быстрой увеличение объема информации привело к разработке разнообразных накопителей: магнитных и оптических дисков, дискет и лент. Различают следующие виды хранения:
- оперативное (online) - на жестких дисках;
резервное (nearline) — с помощью стримеров с автоматической сменой лент;
- архивное (offline) — на магнитных лентах и оптических дисках.
По мере старения данных и уменьшения обращений к ним информацию можно перемещать с дорогих оперативных жестких дисков на более дешевые долговечные архивные носители. Перемещение данных с одного носителя на другой или из одного места в другое называется миграцией данных. В файловом сервисе может быть установлен критерий перемещения файлов, например, на основании возраста данных или их размера.
Синхронизация изменений файлов. Рабочие место человека в современном мире во все большей степени зависит от мобильных вычислительных средств, в частности, от портативного компьютера и переносных устройств повышенной персональной продуктивности. Таким мобильным устройствам требуется особый вид файлового сервиса.
Мобильные компьютеры не всегда подключены к сети и доступны в ней.
Файлы, необходимые пользователю для работы на мобильном компьютере, обычно копируются с сетевого файлового сервера. Однако первоначальный файл на сервере может оказаться измененным другим пользователем. Тогда копия на мобильном компьютере будет содержать устаревшую информацию.
Чтобы пользователь мобильного компьютера мог узнавать о происходящих на файловом сервере изменениях, необходим особый вид файлового сервиса, называемый синхронизацией изменений файлов.
Синхронизация изменений файлов — это сетевой сервис, который сравнивает время и дату сохранения файлов и определяет, какой из файлов был изменен последним. Этот сервис может также отслеживать, кому принадлежит конкретный файл и были ли сделаны промежуточные изменения. С помощью этой информации все копии автоматически приводятся в соответствие с последней версией файла.
Если изменения были произведены в двух копиях файла, сервис синхронизации изменений файлов должен быть в состоянии читать информацию, содержащуюся в похожих файлах, и интеллектуально объединять изменения. Однако современные методы синхронизации изменений файлов могут лишь оповестить пользователя о возможных конфликтах. Если пользователь хочет сохранить изменения в обоих файлах, ему потребуется самостоятельно объединить изменения. Сетевой файловый сервис лишь сообщает о существовании различных версий одного и того же файла.
Архивирование, или дублирование файлов представляет собой создание на случай аварии копий-дубликатов важных данных на магнитных лентах или других носителях. Архивирование файлов упрощается при объединении всех устройств хранения данных. На основе централизованного хранения файлов и управления ими один администратор может дублировать информацию, хранящуюся на нескольких файл-серверах. Кроме того, специализированные накопители и программное обеспечение, используемые в вычислительных сетях, позволяют собирать данные большого объема и управлять ими.
Сервис печати — это сетевые приложения, которые управляют доступом к принтерам и факсимильному оборудованию. Сервис печати принимает запросы заданий печати, интерпретирует форматы заданий печати и конфигурации принтеров, управляет очередями печати и организует взаимодействие с сетевыми принтерами и факсимильным оборудованием для сетевых клиентов.
Сервис печати позволяет пользователям коллективно получать доступ к устройствам печати через ограниченное количество интерфейсов (как правило, устройство печати имеет один, реже два интерфейса), совместно использовать дорогостоящее специализированное оборудование печати, уменьшать количество требуемых принтеров, размещать принтеры в наиболее удобных местах, устранять ограничения расстояний между компьютером пользователя и устройством печати, организовывать и обрабатывать очереди запросов на печать.
Сервис сообщений позволяет организовать обмен сообщениями между пользователями сети, оперируя текстовой, графической, звуковой и видеоинформацией. В отличие от файлового сервиса, сервис сообщений тесно связан с коммуникационным взаимодействием между пользователями, сетевыми приложениями и документами. Сервис сообщений помогает пользователям передавать сообщения, генерируемые компьютерами и людьми, работать с объектно-ориентированным программным обеспечением и объектами, распределенными по сети, маршрутизировать и разделять данные с помощью приложений автоматизации документооборота (workflow) и объектно-связанных (linked-object) документов, организовывать и поддерживать каталоги информации о пользователях и устройствах.
Сервис сообщений предоставляет пользователю возможность не только передавать, но и сохранять все сообщения. В некоторых случаях он пользователей о наступлении каких-либо событий. Электронная почта является одной из реализаций сервиса сообщений и представляет собой электронную передачу сообщений между двумя или несколькими компьютерами в сети. Электронная почта способна передавать не только текстовые сообщения, но и графические, видео- и звуковые данные. Особый вид почты - речевая или голосовая почта. Системы речевой почты - это специализированные компьютеры, включенные в сеть. Объектноориентированные приложения - это компьютерные программы, которые объединяют меньшие приложения для выполнения сложных задач.
Приложения для рабочих групп используются для управления документооборотом. Приложения управления документооборотом интеллектуально маршрутизируют формы, замечания и документы между клиентами сети и используются для управления многопользовательскими распределенными деловыми процессами. Для организации службы сообщений применяется сервис каталога. Серверы сети регулярно обмениваются изменениями, происходящими в каталогах, с помощью межсерверных сообщений. Благодаря синхронизации информации об объектах сети, хранящейся на разных серверах, пользователю при отправке сообщения не нужно знать местоположение объекта, указывать его адрес и определять маршрут - достаточно лишь указать имя объекта назначения.
Сервис приложений — это вид сетевого сервиса, который запускает программы для сетевых клиентов. Сервис приложений дает возможность пользователям совместно использовать не только данные (как в файловом сервисе), но и вычислительную мощность сервера, Задача сервиса приложений - координация оборудования и программного обеспечения для работы приложений и утилит на наиболее подходящей платформе. Главные преимущества сервиса приложений — специализация серверов, расширяемость и развитие.
Сервер приложений, если он выделен для выполнения конкретных задач, может быть оптимизирован для их решения за счет использования специализированного оборудования. В результате увеличивается быстродействие, повышается надежность и появляется возможность лучше организовывать контроль целостности и защиты данных. Одним из наиболее распространенных видов серверов приложений являются базы данных «клиент-сервер».
Немаловажна и возможность наращивания вычислительной мощности сервера приложений, так как это приводит к одновременному увеличению производительности всех клиентов. Сетевой сервис приложений может обеспечить недорогие варианты наращивания вычислительной мощности.
Преимущества расширяемости и развития (scalability and growth) зависят от возможности применения той же операционной системы и приложений на новом компьютере или, наоборот, тех же приложений в новой операционной системе. При этом может не потребоваться обновление аппаратных и программных средств клиента, так как увеличение производительности всей системы достигается увеличением производительности только одного ее компонента — сервера.
Сервис баз данных предназначен для организации централизованного хранения, поиска и обеспечения защиты данных. Этот сервис обеспечивает хранение, восстановление и поиск информации в базах данных на серверах, позволяя сетевым клиентам управлять данными и их представлением.
Приложения баз данных, позволяющие клиентам запрашивать данные у специализированных серверов, называются базами данных «клиент-сервер».
оптимизируют задачи, составляющие процесс запроса и предоставления данных. Этот сервис реализуется серверами баз данных и программноаппаратными комплексами. Сетевой сервис баз данных выполняет следующие задачи:
- оптимизирует хранение, поиск и извлечение записей баз данных;
- снижает время доступа пользователей к информации;
- управляет территориальным местоположением информации в сети;
- обеспечивает защиту данных;
- логически организует данные подразделений организации.
Координация распределенных данных. В крупных организациях возможно разделение задач и данных между несколькими подразделениями.
При совместном использовании информации необходимо знать, кто и какими данными управляет и где они должны храниться.
Сетевой сервис баз данных для достижения прозрачного совместного использования данных применяет тактику распределения данных. Он разделяет управление частями базы данных между вычислительными системами различных подразделений. Система управления базой данных (СУБД), координируя изменения, происходящие в различных вычислительных системах, ответственна за то, чтобы база данных выглядела как единая логическая сущность.
Тиражирование (репликация). Информация из локальных баз данных обычно извлекается намного быстрее, чем из удаленных, так как для этого используется высокоскоростная локальная сеть и не загружаются каналы удаленного доступа. Поэтому пользователи предпочитают работать с локальными данными. Чтобы обеспечить такую возможность, нужно создать несколько копий наборов данных и расположить их в непосредственной близости от потребителей этой информации. Но если существует более одной копии базы данных, возникает проблема синхронизации изменений, вносимых в эту базу, - содержимое всех копий должно быть идентичным.
Тиражирование (replication) создает и синхронизирует несколько копий базы данных в сети. В настоящее время программное обеспечение баз данных использует два метода синхронизации реплицированных данных:
1. Тиражирование главной базы данных. Все изменения вносятся только в главную базу данных, а СУБД обеспечивает внесение изменений, записанных в главную базу, во все ее копии.
2. Тиражирование локальных баз данных. Ответственность за запись дополнений и изменений возлагается на локальные базы данных. Локальная часть СУБД вносит изменения в свою локальную базу, а затем должна скоординировать внесенные дополнения и изменения со всеми остальными копиями.
2. ОБЩИЕ СВЕДЕНИЯ О СЕТЕВЫХ РЕСУРСАХ
Важнейшими компонентами сети являются средства организации канала передачи данных между клиентами и серверами сети. В простейшем случае канал передачи данных строится с использованием двух компонентов:- среды передачи данных (проводная или беспроводная - wire или wireless), обеспечивающей доставку информации от одного узла сети к другому;
- сетевых интерфейсных карт (network interface card, NIC), обеспечивающих взаимодействие компьютера со средой передачи данных.
Однако это не единственные средства, которые используются для соединения компьютеров и формирования самой вычислительной сети.
Объединять компьютеры в сеть и обеспечивать их взаимодействие помогают сетевые аппаратные и аппаратно-программные средства. Эти средства можно разделить на следующие группы по их основному функциональному назначению:
- соединительные разъемы (connectors);
- преобразователи (adapters);
- модемы (modems);
- повторители (repeaters);
- мосты (bridges);
- коммутаторы (switches);
- маршрутизаторы (routers).
Проводные среды передачи данных создаются с использованием кабельных соединений на основе либо металлических проводников электрических сигналов, либо волоконно-оптических проводников световых сигналов. При создании сетей чаще всего используют именно проводные среды передачи информации.
Беспроводные среды передачи информации предусматривают организацию взаимодействия между компьютерами посредством передачи световых (инфракрасных) и радиочастотных сигналов.
С помощью сред передачи данных и некоторых из аппаратнопрограммных средств обеспечения межкомпьютерного взаимодействия формируется физическая топология сети, физически соединяются все компьютеры и другие сетевые средства.
Для того чтобы серверы и клиенты сети могли общаться, они должны «уметь говорить на одном языке», должны в работе использовать один и тот же протокол обмена информацией. Протокол определяет набор правил для организации обмена информацией при всех видах взаимодействия сетевых объектов.
Существует эталонная модель взаимодействия открытых систем (Open System Interconnection Reference Model), часто называемая моделью OSI. Эта модель разработана международной организацией по стандартизации (International Organization for Standartization, ISO). Модель OSI описывает схему взаимодействия сетевых объектов, определяет перечень задач и правила передачи данных. Эта модель включает в себя семь уровней:
1 - физический (Physical);
2 - канальный (Data-Link);
3 - сетевой (Network);
4 - транспортный (Transport);
5 - сеансовый (Session);
6 - представления данных (Presentation);
7 - прикладной (Application).
В конечном счете взаимодействовать между собой должны программы (процессы, задачи), работающие на удаленных компьютерах. Правила их взаимодействия определяются на последнем - седьмом - уровне модели.
Собственно передача информации от одного компьютера другому осуществляется через среду передачи данных в форме электромагнитных импульсов — этот процесс определяется на первом уровне. Но путь текстового документа, подготовленного в к пользователю, работающему на Macintosh в другом городе, очень сложен. Представьте путь обыкновенного письма, отправленного в другую страну, и вы поймете, как много различных правил и соглашений (вплоть до правил уличного движения для грузовиков, на которых доставляют почту) задействовано для обеспечения конечного результата. Уровни модели OSI и представляют собой очень удачную попытку структурировать эти процессы.
Считается, что два компьютера могут взаимодействовать друг с другом на конкретном уровне модели OSI, если их программное обеспечение, реализующее сетевые функции этого уровня, одинаково интерпретирует одни и те же данные. В этом случае устанавливается прямое взаимодействие между двумя компьютерами, называемое «точка—точка» (рис. 3.1).
Модель OSI описывает взаимодействие двух сетевых компьютеров.
Передача данных от одного компьютера другому начинается с седьмого уровня - приложения приводят предназначенные для передачи данные в некий стандартизованный вид и передают их сетевым программам, которые и выполняют все дальнейшие процедуры.
Очень важно то, что данные, передаваемые по сети, всегда дискретны, т. е. имеют определенный размер. Но почти всегда нет возможности передать этот объем информации целиком, не разбивая его на части. Попробуйте перевести партию в 300 т песка за один раз, когда в вашем распоряжении только трехтонные грузовики. Да, можно построить конвейер между отправителем и получателем, но тогда только эти двое и смогут им пользоваться.
Передача дискретных фрагментов одновременно многим отправителям позволяет пользоваться одним и тем же путем передачи данных. Но на грузовик песок из кучи грузит экскаватор с «кубовым» ковшом, а в кучу его вообще лопатами из тридцатитонного вагона выгружали. Так и информация не раз будет разделена на фрагменты, и каждый из этих фрагментов будет передан в соответствии с правилами передачи именно таких блоков информации.
В информационной системе, созданной на основе модели OSI, данные передаются с уровня на уровень, от одной программы к другой, и при передаче на каждом уровне формируется специальный заголовок для каждого фрагмента данных. При приеме данные передаются вверх от первого уровня, и на каждом из уровней анализируется соответствующий заголовок. Два компьютера устанавливают сетевое взаимодействие только тогда, когда их программное обеспечение соответствующего уровня модели OSI может взаимодействовать между собой.
Реализации модели OSI протоколами называются стеками (наборами) протоколов. Невозможно в рамках одного конкретного протокола реализовать все задачи, возникающие в процессе сетевого взаимодействия.
Обычно задачи конкретного уровня реализуются одним или несколькими протоколами. На одном компьютере должны работать протоколы из одного стека. При этом компьютер одновременно может использовать несколько стеков протоколов. Рассмотрим задачи, решаемые на каждом из уровней модели OSI.
На этом уровне модели OSI определяются следующие характеристики сетевых компонентов: типы соединений сред передачи данных, физические топологии сети, способы передачи данных (с цифровым или аналоговым кодированием сигналов), виды синхронизации передаваемых данных, разделение каналов связи с использованием частотного и временного мультиплексирования. Реализации протоколов физического уровня модели OS1 координируют правила передачи битов, т. е. отвечают за то, чтобы каждый переданный бит мог быть принят другим узлом сети.
Физический уровень не включает описание среды передачи. Однако реализации протоколов физического уровня специфичны для конкретной среды передачи. С физическим уровнем обычно ассоциируется подключение следующего сетевого оборудования:
электрические сигналы;
соединительных разъемов среды передачи, обеспечивающих механический интерфейс для связи устройства со средой передачи;
модемов и различных преобразующих устройств, выполняющих цифровые и аналоговые преобразования.
Правила передачи бит от одного компьютера к другому определяют и правила соединения компьютеров друг с другом - физическую топологию.
Известно всего несколько базовых физических топологий.
Первой из базового набора является шинная (bus) топология (рис. 3.2).
В этом случае все сетевые устройства и компьютеры подключаются к общей шине передачи данных, в роли которой чаще всего используется коаксиальный магистральный (backbone) кабель. От каждого из устройств, подключенных к шине, сигнал распространяется в обе стороны, доходя до всех подключенных к шине устройств. Для того чтобы не произошло отражение сигнала на конце кабеля и его возвращение в шину, на концах шины ставятся специальные прерыватели (terminator). Шинная топология одно из самых ранних решений. Она была распространена благодаря простоте реализации схем доступа к шине и прокладки кабельной системы.
сегодняшний отход на второй план:
замыкание) сказывается на работе всех устройств, подключенных к ней, так как не только сегмент разрывается на два не связанных фрагмента, но и возникают условии для отражения сигналов в месте обрыва, что приводит к полному отказу всего сегмента;
локализовать место повреждения очень сложно именно из-за того, что теряет работоспособность весь сегмент;
достаточно сложно выполнять реконфигурацию сегмента, так как для включения новой станции или переноса существующей на новое место может понадобиться разорвать шину, чтобы вставить новый фрагмент кабеля или заменить имеющийся на более длинный, а это приведет к остановке всего сегмента.
Кольцевая топология предусматривает соединение всех сетевых устройств и компьютеров в физическое кольцо (ring) (рис. 3.3). В этой топологии информация всегда передается по кольцу в одну сторону от станции к станции. Каждое сетевое устройство должно иметь приемник информации на входном кабеле и передатчик — на выходном. Информация от одного узла попадает к другому, только пройдя через узлы, расположенные между ними.
Данные проходят через все устройства кольца, и каждое устройство анализирует, ему или нет адресованы эти данные.
Кольцевая физическая топология имеет как преимущества, так и недостатки: механическое повреждение среды передачи информации в одинарном кольце повлияет на работу всех устройств, однако решения, построенные с использованием двойного кольца, как правило, имеют запас по отказоустойчивости и функции самовосстановления. В сетях, построенных на двойном кольце, одна и та же информация передается по кольцу в обе стороны. В случае повреждения кабеля кольцо будет продолжать работать в режиме одинарного кольца на двойной длине (функции самовосстановления определяются используемыми аппаратными средствами).
Звездообразная топология, или «звезда» (star), предусматривает наличие центрального устройства, к которому лучами (отдельными кабелями) подключаются другие сетевые устройства и компьютеры (рис. 3.4).
Сети, построенные по звездообразной топологии, имеют одиночную точку отказа — центральное устройство. В случае выхода из строя центрального устройства все остальные участники сети не смогут обмениваться информацией между собой, поскольку весь обмен осуществится только через центральное устройство. В простейшем случае таким устройством является хаб. Хаб определяет правилa передачи информации между устройствами, подключенными к лучам «звезды»
В зависимости от типа центрального устройства, принимаемый с одного входа сигнал может транслироваться (с усилением или без) на все выходы либо на конкретный выход, к которому подключено устройство — получатель информации отказоустойчивостью. При построении сетей с такой топологией каждое из сетевых устройств или компьютеров соединяется с каждым другим компонентом сети (рис. 3.5). Эта топология обладает избыточностью, отчего кажется непрактичной Действительно, в малых сетях эта топология малоприменима, однако в больших корпоративных сетях полносвязанная топология может использоваться для соединения между собой наиболее важных узлов Рассмотренные топологии чаще всего строятся с применением кабельных соединений.
Существует еще одна топология, использующая беспроводные соединения, - сотовая (cellular). В ней сетевые устройства и компьютеры объединяются в зоны - ячейки (cell), взаимодействуя только с приемоРис. 3. передающим устройством ячейки, осуществляющим передачу информации между ячейками (рис. 3.6) Сотовая топология используется для построения больших территориально распределенных сетей.
Этот уровень определяет логическую топологию сети, правила получения доступа к среде передачи данных, решает вопросы, связанные с адресацией физических устройств в рамках логической сети и управлением передачей информации (синхронизация передачи и сервис соединений) между сетевыми устройствами.
Протоколы канального уровня реализуются для достижения следующих основных целей:
организации битов физического уровня (двоичные единицы и нули) в логические группы информации, называемые фреймами (frame) или кадрами. Фрейм является единицей данных канального уровня, состоящей из непрерывной последовательности сгруппированных битов, имеющей заголовок и окончание;
- обнаружения (а иногда и исправления) ошибок при передаче;
- управления потоками данных (для устройств, работающих на этом уровне модели OSI, например мостов);
- идентификации компьютеров в сети по их физическим адресам.
Подобно большинству других уровней, канальный уровень добавляет собственную управляющую информацию в начало пакета данных. Эта информация может включать адрес источника и адрес назначения (физический или аппаратный), информацию о длине фрейма и индикацию активных протоколов верхнего уровня.
С канальным уровнем обычно связаны такие сетевые соединительные устройства, как мосты, интеллектуальные концентраторы, коммутаторы, сетевые интерфейсные платы (сетевые интерфейсные карты, адаптеры и т д.).
Функции канального уровня подразделяются на два подуровня:
- управление доступом к среде передачи (Media Access Control, MAC);
- управление логическим соединением (Logical Link Control, LLC).
Подуровень MAC определяет такие элементы канального уровня, как логическая топология сети, метод доступа к среде передачи информации и правила физической адресации между сетевыми объектами. Аббревиатура MAC используется также при определении физического адреса сетевого устройства: физический адрес устройства (который определяется внутри сетевого устройства или сетевой карты на этапе производства) часто называют МАС-адресом этого устройства. Существует возможность программно изменить МАС-адрес большого количества сетевых устройств, особенно сетевых карт. При этом необходимо помнить, что канальный уровень модели OSI накладывает ограничения на использование МАС-адресов: в одной физической сети (сегменте большей по размеру сети) не может быть двух или более устройств, использующих одинаковые МАС-адреса. Для определения физического адреса сетевого объекта может быть использовано понятие «адрес узла» (node address). Адрес узла чаще всего совпадает с МАС-адресом или определяется логически при программном переназначении адреса.
Подуровень LLC определяет правила синхронизации передачи и сервиса соединений. Этот подуровень канального уровня тесно взаимодействует с сетевым уровнем модели OSI и отвечает за надежность физических (с использованием МАС-адресов) соединений.
Логическая топология (logical topology) сети определяет способ и правила (последовательность) передачи данных между компьютерами в сети.
Сетевые объекты передают данные в зависимости от логической топологии сети. Физическая топология определяет структуру среды или физический путь данных. Однако в некоторых случаях физическая топология не отражает способ функционирования сети. Фактический путь данных определяется логической топологией. Для передачи данных по логическому пути (который может отличаться от пути в физической среде) используются сетевые устройства подключения и схемы доступа к среде передачи. Хороший пример различий физической и логической топологий - сеть Token Ring фирмы IBM.
В локальных сетях Token Ring часто используется медный кабель, который прокладывается в виде звездообразной схемы с центральным разветвителем (хабом) (рис. 3.7). Хаб, в отличие от нормальной звездообразной топологии, не пересылает входящие сигналы всем другим подключенным устройствам.
Внутренняя схема хаба последовательно отправляет каждый входящий сигнал следующему устройству в заранее предопределенном логическом кольце, т.е. по круговой схеме (рис. 1.7). Для передачи данных каждый компьютер должен получить от центрального разветвителя маркер, дающий право передавать информацию в кольцо. Физической топологией этой сети является звезда, а логической - кольцо.
Различия между физической и логической топологиями ярко проявляются также в сети Ethernet. Физическая сеть может быть построена по топологии звезды (рис 3.8) с использованием медных кабелей и центрального хаба. Однако технология Ethernet предусматривает передачу информации от одного компьютера всем остальным, находящимся в сети.
Хаб должен ретранслировать сигнал, принятый с одного nopтa, на остальные порты (рис. 3.8). Образуется логическая сеть с шинной топологией.
Чтобы определить логическую топологию сети, необходимо понять, как в ней принимаются сигналы:
- в логических шинных топологиях каждый сигнал принимается всеми устройствами;
- в логических кольцевых топологиях каждое устройство получает только те сигналы, которые были посланы конкретно ему.
Кроме того, важно знать, каким образом сетевые устройства получают доступ к среде передачи информации.
Доступ к среде передачи Логические топологии используют специальные правила, управляющие разрешением на передачу сигналов данных другим сетевым объектам. Процесс управления называется доступом к среде передачи данных. Представим себе сеть, в которой всем устройствам позволено функционировать безо всяких правил получения доступа к среде передачи.
Если бы все устройства передавали сигналы по мере готовности данных, эти передачи иногда совпадали бы во времени. В результате наложения сигналы исказились бы и произошла бы потеря передаваемых данных. Такая ситуация называется коллизией (collision). Коллизии не позволяют организовать надежную и эффективную передачу информации между сетевыми объектами (рис. 3.9).
Коллизии распространяются на физические сегменты сети, к которым подключаются сетевые объекты. Такие соединения образуют единое пространство коллизий (collision space), в котором влияние коллизий распространяется на всех ее участников. Для уменьшения размеров пространств коллизий путем сегментации физической сети можно использовать мосты и другие сетевые устройства, обладающие функциями фильтрации трафика на канальном уровне.
Сеть не может нормально работать до тех пор, пока все ее объекты не смогут контролировать коллизии, управлять ими, устранять или хотя бы ослаблять их влияние. Снижать число коллизий или интерференции (наложения) одновременных сигналов можно различными методами.
Существуют стандартные методы доступа к среде передачи, описывающие правила, в соответствии с которыми осуществляется управление разрешением на передачу информации для сетевых устройств:
состязание, передача маркера и опрос. Перед тем как выбрать протокол, в котором реализован один из методов доступа к среде передачи данных, следует обратить особое внимание на следующие факторы:
- характер передач - непрерывный или импульсный;
- количество передач данных;
- необходимость передачи данных в строго определенные интервалы времени;
- количество активных устройств в сети.
Каждый из этих факторов в сочетании с их преимуществами и недостатками поможет определить, какой из методов доступа к среде передачи является наиболее подходящим для конкретной сети.
Состязание. Системы на основе состязания (конкуренции - contention) предполагают, что доступ к среде передачи реализуется на основе принципа «первым пришел – первым обслужен». Другими словами, каждое сетевое устройство борется за контроль над средой передачи. Системы, использующие метод состязания, разработаны таким образом, чтобы все устройства в сети могли передавать данные только по мере надобности. Эта практика, в конечном счете, приводит к частичной или полной потере данных, потом у что в действительности коллиз ии все же происходят. По мере добавления к сети новых устройств количество коллизий может возрастать в геометрической прогрессии. Увеличение количества коллизий снижает производительность сети, а в случае полного насыщения среды передачи информации - снижает работоспособность сети до нуля.
Для уменьшения количества коллизий разработаны специальные протоколы, в которых реализована функция прослушивания среды передачи информации до начала передачи данных станцией. Если прослушивающая станция обнаруживает передачу сигнала (от другой станции), то она воздерживается от передачи информации и будет пытаться повторить ее позже. Эти протоколы называются протоколами множественного доступа с контролем несущей (Carrier Sense Multiple Access, CSMA). Протоколы CSMA значительно уменьшают число коллизий, но не устраняют их полностью.
Коллизии происходят, когда две станции опрашивают кабель, не обнаруживают никаких сигналов, решают, что среда передачи данных свободна, а затем одновременно начинают передачу данных.
Примерами таких состязательных протоколов являются:
коллизий (Carrier Sense Multiple Access/Collision Detection, CSMA/CD);
коллизий (Carrier Sense Multiple Access/Collision Avoidance, CSMA/CA).
Протоколы CSMA/CD. Протоколы CSMA/CD не только прослушивают кабель перед передачей, но также обнаруживают коллизии и инициализируют повторные передачи. При обнаружении коллизии станции, передававшие данные, инициализируют специальные внутренние таймеры случайными значениями. Таймеры начинают обратный отсчет, и при достижении нуля станции должны попытаться повторить передачу данных. Поскольку таймеры были инициализированы случайными значениями, то одна из станций будет пытаться повторить передачу данных раньше другой. Соответственно вторая станция определит, что среда передачи данных уже занята, и дождется ее освобождения.
Примерами протоколов CSMA/CD являются Ethernet version (Ethernet_II, разработанный в корпорации DEC) и IEEE802.3.
Протоколы CSMA/CA используют такие схемы, как доступ с квантованием времени (time slicing) или посылка запроса на получение доступа к среде. При использовании квантования времени каждая станция может передавать информацию только в строго определенные для этой станции моменты времени. При этом в сети должен реализовываться механизм управления квантами времени. Каждая новая станция, подключаемая к сети, оповещает о своем появлении, тем самым инициируя процесс перераспределения квантов времени для передачи информации. В случае использования централизованного управления доступом к среде передачи каждая станция формирует специальный запрос на передачу, который адресуется управляющей станции. Центральная станция регулирует доступ к среде передачи для всех сетевых объектов. Примером CSMA/CA является протокол LocalTalk фирмы Apple Computer.
Основными преимуществами доступа к среде с помощью метода состязания являются:
- относительно простое и производительное программное обеспечение;
- немедленный и полный контроль над средой передачи, пока другие сетевые устройства не имеют к ней доступа.
Главные недостатки данного метода заключаются в следующем:
- время доступа непредсказуемо (случайно);
- невозможно использование приоритетов для более быстрого доступа некоторых устройств;
увеличиваться в геометрической прогрессии.
Системы на основе метода состязания больше всего подходят для использования при импульсном трафике (при передаче больших файлов) в сетях с относительно небольшим количеством пользователей.
Системы с передачей маркера. В таких системах (token passing) небольшой фрейм (маркер) передается в определенном порядке от одного устройства к другому (рис. 3.10). Маркер - это специальное сообщение, которое передает временное управление средой передачи устройству, владеющему маркером. Передача маркера распределяет управление доступом между устройствами сети.
Каждое устройство знает, от какого устройства оно получает маркер и какому устройству его следует передать. Обычно этими устройствами являются ближайшие соседи владельца маркера. Каждое устройство периодически получает контроль над маркером, выполняет свои действия (передает информацию), а затем передает маркер для использования следующему устройству. Протоколы ограничивают время контроля над маркером каждым устройством.
Существует несколько протоколов передачи маркера. Стандартами локальных сетей, использующих передачу маркера, являются IEEE 802.4 Token Bus и IEFE 802.5 Token Ring. В сети Token Bus используются управление доступом с передачей маркера и физическая или логическая шинная топология, в то время как в сети Token Ring используется управление доступом с передачей маркера и физическая или логическая кольцевая топология. Еще одним стандартом передачи маркера (для волоконнооптических JIC) является распределенный волоконно-оптический интерфейс (Fiber-distributed data interface - FDDI).
Главные преимущества описанного метода доступа к среде передачи заключаются в том, что передача маркера' - является детерминированной, так как создает предсказуемые загрузку и запаздывание;
- обеспечивает более быстрый и надежный доступ к среде передачи благодаря возможности назначения передачам данных приоритетов;
- устраняет коллизии и может обеспечить наивысшую из возможных в условиях высокой загрузки пропускную способность.
Основные недостатки доступа к среде передачи с помощью метода передачи маркера состоят в том, что для его реализации:
- требуется применение на всех устройствах относительно сложного интеллектуального программного обеспечения;
- необходима настройка параметров программного обеспечения каждый раз при добавлении устройства в среду передачи или изъятии из нее;
- требуется некоторое дополнительное контролирующее устройство для обнаружения неисправностей и восстановления работоспособности.
Сети с передачей маркера следует использовать при наличии зависящего от времени приоритетного трафика типа цифровых аудио- или видеоданных или же при очень большом количестве пользователей.
Ни метод состязания, ни метод передачи маркера при доступе к среде передачи не дают радикального превосходства с точки зрения производительности. Тем не менее, в определенных обстоятельствах и тот, и другой способы могут продемонстрировать превосходство в производительности. Реальная производительность зависит от уровня загрузки сети и особенностей передаваемых данных.
Вообще говоря, при большой нагрузке (уровни трафика высоки), метод передачи маркера обеспечивает высокую сетевую производительность. С другой стороны, благодаря ограничению непроизводительных затрат в условиях малой нагрузки метод состязания может превосходить по быстродействию метод передачи маркера.
Опрос (polling) - это метод доступа, при котором специально выделенное устройство (называемое контроллером, первичным или мастерустройством) служит арбитром доступа к среде. Это устройство опрашивает остальные устройства (вторичные) в некотором предопределенном порядке, чтобы узнать, есть ли у них информация для передачи. Чтобы получить данные, первичное устройство направляет вторичному соответствующий запрос, а полученные данные направляет устройству-получателю. Затем первичное устройство запрашивает другое вторичное устройство и принимает данные от него и т. д. Протокол ограничивает количество данных, которое может передать после запроса каждое вторичное устройство.
Доступ к среде методом опроса предоставляет следующие преимущества:
- централизованный доступ к каналу, что обеспечивает больший контроль над сетью;
- максимальное и минимальное время доступа и уровень данных в канале предсказуемы и фиксированы (детерминированы);
- для обеспечения скорейшего доступа могут быть назначены приоритеты;
- позволяет полностью использовать возможности среды передачи за счет устранения коллизий.
Главные недостатки доступа к среде методом опроса:
неприемлемыми для некоторых приложений;
- пропускная способность значительно снижается из-за уведомлений и подтверждений или прослушивания сообщений;
- предполагает большие, по сравнению с другими методами доступа к среде передачи, непроизводительные расходы.
Опросные системы идеальны для сетевых устройств, чувствительных ко времени, используемых, например, при автоматизации оборудования.
Распознаются объекты вычислительной сети с помощью адресации.
Канальный уровень имеет дело только с физическими адресами устройств (иногда называются также МАС-адресами). Физические адреса устройств — это уникальные адреса оборудования. Чаще всего они назначаются производителями оборудования, которые используют адреса, закрепленные за ними стандартизирующей организацией. Формат адреса зависит oт используемого метода доступа к среде передачи.
Хотя сетевые компьютеры могут быть идентифицированы по их физическим адресам, фактическая доставка данных в локальной сети обычно осуществляется передачей фрейма всем сетевым устройствам.
Каждое устройство читает физический адрес фрейма, и если его физический адрес соответствует адресу во фрейме, забирает данные. Bce другие устройства игнорируют остальную часть фрейма. Физические адреса устройств используются мостами для выборочного повтора сигналов данных на раздельных сегментах среды передачи.
Синхронизация передачи. Вычислительные сети структурируют биты, организуя их в группы, называемые символами, байтами, октетами или фреймами. В дополнение к синхронизации бит-временных интервалов сетевые компьютеры должны координировать передачу фреймов, для чего используются асинхронный, синхронный и изохронный методы.
Метод асинхронной передачи (asynchronous transmission) возлагает поддержку собственных внутренних генераторов на передатчик и приемник.
Эти два устройства используют одинаковую синхронизацию, но не синхронизируют свои тактовые генераторы.
Асинхронные устройства посылают каждый фрейм отдельно, используя метод асинхронной синхронизации битов (рис. 3.11). Каждый фрейм начинается стартовым и заканчивается стоповым битами, обозначающими начало и конец потока данных соответственно. Кроме того, эти биты указывают, когда приемнику следует определять присутствие битов.
При передаче фрейма полностью игнорируются другие передачи.
Поскольку строки битов относительно короткие, ошибки синхронизации между тактами двух устройств не вызывают ошибки распознавания начала фрейма у принимающего устройства. Однако при асинхронной передаче возможны поразрядные ошибки. Для обнаружения ошибок в конец каждого байта добавляют дополнительный бит, называемый паритетным битом, или битом контроля. Для обнаружения ошибок может проводиться контроль по четности (even parity) или по нечетности (odd parity). При контроле по четности число посланных единичных битов, включая контрольный, должно быть четным, а при контроле по нечетности нечетным. Приемник и передатчик должны согласовывать контрольную сумму. Главная проблема такого контроля заключается в возможности одновременного искажения нескольких битов, которое не может быть обнаружено и, тем более, исправлено.
Преимуществами применения асинхронной передачи являются:
- несложная технология;
- недорогая аппаратура.
Недостатки заключаются в следующем:
- обычно 20-30% времени при каждой передаче непроизводительно теряются на работу с фреймами и обнаружение ошибок;
- искажение нескольких битов делает невозможным обнаружение ошибок;
- медленная по сравнению с возможностями асинхронной передачи скорость.
Метод синхронной передачи (synchronous transmission) требует, чтобы взаимодействующие устройства могли синхронизировать передачу (или фреймы). Это может быть реализовано с помощью либо отдельных битовых строк или синхронизирующих или управляющих символов, либо отдельного синхронизирующего канала, зарезервированного за тактовым генератором.
Такой тип передачи часто применяется при генерации символов через случайные интервалы.
Оба эти метода указывают, с какого бита начинается байт или фрейм, и приемник узнает момент, когда требуется начинать прием данных и считать биты, чтобы заполнить байт или фрейм. Для поддержки работы с фреймами, когда данные не передаются, системы синхронной передачи используют биты заполнения (рис. 3.12). Передатчик при этом может поддерживать целостность синхронизации передачи.
Поскольку и передатчик, и приемник используют один и тот же тактовый генератор, синхронные передачи лучше, чем асинхронные, противостоят ошибкам синхронизации. Для обнаружения ошибок часто используется метод контроля циклическим избыточным кодом (Cycl i c Redundancy Check - CRT). Процесс CRC обрабатывает блок данных с помощью специального алгоритма. Результат вычисления (CRC) присоединяется к блоку данных до начала передачи. Принимающая сторона использует тот же самый алгоритм, и его результаты сравниваются с полем CRC. Любое различие может быть истолковано как повреждение фрейма при передаче. CRC менее уязвим по отношению к множественным разрядным ошибкам, чем асинхронные методы обнаружения ошибок. Этот метод наиболее эффективен для передачи больших блоков данных Преимущества применения синхронной передачи заключаются в том, что она:
- эффективнее, чем асинхронная;
- обеспечивает высокую скорость передачи;
- лучше обнаруживает ошибки.
Недостатком синхронной передачи является то, что требуется более сложная и дорогая аппаратура как на передающей, так и на принимающей стороне.
При изохронном методе передачи (Isochronous fransmission) для создания временных слотов используют тактовые генераторы передачи с фиксированной частотой. Тактовый сигнал генерируется выделенным сетевым устройством и передается на все другие устройства в сети.
При использовании предписанных правил доступа к среде передачи сетевые устройства контролируют сеть на предмет наличия свободного пространства внутри слотов и по мере необходимости вставляют туда данные. В каждый слот можно вставить множество фреймов, вплоть до его заполнения. При использовании изохронного метода передачи тактовый генератор обеспечивает тактовую частоту специальным выделенным устройством, которое не участвует в процессе передачи данных. От метода асинхронной передачи изохронный метод отличается тем, что тактовый сигнал не предусматривается в каждом фрейме. А в отличие от метода синхронной передачи тактовый сигнал не обеспечивается отправителем в начале строки.
Преимущества метода изохронной передачи в том, что уровни передачи гарантированы и детерминированы и метод требует исключительно малых накладных расходов. Однако для его реализации необходим устойчивый к сбоям внешний тактовый генератор.
Канальный уровень обеспечивает сервис соединений. Существует три типа сервиса соединений:
- сервис без подтверждения и без установления соединений (unacknowledged connectionless) - посылает и получает фреймы без управления потоком и без контроля ошибок или последовательности пакетов;
- сервис, ориентированный на соединение (connection-oriented), обеспечивает управление потоком, контроль ошибок и последовательности пакетов посредством выдачи квитанций (подтверждений);
- сервис с подтверждением без установления соединения (acknowledged connectionless) - использует квитанции для управления потоком и контроля ошибок при передачах между двумя узлами сети.
Сервис соединений использует подтверждения, или квитанции (acknowledgment), представляющие собой специальные сообщения, которые подтверждают факт приема фрейма или пакета данных. Подтверждения используются для управления потоком данных LLC-уровня и для контроля ошибок.
Управление потоком данных LLC-уровня. Сетевые устройства различаются скоростями передачи данных, возможностями их хранения и обработки. Правила управления потоком данных (flow control) регулируют количество данных, которое может быть передано за определенное время.
Правила позволяют более медленным устройствам замедлять более быстрые.
Существуют две стратегии управления потоком данных. Оконное управление потоком данных (window flow control) организует буфер или окно, в которое может быть помещено определенное количество фреймов данных. Оконное управление потоком данных может быть двух типов:
статическое и динамическое.
Протоколы статического оконного управления (Static window) потоком данных могут использовать только фиксированный размер окна.
Посылающее приложение собирает различные фреймы данных, назначает каждому его временный номер в окне и отправляет фреймы в среду передачи. Когда получающее приложение принимает фрейм, оно посылает обратно подтверждающее сообщение, в котором содержится информация о том, что фрейм прибыл и получатель готов к приему следующего пронумерованного фрейма. Если посылающее приложение отправило все фреймы, оно должно дождаться подтверждения получения одного из назначенных номеров, прежде чем сможет отравить другой фрейм с тем же номером.
Иногда оказывается более эффективным разрешить сетевым устройствам корректировать размер окна. Это называется динамическим (dynamic), плавающим (floating) или скользящим (sliding) оконным управлением потоком данных Допустимое количество ожидающих обработки фреймов изменяется в соответствии с текущим состоянием приемника. Когда буфер приемника превышает определенный уровень, приемник посылает «тормозной» пакет (choke packet). Этот пакет сообщает отправителю о необходимости замедлить передачу. После удовлетворения требования «тормозного» пакета посылающее приложение медленно увеличивает скорость передачи до тех пор, пока не будет послан следующий «тормозной» пакет. Таким образом, размер окна постоянно корректируется вверх или вниз.
Управление с гарантированным уровнем потока данных (guaranted rate flow control) настраивается до начала передачи данных. Посылающее и принимающее приложения согласуют приемлемый уровень передачи, и этот уровень поддерживается в течение всего диалога.
Контроль ошибок (error control) LLC-уровня сводится только к уведомлению о потерянных или перемешанных фреймах. Возможны две ситуации контроля ошибок LLC-уровня:
- произошел сбой при приеме пакета по указанному адресу назначения Если посылающее приложение не получило подтверждения или получило отрицательное- подтверждение - NAK при использовании сервиса, ориентированного на соединение или сервиса с подтверждением без установления соединения, отправитель предполагает, что произошла ошибка, и пытается осуществить повторную передачу;
- контрольные суммы не совпадают. При приеме фрейма приемник вычисляет контрольную сумму и сравнивает ее со значением, переданным отравителем. Если два значения не совпадают, значит, ошибка в данных и приемник может запросить повторную передачу фрейма.
Подуровень LLC канального уровня обеспечивает возможность одновременного использования нескольких сетевых протоколов (из разных стеков протоколов) при работе через один сетевой интерфейс. Другими словами, если в компьютере установлена только одна сетевая карта, но есть необходимость работать с различными сетевыми сервисами от разных производителей, то клиентское сетевое программное обеспечение именно на подуровне LLC обеспечивает возможность такой работы.
Сетевой уровень определяет правила доставки данных между логическими сетями, формирование логических адресов сетевых устройств, определение и выбор маршрута, сервис соединений, функционирование шлюзов (gateways).
Главной целью сетевого уровня является решение задачи перемещения (доставки) данных в заданные точки сети. Это перемещение похоже на перемещение, происходящее на канальном уровне модели OSI, где для передачи данных используется физическая адресация устройств. Однако адресация на канальном уровне относится только к одной логической сети.
Сетевой уровень описывает методы и средства передачи информации между многими независимыми (и часто разнородными) логическими сетями, которые, объединяясь, формируют одну большую сеть. Такая сеть называется объединенной сетью (internetwork), а процессы передачи информации между сетями — межсетевым взаимодействием (internetwoking) С помощью физической адресации на канальном уровне данные доставляются всем устройствам, входящим в одну логическую сеть. Каждое сетевое устройство, каждый компьютер определяют назначение принятых данных. Если данные предназначены компьютеру, он их обрабатывает, если же нет — игнорирует.
В отличие от канального, на сетевом уровне можно выбирать конкретный маршрут в объединенной сети и избегать посылки данных в те логические сети, куда данные не адресованы. Это осуществляется путем коммутаций, адресации на сетевом уровне и с использованием алгоритмов маршрутизации. Сетевой уровень также отвечает за обеспечение правильных маршрутов для движения данных через объединенную сеть, состоящую из разнородных сетей.
Элементы и методы реализации сетевого уровня определяются следующими условиями:
- все логически отдельные сети должны иметь уникальные сетевые адреса;
- коммутация определяет, как устанавливаются соединения через объединенную сеть;
- должна существовать возможность реализовать маршрутизацию так, чтобы компьютеры и маршрутизаторы определяли наилучший путь прохождения данных через объединенную сеть;
- сеть будет выполнять различные уровни сервиса соединений в зависимости от ожидаемого в рамках объединенной сети количества ошибок.
На этом уровне модели OSI работают маршрутизаторы и некоторые из коммутаторов.
Сетевой уровень определяет правила формирования логических адресов сетевых объектов (logical network address) и адресов сервисов (service address) (рис. 3.13). В рамках большой объединенной сети каждый сетевой объект должен обладать уникальным логическим адресом. В формировании логического адреса участвуют два компонента: логический адрес сети, общий для всех объектов сети, и логический адрес сетевого объекта, уникальный для этого объекта. При формировании логического адреса сетевого объекта может использоваться физический адрес объекта либо определяться произвольный логический адрес. Использование логической адресации позволяет организовать передачу данных между разными логическими сетями.
Каждый сетевой объект, каждый компьютер может выполнять много сетевых функций одновременно, обеспечивая работу различных сервисов.
Для обращения к сервисам используется специальный идентификатор сервиса, который называется адресом сервиса, портом (port) или сокетом (socket).
логическим адресом компьютера, обеспечивающего работу сервиса. Адрес сервиса определяет конкретный программный процесс верхнего уровня или протокол. Любому компьютеру, на котором выполняется несколько сетевых приложений, может быть назначено несколько адресов сервиса.
Во многих сетях группы логических адресов и идентификаторов сервисов резервируются с целью выполнения конкретных заранее необходимости отправить данные всем сетевым объектам, отправка данных будет произведена на специальный broadcast – адрес.
Сетевой уровень определяет правила передачи данных между двумя сетевыми объектами. Эта передача может осуществляться с использованием коммутации или маршрутизации.
Различают три метода коммутации при передаче данных: коммутацию каналов, коммутацию сообщений и коммутацию пакетов.
При использовании коммутации каналов (Circuite Switching) устанавливается канал передачи данных между отправителем и получателем, который будет задействован в течение всего сеанса связи. Полный сквозной путь должен быть установлен до начала коммуникации. Компьютер, инициализирующий передачу данных, должен запросить соединение с устройством-получателем. Как только соединение установлено, это устройство выдает подтверждение о готовности к приему данных.
Преимущества метода коммутации каналов заключаются в следующем:
- формируется выделенный канал с гарантированной скоростью передачи данных;
- практически нет никаких задержек доступа к каналу после установления соединения.
Недостатки метода состоят в следующем:
- при выделении канала возможны длительные задержки, связанные с отсутствием достаточной полосы пропускания, загруженностью коммутационного оборудования или занятостью получателя;
- единый выделенный канал делает неэффективным использование среды передачи;
- выделенные каналы относительно дороги с точки зрения расхода времени, денег и используемого диапазона частот.
В отличие от коммутации каналов, коммутация сообщений (Message switching) (рис. 3.14) не создает выделенного пути на все время диалога. При использовании метода коммутации каналов диалоги делятся на сообщения.
К каждому сообщению добавляется собственный целевой адрес, а затем оно передается через сеть от устройства к устройству. Промежуточные устройства получают целые (не разбитые на части) сообщения, сохраняют их, а затем при освобождении канала связи передают следующему устройству. Этот тип функционирования сети иногда называют «сохранить и передать дальше» (store-and-forward). Устройством коммутации сообщений обычно является специализированный компьютер. Для временного хранения поступающих сообщений (зачастую довольно длинных) требуется достаточно емкая память. Этот тип коммутации вносит задержку, обусловленную временем поиска следующего устройства и временем сохранения и ретрансляции сообщения. Коммутация сообщений, или методика «сохранить и передать дальше», хорошо подходит для передачи сообщений электронной почты и организации электронного документооборота.
Преимущества метода коммутации сообщений заключаются в следующем:
- в отличие от метода коммутации каналов, пропускную способность сети могут совместно использовать большое количество устройств;
- временное хранение сообщений может уменьшить перегрузку при интенсивном трафике;
- низкоприоритетные сообщения могут быть задержаны и вначале посланы сообщения с более высоким приоритетом;
- с помощью широковещательных адресов одно сообщение может быть послано во многие пункты назначения;
- получателю не нужно присутствовать при отправке сообщения, что особенно важно при общении абонентов, находящихся в разных часовых поясах.
Недостатки метода заключаются в следующем:
- в несовместимости со многими приложениями реального времени, такими как аудио- и видео коммуникации;
- коммуникация часто оказывается дорогостоящей, поскольку для хранения потенциально длинных сообщений требуются диски большой емкости.
При использовании коммутации пакетов (Packet Switching) преимущества двух предыдущих методов объединяются. Каждое большое сообщение разбивается на небольшие части, называемые пакетами. Каждый пакет помечен соответствующими адресами источника, места назначения и промежуточных узлов. Пакеты имеют строго определенную максимальную длину и могут быть сохранены в оперативной памяти, а не на жестких дисках, что уменьшает время доступа и снижает требования к емкости дисков. Для каждого из пакетов определяется наилучший в этот момент времени путь через объединенную сеть. Части одного сообщения могут прийти к получателю в разное время, и только после того, как все части будут собраны вместе, получатель может работать с полученными данными.
Существуют две разновидности коммутации пакетов коммутация дейтаграммных пакетов и коммутация пакетов с помощью виртуальных каналов.
Коммутация дейтаграммных пакетов (Datagram packet switching) похожа на коммутацию сообщений в том смысле, что каждое сообщение является самостоятельной единицей с полной адресной информацией.
Дейтаграммы могут проходить через сеть множеством возможных путей.
Таким образом, повышается вероятность того, что порядок прихода пакетов может быть нарушен, поэтому каждому пакету присваивают порядковый номер. Дейтаграммы направляются наиболее подходящим путем (рис. 3.15).
Каждое устройство выбирает наилучший (на данный момент) путь до следующего узла. На приемном устройстве исходное сообщение воссоздается: пакеты выстраиваются в соответствии с их порядковыми номерами. Такой тип коммутации используется в ЛС с многоточечной физической топологией.
Коммутация пакетов с помощью виртуальных каналов (Virtual Circuit Packet Switching). Виртуальные каналы - это логические соединения между отправителем и получателем. Логическое соединение формируется между отправителем и получателем, когда они обмениваются сообщениями о начале совместного диалога. Эти сообщения позволяют отправителю и получателю согласовать такие параметры диалога, как максимальный размер сообщения, путь, который будет использован при передаче, и другие переменные для установления и поддержания диалога. Виртуальные каналы обычно подразумевают ориентированный на соединение сервис соединений. Виртуальные каналы могут быть временными, сохраняющимися на протяжении одного диалога, или постоянными, действующими все время работы передающего и принимающего компьютеров.
Главное различие между коммутацией дейтаграммных пакетов и коммутацией пакетов с помощью виртуального канала состоит в логическом соединении. Каждый виртуальный канал представляется пользователю как двухточечная связь, однако в действительности это логический путь через сетевую ассоциацию, где реализуются коммутация и контроль возможных ошибок при передаче данных от узла к узлу.
Преимущества метода коммутации пакетов состоят в том, что такая коммутация:
- эффективна по стоимости, так как устройствам не требуются емкие хранилища информации;
- уменьшает задержки при передаче;
проблемных каналов связи;
- обеспечивает оптимальное использование пропускной способности канала связи.
Недостатки метода заключаются в следующем:
- протоколы на основе метода коммутации пакетов обычно более сложны и могут увеличить стоимость реализации;
- пакеты могут теряться, и тогда требуется их повторная передача.
необходимо выбрать наилучший маршрут. Определение наилучшего пути называется маршрутизацией (routing); ее выполняют маршрутизаторы (router). Задача маршрутизаторов - определение возможных путей передачи данных, поддержание маршрутной информации, выбор наилучших маршрутов. Определение маршрута (Route Discovery) - это процесс, используемый для идентификации маршрутов и поддержки маршрутных таблиц (route table). Маршрутные таблицы - это списки, содержащие следующий переходный пункт - маршрутизатор, в который направляются пакеты по пути к целевому устройству. В маршрутные таблицы включаются сетевые адреса в пути и оценка стоимости (cost) доставки пакетов до сети назначения. Эта оценка рассчитывается с помощью алгоритмов маршрутизации (routing algorithm).
динамическим способом. При задании статической маршрутизации должны быть вручную заданы все взаимосвязи между логическими сетями, которые остаются неизменными. Динамическая маршрутизация предполагает, что маршрутизатор может сам определять новые пути от одной сети к другой либо модифицировать информацию о старых. Динамическая маршрутизация использует специальные алгоритмы маршрутизации, наиболее известными из которых являются вектор расстояния (distance vector) и состояние связи (link state). Маршрутизаторы на основе вектора расстояния компилируют и пересылают сетевые маршрутные таблицы другим маршрутизаторам, которые закреплены за тем же самым сегментом среды передачи. Каждый, маршрутизатор формирует собственную маршрутную таблицу, постоянно передавая ее соседним маршрутизаторам и объединяя таблицы, полученные от них. В первом случае маршрутизатор использует информацию о структуре сети, полученную от соседних маршрутизаторов, из вторых рук. Во втором случае маршрутизатор оперирует информацией о собственных каналах связи и взаимодействует со специальным представительским маршрутизатором для построения полной карты сети.
На выбор наилучшего маршрута чаще всего влияют такие факторы, как количество переходов через маршрутизаторы (hop count) и количество тиков (единиц времени), необходимых для достижения сети назначения (tick count).
Сервис соединений сетевого уровня работает тогда, когда сервис соединений LLC-подуровня канального уровня модели OSI не используется.
При построении объединенной сети приходится соединять логические сети, построенные с использованием различных технологий, предоставляющих разнообразные сервисы. Для того чтобы сеть могла работать, логические сети должны уметь правильно интерпретировать данные и управляющую информацию. Эта задача решается с помощью шлюза, который представляет собой устройство или прикладную программу, переводящую и интерпретирующую правила одной логической сети в правила другой.
Вообще шлюзы могут быть реализованы на любом уровне модели OSI, однако чаще всего они реализуются на верхних уровнях модели.
Транспортный уровень позволяет спрятать физическую и логическую структуры сети от приложений верхних уровней модели OSI. Приложения работают только с сервисными функциями, достаточно универсальными и не зависящими от физической и логической топологий сети. Особенности логической и физической сетей реализуются на предыдущих уровнях, куда транспортный уровень передает данные.
Транспортный уровень часто компенсирует отсутствие надежного или ориентированного на соединение сервиса соединений на нижних уровнях.
Термин «надежный» (reliable) не означает, что все данные будут доставлены во всех случаях. Тем не менее, надежные реализации протоколов транспортного уровня обычно могут подтверждать или отрицать доставку данных. Если данные не доставлены принимающему устройству правильно, транспортный уровень может осуществить повторную передачу или информировать верхние уровни о невозможности доставки. Верхние уровни могут затем предпринять необходимые корректирующие действия или обеспечить пользователя возможностью выбора.
Многие протоколы в вычислительных сетях обеспечивают пользователям возможность работы с простыми именами на естественном языке вместо сложных и тяжелых для запоминания алфавитно-цифровых адресов. Преобразование адресов в имена и обратно (Address/Name Resolution) является функцией идентификации или отображения имен и алфавитноцифровых адресов друг в друга. Эта функция может выполняться каждым объектом в сети или поставщиками специального сервиса, называемыми каталоговыми серверами (directory server), серверами имен (name server) и т. п. Следующие определения классифицируют методы преобразования адресов/имен:' • инициация потребителем сервиса;
• инициация поставщиком сервиса.
В первом случае пользователь сети обращается к какому-либо сервису по его логическому имени, не зная точного расположения сервиса.
Пользователь не знает также, доступен ли этот сервис в данный момент. При обращении логическое имя ставится в соответствие физическому имени, и рабочая станция пользователя инициирует обращение непосредственно к сервису. Во втором случае каждый сервис периодически извещает о себе всех клиентов сети. В результате каждый из клиентов в любой момент времени знает, доступен ли сервис, и может обратиться к нему непосредственно.
Методы адресации. Адреса сервиса идентифицируют конкретные программные процессы, выполняемые на сетевых устройствах. В дополнение к этим адресам поставщики сервиса отслеживают различные диалоги, которые они ведут с устройствами, запрашивающими услуги. Два различных метода диалога используют следующие адреса:
- идентификатор соединения;
- идентификатор транзакции.
Идентификатор соединения (connection identifier), также называемый ID соединения (connection ID), портом (port) или сокетом (socket), идентифицирует каждый диалог. С помощью идентификатора соединения поставщик соединения может связываться более чем с одним клиентом.
Поставщик сервиса обращается к каждому объекту коммутации по его номеру, а для координации других адресов нижнего уровня полагается на транспортный уровень. Идентификатор соединения связан с конкретным диалогом.
Идентификаторы транзакций подобны идентификаторам соединений, но они оперируют единицами меньшими, чем диалог. Транзакция состоит из запроса и ответа. Поставщики и потребители сервиса отслеживают отправление и прибытие каждой транзакции, а не диалога в целом.
устройствами, запрашивающими и поставляющими услуги. Сеансы связи контролируются посредством механизмов, которые устанавливают, поддерживают, синхронизируют и управляют диалогом между поддерживающими связь объектами. Этот уровень также помогает верхним уровням идентифицировать доступный сетевой сервис и соединиться с ним.
Сеансовый уровень использует информацию о логических адресах, поставляемую нижними уровнями, для идентификации имен и адресов серверов, необходимых верхним уровням. Сеансовый уровень также инициирует диалоги между устройствами-поставщиками сервиса и устройствами-потребителями. Выполняя эту функцию, он часто осуществляет представление или идентификацию каждого объекта и координирует права доступа к нему.
Сеансовый уровень реализует управление диалогом с использованием одного из трex способов общения: симплекс (simplex), полудуплекс (half duplex) и полный дуплекс (full duplex). Симплексное общение предполагает только однонаправленную передачу от источника к приемнику информации.
Никакой обратной связи (от приемника к источнику) этот способ общения не обеспечивает. Полудуплекс позволяет использовать одну среду передачи данных для двунаправленной передачи информации, но в каждый момент Времени информация может передаваться только в одну сторону. Полный Дуплекс обеспечивает одновременную передачу информации в обе стороны по среде передачи данных.
Администрирование сеанса связи между двумя сетевыми объектами, состоящее из установления соединения, передачи данных, завершения соединения, также выполняется на этом уровне модели OSI. После установления сеанса программное обеспечение, реализующее функции данного уровня, может проверять работоспособность (поддерживать) соединения вплоть до его завершения.
Основная задача уровня представления данных — преобразование данных во взаимно согласованные форматы (синтаксис обмена), понятные всем сетевым приложениям и компьютерам, на которых работают приложения. На этом уровне также решаются задачи компрессии и декомпрессии данных и их шифрования.
Под преобразованием понимается изменение порядка битов в байтах, порядка байтов в слове, кодов символов и синтаксиса имен файлов.
Необходимость изменения порядка битов и байтов обусловлена наличием большого количества разнообразных процессоров, вычислительных машин, комплексов и систем. Процессоры разных производителей могут по-разному трактовать нулевой и седьмой биты в байте (старшим является либо нулевой бит, либо седьмой). По-разному трактуются также байты, из которых состоят большие единицы информации - слова.
Для того чтобы пользователи различных операционных систем могли получать информацию в виде файлов с корректными именами и содержимым, этот уровень обеспечивает корректное преобразование синтаксиса файлов. Различные операционные системы по-разному работают со своими файловыми системами, реализуют разные способы формирования имен файлов. Информация в файлах также хранится в определенной кодировке символов. При взаимодействии двух сетевых объектов важно, чтобы каждый из них мог интерпретировать файловую информацию посвоему, но смысл информации оставался неизменным.
Уровень представления данных преобразует данные во взаимно согласованный формат (синтаксис обмена), понятный всем сетевым приложениям и компьютерам, на которых работают приложения. Может также сжимать и разворачивать, а также шифровать и расшифровывать данные.
Компьютеры используют различные правила представления данных с помощью двоичных нулей и единиц. Хотя все эти правила служат для достижения общей цели - представить данные, понятные человеку, в виде, стандартизирующие организации создали правила, противоречащие друг другу. Когда два компьютера, использующие различные наборы правил, пытаются связаться друг с другом, часто бывает необходимо выполнить некоторые преобразования.
Локальные и сетевые операционные системы часто шифруют данные для их защиты от несанкционированного использования. Шифрование — это общий термин, который описывает некоторые методы защиты данных.
Защита часто реализуется с помощью перемешивания данных (data scrambling), выполненного перестановкой, подстановкой или алгебраическим методом (использоваться могут как один или два, так и все три метода сразу).
Каждый из этих методов - это просто особый способ защиты данных, чтобы они были понятны только тем, кто знает алгоритм шифрования.
Шифрование данных может выполняться как аппаратно, так и программно.
Сквозное шифрование данных обычно выполняется программным способом и считается частью функций уровня представления данных. Для оповещения объектов об используемом методе шифрования обычно применяются метода: с секретным ключом и с открытым ключом.
Методы шифрования с секретным ключом используют единственный ключ. Сетевые объекты, владеющие ключом, могут шифровать и ра сшифровыва ть ка ждое сообщение. Следова тельно, ключ должен сохраняться в секрете. Ключ может быть встроен в микросхемы оборудования или установлен администратором сети. При каждом изменении ключа все устройства должны быть модифицированы (желательно не использовать сеть для передачи нового ключа).
Сетевые объекты, использующие методы шифрования с открытым ключом, обеспечиваются секретным ключом и некоторым известным значением. Объект создает открытый ключ, манипулирую известным значением посредством секретного ключа. Объект, инициирующий коммуникацию, посылает свой открытый ключ приемнику, который математически комбинирует собственный секретный ключ с переданным ему открытым ключом для установки взаимоприемлемого значения шифрования.
Владение только открытым ключом не принесет несанкционированным пользователям ощутимой пользы. Сложность результирующего ключа шифрования слишком велика, чтобы его можно было вычислить за приемлемое время. Даже знание собственного секретного ключа и чьего-то открытого ключа не слишком поможет определить его секретный ключ из-за сложности логарифмических вычислений для больших чисел.
Прикладной уровень содержит все элементы и функции, специфичные для каждого вида сетевого сервиса. Шесть нижних уровней объединяют задачи и технологии, обеспечивающие общую поддержку сетевого сервиса, в то время как прикладной уровень обеспечивает протоколы, необходимые для выполнения конкретных функций сетевого сервиса.
Серверы представляют клиентам сети информацию о том, какие виды сервиса они обеспечивают. Основные механизмы идентификации предлагаемых услуг обеспечивают такие элементы, как адреса сервиса.
Кроме того, серверы используют следующие методы представления своего сервиса: активное и пассивное представление сервиса.
При активном представлении сервиса (Active service advertisement) каждый сервер периодически посылает сообщения (включающие адреса сервиса), объявляя о своей доступности. Клиенты также могут опрашивать сетевые устройства в поисках определенного типа сервиса. Клиент сети собирают представления, сделанные серверами, и формируют таблицы доступных в настоящее время видов сервиса. Большинство сетей, использующих метод активного представления, определяют также конкретный период действия представлений сервиса. Например, если сетевой протокол определяет, что представления сервиса должны посылаться каждые пять минут, клиенты будут удалять по тайм-ауту те виды сервиса, которые не были представлены в течение последних пяти минут. По истечении таймаута клиент удаляет сервис из своих таблиц.
Серверы осуществляют пассивное представление сервиса (Passive service advertisement) регистрацией своего сервиса и адреса в каталоге. Когда клиенты хотят определить доступные виды сервиса, они просто запрашивают каталог о местоположении нужного сервиса и об его адресе.
Прежде чем сетевой сервис может быть использован, он должен стать доступным локальной операционной системе компьютера. Существует ряд методов решения этой задачи, но каждый метод может быть определен положением или уровнем, на котором локальная операционная система распознает сетевую операционную систему. Предоставляемый сервис можно классифицировать по трем категориями:
• перехват вызовов операционной системы;
• удаленный режим;
• совместная обработка данных.
При использовании перехвата вызовов ОС (ОС Cftll Interception) локальная операционная система совершенно не подозревает о существовании сетевого сервиса. Например, когда приложение DOS пытается читать файл с сетевого файл-сервера, оно считает, что файл находится на локальном накопителе. В действительности специальный фрагмент программного обеспечения перехватывает запрос на чтение файла прежде, чем он достигает локальной операционной системы (DOS), и направляет запрос сетевому файловому сервису.
В другом крайнем случае, при удаленном режиме (Remote Operation) работы, локальная операционная система знает о сети и ответственна за передачу запросов к сетевому сервису. Однако сервер ничего не знает о клиенте. Для операционной системы сервера все запросы к сервису выглядят одинаково независимо от того, являются ли они внутренними или переданы по сети.
Наконец, существуют операционные системы, знающие о существовании сети. И потребитель сервиса, и поставщик сервиса распознают существование друг друга и работают вместе, координируя использование сервиса. Этот тип использования сервиса обычно требуется для одноранговой совместной обработки данных. Совместная обработка данных подразумевает разделение возможностей обработки данных для выполнения единой задачи. Это означает, что операционная система должна знать о существовании и возможностях других систем и быть способной кооперироваться с ними для выполнения нужной задачи.
Модели OSI соответствуют практически все существующие стеки протоколов. Наибольшее распространение в настоящее время получили два стека протоколов - TCP/IP и IPX/SPX. Стек IPX/SPX полностью соответствует этой модели, а для стека ТСР/IР лучшее описание дает модель DoD (Department of Defense), разработанная при активном участии Министерства обороны США. Модель DoD имеет четыре уровня, задачи которых соответствуют задачам одного или нескольких уровней модели OSI.
Первый уровень модели DoD регламентирует физическое соединение между двумя или более сетевыми объектами, который в нотации данной модели всегда определяются словом «хост». Межсетевой уровень декларирует правила организации взаимной работы хостов, находящихся в разных сетях. На этом же уровне решаются задачи маршрутизации.