Компьютерные сети

Многоуровневая архитектура Интернета

‘Канальный уровень и локальные сети’

Вычисление контрольной суммы

Опубликовано 20 февраля, 2008

Методы вычисления контрольной суммы обрабатывают d разрядов данных (см. рис. 5.4) как последовательность ^-разрядных целых чисел. Наиболее простой метод заключается в простом суммировании этих ^-разрядных целых чисел и использовании полученной суммы в качестве битов определения ошибок. На этом методе основан алгоритм вычисления контрольной суммы, принятый в Интернете, — байты данных группируются в 16-разрядные целые числа и суммируются. Затем от суммы берется обратное значение (дополнение до 1), которое и помещается в заголовок сегмента. Как уже отмечалось в разделе «Протокол UDP — передача без установления соединения» главы 3, получатель проверяет контрольную сумму, вычисляя дополнение до 1 от суммы полученных данных (включая контрольную сумму), и сравнивает результат с числом, все разряды которого равны 1. Если хотя бы один из разрядов результата равен 0, это означает, что произошла ошибка. Принятый в Интернете алгоритм вычисления контрольной суммы и его реализация подробно описываются в RFC 1071. В протоколах TCP и UDP контрольная сумма вычисляется по всем полям (включая поля заголовка и данных). В других протоколах, например ХТР, вычисляются две контрольной суммы, одна для заголовка, а другая для всего пакета.
Читать далее »

Контроль четности

Опубликовано 19 февраля, 2008

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

Схема движения данных

Опубликовано 18 февраля, 2008

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

Адаптеры

Опубликовано 17 февраля, 2008

В каждой линии связи протокол канального уровня обычно реализован в адаптере. Адаптер представляет собой плату, или карту, PCMCIA (Personal Computer Memory Card International Association — Международная ассоциация производителей плат памяти для персональных компьютеров IBM PC), на которой, как правило, установлены микросхемы памяти и DSP (Digital Signal Processor — цифровой обработчик сигналов), а также интерфейсы шины хоста и линии связи. Адаптеры также часто называют сетевыми интерфейсными картами (Network Interface Card, NIC). Как показано на рис. 5.2, сетевой уровень передающего узла (то есть хоста или маршрутизатора) передает дейтаграмму сетевого уровня адаптеру, управляющему передающей стороной линии связи. Адаптер помещает дейтаграмму в кадр, а затем передает кадр в канал связи. На другой стороне линии связи принимающий адаптер получает кадр целиком, извлекает из него дейтаграмму сетевого уровня и передает ее сетевому уровню. Если протокол канального уровня обеспечивает обнаружение ошибок, тогда передающий адаптер считает контрольную сумму кадра и помещает ее в кадр перед отправкой, а принимающий адаптер проверяет контрольную сумму полученного кадра. Если протокол канального уровня обеспечивает надежную доставку, тогда в адаптерах полностью реализуются механизмы надежной доставки (например, порядковые номера, таймеры и подтверждения). Если протокол канального уровня предоставляет возможность произвольного доступа (см. раздел «Протоколы коллективного доступа»), тогда этот протокол также целиком реализуется в адаптерах.
Читать далее »

Находится в разделе Введение и терминология

Службы канального уровня

Опубликовано 16 февраля, 2008

Протокол канального уровня используется для перемещения дейтаграммы по индивидуальной линии связи. Этот протокол определяет формат пакетов, которыми обмениваются узлы на концах линии связи, а также действия, предпринимаемые этими узлами при отправке и получении пакетов. Как упоминалось в главе 1, эти пакеты, представляющие собой единицы обмена (PDU) протокола канального уровня, называют кадрами. Как правило, каждый кадр канального уровня содержит одну дейтаграмму сетевого уровня. Мы вскоре увидим, что протокол канального уровня при отправке и приеме кадров обеспечивает обнаружение ошибок, повторную передачу, управление потоком и произвольный доступ. В качестве примеров технологий канального уровня можно назвать Ethernet, 802.11, беспроводные локальные сети, маркерное кольцо и протокол РРР. Кроме того, во многих ситуациях протокол ATM также можно рассматривать как технологию канального уровня. Мы подробно обсудим эти технологии во второй половине этой главы.
Читать далее »

Находится в разделе Введение и терминология

Терминология канального уровня

Опубликовано 15 февраля, 2008

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

Находится в разделе Введение и терминология

Обсуждения канального уровня

Опубликовано 14 февраля, 2008

В предыдущей главе мы говорили о том, что канальный уровень поддерживает связь между двумя хостами. Как показано на рис. 5.1, эту связь обеспечивают линии связи, начинающиеся от хоста-источника, проходящие через несколько маршрутизаторов и заканчивающиеся у хоста-получателя. В этой главе мы продолжим продвигаться вниз по стеку протоколов и перейдем от сетевого уровня к канальному, или, как его еще называют, уровню передачи данных. Нас будут интересовать следующие вопросы. Как передаются пакеты по образующим канал индивидуальным линиям связи? Как дейтаграммы сетевого уровня инкапсулируются в кадры канального уровня для передачи по отдельной линии связи? Могут ли протоколы канального уровня обеспечить надежную передачу данных от одного маршрутизатора до другого? Могут ли в различных линиях связи одного канала связи использоваться разные протоколы канального уровня? В этой главе мы ответим на эти, а также другие важные вопросы.
Читать далее »