ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

13 минут чтени€

ѕочитать лекцию є19 про Connection-oriented protocols и Connectionless протоколы можно тут.

ѕротоколы передачи данных часто бывают многоуровневыми, причем нижние уровни предоставл€ют услуги по одному переходу, средний набор уровней предоставл€ет услуги от конца до конца между двум€ устройствами и, возможно, набор уровней предоставл€ет услуги от конца до конца между двум€ приложени€ми или двум€ экземпл€рами одного приложени€. –исунок 1 иллюстрирует это.

“ранспортный уровень

 аждый набор протоколов показан как пара протоколов, потому что, как показано в модели рекурсивной архитектуры »нтернета (RINA), рассмотренной в предыдущих лекци€х, транспортные протоколы обычно вход€т в пары, причем каждый протокол в паре выполн€ет определенные функции. ¬ этой серии лекций будут рассмотрены физические протоколы и протоколы передачи данных, как показано на рисунке 1. ¬ частности, в этой лекции будут рассмотрены два широко используемых протокола дл€ передачи данных "точка-точка" в сет€х: Ethernet и WiFi (802.11).


Ethernet

ћногие из ранних механизмов, разработанных дл€ того, чтобы позволить нескольким компьютерам совместно использовать один провод, были основаны на проектах, заимствованных из более ориентированных на телефонные технологии.  ак правило, они фокусировались на передаче токенов и других более детерминированных схемах дл€ обеспечени€ того, чтобы два устройства не пытались использовать одну общую электрическую среду одновременно. Ethernet, изобретенный в начале 1970-х Bob Metcalf (который в то врем€ работал в Xerox), разрешал перекрывающиес€ разговоры другим способом-с помощью очень простого набора правил дл€ предотвращени€ большинства перекрывающихс€ передач, а затем разрешал любые перекрывающиес€ передачи путем обнаружени€ и обратного отсчета.

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


ћультиплексирование

„тобы пон€ть проблему мультиплексировани€, с которой столкнулс€ Ethernet, когда он был впервые изобретен, рассмотрим следующую проблему: в сети с общим носителем вс€ обща€ среда представл€ет собой единую электрическую цепь (или провод).

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


CSMA/CD

¬ результате система, получивша€ название множественного доступа с контролем несущей и обнаружением коллизий (CSMA/CD), работает с использованием набора шагов:

  1. ’ост слушает среду, чтобы увидеть, есть ли какие-либо существующие передачи; это часть процесса со стороны оператора св€зи.
  2. ”знав, что другой передачи нет, хост начнет сериализацию (передача битов сери€ми) битов кадра в сеть.

Ёта часть проста - просто слушать перед передачей.  онечно, передачи двух (или более) хостов могут конфликтовать, как показано на рисунке 2. Ќа рисунке 2:

 оллизии в общей среде
  1. ¬ момент времени 1 (T1) A начинает передачу кадра на совместно используемый носитель. ƒл€ прохождени€ сигнала от одного конца провода к другому требуетс€ некоторое врем€ - это называетс€ задержкой распространени€.
  2. ¬ момент времени 2 (T2) C прослушивает сигнал на проводе и, не обнаружив его, начинает передачу кадра на совместно используемый носитель. ¬ этот момент уже произошла коллизи€, поскольку оба A и C передают кадр в один и тот же момент, но ни один из них еще не обнаружил коллизию.
  3. ¬ момент времени 3 (T3) два сигнала фактически сталкиваютс€ в проводе, в результате чего они оба деформируютс€ и, следовательно, не читаютс€.

—толкновение можно обнаружить в точке ј в тот момент, когда сигнал от — достигает точки ј, прослушав свой собственный сигнал, передаваемый по проводу.  огда сигнал от — достигнет ј, ј получит искаженный сигнал, вызванный комбинацией этих двух сигналов (результат столкновени€). Ёто часть обнаружением столкновений (участок —D) работы локальные сети CSMA/CD.

„то должен сделать хост при обнаружении столкновени€? ¬ оригинальном конструкции Ethernet хост будет посылать сигнал блокировки достаточно долго, чтобы заставить любой другой хост, подключенный к проводу, обнаружить конфликт и прекратить передачу. ƒлина сигнала блокировки изначально была установлена таким образом, чтобы сигнал блокировки потребл€л, по крайней мере, врем€, необходимое дл€ передачи кадра максимального размера по проводу по всей длине провода. ѕочему именно столько времени?

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

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

≈сли каждый хост, подключенный к одному проводу, получает один и тот же сигнал примерно в одно и то же врем€ (учитыва€ задержку распространени€ по проводу), как любой конкретный хост может знать, должен ли он на самом деле получать определенный кадр (или, скорее, копировать информацию внутри кадра из провода в локальную пам€ть)? Ёто работа Media Access Control (MAC).

 аждому физическому интерфейсу назначаетс€ (как минимум) один MAC-адрес.  аждый кадр Ethernet содержит MAC-адрес источника и назначени€; кадр форматируетс€ таким образом, что MAC-адрес назначени€ принимаетс€ раньше любых данных. ѕосле того, как весь MAC-адрес назначени€ получен, хост может решить, следует ли ему продолжать прием пакета или нет. ≈сли адрес назначени€ совпадает с адресом интерфейса, хост продолжает копировать информацию с провода в пам€ть. ≈сли адрес назначени€ не совпадает с адресом локального интерфейса, хост просто прекращает прием пакета.

ј как насчет дубликатов MAC-адресов? ≈сли несколько хостов, подключенных к одному и тому же носителю, имеют один и тот же физический адрес, каждый из них будет получать и потенциально обрабатывать одни и те же кадры. —уществуют способы обнаружени€ повтор€ющихс€ MAC-адресов, но они реализуютс€ как часть межслойного обнаружени€, а не самого Ethernet;

  • MAC-адреса будут правильно назначены системным администратором, если они назначены вручную.
  • MAC-адреса назначаютс€ производителем устройства, поэтому дублирование MAC-адресов исключено, независимо от того, сколько хостов подключено друг к другу.

(ѕоскольку MAC-адреса обычно перезаписываютс€ на каждом маршрутизаторе, они должны быть уникальными только в сегменте или широковещательном домене. ¬ то врем€ как многие старые системы стремились обеспечить уникальность каждого сегмента или широковещательного домена, это обычно должно быть обеспечено с помощью ручной конфигурации, и поэтому в значительной степени было отказано в пользу попытки предоставить каждому устройству глобальный уникальный MAC-адрес, "вшитый" в чипсете Ethernet при создании.)

ѕервое решение трудно реализовать в большинстве крупномасштабных сетей- ручна€ настройка MAC-адресов крайне редка в реальном мире вплоть до ее отсутстви€. ¬торой вариант, по существу, означает, что MAC-адреса должны быть назначены отдельным устройствам, чтобы ни одно из двух устройств в мире не имело одного и того же MAC-адреса.  ак такое возможно? ѕутем назначени€ MAC-адресов из центрального хранилища, управл€емого через организацию стандартов. –исунок 3 иллюстрирует это.

 оллизии в общей среде

–ис. 3 ‘ормат адреса MAC-48/EUI-48

MAC-адрес разбит на две части: уникальный идентификатор организации (OUI) и идентификатор сетевого интерфейса. »дентификатор сетевомого интерфейса присваиваетс€ заводом-изготовителем микросхем дл€ Ethernet.  омпани€м, производ€щим чипсеты Ethernet, в свою очередь, присваиваютс€ уникальный идентификатор организации »нститутом инженеров электротехники и электроники (Institute of Electrical and Electronic Engineers -IEEE). ƒо тех пор, пока организаци€ (или производитель) назначает адреса чипсету с его OUI в первых трех октетах MAC-адреса и не назначает никаким двум устройствам один и тот же идентификатор сетевого интерфейса в последних трех октетах MAC-адреса, никакие два MAC-адреса не должны быть одинаковыми дл€ любого набора микросхем Ethernet.

ƒва бита в пространстве OUI выдел€ютс€, чтобы сигнализировать, был ли MAC-адрес назначен локально (что означает, что назначенный производителем MAC-адрес был переопределен конфигурацией устройства), и предназначен ли MAC-адрес в качестве одного из следующих:

  • Unicast адрес, означает, что он описывает один интерфейс
  • Multicast-адрес, означает, что он описывает группу получателей

MAC-адрес состоит из 48 бит- при удалении двух битов пространство MAC-адресов составл€ет 46 бит, что означает, что оно может описывать 246-или 70,368,744,177,664- адресуемых интерфейсов. ѕоскольку этого (потенциально) недостаточно, чтобы учесть быстрое количество новых адресуемых устройств, таких как Bluetooth-гарнитуры и датчики, длина MAC-адреса была увеличена до 64 бит дл€ создани€ MAC-адреса EUI-64, который построен таким же образом, как и более короткий 48-битный MAC-адрес. Ёти адреса могут поддерживать 262-или 4,611,686,018,427,387,904-адресуемые интерфейсы.


 онец эпохи CSMA / CD

ћодель развертывани€ Ethernet с раздел€емой средой в значительной степени (хот€ и не полностью!) заменена в большинстве сетей. ¬место общей среды большинство развертываний Ethernet теперь коммутируютс€, что означает, что одна электрическа€ цепь или один провод разбиваетс€ на несколько цепей путем подключени€ каждого устройства к порту на коммутаторе. –исунок 4 демонстрирует это.

 оммутируема€ сеть Ethernet

Ќа рисунке 4 каждое устройство подключено к разному набору проводов, каждый из которых оканчиваетс€ одним коммутатором. ≈сли сетевые интерфейсы на трех хостах (A, B и C) и сетевые интерфейсы коммутатора могут отправл€ть или получать в любой момент времени вместо того, чтобы делать и то, и другое, A может отправл€ть, пока коммутатор тоже отправл€ет. ¬ этом случае процесс CSMA / CD все равно должен соблюдатьс€ дл€ предотвращени€ коллизий, даже в сет€х, где только два передатчика подключены к одному проводу. “акой режим работы называетс€ полудуплексом.

ќднако, если наборы микросхем Ethernet могут одновременно прослушивать и передавать данные дл€ обнаружени€ коллизий, эту ситуацию можно изменить. —амый простой способ справитьс€ с этим - разместить сигналы приема и передачи на разных физических проводах в наборе проводов, используемых в кабеле Ethernet. »спользование разных проводов означает, что передачи от двух подключенных систем не могут конфликтовать, поэтому набор микросхем может передавать и принимать одновременно. „тобы включить этот режим работы, называемый полнодуплексным, вита€ пара Ethernet передает сигнал в одном направлении по одной паре проводов, а сигнал в противоположном направлении - по другому набору проводов. ¬ этом случае CSMA / CD больше не нужен (коммутатор должен узнать, какое устройство (хост) подключено к каждому порту, чтобы эта схема работала).


 онтроль ошибок

CSMA/CD предназначен дл€ предотвращени€ одного вида обнаруживаемой ошибки в Ethernet: когда коллизии привод€т к искажению кадра. ќднако в сигнал могут входить и другие виды ошибок, как и в любой другой электрической или оптической системе. Ќапример, в кабельной системе с витой парой, если скрученные провода слишком сильно "разматываютс€" при установке коннектора, один провод может передавать свой сигнал другому проводу через магнитные пол€, вызыва€ перекрестные помехи.  огда сигнал проходит по проводу, он может достигать другого конца провода и отражатьс€ обратно по всей длине провода.

 ак Ethernet контролирует эти ошибки? ќригинальный стандарт Ethernet включал в себ€ 32-битную циклическую проверку избыточности (Cyclic Redundancy Check-CRC) в каждом кадре, котора€ позвол€ет обнаруживать большой массив ошибок при передаче. ќднако на более высоких скорост€х и на оптических (а не электрических) транспортных механизмах CRC не обнаруживает достаточно ошибок, чтобы повли€ть на работу протокола. „тобы обеспечить лучший контроль ошибок, более поздние (и более быстрые) стандарты Ethernet включили более надежные механизмы контрол€ ошибок.

Ќапример, Gigabit Ethernet определ€ет схему кодировани€ 8B10B, предназначенную дл€ обеспечени€ правильной синхронизации часов отправител€ и получател€; эта схема также обнаруживает некоторые битовые ошибки. Ten-Gigabit Ethernet часто реализуетс€ аппаратно с помощью Reed-Solomon code Error Correction (EC) и системы кодировани€ 16B18B, котора€ обеспечивает пр€мое исправление ошибок (FEC) и синхронизацию часов с 18% -ными издержками.

—хема кодировани€ 8B10B пытаетс€ обеспечить наличие примерно одинакового количества битов 0 и 1 в потоке данных, что позвол€ет эффективно использовать лазер и обеспечивает встроенную в сигнал тактовую синхронизацию. —хема работает путем кодировани€ 8 бит данных (8B) в 10 передаваемых битов по проводу (10B), что означает около 25% накладных расходов на каждый передаваемый символ. ќшибки четности одного бита могут быть обнаружены и исправлены, потому что приемник знает, сколько "0" и "1" должно быть получено.


ћаршалинг данных

Ethernet передает данные пакетами и кадрами: пакет состоит из преамбулы, кадра и любой конечной информации. ‘рейм содержит заголовок, который состоит из полей фиксированной длины и переносимых данных. Ќа рисунке 5 показан пакет Ethernet.

Ќа рисунке 5 преамбула содержит маркер начала кадра, информацию, которую приемник может использовать дл€ синхронизации своих часов дл€ синхронизации с вход€щим пакетом, и другую информацию. јдрес назначени€ записываетс€ сразу после преамбулы, поэтому получатель может быстро решить, копировать этот пакет в пам€ть или нет. јдреса, тип протокола и передаваемые данные €вл€ютс€ частью кадра. Ќаконец, люба€ информаци€ FEC и другие трейлеры добавл€ютс€ в кадр, чтобы составить последний раздел (ы) пакета.

ѕоле type представл€ет особый интерес, поскольку оно предоставл€ет информацию дл€ следующего уровн€-протокола, предоставл€ющего информацию, переносимую в поле data - дл€ идентификации протокола. Ёта информаци€ непрозрачна дл€ Ethernet-чипсет Ethernet не знает, как интерпретировать эту информацию (только где она находитс€) и как ее переносить. Ѕез этого пол€ не было бы последовательного способа дл€ передачи переносимых данных в правильный протокол верхнего уровн€, или, скорее, дл€ правильного мультиплексировани€ нескольких протоколов верхнего уровн€ в кадры Ethernet, а затем правильного демультиплексировани€.

ѕакет и кадр Ethernet

”правление потоком

¬ исходной CSMA / CD реализации Ethernet сама совместно используема€ среда предоставл€ла своего рода базовый механизм управлени€ потоком. ѕредполага€, что никакие два хоста не могут передавать одновременно, и информаци€, передаваема€ по какому-то протоколу верхнего уровн€, должна быть подтверждена или отвечена, по крайней мере, врем€ от времени, передатчик должен периодически делать перерыв, чтобы получить любое подтверждение или ответ. »ногда возникают ситуации, когда эта довольно груба€ форма регулировани€ потока не работает- спецификаци€ Ethernet предполагает, что некоторый протокол более высокого уровн€ будет контролировать поток информации, чтобы предотвратить сбои в этом случае.

¬ коммутируемом полнодуплексном Ethernet нет CSMA/CD, так как нет общей среды. ƒва хоста, подключенные к паре каналов передачи, могут отправл€ть данные так быстро, как позвол€ют каналы св€зи. ‘актически это может привести к ситуации, когда хост получает больше данных, чем может обработать. „тобы решить эту проблему, дл€ Ethernet был разработан фрейм паузы.  огда получатель отправл€ет фрейм паузы, отправитель должен прекратить отправку трафика в течение определенного периода времени.

‘реймы паузы массово не примен€ютс€.


¬ажно

ћногие протоколы не содержат все четыре функции, описанных как часть модели рекурсивной архитектуры »нтернета (RINA): контроль ошибок, управление потоком, транспортировка и мультиплексирование. ƒаже среди тех протоколов, которые реализуют все четыре функции, все четыре не всегда используютс€. ќбычно в этой ситуации разработчик протокола и/или сети передает функцию на более низкий или более высокий уровень в стеке. ¬ некоторых случа€х это работает, но вы всегда должны быть осторожны, предполага€, что это будет работать без ошибок. Ќапример, существует разница между hop-by-hop шифрованием и end-to-end шифрованием. End-to-end передача хороша дл€ приложений и протоколов, которые выполн€ют шифрование, но на самом деле не каждое приложение шифрует передаваемые данные. ¬ этих случа€х hop-by-hop шифрование может быть полезно дл€ менее безопасных соединений, таких как беспроводные соединени€.