
- •1 Задачи и проблемы распределенной обработки данных.
- •2 Эволюция вычислительных сетей и систем
- •3 Классификация сетей по способам распределения данных.
- •4 Типы сетей. Сравнительная характеристика различных типов сетей.
- •5 Общие принципы построения сетей
- •6 Локальные и глобальные сети. Конвергенция сетей.
- •7 Основы организации и функционирования сетей. Топология и адресация в сетях
- •8 Сетевые операционные системы
- •9 Основные сетевые стандарты. Структура стандартов ieee 802.X
- •10. Взаимодействие открытых систем. Стандартизация сетей.
- •11. Модель взаимодействия открытых систем (osi). Уровни osi.
- •12. Средства взаимодействия процессов в сетях.
- •1. Удаленный вызов процедур
- •2. Обращение к удаленным объектам
- •3. Связь посредством сообщений
- •4. Связь на основе потоков данных.
- •13. Распределенные системы. Системы типа «клиент - сервер»
- •14. Распределенная обработка информации в системах клиент-сервер.
- •15. Одноранговые сети.
- •16. Средства идентификации и аутентификации в сетях.
- •17. Средства повышения надежности функционирования сетей
- •18. Интеграция локальных вычислительных сетей в глобальные и региональные сети.
- •20. Сетевые средства unix : основные протоколы, службы
- •22. Сетевая операционная система Novel NetWare: основные протоколы, службы.
- •24. Сетевая операционная система Microsoft Windows: основные протоколы, службы
- •26. Глобальные вычислительные сети. Интернет: Основные службы и предоставляемые услуги.
- •27. Глобальные вычислительные сети. Интернет: стандарты, перспективы развития.
- •28. Основные программные и аппаратные компоненты сети
- •29. Протоколы канального и сетевого уровней
- •30. Стек протоколов tcp/ip. Структура пакетов.
- •31. Стек протоколов ipx/spx. Структура пакетов.
- •32. Стек протоколов ibm/Microsoft.
- •33. Стек протоколов osi
- •34. Адресация в вычислительных сетях
- •35. Маршрутизация в вычислительных сетях
- •36. Межсетевое взаимодействие. Шлюзы и межсетевые экраны. Сокрытие адресов nat
- •37. Виртуальные сети vlan и vpn
- •По степени защищенности используемой среды
- •По способу реализации
- •По назначению
- •По типу протокола
- •По уровню сетевого протокола
- •38. Линия связи. Типы линий связи. Кодирование информации
31. Стек протоколов ipx/spx. Структура пакетов.
Стек IPX/SPX
Этот стек является оригинальным стеком протоколов фирмы Novell, который она разработала для своей сетевой операционной системы NetWare еще в начале 80-х годов. Протоколы Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX), которые дали имя стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньше степени, чем IPX/SPX. По количеству установок протоколы IPX/SPX лидируют, и это обусловлено тем, что сама ОС NetWare занимает лидирующее положение с долей установок в мировом масштабе примерно в 65%.
Семейство протоколов фирмы Novell и их соответствие модели ISO/OSI представлено на рисунке 1.5.
Рис. 1.5. Стек IPX / SPX
На физическом и канальном уровнях в сетях Novell используются все популярные протоколы этих уровней (Ethernet, Token Ring, FDDI и другие).
На сетевом уровне в стеке Novell работает протокол IPX, а также протоколы обмена маршрутной информацией RIP и NLSP (аналог протокола OSPF стека TCP/IP). IPX является протоколом, который занимается вопросами адресации и маршрутизации пакетов в сетях Novell. Маршрутные решения IPX основаны на адресных полях в заголовке его пакета, а также на информации, поступающей от протоколов обмена маршрутной информацией. Например, IPX использует информацию, поставляемую либо протоколом RIP, либо протоколом NLSP (NetWare Link State Protocol) для передачи пакетов компьютеру назначения или следующему маршрутизатору. Протокол IPX поддерживает только дейтаграммный способ обмена сообщениями, за счет чего экономно потребляет вычислительные ресурсы. Итак, протокол IPX обеспечивает выполнение трех функций: задание адреса, установление маршрута и рассылку дейтаграмм.
Транспортному уровню модели OSI в стеке Novell соответствует протокол SPX, который осуществляет передачу сообщений с установлением соединений.
На верхних прикладном, представительном и сеансовом уровнях работают протоколы NCP и SAP. Протокол NCP (NetWare Core Protocol) является протоколом взаимодействия сервера NetWare и оболочки рабочей станции. Этот протокол прикладного уровня реализует архитектуру клиент-сервер на верхних уровнях модели OSI. С помощью функций этого протокола рабочая станция производит подключение к серверу, отображает каталоги сервера на локальные буквы дисководов, просматривает файловую систему сервера, копирует удаленные файлы, изменяет их атрибуты и т.п., а также осуществляет разделение сетевого принтера между рабочими станциями.
SAP (Service Advertising Protocol) - протокол объявления о сервисе - концептуально подобен протоколу RIP. Подобно тому, как протокол RIP позволяет маршрутизаторам обмениваться маршрутной информацией, протокол SAP дает возможность сетевым устройствам обмениваться информацией об имеющихся сетевых сервисах.
Серверы и маршрутизаторы используют SAP для объявления о своих сервисных услугах и сетевых адресах. Протокол SAP позволяет сетевым устройствам постоянно корректировать данные о том, какие сервисные услуги имеются сейчас в сети. При старте серверы используют SAP для оповещения оставшейся части сети о своих услугах. Когда сервер завершает работу, то он использует SAP для того, чтобы известить сеть о прекращении действия своих услуг.
В сетях Novell серверы NetWare 3.x каждую минуту рассылают широковещательные пакеты SAP. Пакеты SAP в значительной степени засоряют сеть, поэтому одной из основных задач маршрутизаторов, выходящих на глобальные связи, является фильтрация трафика SAP-пакетов и RIP-пакетов.
Особенности стека IPX/SPX обусловлены особенностями ОС NetWare, а именно ориентацией ее ранних версий (до 4.0) на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Поэтому Novell нужны были протоколы, на реализацию которых требовалось минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS 640 Кбайтами) и которые бы быстро работали на процессорах небольшой вычислительной мощности. В результате, протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных сетях и не очень - в больших корпоративных сетях, так как слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека (например, для установления связи между клиентами и серверами).
Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать у нее лицензию, долгое время ограничивали распространенность его только сетями NetWare. Однако к моменту выпуска версии NetWare 4.0, Novell внесла и продолжает вносить в свои протоколы серьезные изменения, направленные на приспособление их для работы в корпоративных сетях. Сейчас стек IPX/SPX реализован не только в NetWare, но и в нескольких других популярных сетевых ОС - SCO UNIX, Sun Solaris, Microsoft Windows NT.
Структура пакетов
Протокол IPX
Протокол IPX (Internetwork Packet Exchange) обрабатывает так называемый пакет IPX, являющийся основным средством, которое используется при передаче данных в сетях NetWare. Формат пакета IPX представлен на рис 2.14.
Все поля, указанные на рис 2.14, кроме последнего (Data), образуют заголовок пакета. Особенностью формата пакета является то, что все поля заголовка содержат значения в перевёрнутом формате: по младшему адресу записывается старший байт данных.
Рассмотрим подробнее назначение отдельных полей пакета.
Поле Checksum предназначено для хранения контрольной суммы пакета или другой служебной информации. В прикладных программах обычно не используется.
2 |
Checksum |
- |
контрольная сумма |
2 |
Length |
- |
общая длина пакета |
1 |
TransportControl |
- |
счетчик пройденных маршрутизаторов |
1 |
PacketType |
- |
тип пакета |
4 |
DestNetwork |
- |
номер сети получателя пакета |
6 |
DestNode |
- |
адрес станции-получателя |
2 |
DestSocket |
- |
гнездо программы-получателя |
4 |
SourceNetwork |
- |
номер сети отправителя пакета |
6 |
SourceNode |
- |
адрес станции-отправителя |
2 |
SourceSocket |
- |
гнездо программы-отправителя |
длина |
Data |
- |
передаваемые данные |
Рис. 2.14. Структура пакета IPX
Поле Length определяет общий размер пакета вместе с заголовком. NetWare поддерживает следующие максимальные длины пакетов: Token Ring и ARCnet - 4202 байта, Ethernet - 1514 байтов. Это поле устанавливается протоколом IPX передающей станции.
Поле TransportControl служит как бы счетчиком маршрутизаторов, которые проходит пакет на своём пути от передающей станции к принимающей. В начале это поле устанавливается в 0 протоколом IPX передающей станции.
Поле PacketType определяет тип передаваемого пакета. Программа, которая передаёт пакет средствами IPX, должна записывать в это поле значение 0х04.
Поле DestNetwork определяет номер сети, в которую передаётся пакет. Устанавливается в прикладной программе. Если в поле указывается нулевое значение, то пакет предаётся в сеть (сегмент), к которой подключена станция.
Поле DestNode определяет адрес станции, которой предназначен пакет. Устанавливается прикладной программой. Если пакет предназначен всем станциям в сети (сегменте), то в поле указывается значение FFFFFFFFh.
Поле DestSocket предназначено для определения программы, которая запущена на станции-получателе и должна принять пакет. Это поле устанавливается в прикладной программе.
Поля SourceNetwork, SourceNode, SourceSocket содержат соответственно номер сети, из которой посылается пакет, адрес передающей станции и гнездо программы, которая передаёт пакет. Эти поля заполняются протоколом IPX передающей станции.
Поле Data в пакете IPX содержит передаваемые данные. Это поле формируется протоколом IPX передающей станции на основании описания блока ECB (рисунок 2.15).
Протокол IPX
Протокол SPX обрабатывает пакет SPX, формат которого представлен на рисунке 2.16.
2 |
Checksum |
- |
ПОЛЯ IPX контрольная сумма |
2 |
Length |
- |
общая длина пакета |
1 |
TransportControl |
- |
счетчик пройденных маршрутизаторов |
1 |
PacketType |
- |
тип пакета |
4 |
DestNetwork |
- |
номер сети получателя пакета |
6 |
DestNode |
- |
адрес станции-получателя |
2 |
DestSocket |
- |
гнездо программы-получателя |
4 |
SourceNetwork |
- |
номер сети отправителя пакета |
6 |
SourceNode |
- |
адрес станции-отправителя |
2 |
SourceSocket |
- |
гнездо программы-отправителя |
1 |
ConnControl |
- |
ПОЛЯ SPX управление потоком данных |
1 |
DataStreamType |
- |
тип данных в пакете |
2 |
SourceConnID |
- |
идентификатор канала отправителя |
2 |
DestConnID |
- |
идентификатор канала получателя |
2 |
SeqNumber |
- |
счётчик переданных пакетов |
2 |
AckNumber |
- |
номер следующего пакета |
2 |
AllocNumber |
- |
количество буферов для приёма |
длина |
Data |
- |
передаваемые данные |
Рис. 2.16. Структура пакета SPX
Первые десять полей пакета совпадают с заголовком пакета IPX. Рассмотрим остальные поля заголовка SPX.
Поле ConnControl содержит набор битовых флагов, управляющих передачей данных по каналу SPX.
Поле DataStreamType также состоит из однобитовых флагов, которые используются для классификации данных, передаваемых или принимаемых при помощи протокола SPX.
Поле SourceConnID содержит номер канала связи передающей программы, присвоенный протоколом SPX при создании канала связи. Полем управляет протокол SPX.
Поле DestConnID содержит номер канала связи принимающей стороны. Так как все пакеты, приходящие на один номер гнезда, могут принадлежать разным каналам связи (на одном гнезде можно открыть несколько каналов связи), то приходящие пакеты следует классифицировать по номеру канала связи. Полем управляет протокол SPX.
Поле SeqNumber содержит счётчик пакетов, переданных по каналу в одном направлении. На каждой стороне канала используется свой счётчик. При достижении значения FFFFh счётчик сбрасывается в 0, после чего процесс счёта продолжается. Содержимым поля управляет протокол SPX.
Поле AckNumber содержит номер следующего пакета, который должен быть принят протоколом SPX. Содержимым этого поля управляет протокол SPX.
Поле AllocNumber содержит количество буферов, отведенных программой для приёма пакетов. Содержимым этого поля управляет протокол SPX.