71
должны иметь одну и ту же старшую часть адреса, поэтому термину сеть на сетевом уровне можно дать еще одно, уже более формальное определение:
сеть - это совокупность узлов, сетевой адрес которых содержит один и тот же номер сети.
Сетевой уровень для адресации компьютеров использует составные числовые адреса (IP-адреса). Т.к. канальный уровень для доставки кадров использует физические адреса устройств, то на сетевом уровне осуществляется перевод числовых адресов в физические сетевые адреса и обратно.
Таким образом, сетевой уровень отвечает за деление узлов сети на группы (адресацию) и управление сетью. На этом уровне происходит маршрутизация пакетов на основе преобразования аппаратных адресов в сетевые адреса. При этом сетевой уровень не берет на себя никаких обязательств по надежности передачи данных. Сетевой уровень обеспечивает передачу пакетов на транспортный уровень.
3.4.4 Транспортный уровень
Транспортный (Transport) уровень обеспечивает доставку пакетов без ошибок и потерь, в нужной последовательности. Здесь производится разбивка передаваемых данных на блоки, которые помещаются в пакеты, и которые восстанавливаемые при приеме Дело в том, что на пути от отправителя к получателю пакеты информации,
которые сформировал сетевой уровень, могут быть искажены или утеряны. Поэтому и не только поэтому, необходимость обеспечения надежности передачи данных образовала еще появление следующего уровня модели OSI.
Транспортный уровень обеспечивает верхним уровням прикладному и сеансовому модели OSI - передачу данных с той степенью надежности, которая им требуется. Модель OSI определяет пять классов сервиса, которые предоставляет транспортный уровень. Все эти виды отличаются качеством своих услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.
При выборе средства транспортного уровня учитывается, с одной стороны, в какой степени само приложение сможет обеспечить защиту информации, а с другой стороны, насколько надежно обеспечивают передачу данных в сети нижние уровни - сетевой, канальный и физический. Так, например, если качество линий передачи связи очень высокое и вероятность возникновения ошибок, не обнаруженных протоколами более низких уровней, невелика, то пользуются более простым сервисом транспортного уровня, у которого нет всяких сложных и многочисленных проверок. Если же транспортные средства нижних уровней изначально очень ненадежны, то целесообразно обратиться к наиболее сложному сервису транспортного уровня, который работает, используя максимум средств обнаружения и устранения ошибок.
72
Остальные три верхних уровня модели решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы.
3.4.5 Сеансовый уровень
Сеансовый (Session) уровень управляет проведением сеанса связи, т.е. устанавливает соединение, поддерживает и прекращает связь.
Сеансовый уровень работает с диалогом сети (сессиями), он обеспечивает его управление: фиксирует, какая сторона сетевых "переговоров" является активной в настоящий момент, предоставляет средства синхронизации. Эти средства позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке и не начинать все с начала. Сеансовый уровень отвечает за организацию и поддержку соединений между сессиями, администрирование (распознает логические имена абонентов, контролирует предоставляемые им права доступа) и безопасность сети, предоставляет средства управления диалогом,
3.4.6 Представительный уровень
Представительный (Presentation) уровень отвечает за возможность диалога между приложениями на разных компьютерах, т.е. выполняет функции переводчика. Этот уровень имеет дело с внешним представлением данных и обеспечивает преобразование данных (кодирование, компрессия и т.п.) прикладного уровня в поток информации для транспортного уровня.
Представительный уровень имеет дело с формой представления передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных служб.
3.4.7 Прикладной уровень
Прикладной (Application) уровень является самым верхним уровенем модели OSI. Это в действительности просто набор разнообразных программных средств, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется
сообщением (message).
Существует очень большое разнообразие служб прикладного уровня. Вот в качестве примера хотя бы несколько наиболее распространенных
73
реализации файловых служб: NCP в операционной системе Novell NetWare, SMB в Windows NT, FTP. Прикладной уровень отвечает за доступ приложений в сеть. Задачами этого уровня является копирование файлов, обмен почтовыми сообщениями и управление сетью.
3.4.8 Cетезависимые и сетенезависимые уровни
После того, как рассмотрены функции всех семи уровней модели OSI, сделаем некоторые выводы.
Как вы заметили, в модели отделены программная и аппаратная часть структуры сети. Первые три уровня (нижние) - это уровни, которые работают с аппаратными средствами сети, они зависят от топологии сети, сетевого и коммуникационного оборудования. Например, замена сетевого оборудования стандарта Token Ring на стандарт Ethernet означает полную смену протоколов физического и канального уровней. Верхние три уровня очень мало зависят от технических особенностей построения сети. Вы можете перейти на другую сетевую технологию, но это не потребует никаких изменений в программных средствах верхних уровней.
Транспортный уровень занимает в модели OSI промежуточное положение: к его услугам обращаются протоколы прикладного уровня, сеансового уровня и уровня представления. Для выполнения своих функций транспортный уровень вызывает функции сетевого и канального уровня, который в свою очередь обращается к средствам физического уровня. Он скрывает все детали функционирования нижних уровней от верхних, обеспечивая надежную транспортировку сообщений.
Большинство функций двух нижних уровней модели (1 и 2) реализуются аппаратно, часть функций 2 уровня реализуется программным драйвером сетевого адаптера. Именно на этих уровнях определяется скорость передачи и топология сети, метод управления обменом и формат пакета, т.е. то , что имеет непосредственное отношение к типу сети.
Более высокие уровни 3 и 4 не работают с аппаратурой напрямую, хотя и учитывают ее особенности. Уровни 5,6,7 не имеют к аппаратуре никакого отношения, и ее замены не заметят. Что касается коммуникационного оборудования, то повторители (репитеры) и репитерные концентраторы (пассивные) связывают две сети или два сегмента сети на физическом уровне OSI, мосты на канальном уровне OSI, маршрутизаторы на сетевом (третьем уровне) OSI, шлюзы на более высоких уровнях.
Теперь нашему взгляду более четко раскрывается картина взаимодействия компьютеров в сети. Мы даже и не задумываемся, что, когда набираем в строке адреса нашего браузера, который работает в ОС Windows NT www.server.net, формируется определенное сообщение. Это сообщение последовательно опускается вниз и обрабатывается на каждом уровне модели OSI. После представительного, сетевого, сеансового и транспортного уровня сообщение - это уже четко сформированный пакет информации, который хранит адрес назначения и все необходимые атрибуты, который был обработан необходимыми средствами защиты, и направлен по
74
определенному маршруту в определенное место, в определенной сети, определенной топологии. Информация обо всем этом помещается внутрь этого же пакета, последовательно на каждом уровне, который занимался его обработкой (обрастание пакета заголовками служебной информации). Дальше канальный и физический уровни делают черную работу - передают эту информацию, в виде электромагнитных сигналов определенной формы, с определенной частотой, по определенным линиям связи, определенному узлу, определенной сети. После приема этим узлом битов данных они обрабатываются сначала физическим, затем канальным уровнем, и так далее... Каждый уровень читает инструкцию из соответствующего служебного заголовка и затем отбрасывает его, в итоге запрос (по крайней мере, теоретически) попадает на самый верхний уровень модели OSI удаленного узла, там формируется ответ, посылается по всем уровням к нашему компьютеру (к его соответствующим уровням), и мы в результате на экране видим страничку удаленного сервера.
3.5. Стандартные стеки коммуникационных протоколов
Модель OSI четко описывает процедуру взаимодействия двух узлов, т.е. приняты соглашения для всех уровней, начиная от самого низкого - уровня передачи битов - до самого высокого, реализующего сервис для пользователей сети. Формализованные правила, которые определяют, в какой последовательности и в каком формате должны обмениваться сообщениями сетевые компоненты, принадлежащие одному уровню, но в разным узлам, называются протоколом.
Каждая пара соответствующих уровней двух узлов также взаимодействует друг с другом и также по установленным определенным правилам. С помощью четко определенных правил и стандартизованных форматов сообщений взаимодействую друг с другом соседние уровни в одном узле. Эти правила называют интерфейсом.
В сущности, протокол и интерфейс выражают одно и тоже, но за ними закрепили разные области действия. Таким образом, протоколы занимаются определением правил взаимодействия модулей одного уровня в разных узлах, и интерфейсы - модулей соседних уровней в одном узле.
Каждый уровень должен иметь средства, которые смогут обрабатывать, во-первых, свой собственный протокол, а во-вторых, интерфейсы с соседними уровнями. Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов.
Коммуникационные протоколы могут быть реализованы как программно, так и аппаратно. Протоколы нижних уровней реализуются комбинацией программных и аппаратных средств, а протоколы верхних уровней - чисто программными средствами. Протоколы реализуются не только компьютерами, но и другими сетевыми устройствами - концентраторами, мостами, коммутаторами, маршрутизаторами и т. д. Связь
75
компьютеров в сети осуществляется не напрямую, а через различные коммуникационные устройства. В зависимости от типа устройства в нем должны быть встроенные средства, реализующие тот или иной набор протоколов.
В настоящее время в сетях используется довольно большое количество стеков коммутационных протоколов. Наиболее популярные стеки: TCP/IP, IPX/SPX(фирмы Novell), NetBIOS/SMB(Microsoft), DECnet(Digital), SNA(фирмы IBM) и OSI.
Все эти стеки, кроме SNA (System Network Architecture) на нижних уровнях - физическом и канальном, - используют одни и те же хорошо стандартизованные протоколы, которые позволяют использовать во всех сетях одну и ту же аппаратуру. Зато на верхних уровнях все стеки работают по своим собственным протоколам. Эти протоколы часто не соответствуют рекомендуемому моделью OSI разбиению на уровни. В частности, функции сеансового и представительного уровня, как правило, объединены с прикладным уровнем. Такое несоответствие связано с тем, что модель OSI появилась как результат обобщения уже существующих и реально используемых стеков, а не наоборот.
Рассмотрим особенности каждого из используемых в сети стеков коммуникационных протоколов.
3.5.1. Стек TCP/IP
Протоколы TCP/IP специально разработаны для глобальных сетей и для межсетевого взаимодействия. TCP – Transmission Control Protocol –
протокол гарантированной доставки данных разбитых на последовательность пакетов. IP – Internet Protocol – протокол передачи данных.
Они рассчитаны на низкое качество каналов связи, на большую вероятность ошибок и разрывов связей. Этот стек протоколов принят во всемирной компьютерной сети Internet, значительная часть абонентов, которой подключается по коммутируемым линиям (то есть обычным телефонным линиям). Протокол TCP/IP также поддерживает маршрутизацию. На его основе работают протоколы более высоких уровней,
такие как SMTP(Simple Mail Transfer Protocol) – электронная почта, FTP (File Transfer Protocol) – протокол передачи файлов, SNMP (Simple Network Management Protocol) – простой протокол управления сетью. Недостаток протокола TCP/IP - низкая скорость работы.
Стек протоколов TCP/IP на нижнем уровне поддерживает все популярные стандарты физического и канального уровней. Основными протоколами стека, давшими ему название, являются протоколы TCP и IP. Эти протоколы в терминологии модели OSI относятся к сетевому и транспортному уровням соответственно.
Стек TCP/IP самый распространенный транспортный протокол вычислительных сетей. Только в сети Internet объединено около 10 миллионов компьютеров по всему миру, которые взаимодействуют друг с другом с помощью стека протоколов TCP/IP. За счет стремительного роста