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

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

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

3.1.2. Формирование кадра

Для обслуживания сетевого уровня канальный уровень должен использовать сервисы, предоставляемые ему физическим уровнем. Физический уровень принимает необработанный поток битов и пытается передать его по назначению. Если канал зашумлен, как обычно бывает с беспроводными и большинством проводных соединений, то на физическом уровне добавляются избыточные сигналы, чтобы снизить количество ошибок до допустимого уровня. Однако поток битов, получаемый на уровне передачи данных, не застрахован от ошибок. У некоторых битов могут быть другие значения, количество принятых бит может быть меньше, равно или больше числа переданных бит. Канальный уровень должен обнаружить ошибки и, если нужно, исправить их.

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

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

1.    Подсчет количества байтов.

2.    Использование сигнальных байтов с символьным заполнением.

3.    Использование сигнальных битов с битовым заполнением.

4.    Использование запрещенных сигналов физического уровня.

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

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

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

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

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

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

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

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

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

Технология редакционно-издательского процесса
Технология редакционно-издательского процесса

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

Нина Захаровна Рябинина

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