Протоколы
http://www.do.rksi.ru/library/courses/kts/tema3_4.dbk
Ключевой термин: протокол.
Протокол
(protocol) - набор правил, алгоритм обмена информацией между
абонентами сети.
Второстепенные
термины
-
Стек
протоколов (protocol stack) - это комбинация
протоколов. Каждый уровень определяет различные протоколы
для управления функциями связи или ее подсистемами. Каждому
уровню присущ свой набор правил.
-
Привязка (binding) является
установкой соответствия стека протоколов плате сетевого
адаптера.
-
Прикладные
протоколы - это протоколы, работающие на верхнем
уровне модели OSI и обеспечивающие взаимодействие приложений
и обмен данными между ними.
-
Транспортные
протоколы - это протоколы, поддерживающие сеансы
связи между компьютерами и гарантирующие надежный обмен
данных между ними.
-
Сетевые
протоколы - это протоколы, обеспечивающие услуги
связи, управляющие несколькими типами данных: адресацией,
маршрутизацией, проверкой ошибок и запросами на повторную
передачу и определяющие правила для осуществления связи в
конкретных сетевых средах.
Назначение
протоколов
Протоколы (protocols) - это правила и
технические процедуры, позволяющие нескольким компьютерам при
объединении в сеть общаться друг с другом.
Три основных момента, касающихся
протоколов.
-
Существует множество протоколов. И
хотя все они участвуют в реализации связи, каждый протокол
имеет различные цели, выполняет различные задачи, обладает
своими преимуществами и ограничениями.
-
Протоколы работают на разных
уровнях модели OSI. Функции протокола определяются уровнем,
на котором он работает.
-
Если, например, какой-то протокол
работает на Физическом уровне, то это означает, что он
обеспечивает прохождение пакетов через плату сетевого
адаптера и их поступление в сетевой кабель.
-
Несколько протоколов могут
работать совместно. Это так называемый стек, или набор,
протоколов.
Как сетевые функции распределены по всем
уровням модели OSI, так и протоколы совместно работают на
различных уровнях стека протоколов. Уровни в стеке протоколов
соответствуют уровням модели OSI. В совокупности протоколы
дают полную характеристику функциям и возможностям
стека.
Работа
протоколов
Передача данных по сети, с технической точки
зрения, должна быть разбита на ряд последовательных шагов,
каждому из которых соответствуют свои правила и процедуры, или
протокол. Таким образом, сохраняется строгая очередность в
выполнении определенных действий.
Кроме того, эти действия (шаги) должны быть
выполнены в одной и той же последовательности на каждом
сетевом компьютере. На компьютере-отправителе эти действия
выполняются в направлении сверху вниз, а на
компьютере-получателе - снизу вверх.
Компьютер-отправитель
Компьютер-отправитель в соответствии с
протоколом выполняет следующие действия:
-
разбивает данные на небольшие
блоки, называемые пакетами, с которыми может работать
протокол;
-
добавляет к пакетам адресную
информацию, чтобы компьютер-получатель мог определить, что
эти данные предназначены именно ему;
-
подготавливает данные к передаче
через плату сетевого адаптера и далее - по сетевому
кабелю.
Компьютер-получатель
Компьютер-получатель в соответствии с
протоколом выполняет те же действия, но только в обратном
порядке:
-
принимает пакеты данных из
сетевого кабеля;
-
через плату сетевого адаптера
передает пакеты в компьютер;
-
удаляет из пакета всю служебную
информацию, добавленную компьютером-отправителем;
-
копирует данные из пакетов в буфер
- для их объединения в исходный блок данных;
-
передает приложению этот блок
данных в том формате, который оно
использует.
И компьютеру-отправителю, и
компьютеру-получателю необходимо выполнять каждое действие
одинаковым способом, с тем чтобы пришедшие по сети данные
совпадали с отправленными. Если, например, два протокола будут
по-разному разбивать данные на пакеты и добавлять информацию
(о последовательности пакетов, синхронизации и для проверки
ошибок), тогда компьютер, использующий один из этих
протоколов, не сможет успешно связаться с компьютером, на
котором работает другой протокол.
Маршрутизируемые и
немаршрутизируемые протоколы
До середины 80-х годов большинство локальных
сетей были изолированными. Они обслуживали один отдел или одну
компанию и редко объединялись в крупные системы. Однако, когда
локальные сети достигли высокого уровня развития и объем
передаваемой ими коммерческой информации возрос, ЛВС стали
компонентами больших сетей.
Данные, передаваемые из одной локальной сети
в другую по одному из возможных маршрутов, называются
маршрутизированными. Протоколы, которые поддерживают передачу
данных между сетями по нескольким маршрутам, называются
маршрутизируемыми (routable) протоколами. Так как
маршрутизируемые протоколы могут использоваться для
объединения нескольких локальных сетей в глобальную сеть, их
роль постоянно возрастает.
Протоколы в
многоуровневой архитектуре
Несколько протоколов, которые работают в сети
одновременно, обеспечивают следующие операции с
данными:
-
подготовку;
-
передачу;
-
прием;
-
последующие
действия.
Работа различных протоколов должна быть
скоординирована так чтобы исключить конфликты или
незаконченные операции. Этого можно достичь с помощью
разбиения на уровни.
Стеки
протоколов
Стек протоколов (protocol stack) - это
комбинация протоколов. Каждый уровень определяет различные
протоколы для управления функциями связи или ее подсистемами.
Каждому уровню присущ свой набор правил.
V>
Так же как и уровни в модели OSI, нижние
уровни стека описывают правила взаимодействия оборудования,
изготовленного разными производителями. А верхние уровни
описывают правила для проведения сеансов связи и интерпретации
приложений. Чем выше уровень, тем сложнее становятся решаемые
им задачи и связанные с этими задачами протоколы.
Привязка
Процесс, который называется привязка,
позволяет с достаточной гибкостью настраивать сеть, т.е.
сочетать протоколы и платы сетевых адаптеров, как того требует
ситуация. Например, два стека протоколов, IPX/SPX и TCP/IP,
могут быть привязаны к одной плате сетевого адаптера. Если на
компьютере более одной платы сетевого адаптера, то стек
протоколов может быть привязан как к одной, так и к нескольким
платам сетевого адаптера.
Порядок привязки определяет очередность, с
которой операционная система выполняет протоколы. Если с одной
платой сетевого адаптера связано несколько протоколов, то
порядок привязки определяет очередность, с которой будут
использоваться протоколы при попытках установить соединение.
Обычно привязку выполняют при установке операционной системы
или протокола. Например, если TCP/IP - первый протокол в
списке привязки, то именно он будет использоваться при попытке
установить связь. Если попытка неудачна, компьютер попытается
установить соединение, используя следующий по порядку протокол
в списке привязки.
Привязка (binding) не ограничивается
установкой соответствия стека протоколов плате сетевого
адаптера. Стек протоколов должен быть привязан (или
ассоциирован) к компонентам, уровни которых и выше, и ниже его
уровня. Так, TCP/IP наверху может быть привязан к Сеансовому
уровню NetBIOS, а внизу - к драйверу платы сетевого адаптера.
Драйвер, в свою очередь, привязан к плате сетевого
адаптера.
Стандартные стеки
В компьютерной промышленности в качестве
стандартных моделей протоколов разработано несколько стеков.
Вот наиболее важные из них:
-
набор протоколов
ISO/OSI;
-
IBM System Network Architecture
(SNA);
-
Digital DECnet;
-
Novell NetWare;
-
Apple AppleTalk;
-
набор протоколов Интернета,
TCP/IP.
Протоколы этих стеков выполняют работу,
специфичную для своего уровня. Однако коммуникационные задачи,
которые возложены на сеть, приводят к разделению протоколов на
три типа:
-
прикладной;
-
транспортный;
-
сетевой.
Схема расположения этих типов соответствует
модели OSI.
Прикладные
протоколы
Прикладные протоколы работают на верхнем
уровне модели OSI. Они обеспечивают взаимодействие приложений
и обмен данными между ними. К наиболее популярным прикладным
протоколам относятся:
-
АРРС (Advanced Program-to-Program
Communication) - одноранговый SNA-протокол фирмы IBM,
используемый в основном на AS/400;
-
FTAM (File Transfer Access and
Management) - протокол OSI доступа к файлам;
-
X.400 - протокол CCITT для
международного обмена электронной почтой;
-
Х.500 - протокол CCITT служб
файлов и каталогов на нескольких системах;
-
SMTP (Simple Mail Transfer
Protocol) - протокол Интернета для обмена электронной
почтой;
-
FTP (File Transfer Protocol) -
протокол Интернета для передачи файлов;
-
SNMP (Simple Network Management
Protocol) - протокол Интернета для мониторинга сети и
сетевых компонентов;
-
Telnet - протокол Интернета для
регистрации на удаленных хостах и обработки данных на
них;
-
Microsoft SMBs (Server Message
Blocks, блоки сообщений сервера) и клиентские оболочки или
редиректоры;
-
NCP (Novell NetWare Core Protocol)
и клиентские оболочки или редиректоры фирмы Novell;
-
Apple Talk и Apple Share - набор
сетевых протоколов фирмы Apple;
-
AFP (AppleTalk Filling Protocol) -
протокол удаленного доступа к файлам фирмы Apple;
-
DAP (Data Access Protocol) -
протокол доступа к файлам сетей
DECnet.
Транспортные
протоколы
Транспортные протоколы поддерживают сеансы
связи между компьютерами и гарантируют надежный обмен данных
между ними. К популярным транспортным протоколам
относятся:
-
TCP (Transmission Control
Protocol) - TCP/IP-протокол для гарантированной доставки
данных, разбитых на последовательность
фрагментов;
-
SPX - часть набора протоколов
IPX/SPX (Internetwork Packet Exchange/Sequential Packet
Exchange) для данных, разбитых на последовательность
фрагментов, фирмы Novell;
-
NWLink - реализация протокола
IPX/SPX от фирмы Microsoft;
-
NetBEUI [NetBIOS (Network Basic
Input/Output System) Extended User Interface - расширенный
интерфейс пользователя] - устанавливает сеансы связи между
компьютерами (NetBIOS) и предоставляет верхним уровням
транспортные услуги (NetBEUI);
-
АТР (AppleTalk Transaction
Protocol), NBP (Name Binding Protocol) - протоколы сеансов
связи и транспортировки данных фирмы
Apple.
Сетевые
протоколы
Сетевые протоколы обеспечивают услуги связи.
Эти протоколы управляют несколькими типами данных: адресацией,
маршрутизацией, проверкой ошибок и запросами на повторную
передачу. Сетевые протоколы, кроме того, определяют правила
для осуществления связи в конкретных сетевых средах, например
Ethernet или Token Ring. К наиболее популярным сетевым
протоколам относятся:
-
IP (Internet Protocol) -
TCP/IP-протокол для передачи пакетов;
-
IPX (Internetwork Packet Exchange)
- протокол фирмы NetWare для передачи и маршрутизации
пакетов;
-
NWLink - реализация протокола
IPX/SPX фирмой Microsoft;
-
NetBEUI - транспортный протокол,
обеспечивающий услуги транспортировки данных для сеансов и
приложений NetBIOS;
-
DDP (Datagram Delivery Protocol) -
AppleTalk-протокол транспортировки
данных.
Стандартные стеки
коммуникационных протоколов
Важнейшим направлением стандартизации в
области вычислительных сетей является стандартизация
коммуникационных протоколов. В настоящее время в сетях
используется большое количество стеков коммуникационных
протоколов. Наиболее популярными являются стеки: TCP/IP,
IPX/SPX, NetBIOS/SMB, DECnet, SNA и OSI. Все эти стеки, кроме
SNA на нижних уровнях - физическом и канальном, - используют
одни и те же хорошо стандартизованные протоколы Ethernet,
Token Ring, FDDI и некоторые другие, которые позволяют
использовать во всех сетях одну и ту же аппаратуру. Зато на
верхних уровнях все стеки работают по своим собственным
протоколам. Эти протоколы часто не соответствуют
рекомендуемому моделью OSI разбиению на уровни. В частности,
функции сеансового и представительного уровня, как правило,
объединены с прикладным уровнем. Такое несоответствие связано
с тем, что модель OSI появилась как результат обобщения уже
существующих и реально используемых стеков, а не
наоборот.
Стек
OSI
Следует четко различать модель OSI и стек
OSI. В то время как модель OSI является концептуальной схемой
взаимодействия открытых систем, стек OSI представляет собой
набор вполне конкретных спецификаций протоколов. В отличие от
других стеков протоколов стек OSI полностью соответствует
модели OSI, он включает спецификации протоколов для всех семи
уровней взаимодействия, определенных в этой модели. На нижних
уровнях стек OSI поддерживает Ethernet, Token Ring, FDDI,
протоколы глобальных сетей, Х.25 и ISDN, - то есть использует
разработанные вне стека протоколы нижних уровней, как и все
другие стеки. Протоколы сетевого, транспортного и сеансового
уровней стека OSI специфицированы и реализованы различными
производителями, но распространены пока мало. Наиболее
популярными протоколами стека OSI являются прикладные
протоколы. К ним относятся: протокол передачи файлов FT AM,
протокол эмуляции терминала VTP, протоколы справочной службы
Х.500, электронной почты Х.400 и ряд других.
Протоколы стека OSI отличает большая
сложность и неоднозначность спецификаций. Эти свойства явились
результатом общей политики разработчиков стека, стремившихся
учесть в своих протоколах все случаи жизни и все существующие
и появляющиеся технологии. К этому нужно еще добавить и
последствия большого количества политических компромиссов,
неизбежных при принятии международных стандартов по такому
злободневному вопросу, как построение открытых вычислительных
сетей.
Из-за своей сложности протоколы OSI требуют
больших затрат вычислительной мощности центрального
процессора, что делает их наиболее подходящими для мощных
машин, а не для сетей персональных компьютеров.
Стек OSI - международный, независимый от
производителей стандарт. Его поддерживает правительство США в
своей программе GOSIP, в соответствии с которой все
компьютерные сети, устанавливаемые в правительственных
учреждениях США после 1990 года, должны или непосредственно
поддерживать стек OSI, или обеспечивать средства для перехода
на этот стек в будущем. Тем не менее стек OSI более популярен
в Европе, чем в США, так как в Европе осталось меньше старых
сетей, работающих по своим собственным протоколам.
Стек
TCP/IP
Стек TCP/IP был разработан по инициативе
Министерства обороны США более 25 лет назад для связи
экспериментальной сети ARPAnet с другими сетями как набор
общих протоколов для разнородной вычислительной среды. Большой
вклад в развитие стека TCP/IP, который получил свое название
по популярным протоколам IP и TCP, внес университет Беркли,
реализовав протоколы стека в своей версии ОС UNIX.
Популярность этой операционной системы привела к широкому
распространению протоколов TCP, IP и других протоколов стека.
Сегодня этот стек используется для связи компьютеров всемирной
информационной сети Internet, а также в огромном числе
корпоративных сетей.
Стек TCP/IP на нижнем уровне поддерживает все
популярные стандарты физического и канального уровней: для
локальных сетей - это Ethernet, Token Ring, FDDI, для
глобальных - протоколы работы на аналоговых коммутируемых и
выделенных линиях SLIP, РРР, протоколы территориальных сетей
Х.25 и ISDN.
Основными протоколами стека, давшими ему
название, являются протоколы IP и TCP. Эти протоколы в
терминологии модели OSI относятся к сетевому и транспортному
уровням соответственно. IP обеспечивает продвижение пакета по
составной сети, a TCP гарантирует надежность его
доставки.
За долгие годы использования в сетях
различных стран и организаций стек TCP/IP вобрал в себя
большое количество протоколов прикладного уровня. К ним
относятся такие популярные протоколы, как протокол пересылки
файлов FTP, протокол эмуляции терминала telnet, почтовый
протокол SMTP, используемый в электронной почте сети Internet,
гипертекстовые сервисы службы WWW и многие другие.
Сегодня стек TCP/IP представляет собой один
из самых распространенных стеков транспортных протоколов
вычислительных сетей. Действительно, только в сети Internet
объединено около 10 миллионов компьютеров по всему миру,
которые взаимодействуют друг с другом с помощью стека
протоколов TCP/IP.
Стремительный рост популярности Internet
привел и к изменениям в расстановке сил в мире
коммуникационных протоколов - протоколы TCP/IP, на которых
построен Internet, стали быстро теснить бесспорного лидера
прошлых лет - стек IPX/SPX компании Novell. Сегодня в мире
общее количество компьютеров, на которых установлен стек
TCP/IP, сравнялось с общим количеством компьютеров, на которых
работает стек IPX/SPX, и это говорит о резком переломе в
отношении администраторов локальных сетей к протоколам,
используемым на настольных компьютерах, так как именно они
составляют подавляющее число мирового компьютерного парка и
именно на них раньше почти везде работали протоколы компании
Novell, необходимые для доступа к файловым серверам NetWare.
Процесс становления стека TCP/IP в качестве стека номер один в
любых типах сетей продолжается, и сейчас любая промышленная
операционная система обязательно включает программную
реализацию этого стека в своем комплекте поставки.
Хотя протоколы TCP/IP неразрывно связаны с
Internet и каждый из многомиллионной армады компьютеров
Internet работает на основе этого стека, существует большое
количество локальных, корпоративных и территориальных сетей,
непосредственно не являющихся частями Internet, в которых
также используют протоколы TCP/IP. Чтобы отличать их от
Internet, эти сети называют сетями TCP/IP или просто
IP-сетями.
Поскольку стек TCP/IP изначально создавался
для глобальной сети Internet, он имеет много особенностей,
дающих ему преимущество перед другими протоколами, когда речь
заходит о построении сетей, включающих глобальные связи. В
частности, очень полезным свойством, делающим возможным
применение этого протокола в больших сетях, является его
способность фрагментировать пакеты. Действительно, большая
составная сеть часто состоит из сетей, построенных на
совершенно разных принципах. В каждой из этих сетей может быть
установлена собственная величина максимальной длины единицы
передаваемых данных (кадра). В таком случае при переходе из
одной сети, имеющей большую максимальную длину, в сеть с
меньшей максимальной длиной может возникнуть необходимость
деления передаваемого кадра на несколько частей. Протокол IP
стека TCP/IP эффективно решает эту задачу.
Другой особенностью технологии TCP/IP
является гибкая система адресации, позволяющая более просто по
сравнению с другими протоколами аналогичного назначения
включать в интерсеть сети других технологий. Это свойство
также способствует применению стека TCP/IP для построения
больших гетерогенных сетей.
В стеке TCP/IP очень экономно используются
возможности широковещательных рассылок. Это свойство
совершенно необходимо при работе на медленных каналах связи,
характерных для территориальных сетей.
Однако, как и всегда, за получаемые
преимущества надо платить, и платой здесь оказываются высокие
требования к ресурсам и сложность администрирования IP-сетей.
Мощные функциональные возможности протоколов стека TCP/IP
требуют для своей реализации высоких вычислительных затрат.
Гибкая система адресации и отказ от широковещательных рассылок
приводят к наличию в IP-сети различных централизованных служб
типа DNS, DHCP и т. п. Каждая из этих служб направлена на
облегчение администрирования сети, в том числе и на облегчение
конфигурирования оборудования, но в то же время сама требует
пристального внимания со стороны администраторов.
Можно приводить и другие доводы за и против
стека протоколов Internet, однако факт остается фактом -
сегодня это самый популярный стек протоколов, широко
используемый как в глобальных, так и локальных
сетях.
Стек
IPX/SPX
Этот стек является оригинальным стеком
протоколов фирмы Novell, разработанным для сетевой
операционной системы NetWare еще в начале 80-х годов.
Протоколы сетевого и сеансового уровней Internetwork Packet
Exchange (IPX) и Sequenced Packet Exchange (SPX), которые дали
название стеку, являются прямой адаптацией протоколов XNS
фирмы Xerox, распространенных в гораздо меньшей степени, чем
стек IPX/SPX. Популярность стека IPX/SPX непосредственно
связана с операционной системой Novell NetWare, которая еще
сохраняет мировое лидерство по числу установленных систем,
хотя в последнее время ее популярность несколько снизилась и
по темпам роста она отстает от Microsoft Windows
NT.
Многие особенности стека 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.
Стек
NetBIOS/SMB
Этот стек широко используется в продуктах
компаний IBM и Microsoft. На физическом и канальном уровнях
этого стека используются все наиболее распространенные
протоколы Ethernet, Token Ring, FDDI и другие. На верхних
уровнях работают протоколы NetBEUI и SMB.
Протокол NetBIOS (Network Basic Input/Output
System) появился в 1984 году как сетевое расширение
стандартных функций базовой системы ввода/вывода (BIOS) IBM PC
для сетевой программы PC Network фирмы IBM. В дальнейшем этот
протокол был заменен так называемым протоколом расширенного
пользовательского интерфейса NetBEUI - NetBIOS Extended User
Interface. Для обеспечения совместимости приложений в качестве
интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS.
Протокол NetBEUI разрабатывался как эффективный протокол,
потребляющий немного ресурсов и предназначенный для сетей,
насчитывающих не более 200 рабочих станций. Этот протокол
содержит много полезных сетевых функций, которые можно отнести
к сетевому, транспортному и сеансовому уровням модели OSI,
однако с его помощью невозможна маршрутизация пакетов. Это
ограничивает применение протокола NetBEUI локальными сетями,
не разделенными на подсети, и делает невозможным его
использование в составных сетях. Некоторые ограничения NetBEUI
снимаются реализацией этого протокола NBF (NetBEUI Frame),,
которая включена в операционную систему Microsoft Windows
NT.
Протокол SMB (Server Message Block) выполняет
функции сеансового, представительного и прикладного уровней.
На основе SMB реализуется файловая служба, а также службы
печати и передачи сообщений между приложениями.
Стеки протоколов SNA фирмы IBM, DECnet
корпорации Digital Equipment и AppleTalk/AFP фирмы Apple
применяются в основном в операционных системах и сетевом
оборудовании этих фирм.
|