Оглавление
Модель OSI. Сравнение стеков OSI, TCP/IP, IPX/SPX, NetBIOS/SMB
2. Сравнение
стеков OSI, TCP/IP, IPX/SPX, NetBIOS/SMB
«Цель
модели состоит в том, чтобы сделать возможным открытое соединение компьютеров и
при этом свести к минимуму количество необходимых соглашений, не имеющих
прямого отношения к организации самого соединения»[1]. Это
включает соединение компьютеров от различных производителей, имеющих различные
уровни сложности и представляющих различные технологии. Модель состоит из семи
уровней, для каждого из которых определены выполняемые функции и интерфейсы. В
стандартах OSI определены лишь
правила, но не способы их реализации. Основные принципы, на которых основано
разбиение модели OSI:
·
Подходящая
степень модуляризации. Т. Е. уровней не должно быть слишком много, чтобы
разработка и реализация сети стали слишком сложными.
·
Прозрачность. То как
функционирует один из уровней должно быть полностью понятно остальным уровням.
·
Минимальное
количество информации, передаваемое интерфейсами между уровнями.
·
Чётко
определённые задачи.
·
Новый уровень должен
создаваться каждый раз, когда требуется новый уровень абстракции. Например, если
одна функция манипулирует отдельными битами, а другая группами бит, то эти
функции должны принадлежать к различным уровням.
В
результате следования этим правилам возникли следующие уровни модели:
·
Прикладной
уровень. Обеспечивает преобразование данных, специфичных для каждого приложения
·
Уровень
представления. Осуществляет преобразование данных общего характера.
·
Сеансовый
уровень. Добавляет транспортной функции удобства обращения, управляет диалогом на
протяжении установленной сессии связи.
·
Транспортный
уровень. Выполняет свободную от ошибок, ориентированную на работу с сообщениями
сквозную передачу.
·
Сетевой уровень. Обеспечивает
маршрутизацию, и управление загрузкой канала передачи, предоставляет
«необработанный» маршрут передачи, состоящий лишь из конечных точек.
·
Канальный
уровень. Осуществляет свободную от ошибок передачу по отдельному каналу связи.
·
Физический
уровень. Выполняет реальную физическую передачу бит данных.
Стек
OSI в отличие от других стандартных стеков полностью соответствует модели
взаимодействия OSI, он включает спецификации для всех семи уровней модели
взаимодействия открытых систем
Уровень OSI |
Протоколы |
Прикладной |
HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, ITMS, Modbus TCP, BACnet IP, IMAP, POP3, SMB, MFTP, BitTorrent, eD2k, PROFIBUS |
Представления |
HTTP, ASN.1,
XML-RPC, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP |
Сеансовый |
ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS |
Транспортный |
TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, STP, TFTP |
Сетевой |
IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP |
Канальный (Звена данных) |
ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, WiFi, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS |
Физический |
RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN,
T-carrier (T1, E1), модификации
стандарта
Ethernet: 10BASE-T, 10BASE2, 10BASE5, 100BASE-T (включает 100BASE-TX,
100BASE-T4, 100BASE-FX), 1000BASE-T, 1000BASE-TX, 1000BASE-SX |
На
физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также
протоколы LLC, X.25 и ISDN. Сервисы
сетевого, транспортного и сеансового уровней также имеются в стеке OSI, однако они
мало распространены. На сетевом уровне реализованы протоколы, как без
установления соединений, так и с установлением соединений. Транспортный
протокол стека OSI в соответствии с функциями, определенными для него в модели OSI, скрывает
различия между сетевыми сервисами с установлением соединения и без установления
соединения, так что пользователи получают нужное качество обслуживания
независимо от нижележащего сетевого уровня. Чтобы обеспечить это, транспортный
уровень требует, чтобы пользователь задал нужное качество обслуживания.
Определены 5 классов транспортного сервиса, от низшего класса 0 до высшего
класса 4, которые отличаются степенью устойчивости к ошибкам и требованиями к
восстановлению данных после ошибок.
Сервисы
прикладного уровня включают передачу файлов, эмуляцию терминала, службу
каталогов и почту. Из них наиболее перспективными являются служба каталогов
(стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VT), протокол
передачи, доступа и управления файлами (FTAM), протокол пересылки и
управления работами (JTM).
X.400 - это
семейство рекомендаций Международного консультативного комитета по телеграфии и
телефонии, в которых описываются системы пересылки электронных сообщений. На
сегодняшний день рекомендации X.400 являются наиболее популярным протоколом обмена
сообщениями. Рекомендации Х.400 описывают модель системы обмена сообщениями,
протоколы взаимодействия между всеми компонентами этой системы, а также
множество видов сообщений и возможности, которыми обладает отправитель по
каждому виду отправляемых сообщений.
Целью
рекомендаций X.500 является
выработка стандартов глобальной справочной службы. Процесс доставки сообщения
требует знания адреса получателя, что при больших размерах сетей представляет
собой проблему, поэтому необходимо иметь справочную службу, помогающую получать
адреса отправителей и получателей. В общем виде служба X.500 представляет собой распределенную
базу данных имен и адресов. Все пользователи потенциально имеют право войти в
эту базу данных, используя определенный набор атрибутов.
Протокол
VT решает проблему
несовместимости различных протоколов эмуляции терминалов.
Передача
файлов - это наиболее распространенный компьютерный сервис. Доступ к файлам,
как к локальным, так и к удаленным, нужен всем приложениям - текстовым
редакторам, электронной почте, базам данных или программам удаленного запуска. ISO предусматривает
такой сервис в протоколе FTAM. FTAM предусматривает средства для локализации и доступа к
содержимому файла и включает набор директив для вставки, замены, расширения и
очистки содержимого файла. FTAM также предусматривает средства для манипулирования
файлом как единым целым, включая создание, удаление, чтение, открытие, закрытие
файла и выбор его атрибутов.
Протокол
пересылки и управления работами JTM позволяет пользователям пересылать работы, которые
должны быть выполнены на хост-компьютере. Язык управления заданиями, который
обеспечивает передачу работ, указывает хост-компьютеру, какие действия и с
какими программами и файлами должны быть выполнены. Протокол JTM поддерживает
традиционную пакетную обработку, обработку транзакций, ввод удаленных заданий и
доступ к распределенным базам данных.
Layer |
Misc. examples |
TCP/IP suite |
SS7 |
AppleTalk suite |
OSI suite |
IPX suite |
SNA |
UMTS |
|
# |
Name |
||||||||
7 |
Application |
HTTP, SMTP, SMPP, SNMP, FTP, Telnet, NFS, NTP, RTP,DHCP, DNS |
|
|
|||||
6 |
Presentation |
|
ISO 8823, X.226 |
|
|
|
|||
5 |
Session |
Named Pipes, NetBIOS, SAP, SDP |
Sockets. Session establishment in TCP. SIP. (Not a separate layer with
standardized API.) |
|
ISO 8327, X.225 |
DLC? |
|
||
4 |
Transport |
|
TP0, TP1, TP2, TP3, TP4 |
|
|
||||
3 |
Network |
|
RRC (Radio Resource Control) |
||||||
2 |
Data Link |
Ethernet,
802.11
(WiFi), token ring, FDDI, PPP, HDLC, Q.921, Frame Relay, ATM, Fibre
Channel |
LocalTalk,
TokenTalk,
EtherTalk,
AppleTalk Remote Access, PPP |
IEEE 802.3 framing |
|||||
1 |
Physical |
RS-232,
V.35, V.34, I.430, I.431, T1, E1, 10BASE-T, 100BASE-TX, POTS, SONET, DSL, 802.11a,
802.11b,
802.11g,
802.11n |
|
|
Twinax |
PHY (Physical Layer) |
Так как стек TCP/IP был разработан
до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую
структуру, соответствие уровней стека TCP/IP уровням
модели OSI достаточно условно.
ISO/OSI |
TCP/IP |
|
7 Прикладной |
HTTP, FTP, Telnet,SMTP, DNS (RIP, работающий поверх UDP, и BGP, работающий поверх TCP, являются частью сетевого уровня), LDAP |
Прикладной |
6 Представительный |
||
5 Сеансовый |
||
4 Транспортный |
TCP, UDP, RTP, SCTP, DCCP (протоколы
маршрутизации, подобные OSPF, что работают поверх IP, являются частью сетевого уровня) |
Транспортный |
3 Сетевой |
IP (вспомогательные протоколы, вроде ICMP и IGMP работают поверх IP, но являются частью сетевого уровня; ARP не работает поверх IP) |
Сетевой |
2 Канальный |
Ethernet,
Token ring, и подобные |
Физический |
1 Физический |
Четвёртый уровень стека TCP/IP соответствует
физическому и канальному уровням модели OSI. Этот уровень в протоколах TCP/IP не регламентируется, но поддерживает
все популярные стандарты физического и канального уровня: для локальных каналов
это Ethernet, Token Ring, FDDI, для глобальных каналов - собственные протоколы работы на аналоговых коммутируемых
и выделенных линиях, которые устанавливают соединения типа "точка - точка"
через последовательные каналы глобальных сетей, и протоколы территориальных сетей
X.25 и ISDN. Разработана также специальная спецификация, определяющая использование технологии
ATM в качестве транспорта канального уровня.
Третий уровень занимается передачей дейтаграмм с использованием
различных локальных сетей, территориальных сетей X.25, линий специальной связи и т. п. Этот уровень соответствует сетевому
уровню эталонной модели. В качестве основного протокола сетевого уровня (в
терминах модели OSI) в стеке используется протокол IP.
Этот протокол обеспечивает сервис сетевого уровня без
установления соединения для сквозной передачи между уровнями. Его главной
обязанностью является обеспечение маршрутизации пакетов через соединённые сети.
Протокол IP является дейтаграммным протоколом.
Протокол ICMP работает поверх IP, но является частью
сетевого уровня, он предназначен для обмена информацией об ошибках между
маршрутизатором и шлюзом, системой-источником и системой-приемником, то есть
для организации обратной связи.
К уровню межсетевого взаимодействия относятся также и все
протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие
как протоколы сбора маршрутной информации RIP и OSPF.
Следующий уровень (второй) называется основным. На этом уровне
функционируют протокол управления передачей TCP и протокол дейтаграмм
пользователя UDP. Также этот уровень называют транспортным.
Первоочерёдной задачей этого уровня является надёжная
передача целого сообщения от одной конечной системы (например, хоста) к другой.
Кроме того, именно на этом уровне принимается решение о том, каким образом
передать сообщение
Протокол TCP
разработан специально для функционирования в разнообразных сетевых топологиях и
обеспечения сервиса с установлением соединений с гарантированной и
последовательной доставкой. Соединения на основе протокола TCP позволяют осуществлять одновременную передачу данных в обоих направлениях,
формируя полнодуплексный поток
Протокол UDP
предоставляет сервис быстрой доставки без установления соединения. Т.е нет ни
сервисов подтверждения доставки, ни упорядочивания, ни управления потоками.
Из-за этого протокол становится гораздо проще для работы хоста и потребляет
меньше сетевых ресурсов.
Верхний уровень (уровень 1) называется прикладным. К
прикладным относятся такие широко используемые протоколы, как протокол
копирования файлов FTP, протокол эмуляции терминала telnet, почтовый протокол
SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы
доступа к удаленной информации, и многие другие.
В частности на этом уровне функционирует служба DNS, которая позволяет преобразовывать хостам Интернет имена в IP-адреса.
Протокол передачи фалов (FTP) позволяет осуществлять доступ к удалённым хранилищам файлов,
просматривать удалённые каталоги и манипулировать файлами с удалённых хостов.
SMTP определяет протокол обмена
почтовыми сообщениями между, а HTTP
является сетевым протоколом прикладного уровня для передачи файлов. Однако
основное его назначение - передача веб-страниц (текстовых файлов с разметкой
HTML).
Протокол TCP/IP, разработанный как промежуточное
решение, де-факто стал стандартом сети Интернет.
Этот
стек является оригинальным стеком протоколов фирмы Novell, который она
разработала для своей сетевой операционной системы NetWare еще в начале 80-х
годов. Протоколы IPX и SPX, которые дали имя стеку, являются прямой адаптацией
протоколов фирмы Xerox, распространенных в гораздо меньше степени, чем IPX/SPX.
По количеству установок протоколы IPX/SPX долгое время лидировали, но в
последнее время их обогнал стек TCP/IP.
7 |
SAP |
NCP |
||
6 |
||||
5 |
||||
4 |
SPX |
|||
3 |
IPX |
RIP |
NLSP |
|
2 |
Ethernet, Token Ring,
FDDI |
|||
1 |
||||
Соответствие стека IPX/SPX эталонной модели.
На физическом
и канальном уровнях в сетях Novell используются все популярные протоколы этих
уровней (Ethernet, Token Ring, FDDI и другие).
На
сетевом уровне в стеке Novell работает протокол IPX, а также протоколы обмена
маршрутной информацией RIP и NLSP (аналог протокола OSPF стека TCP/IP). IPX
является протоколом, который занимается вопросами адресации и маршрутизации
пакетов в сетях Novell.
Транспортному
уровню модели OSI в стеке Novell соответствует протокол SPX, который
осуществляет передачу сообщений с установлением соединений.
На
верхних прикладном, представительном и сеансовом уровнях работают протоколы NCP
и SAP. Протокол NCP является протоколом взаимодействия сервера NetWare и
оболочки рабочей станции. Этот протокол прикладного уровня реализует архитектуру
клиент-сервер на верхних уровнях модели OSI.
Протокол
SAP позволяет сетевым устройствам постоянно корректировать данные о том, какие
сервисные услуги имеются сейчас в сети
Особенности
стека IPX/SPX обусловлены особенностями ОС NetWare, а именно ориентацией ее
ранних версий на работу в локальных сетях небольших размеров, состоящих из
персональных компьютеров со скромными ресурсами. Поэтому Novell нужны были
протоколы, на реализацию которых требовалось минимальное количество оперативной
памяти и которые бы быстро работали на процессорах небольшой вычислительной
мощности. В результате, протоколы стека IPX/SPX до недавнего времени хорошо
работали в локальных сетях и не очень - в больших корпоративных сетях, так как
слишком перегружали медленные глобальные связи широковещательными пакетами,
которые интенсивно используются несколькими протоколами этого стека.
Стек протоколов NetBIOS/SMB является совместным продуктом
IBM и Microsoft. Средства
NetBIOS появились в 1984 году как сетевое расширение стандартных функций
базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network
фирмы IBM, которая на прикладном уровне использовала для реализации сетевых
сервисов протокол SMB.
7 |
SMB |
6 |
|
5 |
NetBIOS |
4 |
|
3 |
|
2 |
|
1 |
Соответствие стека NetBIOS/SMB эталонной модели.
Протокол NetBIOS работает на трех уровнях модели
взаимодействия открытых систем: сетевом, транспортном и сеансовом. NetBIOS может
обеспечить сервис более высокого уровня, чем протоколы IPX и SPX, однако не
обладает способностью к маршрутизации. Таким образом, NetBIOS не является
сетевым протоколом в строгом смысле этого слова. NetBIOS содержит много
полезных сетевых функций, которые можно отнести к сетевому, транспортному и
сеансовому уровням, однако с его помощью невозможна маршрутизация пакетов, так
как в протоколе обмена кадрами NetBIOS не вводится такое понятие как сеть. Это
ограничивает применение протокола NetBIOS локальными сетями, не разделенными на
подсети. NetBIOS поддерживает как дейтаграммный обмен, так и обмен с
установлением соединений.
Протокол SMB, соответствующий прикладному и
представительному уровням модели OSI, регламентирует взаимодействие рабочей
станции с сервером. В функции SMB входят следующие операции:
·
Управление сессиями. Создание и
разрыв логического канала между рабочей станцией и сетевыми ресурсами файлового
сервера.
·
Файловый доступ. Рабочая станция
может обратиться к файл-серверу с запросами на создание и удаление каталогов,
создание, открытие и закрытие файлов, чтение и запись в файлы, переименование и
удаление файлов, поиск файлов, получение и установку файловых атрибутов,
блокирование записей.
·
Сервис печати. Рабочая станция может
ставить файлы в очередь для печати на сервере и получать информацию об очереди
печати.
·
Сервис сообщений. SMB
поддерживает простую передачу сообщений со следующими функциями: послать
простое сообщение; послать широковещательное сообщение; послать начало блока
сообщений; послать текст блока сообщений; послать конец блока сообщений;
переслать имя пользователя; отменить пересылку; получить имя машины.
Из-за большого количества приложений, которые используют
функции API, предоставляемые NetBIOS, во многих сетевых ОС эти функции
реализованы в виде интерфейса к своим транспортным протоколам. В NetWare
имеется программа, которая эмулирует функции NetBIOS на основе протокола IPX,
существуют программные эмуляторы NetBIOS для Windows NT и стека TCP/IP.