OSI

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

06:42        Взаимодействие удаленных и локальных процессов -1

                 Взаимодействие удаленных и локальных процессов -2

Семь уровней абстракции межсетевого взаимодействия:

Эталонная модель OSI (open systems interconnection basic reference model)— это описательная схема сети; предполагается что ее стандарты гарантируют совместимость и взаимодействие сетевых технологий различных типов.    

OSI - Общие функции и проблемы  

Олифер: Компьютерные сети. Принципы, технологии, протоколы   PDF ст.109

Таненбаум "Компютерные Сети": Эталонные модели                       PDF ст.57

Курс Cisco CNNA 1-2 Стек протоколов TCP/IP                                      PDF ст.437

Пятибратов: Вычислительные машины, и телекоммуникационные системы   PDF ст.200

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

POSIX (portable operating system interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода

Host layers   --> Уровень хост-машины, обеспечение точной доставки данных между компьютерами.

Media layers --> Уровень среды передачи данных, управление физической доставкой данных по сети.

Адресация, маршрутиризация ....

1:50  <------------- порты, сокеты

13:19  <----------- маршрутизацияспособы  -->  маршрутиризации

19:00  <----------- модели соединений;  "Connection-Oriented and Connectionless Service"


 https://www.youtube.com/watch?v=8TNwIgnnqww   (22:20)



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

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

ssh user@192.168.1.150:22 значение 22 (стандартное значение, которе обычно опускается, более того такая запись с указанием порта может приводить к ошибке: ssh: Could not resolve hostname....) это порт где на стороне сервера работает или "слушает" демон SSH, если вы используете не стандартные значения его надо указать явно через ключ -р:  ssh user@192.168.1.150 -p 33, в URL адресах порт указывается через двоеточие как разделитель обязательно: http://www.example.com:8080/path/ в терминале можно и через пробел. но двоеточие будет корректно. По факту можно сказать, что номер порта это уникальный номер приложения.

    Термины «протокол» и «интерфейс» выражают одно и то же понятие — форма­лизованное описание процедуры взаимодействия двух объектов, но в сетях за ними закрепили разные области действия:             

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

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

Программы/утилиты для настройки сетевых интерфейсов:

    ifconfig - программа используется для назначения сетевого адреса, изменение настроек параметров сетевого адаптера и IP протокола. Она используется в большинстве *nix систем на этапе загрузки операци онной системы для настройки сетевых интерфейсов.

    ip — утилита командной строки в Linux из пакета iproute2. Позволяет выполнять настройку сетевой подсистемы, универсальная утилита объединяющая функционал  таких утилит, как ifconfig, route, arp. В общем и целом синтаксис таков: для выполнения какой-либо операции после команды ip указывается «объект» и команда (возможно с аргументами), которая должна быть выполнена для этого объекта.

Модели соединений:  Connection-Oriented and Connectionless Service


Connection-oriented (model)  или сервисы, обмен делится на три четко выраженные фазы: организация соединения, передача данных и разрыв соединения. Примерами таких систем являются ... Internet TCP, OSI, обычная телефонная связь.

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

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

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

Connectionless Service. Сервисы без установления соединения, объединяют данные, необходимые для передачи данных, с самими данными, передавая оба в одном пакете (или блоке данных протокола, датаграмме). Протоколы без установления соединения просто распространяют состояние, необходимое для передачи данных по сети, на каждое возможное устройство, которому могут потребоваться данные, в то время как модели, ориентированные на установление соединения, ограничивают состояние только теми устройствами, которые должны знать об определенном потоке пакетов. В результате сбои в работе одного устройства или канала в сети без установления соединения можно устранить, переместив трафик на другой возможный путь, а не переделывать всю работу, передачи трафика из источника в пункт назначения в случае сonnection-oriented  сервисов. В режиме без установления соединения данные передаются в одном направлении от источника к месту назначения без проверки того, существует ли место назначения или нет, или если он готов принять сообщение. При этом аутентификация не требуется. Ярким примером службы без установления соединения является протокол  UDP (User Datagram Protocol — протокол пользовательских датаграмм). И в чем разница:

Курс CCNA 1: основы сетевых технологий ст.497

Большинство сетевых служб модели OSI используют системы доставки без установления соединения (протокол UDP), Они работают с каждым пакетом в отдельности и пересылают их в нужном направлении через сеть. Пакеты могут быть переданы по разным сетевым маршрутам и будут собраны вместе в сообщение только тогда, когда достигнут своего пункта назначения.  и т.д.....  (Курс Cisco CNNA 1-2 PDF)


PS: На практике, которая все упрощает, передачу данных, не углубляясь в часности принято делить на дейтаграмную и пакетную, но кому всетаки интересно   подробней 

Вопрос; чем отличается дейтаграмма от пакета, ответ: практически ни чем, кроме того, что дейтаграмма несет в себе более полную информацию о пакете то есть "куда", "зачем", "кто", она более "самостоятельная", в отличии от пакетной передачи, где над пакетами существует некий, если можно так казать, "place holder", с целью организации потока и сервисов (TCP), от того дейтаграммная передача и более быстрая. 

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

Если еще проще IP пакеты, UDP — дейтограммы. Как и сокеты, то есть объекты представляющие из себя "конечную точку соединения" могут быть "пакетными", то есть потоковыми, то есть TCP сокетами и дейтаграмными, то есть UDP сокетами.


Difference between Connection-Oriented and Connectionless Service

 Сетевой интерфейс  — физическое или виртуальное устройство, предназначенное для передачи данных между программами через компьютерную сеть. Создаются сетевые интерфейсы соответствующими модулями ядра.  Существует соглашение о наименовании интерфейсов, в соответствии с которым имя интерфейса состоит из префикса, характеризующего его тип, и числа, соответствующего номеру интерфейса данного типа в системе (виртуальные интерфейсы именуются с добавлением двоеточия и номера интерфейса(ethØ: № ). Например;                             

     pppØ       — соответствует первому интерфейсу PPP

     eth1         — соответствует интерфейсу второго сетевого адаптера Ethernet. 

Нумерация интерфейсов начинается с Ø (ноль часто опускается в обозначениях). Существует большое количество сетевых интерфейсов предназначеных для различных целей. Например:

    lo (loØ)          — интерфейс петли обратной связи (loopback).

    eth                 — cетевой интерфейс к карте Ethernet.

    ppp                — cетевой интерфейс к каналу PPP (Point-to-Point Protocol).

    wlan               — cетевой интерфейс wi-fi адаптеров

Подинтерфейсы (программные интерфейсы):

bond  подинтерфейс агрегации(объединения, присоединения, bond-связь) нескольких сетевых интерфейсов в единый логический или так:  слияние нескольких сетевых соединений в одно параллельное, что позволяет увеличить пропускную способность канала и повысить отказоустойчивость сети в случае отказа одной из сетевых карт. (bonded интерфейс , k-max.bonding-debian ,  vasilisc.com/ethernet-bonding)

vlan       — подинтерфейс виртуальной локальной сети

bridge   — подинтерфейс соеденяющий 2 сегмента сети на канальном уровне

tun/tap   — TAP эмулирует Ethernet устройство и работает на канальном уровне модели                       OSI,TUN (сетевой туннель) работает на сетевом уровне модели OSI,     оперируя IP пакетами.

Некоторые параметры интерфейсов:


Инкапсуляция / Декапсуляция


Термины используемые очень широко в вычислительной технике и програмировании, сетевые модели не исключения, процесс "заворачивания" и "разворачивания". Логическая капсула это кусок изолированного кода и способ доступа к данным внутри капсулы строго формализован и описан через методы доступа, наружу эта капсула предоставляе или не предоставляет строго определенный интерфейс как следствие эта капсула или объект, легко модифицируется, заменяется и т.д.

Когда передающая сторона готовит данные к передаче – это процесс инкапсуляции данных, и наоборот, когда принимающая сторона начинает обрабатывать входящую последовательность бит и формировать из нее сообщения – это процесс декапсуляции. Просто и понятно эту терминологию пришедшую из ОПП объясняет Александр Генадьевич Тормасов Инкапсуляция/Декапсуляция 18:42


Сам по себе "standalone" протокол, не имеет практического применения, в чем можно убедиться заглянув в RFCRequest For Comments "тема для обсуждения", где он влачит заурядную жизнь в качестве "спецификации", НО в контексте стека он обретает смысл существования, проявляет свои преимущества и недостатки, "инкапсуляция" это своего рода "линкер" програмных модулей, вся суть  протоколов стека заключена в заголовках, которые добавляются или убираются в зависимости от того, с какого уровня на какой переходят данные. Процесс добавления заголовка поверх существующего называется инкапсуляция данных, это когда данные движутся с более высокого уровня вниз (то есть при подготовке данных к передаче), процесс снятия заголовка называется декапсуляция данных, это когда данные движутся снизу вверх, то есть при приеме, реализован этот механизм в ядре как часть "сетевой подсистемы".

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

Олифер: Компьютерные сети. Принципы, , протоколы   PDF ст.109

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

Биты и боды                                                                                      ст.205

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


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

Unicast (уникальный) для идентификации отдельных интерфейсов

Multicast (групповой) для идентификации группы интерфейсов, в результате данные помеченные групповым алресом доступны каждому из узлов входящих в группу. Multicast  снижает нагрузку на промежуточное оборудование, посколку добавление новых пользователей не влечет за собой необходимость увеличения пропускной способности сети по общему маршруту до потребителей в отличии от unicast, что очевидно, используется: видеоконференцсвязь, радио, служебная рассылка и тд, не мало важная по нынешним временам форма широковещания. IPv6 к слову, не поддерживает broadcast, а работает исключительно с multicast.

Broadcast (широковещательный) всем, всем, всем.

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


PS: И на первый взгляд с адресацией все более чем очевидно, но не однозначно, поэтому стоит изучить тему более предметно, например здесь: 

Олифер: Компьютерные сети  ст.59,

мистер Таненбаум более детально подходит к вопросу: Таненбаум "Компютерные Сети": Адресация  ст.541, 

Cisco раскрывает ее "Академически" Курс Cisco CNNA 1-2: Курс Cisco CNNA 1-2:  Стек протоколов TCP/IP и IP адресация  ст.450

1-7.Физический (Двоичная передача)  -->  Media layers

Ethernet RS-232 RS-422 RS-449 RS-485 Serial port PDH SDH OTN или DWDM

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


Метод доступа к среде передачи Для стройности изложения и простоты понимания, всю историю о взаимодействии узлов сети в некой среде передачи, разделяемой среде (shared medium) надо начинать с методов или правил или протоколов, согласно которым узел сети получает доступ к этой самой среде и как правильно замечает комрад Карманов, которая накладывает свой "неизгладимый" отпечаток на черты протоколов реализуемые в данной среде. 

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

Протоколы CSMA как и сама технология "исторически" связана с "медной витой парой", то есть ни про какие радиволны или оптику, речи не идет и быть не может. 

PS: Разделяемая среда (shared medium) физическая среда передачи данных, к кото­рой непосредственно подключено несколько передатчиков узлов сети и в каждый момент времени только один из передатчиков какого-либо узла сети получает доступ к разделяемой сре­де и использует ее для передачи данных приемнику другого узла, подключенному к этой же среде. Протоколы семейства CSMA — протоколы регулирующие доступ к разделяемой среде (Carrier Sense Multiple Access (CSMA) — вероятностный сетевой протокол канального (МАС) уровня). CSMA 


.....Количество изменений информационного параметра несущего периодического сигнала в секунду измеряется в бодах. 1 бод равен одному изменению информационного параметра в секунду, более коректно bps — bit per second. Например, если такт передачи информации равен 0,1 секунды, то сигнал изменяется со скоростью 10 бод. Таким образом, скорость в бодах целиком определяется длительностью такта. Если проще бод это количество знаков в секунду, они же "символы", они же "информационный параметр", но не бит-ов в секунду, важный аспект "теории вычислений" восходящий еще к машине Тьюринга которая работает со знаками но не с числами.

Олифер: Компьютерные сети. Биты и боды   PDF ст.205

Таненбаум: Эфективность использования полосы частот     PDF ст.146


Емкость канала связи (capacity), она же "ширина канала" или пропускноая способностью, это максимально возможная скорость передачи информации по каналу. Спецификой этой характеристики является то, что она отражает не только параметры физической среды передачи ,  но и особенности выбранного способа передачи дискретной информации в этой среде. Например, емкость канала связи в сети Ethernet на оптическом волокне равна 10 Мбит/с. Эта скорость является предельно возможной для сочетания технологии Ethernet и оптического волокна но для того же самого оптического волокна можно разработать другую технологию передачи, отличающуюся способом кодирования данных, тактовой частотой и другими параметрами, которая будет иметь другую емкость. Технология Fast Ethernet обеспечивает передачу данных по тому же оптическому волокну с максимальной скоростью 100 Мбит/с, а технология Gigabit Ethernet — 1000 М бит/с, то есть с одной стороны, эта характеристика зависит от параметров физической среды, а с другой — определяется способом передачи данных. Следовательно, нельзя говорить о про­пускной способности линии связи до того, как для нее определен протокол физического уровня. Передатчик коммуникационного устройства должен работать со скоростью, равной пропускной способности канала. Эта скорость иногда называется битовой скоростью передатчика (bit rate of transmitter).

Полоса пропускания (bandwidth) — термин который может ввести в заблуждение, потому что он используется в двух разных значениях. Во-первых, с его помощью могут характеризовать среду передачи. В этом случае он означает ширину полосы частот, непрерывный диапазон, которую линия передает без существенных искажений и из этого определения понятно происхождение термина. Во-вторых, термин «полоса пропускания» используется как синоним термина емкость канала связи. В первом случае полоса пропускания измеряется в герцах (Гц), во втором — в битах в секунду. Различать значения термина нужно по контексту и такое двойное использование термина «полоса пропускания» увы вошло во многие стандарты и книги.

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

Дуплексный канал это одновременная передача данных в обоих направлениях.

Полудуплексный канал тоже в обоих направлениях но не одновремено

Симплексный канал, то есть простой, передача информации в одном направлении


Не лишне иметь представление что такое "управление потоком (Flow Control)": часто по последовательной линии связываются два устройства, имеющих разное быстродействие. Примером может служить компьютер, и принтер, который не успевает их распечатывать. Если поток данных переполнится,они будут утрачены. Но можно управлять потоком данных, что позволяет при необходимости сокращать скорость передачи, это и есть Flow Control.

2-6.Канальный (Доступ к среде передачи данных Data Link) -->  Media layers

Ethernet PPPoE PPP L2F 802.11 Wi-Fi 802.16 WiMax Token ring ARCNET FDDI HDLC SLIP ATM CAN DTM X.25 Frame relay Shortest Path Bridging SMDS STP ERPS 

https://intuit.ru/studies/Лекция 5: Канальный уровень сетевой модели OSI 


3-5.Сетевой (Адреса и маршрутиризация) -->  Media layers

IPv4 IPv6 IPsec ICMP IGMP ARP RARP RIP2 OSPF EIGRP

4-4.Транспортный (Связь между конечными устройствами) -- >Host layers

TCP(Crypt) UDP SCTP DCCP RDP/RUDP RTP GRE

5-3.Сеансовый (Связь между хостами) --> Host layers

ADSP H.245 iSNS NetBIOS PAP RPC L2TP PPTP RTCP SMPP SCP ZIP SDP

6-2.Представления (Представление данных) --> Host layers

XDR SSL TLS


7-1.Прикладной (Сетевые процессы с приложениями) --> Host layers

BGP HTTP(S) DHCP IRC SNMP DNS(SEC) NNTP XMPP SIP IPP NTP SNTP • Электронная почта (SMTP POP3 IMAP4) • Передача файлов (FTP TFTP SFTP WebDAV) • SMB • Удалённый доступ (rlogin Telnet SSH RDP)

Другие прикладные

Bitcoin OSCAR CDDB Multicast FTP Multisource FTP BitTorrent Gnutella Skype

 Таненбаум "Компютерные Сети"              <-------- PDF 

Cisco LAN Switching (Switched Ethernet)   <-------- PDF     Протоколы по уровням.doc

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

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

Пакет - это единица информации, передаваемая между устройствами сети как единое целое, пакет может содержать в себе несколько пакетов.  Фреймы (кадры) представляют информацию, используемую на канальном уровне модели OSI, а пакеты чаще относятся к сетевому и транспортному уровню. 

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

Дейтаграмма, датаграмма, сегмент (data-грамма, аналогия tele-грамма) - блок информации передаваемой через сеть, блок информации, посланный как пакет сетевого уровня, самодостаточный, независимый объект данных, содержащий информацию об отправителе и получателе данных (protocol data unit, PDU). В случае протокола IP, IP-дейтаграммы, в случае протокола UDP, UDP-дейтаграммы.


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

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

Cisco в своих "Сisco press", так формализует эти понятия: 

IP-дейтаграммы — основные информационные блоки в Internet. Термины ячейка, фрейм, сообщение, пакет и сегмент (cell, frame, message, packet и segment) также используются для описания логически сфуппированных блоков информации на разных уровнях эталонной модели OSI и в различных технологических циклах.

Термин "пакет" чаще всего употребляется в контексте блоков данных сетевого уровня. Термины "дейтаграмма", "фрейм", "сообщение" и "сегмент" (datagram, frame, message,segment) также используются для описания логически сфуппированных блоков информации на разных уровнях эталонной модели OSI и в различных технологических циклах.

А вот как определяет все это  Charles M. Kozierok в своей великолепной книге  The TCP/IP Guide (ст.71), снабженной кстати прекрасными "интуитивно понятными" схемами и по моему легко переводимой на русский. (во всяком случае google-translate делает это на раз, два , три)

Common Names For Messages

The most common terms that are used for messages are the following:

    I should also point out that there are certain protocols that use unusual names to refer to their messages, which aren’t used elsewhere in the world of networking. One prominent example is the Transmission Control Protocol (TCP), which calls its messages segments.

http://citforum.ru/nets/protocols       

https://habrahabr.ru

https://www.intuit.ru/studies/

http://www.askit.ru/ethernet_frame.htm       <-------------

(Формирование, сбор и анализ кадров)

Сервисы, предоставляемые сетевому уровню

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

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

    Сервис без подтверждений и без установки соединения заключается в том, что передающая машина посылает независимые кадры принимающей машине, и принимающая машина не посылает подтверждений о приеме кадров. Хороший пример канального уровня, предоставляющего сервис такого класса, — Ethernet. Никакие соединения заранее не устанавливаются и не разрывается после передачи кадров. Если какой-либо кадр теряется из-за шума в линии, то на канальном уровне не предпринимается никаких попыток восстановить его. Данный класс сервисов приемлем при очень низком уровне ошибок. В этом случае вопросы, связанные с восстановлением потерянных при передаче данных, могут быть оставлены верхним уровням. Он также применяется в линиях связи реального времени, таких как передача речи, в которых лучше получить искаженные данные, чем получить их с большой задержкой. 

    Следующим шагом в сторону повышения надежности является сервис с подтверждениями, без установки соединения. При его использовании соединение также не устанавливается, но получение каждого кадра подтверждается. Таким образом, отправитель знает, дошел ли кадр до пункта назначения в целости или потерялся. Если в течение установленного интервала времени подтверждения не поступает, кадр посылается снова. Такой сервис полезен в случае использования каналов с большой вероятностью ошибок, например, в беспроводных системах. Среди сервисов такого класса можно назвать, например, 802.11 (WiFi), предоставление подтверждений является скорее оптимизацией, чем требованием. Сетевой уровень всегда может послать пакет и ожидать подтверждения его доставки удаленной машине. Если за установленный период времени подтверждение не будет получено отправителем, сообщение может быть выслано еще раз. 

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

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

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

    Что касается кадров, то канальный уровень использует различные методы формирования кадров, включая подсчет байтов, символьное и битовое заполнение. Протоколы канального уровня могут обладать возможностями контроля ошибок для обнаружения и исправления поврежденных кадров и повторной передачи потерянных. Во избежание опережения медленного приемника быстрым отправителем применяется управление потоком. Механизм скользящих окон широко используется для удобного объединения контроля ошибок и управления потоком. Для окна размером в один пакет применяется протокол с остановкой и ожиданием.

    На сегодняшний день для "интернета" в качестве основного протокола линий «точка — точка» используется PPP. Он предоставляет сервис без установки соединения и без подтверждения. Для разделения кадров применяются флаговые байты, а для распознавания ошибок — коды CRC. С помощью этого протокола пакеты передаются по множеству типов соединений, включая каналы SONET в глобальных сетях и ADSL для домашних подключений.

Коммутация на канальном уровне, сетевые мосты

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

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

Мосты работают на канальном уровне. Они анализируют адреса, содержащиеся в кадрах этого уровня, и в соответствии с ними осуществляют маршрутизацию ("маршрутиризацию" канального уровня то есть кадров, "соответствующий адрес в соответствующий порт"). Поскольку мосты не исследуют сами данные, передающиеся в кадрах, то они одинаково хорошо справляются с пакетами IP, а также с другими типами пакетов, просто говоря , при получении из сети кадра (пакета) сверяет MAC-адрес назначения (Media Access Control) address - уникальный номер, используется для идентификации отправителя и получателя фрейма(кадра)) последнего и, если он не принадлежит данной подсети, передаёт кадр дальше в тот сегмент, которому предназначался данный кадр; если кадр принадлежит данной подсети, мост ничего не делает.



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

Не полохо для понимания вопроса обратитьс к истории и собственно проблеме, решение которой и явило на свет все совершенства современного бытия, проблеме "домена коллизий". Разделяемой средой (shared medium) называется физическая среда передачи данных, к кото­рой непосредственно подключено несколько передатчиков узлов сети. Причем в каждый момент времени только один из передатчиков какого-либо узла сети получает доступ к разделяемой сре­де и использует ее для передачи данных приемнику другого узла, подключенному к этой же среде.  Протоколы, в которых станции прослушивают среду передачи данных и действуют в соответствии с этим, называются протоколами с контролем несущей. Один из них это - 1-настойчивый протокол CSMA (Carrier-Sense Multiple Access — множественный доступ с контролем несущей) Когда у станции появляются данные для передачи, она сначала прослушивает канал, проверяя, свободен он или занят. Если канал бездействует, то станция отправляет данные. В противном случае, когда канал занят, станция ждет, пока он освободится. Затем станция передает кадр. Если происходит столкновение, станция ждет в течение случайного интервала времени, затем снова прослушивает канал и, если он свободен, пытается передать кадр еще раз. 

Такой протокол называется протоколом CSMA с настойчивостью 1, так как станция передает кадр с вероятностью 1, как только обнаружит, что канал свободен, и можно было бы ожидать, что коллизий вообще происходить не будет, за исключением редких случаев одновременной отправки, но это не так. Если две станции придут в состояние готовности в то время, когда передает какая-то третья станция, обе будут ждать, пока она не закончит передачу, после чего сами одновременно станут передавать, и в результате произойдет столкновение.

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

    Третий, это протокол CSMA с настойчивостью p. Он применяется в дискретных каналах и работает следующим образом. Когда станция готова передавать, она опрашивает канал. Если канал свободен, она с вероятностью p начинает передачу. С вероятностью q = 1 – p она отказывается от передачи и ждет начала следующего такта. Этот процесс повторяется до тех пор, пока кадр не будет передан или какая-либо другая станция не начнет передачу. В последнем случае станция ведет себя так же, как в случае столкновения. Она ждет в течение случайного интервала времени, после чего начинает все снова. Если при первом прослушивании канала он оказывается занят, станция ждет следующего интервала времени, после чего применяется тот же алгоритм. 

    Следующее ухищерение по борьбе с не распределенным доменом коллизий еще более замысловато, это способность станций быстро распознавать коллизию и немедленно прекращать передачу (а не завершать ее), так как данные все равно искажены. Эта стратегия экономит время, и улучшается производительность канала. Такой протокол, называемый CSMA/CD (Carrier-Sense Multiple Access with Collision Detection — множественный доступ с контролем несущей и обнаружением коллизий), котрый и является основой чрезвычайно популярных LAN Ethernet (конкурентный Ethernet).

 В протоколе CSMA/CD, так же как и во многих других протоколах локальных сетей, применяется следущая концептуальная модель: в момент времени t-0 одна из станций закончила передачу кадра. Все остальные станции, готовые к передаче, теперь могут попытаться передать свои кадры. Если две станции или более одновременно начнут передачу, то произойдет столкновение. Обнаружив коллизию, станция прекращает передачу, ждет случайный период времени, после чего пытается снова, при условии, что к этому моменту не начала передачу другая станция. Таким  образом, наша модель протокола CSMA/CD будет состоять из чередования периодов конкуренции и передачи, а также периодов простоя канала (когда все станции молчат).

    Однако проблема домена коллизий всеми этими "выкрутасами" решена быть не могла , решение пришло скорее в силу исторического развития Ethernet от классического до комутируемого - Switched  Ethernet, с приходом "свитчей", устройств канального уровня, результатом явились сети  Switched Ethernet работающие на скоростях 100, 1000 или 10 000 Мбит/с,  которые носят названия Fast Ethernet, Gigabit Ethernet  и 10-Gigabit Ethernet, по средствам которых "разделяемая среда" (в смысле среда возникновения коллизий, сегмент сети) не ограничивалась или регулировалась, а полностью исчезла. Ну и конечно следующим шагом по оптимизации Ethernet 802.3 явилась виртуализация потоков данных, то есть доп-заголовок продокола  802.1 Q, но это отдельная тема. 

Сегодня на практике используется только коммутируемый Ethernet, на ряду с оптоволокном возможно  наиболее значительная веха в истории развития "Интернета".

    Итак, мосты, свичи, комутаторы (смотря каков контекст употребления): мосты функционируют на канальном уровне, точнее, на подуровне контроля доступа к среде передачи MAC, и тут полезно разобрать два подуровня MAC и LLC, следующее определение возможно наиболее полно:

    То что мосты позволяют хостам в различных локальных сетях (сегментах) взаимодействовать друг с другом, как если бы они находились в одной сети, это очевидно,  а схематически работа моста выглядит следующим образом:

Пусть хост А из локальной сети Ethernet хочет передать пакет сетевого уровня хосту Б в локальной сети Token Ring (для большей наглядности функционала). Пакет передается подуровню LLC, а после добавления LLC-заголовка спускается на подуровень MAC, где получает заголовок и концевик. Получившийся блок данных передается по кабелю и в конце концов достигает моста. MAC-заголовок удаляется, и пакет (LLC-заголовок не трогается) передается MAC-подуровнем LLC-подуровню моста. После этого пакет проделывает путь в обратном порядке по сети Token Ring. Если бы пакет предназначался той же сети, что и хост А, то он был бы просто проигнорирован мостом.

Пакет прибывает из более высокого уровня и спускается на уровень MAC Ethernet. Он приобретает заголовок Ethernet (а также метку конца(концевик)). Этот кадр передается физическому уровню, выходит по кабелю и принимается мостом. В мосте кадр передается с физического уровня на уровень MAC Ethernet. Этот уровень расширяет обработку по сравнению с уровнем MAC Ethernet на станции. Он передает на ретранслятор, все еще в пределах уровня MAC. Функция ретрансляции моста использует только заголовок MAC Ethernet, чтобы определить, как обработать кадр. В нашем случае он передает кадр тому порту уровня MAC Ethernet, который используется для достижения станции D, и кадр продолжает свой путь.

    В общем случае, ретрансляторы на некотором уровне могут переписать заголовки для этого уровня. Мост ни в коем случае не должен смотреть внутрь кадра и узнавать, что он переносит IP-пакет; это не важно для обработки мостом и нарушило бы иерархическое представление протокола. Также важно, что мост, имеющий k портов, будет иметь k экземпляров MAC-уровней и физических уровней. В нашем простом примере k = 2.

    Проблемы существуют как при организации моста между двумя разными, так и между двумя одинаковыми локальными сетями. Что касается разнотипных локальных сетей, то это, например, несовпадение форматов кадров (блок данных канального уровня) не однотипных локальных сетей, различия в пропускной способности (например, Ethernet - 10 Мбит/с, а Token Ring - 4 или 16 Мбит/с) и максимальном размере кадров, и т.д. Конечно, в случае однотипных локальных сетей проблем меньше, но совсем без проблем не обойтись. Например, два сегмента Ethernet могут иметь разную загруженность, в этом случае буфер для пересылаемых в перегруженный сегмент кадров может переполниться, и мост будет вынужден отказываться от вновь поступающих пакетов.

Более простой пример, соединения однотипных сетей:  


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

ТИПЫ МОСТОВ

    Наиболее часто применяемые это прозрачные мосты, термин «прозрачные» мосты объединяет большую группу устройств, поэтому их принято группировать в категории, базирующиеся на различных характеристиках изделий:

Для "обычного" пользователя операционных систем наиболее часто встречается программная реализация мостов. Режим бриджинга присутствует в некоторых видах высокоуровневого сетевого оборудования и операционных систем, где используется для «логического объединения» нескольких портов в единое целое (с точки зрения вышестоящих протоколов), превращая указанные порты в виртуальный коммутатор. У Microsoft этот режим называется «подключения типа мост». В операционной системе Linux при объединении интерфейсов в мост создаётся новый интерфейс brN (N — порядковый номер, начиная с нуля — br0).  Для создания мостов используется пакет bridge-utils, входящий в большинство дистрибутивов Linux.

    

ПРОЗРАЧНЫЕ МОСТЫ

        Одним из  стандартов на мосты является Transparent Bridging. Разработчики этого стандарта ставили перед собой задачу определения полностью прозрачного моста. С их точки зрения, купив мост для объединения двух локальных сетей, вам остается только подсоединить коннекторы к мосту, и все тут же должно начать работать. Никаких изменений в программном и аппаратном обеспечении, никакой настройки адресов, никакой загрузки маршрутных таблиц. Просто подключаете кабели, и готово.

    Прозрачный мост работает в режиме приема всех пакетов (promiscuous mode). 

При получении кадра мост должен принять решение об отбрасывании или пересылке кадра, причем в последнем случае многопортовый мост должен также решить, в какую локальную сеть переслать кадр. Последнее решение принимается на основе неупорядоченной таблицы адресов. Эта таблица устанавливает соответствие между всеми известными мосту адресами получателей и линиями (портами, сетями), по которым кадр надо отправить, чтобы он достиг адресата. Например, в таблице М2 хост А будет значиться как находящийся в сети 2, так как все, что мост М2 должен знать - это в какую сеть ему следует передать полученный кадр, чтобы тот в конце концов достиг адресата.

    При первом включении моста все строки таблицы пусты. Мост не знает, какой адресат в какой сети находится, поэтому он использует алгоритм веерной рассылки (flooding algorithm): каждый полученный кадр с неизвестным адресатом пересылается во все сети, за исключением той, из которой он получен. Постепенно мост узнает, где какой адресат находится (процесс обучения - backward learning). После чего кадры пересылаются только в соответствующую локальную сеть.

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

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

Таким образом, то, как мост поступает с кадром, зависит от того, из какой сети кадр получен и кому он адресуется:

    При определенных условиях кадры могут зацикливаться. Простом пример: Пусть две сети 1 и 2 соединены с помощью двух параллельных мостов М1 и М2 (например, для обеспечения избыточности или в силу необходимости). Если компьютер из сети 1 передает кадр неизвестному адресату, то сначала, например, М1, а затем М2 передают этот кадр в сеть 2 в соответствии с алгоритмом веерной рассылки. Вскоре М2 получает пересланную М1, а М1 - пересланную М2 в сеть 2 копию исходного кадра, адрес получателя которого неизвестен, и передают их поэтому обратно в сеть 1, и так до бесконечности.

    Решение данной проблемы - в создании древовидной топологии (Spanning Tree), когда некоторые соединения между локальными сетями по существу игнорируются, причем из одной сети можно попасть в другую только одним путем. Для построения дерева мосты должны выбрать вначале корневой мост (он будет корнем дерева), что достигается путем рассылки широковещательных пакетов с серийным номером производителя (свича, эти номера уникальны, а любое сетевое устройство имеет свой ID, обычно это MAC адрес). Мост с наименьшим номером становится корневым. Далее, мосты определяют дерево с кратчайшими путями до корня. В случае выхода какого-либо моста из строя это дерево определяется заново

МОСТЫ СВЯЗУЮЩЕГО ДЕРЕВА  -  Spanning Tree

Протокол агрегирования каналов: EtherChannel 

Cisco: Агрегация канала EtherChannel 

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

Такое решение, однако, создает некоторые дополнительные проблемы, поскольку в топологии образуются кольца. В качестве примера, иллюстрирующего указанные проблемы, рассмотрим кадр, отправленный А с ранее неизвестным адресом назначения. Каждый мост, действуя по обычным правилам обработки кадров с неизвестным получателем, использует метод заливки. В данном примере это означает, что кадр из А попадает к мосту В1, F0 . 

Мост посылает копии этого кадра во все остальные свои порты. Мы рассмотрим только порты, соединяющие В1 и В2 (хотя кадр будет послан и в другие). Так как из В1 в В2 есть два соединения, в В2 попадут две копии кадра. Они показаны на рис. как F1 и F2 . Вскоре после этого мост В1 получает эти кадры. Разумеется, он не знает (и не может знать), что это копии одного кадра, а не два разных кадра, посланных один за другим. Поэтому мост В2 отправляет копии кадра F1 во все свои порты. Так возникают F3 и F4, которые по двум соединениям отправляются обратно в В1. Мост В1 видит два новых кадра с неизвестным адресом назначения и копирует их снова. Этот цикл продолжается вечно.

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

    Чтобы построить связующее дерево, мосты применяют следующий распределенный алгоритм. Каждый мост периодически рассылает по всем своим портам конфигурационное сообщение своим соседям и обрабатывает сообщения, полученные от других мостов. Эти сообщения не передаются дальше, так как их цель — построение дерева, которое затем используется для пересылки, в некотором смысле тот же процесс обучения только для мостов (свичей). Автором распределенного алгоритма построения связующего дерева является Радья Перлман (Radia Perlman). Ее задачей было решить проблему объединения локальных сетей без циклов. Ей была дана неделя на решение этой задачи, но она придумала идею алгоритма связующего дерева за один день, так что у нее осталось время изложить ее в виде стихотворения (Perlman, 1985).

I think that I shall never see

    A graph more lovely than a tree.

    A tree whose crucial property

    Is loop-free connectivity.

    A tree which must be sure to span.

    So packets can reach every LAN.

    First the Root must be selected

    By ID it is selected.

    Least cost paths from Root are traced

    In the tree these paths are placed.

    A mesh is made by folks like me

    Then bridges find a spanning tree.

Алгоритм связующего дерева стандартизован как IEEE 802.1D и используется уже много лет. В 2001 году он был пересмотрен для более быстрого нахождения нового связующего дерева после изменения топологии.

Пока комитеты ISO спорили о своих стандартах, за их спиной менялась вся концепция организации сетей и по всему миру внедрялся протокол TCP/IP; И вот, когда протоколы ISO были наконец реализованы, выявился целый ряд проблем:

{

эти протоколы основывались на концепциях, не имеющих в современных сетях никакого смысла;

их спецификации были в некоторых случаях неполными;

по своим функциональным возможностям они уступали другим протоколам;

наличие многочисленных уровней сделало эти протоколы медлительными и трудными для реализации;

}

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

— Эви Нэмет     Эви Немет - Unix и Linux. Руководство системного администратора - 2012

PS:

Возможно следует заметить, что когда разговор идет о моделях OSI или TCP/IP, то разговор идет о "Эталонных моделях", некой парадигме не догмату (первообраз - парадейгма «порождающая модель») существование которой совершенно необходимо  при рассмотрении, обсуждении и создании сетевых архитектур, что зачастую не понимается людьми не столкнувшимися с этим практически, ни модель OSI ни DOD, не являются неприложными стандартами для существования сети, единого стандарта нет и существование его в будущем весьма туманно.., а на практике если вспомнить, что стек TCP/IP  является встроенным в большинство операционных систем, и Microsoft далеко не исключение, а для *nix систем он и вовсе "родной", то очевидно что модель DOD наиболее употребима, .. однако следует помнить, что это просто модель, описательная схема. 

Сетевые модели суть навигаторы, по локализации вопросов возникающих при решении тех или иных проблем сети, способ взглянуть на работу  сети как на логическую конструкцию, которой сеть и является, и не смотря на всю критику сетевой модели OSI (что без сомнения является признаком хорошего тона), она точно как и DOD несет ту же нагрузку и смысл, часто дополняя недостатки последней, иногда называется "справочная модель" (basic reference model).

SUN - The Network is the Computer любая вычислительная система представляет собой сеть, узлы которой связаны трактами передачи данных.

Модель SNA

https://ru.wikipedia.org/wiki/SNA

https://www.ibm.com/support

https://www.ibm.com/support/knowledgecenter/

Systems Network Architecture (системная сетевая архитектура) — разработанное компанией IBM в 1974 г., представляет общее описание структуры, форматов, протоколов, используемых для передачи информации между программами IBM и оборудованием, создавалось для объединения в глобальные сети мейнфреймов IBM.

SNA является семиуровневым стеком сетевых протоколов, близким, но не совпадающим с сетевой моделью OSI: