Читаем Компьютерные сети. 5-е издание полностью

Второй метод формирования кадров решает проблему восстановления синхронизации после сбоя при помощи маркировки начала и конца каждого кадра специальными байтами. Зачастую в качестве разделителя используется один и тот же байт, называемый флаговым. Он устанавливается в начале и в конце кадра. Этот байт помечен на рис. 3.4, а как FLAG. Два соседних флаговых байта говорят о том, что кончился один кадр и начался другой. Таким образом, если приемник теряет синхронизацию, ему необходимо просто найти два флаговых байта, с помощью которых он распознает конец текущего кадра и начало следующего.

Рис. 3.3. Поток байтов: а — без ошибок; б — с одной ошибкой

Однако одна проблема все же остается. В передаваемых данных, особенно если это двоичные данные, такие как фотографии или музыка, запросто может встретиться последовательность, используемая в качестве флагового байта. Возникновение такой ситуации, скорее всего, собьет синхронизацию. Одним из способов решения проблемы является добавление специального escape-символа (знака переключения кода, ESC) непосредственно перед случайно совпавшим флаговым байтом внутри кадра. Таким образом, настоящий флаг можно отличить от «подложного» по наличию или отсутствию перед ним ESC. Канальный уровень получателя вначале убирает эти escape-символы, затем передает кадр на сетевой уровень. Такой метод называется символьным заполнением (byte stuffing).

Следующий логичный вопрос: а что если и символ ESC случайно окажется среди прочих данных? Решение такое же: вставить перед этим фиктивным escape-символом настоящий. На стороне получателя первый символ ESC будет удален, а следующий байт данных останется, даже если это еще один байт ESC или флаговый байт. Некоторые примеры показаны на рис. 3.4, б. В любом случае, байтовая последовательность после ее очищения от вставных символов в точности совпадает с исходной. Найти границу кадра можно все так же по двум последовательным флаговым байтам до удаления дополнительных символов ESC.

Схема символьного заполнения, показанная на рис. 3.4, — это немного упрощенная модель протокола PPP (Point-to-Point Protocol, протокол «точка-точка»), с помощью которого пакеты передаются по коммуникационным каналам. Мы изучим PPP в конце этой главы.

Третий метод разделения потока битов на кадры позволяет обойти недостатки символьного заполнения, которое обязывает использовать исключительно 8-битные байты. Делить данные на кадры можно на уровне бит, причем кадры могут содержать произвольное число бит и состоять из блоков любого размера. Данный метод был разработан для некогда популярного протокола HDLC (High-level Data Link Control — высокоуровневый протокол управления каналом передачи данных). Каждый кадр начинается и завершается специальной последовательностью бит, 01111110 (или 0x7E в шестнадцатеричной системе). Это все тот же флаговый байт. Если в битовом потоке передаваемых данных встретится пять идущих подряд единиц, уровень передачи данных автоматически вставит в выходной поток нулевой бит. Битовое заполнение (bit stuffing) аналогично символьному, при котором в кадр перед случайно встретившимся среди данных флагом вставляется escape-символ. Он также гарантирует минимальную плотность передачи, помогающую сохранять синхронизацию на физическом уровне. По этой причине битовое заполнение применяется в протоколе USB (Universal Serial Bus — универсальная последовательная шина).

Рис. 3.4. Кадр, ограниченный флаговыми байтами (а); четыре примера байтовых последовательностей до и после символьного заполнения (б)

Когда принимающая сторона встречает пять единиц подряд, за которыми следует ноль, она автоматически удаляет этот ноль. Битовое заполнение, как и символьное, является абсолютно прозрачным для сетевого уровня обоих компьютеров. Если флаговая последовательность битов (01111110) встречается в данных пользователя, она передается в виде 011111010, но в памяти принимающего компьютера сохраняется опять в исходном виде: 01111110. На рис. 3.5 приведен пример битового заполнения.

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

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

Перейти на страницу:

Все книги серии Классика computer science

Компьютерные сети. 5-е издание
Компьютерные сети. 5-е издание

Перед вами — очередное, пятое издание самой авторитетной книги по современным сетевым технологиям, написанной признанным экспертом в этой области Эндрю Таненбаумом в соавторстве с профессором Вашингтонского университета Дэвидом Уэзероллом. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером и использовалось в качестве базового учебника в ведущих технических вузах. В книге последовательно изложены основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа. Пятое издание полностью переработано с учетом изменений, происшедших в сфере сетевых технологий за последние годы и, в частности, освещает такие аспекты, как беспроводные сети стандарта 802.12 и 802.16, сети 3G, технология RFID, инфраструктура доставки контента CDN, пиринговые сети, потоковое вещание, интернет-телефония и многое другое.

А. Гребенькова , Джеймс Уэзеролл

Технические науки

Похожие книги

102 способа хищения электроэнергии
102 способа хищения электроэнергии

Рассмотрена проблема хищений электроэнергии и снижения коммерческих потерь в электрических сетях потребителей. Приведены законодательно–правовые основы для привлечения к ответственности виновных в хищении электроэнергии. Изложены вопросы определения расчетных параметров средств учета электроэнергии, показаны схемы подключения счетчиков электрической энергии. Описаны расчетные и технологические способы хищения электроэнергии. Обсуждаются организационные и технические мероприятия по обнаружению, предотвращению и устранению хищений.Для работников энергоснабжающих организаций и инспекторского состава органов Ростехнадзора. Материалы книги могут быть использованы руководителями и специалистами энергослужб предприятий (организаций) для правильного определения расчетных параметров средств учета и потерь электроэнергии в электрических сетях.Если потенциальные расхитители электроэнергии надеются найти в книге «полезные советы», они должны отдавать себе отчет, что контролирующие структуры информированы в не меньшей степени и, следовательно, вооружены для эффективной борьбы с противоправной деятельностью.Настоящая книга является переработанным и дополненным изданием выпущенной в 2005 г. книги «101 способ хищения электроэнергии».

Валентин Викторович Красник

Технические науки / Образование и наука
Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
100 великих чудес инженерной мысли
100 великих чудес инженерной мысли

За два последних столетия научно-технический прогресс совершил ошеломляющий рывок. На что ранее человечество затрачивало века, теперь уходят десятилетия или всего лишь годы. При таких темпах развития науки и техники сегодня удивить мир чем-то особенным очень трудно. Но в прежние времена появление нового творения инженерной мысли зачастую означало преодоление очередного рубежа, решение той или иной крайне актуальной задачи. Человечество «брало очередную высоту», и эта «высота» служила отправной точкой для новых свершений. Довольно много сооружений и изделий, даже утративших утилитарное значение, тем не менее остались в памяти людей как чудеса науки и техники. Новая книга серии «Популярная коллекция «100 великих» рассказывает о чудесах инженерной мысли разных стран и эпох: от изобретений и построек Древнего Востока и Античности до небоскребов в сегодняшних странах Юго-Восточной и Восточной Азии.

Андрей Юрьевич Низовский

История / Технические науки / Образование и наука