Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 3(сети).doc
Скачиваний:
48
Добавлен:
11.06.2015
Размер:
128.51 Кб
Скачать

Сетевые модели

Назначение моделей

Слово "модель" имеет много значений, например: "модель — схематическое опи­сание предмета (системы, теории или явления), которое включает известные свойства предмета и может быть использовано для его дальнейшего изучения". В этом опреде­лении присутствует одно из назначений сетевых моделей: помочь нам описать и по­нять процесс сетевой коммуникации.

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

Модель OSI

В мире компьютерных сетей модель OSI (Open System Interconnection) — это "модель моделей". Она обсуждается практически в каждой книге по компьютерным сетям. Разработана эта модель Международной организацией стандартизации (International Organization for Standardization — ISO).

Структура модели OSI

Модель OSI состоит из семи уровней, каждый из которых представляет определенный этап процесса сетевой коммуникации. Семиуровневая модель OSI показана на рис. 3.2.

Протоколы, входящие в состав пакета протоколов, работают на разных уровнях.

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

Взаимодействие одноранговых уровней

Процесс коммуникации протекает следующим образом. На передающей стороне приложение создает данные, которые должны быть переданы по сети. Затем данные поступают на уровень приложений сетевого компонента операционной системы.

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

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

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

На рис. 3.4 показано, как добавляется заголовочная информация по мере продви­жения по уровням.

Обратите внимание на то, что физический уровень не добавляет заголовочную ин­формацию. Функции физического уровня не требуют этого, потому что это уровень сетевого оборудования. Его задачей является обработка электрических сигналов.

Прикладной уровень

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

FTP (File Transfer Protocol). Используется для передачи файлов между компью­терами, на которых могут быть установлены разные операционные системы или платформы. Программное обеспечение FTP-сервера выполняется на компьюте­ре, передающем файлы, а клиентская программа FTP используется для органи­зации соединения и загрузки файлов с сервера. Клиентская программа FTP, вызываемая из командной строки, включена почти во все реализации пакета протоколов TCP/IP. Широко распространены графические клиентские про­граммы FTP, например WSFTP, CuteFTP и FTP Voyager. В последних версиях Web-броузеров, таких как Microsoft Internet Explorer и Navigator/Communicator компании Netscape, тоже содержатся встроенные средства FTP.

Telnet. Используется для эмуляции терминала и для предоставления доступа к приложениям и файлам на другом компьютере. В отличие от FTP, протокол Telnet нельзя использовать для копирования файлов с одного компьютера на другой. Его можно использовать только для чтения и для выполнения прило­жений на удаленном узле. Программное обеспечение Telnet состоит из про­граммного обеспечения сервера Telnet, выполняющегося на удаленном компь­ютере, к которому предоставляется доступ, и программного обеспечения клиен­та Telnet, выполняющегося на компьютере, который получает доступ.

SMTP (Simple Mail Transfer Protocol). Представляет собой простой протокол ASCII, не ориентированный на конкретного поставщика и используемый для передачи посредством Internet электронных сообщений. Протокол SMTP ис­пользуется многими популярными программами отправки электронных сооб­щений и программами выгрузки писем из пользовательского почтового ящика на сервере (например, Post Office Protocol, текущая версия — РОРЗ, или Internet Message Access Protocol).

SNMP (Simple Network Management Protocol). Используется для получения ин­формации о сети. Можно применять с разными платформами и операционны­ми системами. Протокол SNMP входит в состав пакетов TCP/IP, IPX и OSI. В протоколе SNMP используется MIB (Management Information Base), которая представляет собой базу данных с информацией о компьютерах сети. Протокол SNMP состоит из двух частей: программного обеспечения агента, выполняю­щегося на контролируемом компьютере, и программного обеспечения управле­ния, выполняющегося на контролирующем компьютере.

Кроме перечисленных, существует довольно много других протоколов при­кладного уровня.

He следует путать приложения с протоколами под тем же именем, служащими основой этих программ. Например, существует много приложений различных по­ставщиков с именем FTP (таких, как FTP Voyager, FTP Explorer, Fetch для Macintosh и GREED для Linux). В этих программах FTP используется для переда­чи файлов, однако, кроме этого, в них включены некоторые дополнительные средства, такие как графические интерфейсы (отличающиеся в разных реализаци­ях) или драйверы поиска файлов.

Уровень представления

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

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

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

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

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

На уровне представлений работают шлюзы. Шлюз — это устройство или програм­ма, служащие точкой соединения между двумя разными сетями. Ниже приведен спи­сок наиболее распространенных шлюзов.

GSNW (Gateway Services for Netware). Программное обеспечение, поставляемое с операционными системами Windows NT и Windows 2000 Server. Позволяет клиентам сервера подучить доступ к файлам на сервере Netware компании No­vell. Этот шлюз выполняет необходимые преобразования данных между SMB (Server Message Block), используемым в системах Microsoft, и NCP (Netware Core Protocol) — протоколом разделения (совместного использования) файлов в сетях Netware.

Шлюз электронной почты. Преобразует сообщения от различных несовместимых систем электронной почты в один из общепринятых форматов Internet, напри­мер в SMTP. Это позволяет передавать сообщения, например, от компьютера Macintosh с почтовым клиентом Eudora в систему Lotus Notes в сети Netware. Несмотря на отличия систем электронной почты, сообщения успешно проходят и могут быть прочитаны.

Шлюз SNA (Systems Network Architecture). Входит в состав архитектуры IBM, используемой в мэйнфреймах, таких как AS/400. С помощью программного обеспечения шлюза SNA компьютеры локальной сети могут получить доступ к файлам и приложениям мэйнфрейма.

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

Сеансовый уровень

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

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

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

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

Что еще делает такой занятой уровень? Сеансовый уровень определяет катего­рии (приоритеты) услуг и генерирует сообщения о неполадках у себя и на выше­стоящих уровнях.

На сеансовом уровне используется два протокола.

Интерфейс NetBIOS (Network Basic Input/Output System). В режиме сеанса NetBIOS отвечает за установление соединения между двумя компьютерами, за обработку длинных сообщений и за обнаружение и устранение ошибок. На этом уровне при­ложение освобождается от необходимости учитывать все детали работы сети.

Интерфейс Winsock (Windows Sockets). Обрабатывает запросы ввода-вывода для приложений Internet в среде Windows. Интерфейс Winsock происходит от ин­терфейсных сокетов UNIX, которые использовались для установки соединения и обмена данными между двумя программными процессами на одном и том же компьютере или в сети.

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

Транспортный уровень

Этот уровень является весьма важным элементом сетевой коммуникации. На транспортном уровне выполняется несколько функций. Главная задача — обеспечение сквозного контроля ошибок. Протоколы транспортного уровня обрабатывают структу­рированные сообщения.

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

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

Протоколы с установлением логических соединений

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

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

Протоколы без установления логического соединения

К протоколам этого типа принадлежит UDP (User Datagram Protocol), входящий в состав пакета TCP/IP. Работа протоколов этого типа похожа на обычную почтовую службу. Отправляя письмо, человек полагает, что оно дойдет до адресата, однако под­тверждения того, что это действительно произошло, нет.

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

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

Разрешение имен

Еще одной обязанностью транспортного уровня является разрешение имен (узлов) компьютеров, т.е. отображение их имен на логические сетевые адреса. Как TCP/IP, так и IPX/SPX присваивают сетевым компьютерам логические имена, а для иденти­фикации компьютеров в сети используют присвоенные им логические адреса.

На транспортном уровне работает служба DNS (Domain Name System).

Порты и сокеты

В отличие от старых операционных систем (например, MS DOS), современные се­тевые операционные системы являются многозадачными. Это позволяет пользователям выполнять несколько сетевых программ одновременно. Например, пока Web-броузер обращается к Web-узлу, можно выгружать из почтового ящика электронные письма.

На транспортном уровне есть механизмы разделения ответа броузеру от приходя­щих по сети одновременно с ним электронных сообщений. Чтобы различить их, в протоколах TCP и UDP используются порты.

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

Близкая аналогия IP-адреса — название улицы и номер дома в почтовом адресе: название улицы позволяет найти нужную улицу, а номер дома — нужный дом. То же самое и в IP-адресе: адрес сети позволяет найти локальную сеть, в которую входит компьютер, а адрес компьютера — конкретный компьютер в локальной сети. Однако на компьютере может выполняться несколько приложений и нужно решить, какому из них адресовано сообщение. Это делают протоколы транспортного уровня (например, TCP или UDP), которые присваивают каждому приложению номера пор­тов, чтобы сообщение приложению А не попало к приложению Б.

Сетевой уровень

Этот уровень отвечает за доставку пакетов данных адресату. На нем выполняется маршрутизация пакетов. Сетевой уровень можно сравнить с штурманом, планирующим наиболее эффективный путь корабля, или самолета. На сетевом уровне работает большин­ство протоколов маршрутизации (рассматриваются в главе 9, "Самая глобальная сеть — Internet"). На этом уровне также обрабатываются приоритеты типов данных (основа служ­бы QoS — Quality of Service), обеспечивающие выделение сетевых ресурсов для широкопо­лосных приложений, таких как передача видеосигналов в реальном времени.

Устройства сетевого уровня

Устройства, работающие на сетевом уровне, включают маршрутизаторы и коммутаторы сетевого уровня, т.е. уровня 3. (Как вы помните, уровни нумеруются снизу, поэтому сетевой уровень имеет номер 3.)

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

Уровень 2 (канальный уровень) делится на следующие два подуровня:

MAC (Media Access Control) — управление доступом к сети;

LLC (Logical Link Control) — управление логическими связями.

МАС-адресация

Подуровень MAC работает с физическими адресами, которые называются МАС- адресами. В сетях Ethernet и Token Ring MAC-адреса представляют собой шестнадца­теричные числа, записанные в микросхему сетевого адаптера.

MAC-адрес сети Ethernet (иногда его называют адресом Ethernet) — это 12 шестна­дцатеричных цифр, каждая пара из которых отделена двоеточием (например, 17:A4:2C:43:2F:09).

Эти 12 шестнадцатеричных цифр представляют двоичное число длиной 48 бит (или 6 байт). Первые три байта содержат код производителя, присвоенный организацией