Стандартные стеки коммуникационных протоколов

Важнейшим направлением стандартизации в области вычислительных сетей яв­ляется стандартизация коммуникационных протоколов. Наиболее известными стеками протоколов являются: OSI, TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA (не все из них применяются сегодня на практике).

Стек OSI

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

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

Г.......................       " 1!      
LL X. 400 X.500 VT FTAM JTM Другие  
I 6     Протокол уровня представления OSI    
.....! ■ ■ ■ >. •  
  Сеансовый протокол OSI  
г;:....  
| Транспортные протоколы OSI (классы 0-4)  
  ................  
ES — ES IS —IS CONP, CLNP *
      ... ''.. •.. ':     ■:
  Ethernet (OSI-8802.3, IEEE-802.3) Token Bus (OSI-8802.4, IEEE-802.4) Token Ring (OSI-8802.5, IEEE-802.5) X.25 ISDN FDDI  
  HDLC LAP-B (ISO-9314)  
Уровни модели OSI

Рис. 4.11. Стек протоколов OSI

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

На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, Х.25 и ISDN, то есть использует все разработанные вне стека популярные протоколы нижних уровней, как и боль­шинство других стеков.

Сетевой уровень включает сравнительно редко используемые протоколы Connec­tion-oriented Network Protocol (CONP) и Connectionless Network Protocol (CLNP). Как следует из названий, первый из них ориентирован на соединение (connec­tion-oriented), второй — нет (connectionless).

Более популярны протоколы маршрутизации стека OSI: ES-IS (End System-Inter- mediate System) между конечной и промежуточной системами и IS-IS (Interme­diate System-Intermediate System) между промежуточными системами.

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

Службы прикладного уровня обеспечивают передачу файлов, эмуляцию термина­ла, службу каталогов и почту. Из них наиболее популярными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VTP), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM).

СтекIPX/SPX

Стек IPX/SPX является оригинальным стеком протоколов фирмы Novell, разра­ботанным для сетевой операционной системы NetWare еще в начале 80-х годов. Структура стека IPX/SPX и его соответствие модели OSI иллюстрирует рис. 4.12. Протоколы сетевого и транспортного уровней — Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX) — дали название стеку. К сетевому уровню этого стека отнесены также протоколы маршрутизации RIP и NLSP. А в качестве представителей трех верхних уровней на рисунке приведены два популярных протокола: протокол удаленного доступа к файлам NetWare Core Protocol (NCP) и протокол объявления о сервисах Service Advertising Protocol (SAP).

ПРИМЕЧАНИЕ -----------------------------------------------------------------------------------------------------

До 1996 года этот стек был бесспорным мировым лидером по числу установленных копий, но затем картина резко изменилась — стек TCP/IP по темпам роста числа установок на­много стал опережать другие стеки, а с 1998 года вышел в лидеры и в абсолютном выра­жении.


Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт) и которые бы быстро работали на процессорах небольшой вычислительной мощ­ности. В результате протоколы стека IPX/SPX до недавнего времени отлично справлялись с работой в локальных сетях. Однако в крупных корпоративных се­тях они слишком перегружали медленные глобальные связи широковещатель­ными пакетами, интенсивно использующимися несколькими протоколами этого стека, например протоколом SAP. Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), дол­гое время ограничивали распространенность его только сетями NetWare.

Стек NetBIOS/SMB

Стек NetBIOS/SMB является совместной разработкой компаний IBM и Microsoft (рис. 4.13). На физическом и канальном уровнях этого стека также задействованы уже получившие распространение протоколы, такие как Ethernet, Token Ring, FDDI, а на верхних уровнях — специфические протоколы NetBEUI и SMB.

Протокол Network Basic Input/Output System (NetBIOS) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода-вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользо­вательского интерфейса NetBEUI (NetBIOS Extended User Interface). Для обес­печения совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содер­жит много полезных сетевых функций, которые можно отнести к транспортному и сеансовому уровням модели OSI, однако с его помощью невозможна маршру­тизация пакетов. Это ограничивает применение протокола NetBEUI локальны­ми сетями, не разделенными на подсети, и делает невозможным его использова­ние в составных сетях.


m ...............................;........................................... пии.ип,,,, ^ NetBIOS 'i =
 
  Ethernet, Token Ring, FDDI и другие i
' а 1...Л............... гп
Уровни модели OSI Рис. 4.13. Стек NetBIOS/SMB

Протокол Server Message Block (SMB) поддерживает функции сеансового уров­ня, уровня представления и прикладного уровня. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между прило­жениями.

Стек TCP/IP

Стек TCP/IP был разработан по инициативе Министерства обороны США (DoD) более 20 лет назад для связи экспериментальной сети ARPANET с другими сетя­ми как набор общих протоколов для разнородной вычислительной среды. Боль­шой вклад в развитие стека TCP/IP, который получил свое название по попу­лярным протоколам IP и TCP, внес университет Беркли, реализовав протоколы стека в своей версии ОС Unix. Популярность этой операционной системы при­вела к широкому распространению протоколов TCP, IP и других протоколов сте­ка. Сегодня этот стек используется для связи компьютеров в Интернете, а также в огромном числе корпоративных сетей.

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

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

В стеке TCP/IP очень экономно используются широковещательные рассылки. Это свойство совершенно необходимо при работе на медленных каналах связи, ха­рактерных для территориальных сетей.

Однако, как и всегда, за получаемые преимущества надо платить, и платой здесь оказываются высокие требования к ресурсам и сложность администрирования IP- сетей. Мощные функциональные возможности протоколов стека TCP/IP требуют для своей реализации больших вычислительных затрат. Гибкая система адреса­ции и отказ от широковещательных рассылок приводят к наличию в IP-сети раз­нообразных централизованных служб типа DNS, DHCP и т. п. Каждая из этих служб направлена на облегчение администрирования сети, но в то же время сама требует пристального внимания со стороны администраторов.

Можно приводить и другие доводы за и против стека протоколов Интернета, од­нако факт остается фактом — сегодня это самый популярный стек протоколов, широко используемый как в глобальных, так и локальных сетях.

На рис. 4.14 приведена структура стека TCP/IP. Так как стек TCP/IP был разрабо­тан до появления модели ISO/OSI, то, хотя он также имеет многоуровневую струк­туру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно.

В стеке TCP/IP определены 4 уровня.

Прикладной уровень стека TCP/IP соответствует трем верхним уровням модели OSI: прикладному, представления и сеансовому. Он объединяет службы, предо­ставляемые системой пользовательским приложениям. За долгие годы исполь­зования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и служб прикладного уровня. К ним относятся такие распространенные протоколы, как протокол передачи файлов (File Transfer Pro­tocol, FTP), протокол эмуляции терминала (telnet), простой протокол передачи электронной почты (Simple Mail Transfer Protocol, SMTP), протокол передачи гипертекста (HyperText Transfer Protocol, HTTP) и многие другие. Протоколы прикладного уровня развертываются на хостах[13].

Рис. 4.14. Архитектура стека TCP/IP

Транспортный уровень стека TCP/IP может предоставлять вышележащему уров­ню два типа сервиса:

□ гарантированную доставку обеспечивает протокол управления передачей (Transmission Control Protocol, TCP);

□ доставку по возможности, или с максимальными усилиями, обеспечивает про­токол пользовательских дейтаграмм (User Datagram Protocol, UDP).

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

  .. ........................................     ...4....................    
г7 I в HTTP SNMP FTP telnet SMTP TFTP   t
 
F ' <, s *  
[$ 4 TCP UDP   11 |
 
L...,...,..   :J............................................................ :........        
IP ICMP RIP OSPF   ill

Не регламентируется Ethernet, Token Ring, FDDI, X.25, SPIP, PPP

IV

Уровни модели OSI
Уровни стека TCP/IP

Второй протокол этого уровня — UDP — является простейшим дейтаграммным протоколом, который используется в том случае, когда задача надежного обмена данными либо вообще не ставится, либо решается средствами более высокого уровня — прикладным уровнем или пользовательскими приложениями.

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

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

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

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

К сетевому уровню TCP/IP часто относят протоколы, выполняющие вспомо­гательные функции по отношению к IP. Это, прежде всего, протоколы марш­рутизации RIP и OSPF, занимающиеся изучением топологии сети, определени­ем маршрутов и составлением таблиц маршрутизации, на основании которых протокол IP перемещает пакеты в нужном направлении. По этой же причине к сетевому уровню могут быть отнесены еще два протокола: протокол межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP), предназна­ченный для передачи маршрутизатором источнику информации об ошибках, возникших при передаче пакета, и протокол групповой адресации (Internet Group Management Protocol, IGMP), использующийся для направления пакета сразу по нескольким адресам.

Идеологическим отличием архитектуры стека TCP/IP от многоуровневой орга­низации других стеков является интерпретация функций самого нижнего уров­ня — уровня сетевых интерфейсов.

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

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

Задачу обеспечения интерфейса между технологией TCP/IP и любой другой тех­нологией промежуточной сети упрощенно можно свести:

□ к определению способа упаковки (инкапсуляции) IP-пакета в единицу пере­даваемых данных промежуточной сети;

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

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

Уровень сетевых интерфейсов в стеке TCP/IP не регламентируется. Он поддер­живает все популярные технологии; для локальных сетей — это Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, для глобальных сетей — протоколы двухточечных соединений SLIP и РРР, технологии Х.25, Frame Relay, ATM.

Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP путем разработки соответствующего докумен­та RFC, определяющего метод инкапсуляции IP-пакетов в ее кадры (например, спецификация RFC 1577, определяющая работу протокола IP через сети ATM, появилась в 1994 году вскоре после принятия основных стандартов ATM).

ПРИМЕЧАНИЕ ----------------------------------------------------------------------------------------------------

Стек TCP/IP позволяет включать в составную сеть сети независимо от того, каким коли­чеством уровней описывается используемая в них технология. Так, перемещение данных в сети Х.25 обеспечивают собственные протоколы физического, канального и сетевого уров­ней (в терминологии OSI). Тем не менее стек TCP/IP рассматривает сеть Х.25 наравне с другими технологиями в качестве средства транспортировки IP-пакетов между двумя по­граничными шлюзами. Уровень сетевых интерфейсов обычным образом предоставляет для этой технологии способ инкапсуляции IP-пакета в пакет Х.25, а также средства преоб­разования сетевых IP-адресов в адреса сетевого уровня Х.25. Если рассматривать такую организацию сети в строгом соответствии с моделью OSI, то налицо явное противоре­чие — один сетевой протокол (IP) работает поверх другого сетевого протокола (Х.25). Од­нако для стека TCP/IP это нормальное явление.

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

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

Протокол TCP «нарезает» из потока данных сегменты.

Прикладные протоколы

Поток

UDP   TCP  
> Дейтаграмма f Сегмент
IP  
  Пакет (дейтаграмма)
Сетевые интерфейсы  
             

^ Кадр (фрейм)

Рис. 4.15. Названия PDU в TCP/IP


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

В стеке TCP/IP принято называть кадрами, или фреймами, единицы данных любых технологий, в которые упаковываются IP-пакеты для последующей пере­носки их через сети составной сети. При этом не имеет значения, какое название используется для этой единицы данных в технологии составляющей сети. Для TCP/IP фреймом является и кадр Ethernet, и ячейка ATM, и пакет Х.25, так как все они выступают в качестве контейнера, в котором IP-пакет переносится через составную сеть.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: