Э. Таненбаум - Компьютерные сети. (4-е издание) (DJVU) (1130092), страница 108
Текст из файла (страница 108)
Другой лагерь, представленный телефонными компаниями, возражает, что сеть должна предоставлять надежный, ориентированный на соединение сервис. Они утверждают, что 100 лет успешного управления телефонными системами по всему миру — это серьезный аргумент в их пользу. По их мнению, качество обслуживания является определяющим фактором, и без установления соединения в подсети очень сложно добиться каких-либо приемлемых результатов, особенно когда дело касается трафика реального масштаба времени — например, передачи голоса и видео. 402 Глава б. Сетевой уровень Примерами технологий, защищаемых каждой из сторон, являются Интернет и АТМ.
Интернет предоставляет не требующие установления соединения сервисы сетевого уровня, а система АТМ вЂ” ориентированные на соединение. Интересно, что в последнее время вопрос гарантии качества обслуживания становится все более важным, а Интернет при этом активно развивается. В частности, как мы увидим позже, ему все больше вменяются свойства, ассоциирующиеся с сервисами, ориентированными на соединение. Вообще-то мы уже даже намекали на это, когда рассматривали виртуальные сети в главе 4.
Реализация сервиса без установления соединения Рассмотрев два класса сервисов, которые сетевой уровень может предоставлять своим пользователям, можно перейти к обсуждению устройства этого уровня. Возможны два варианта в зависимости от типа сервиса. Если предоставляется сервис без установления соединения, пакеты внедряются в подсеть по отдельности и их маршруты рассчитываются независимо.
При этом никакой предварительной настройки не требуется. В этом случае пакеты часто называют дейтаграммами, по аналогии с телеграммами, а подсети, соответственно, — дейтаграммными. При использовании сервиса, ориентированного на соединение, путь от маршрутизатора отправителя до маршрутизатора получателя должен быть установлен до началакаких-либо передачпакетов.
Такое соединение называется виртуальным каналом, по аналогии с физическими каналами, устанавливаемыми в телефонной системе. Подсеть при этом называется подсетью виртуального канала. В этом разделе мы обсудим дейтаграммные подсети; в следующем разделе — подсети виртуального канала. Рассмотрим принцип работы дейтаграммных подсетей. Пусть процесс Р1 (рис. 5.2) хочет послать длинное сообщение для Р2. Он передает свое послание транспортному уровню, сообщает ему о том, что доставить данные необходимо процессу Р2, выполняющемуся на хосте Н2. Код транспортного уровня исполняется на хосте Н1; более того, обычно он является частью операционной системы.
Заголовок транспортного уровня вставляется в начало сообщения, и в таком виде оно передается на сетевой уровень. Обычно это просто еще одна процедура операционной системы, Предположим, что сообщение в четыре раза длиннее максимального размера пакета, поэтому сетевой уровень должен разбить его на четыре пакета (1, 2, 3 и 4) и послать их все поочередно на маршрутизатор А с использованием какого-нибудь протокола двухточечного соединения, например РРР, Здесь вступает в игру оператор связи. Каждый маршрутизатор имеет свою внутреннюю таблицу, по которой он определяет дальнейший путь пакета при каждом из возможных адресов назначения.
Каждая запись таблицы состоит из двух полей: пункт назначения (адресат) и выходящая линия для данного адресата. Во втором поле могут использоваться только линии, непосредственно соединенные с данным маршрутизатором. Так, например, на рис. 5.2 у маршрутизатора А имеются только две исходящие линии — ведущие к В и к С, поэтому все входящие пакеты должны Вопросы проектирования сетевого уровня 40В пересылаться на какой-то из этих двух маршрутизаторов, даже если они не являются адресатами. Изначальная таблица маршрутизации А показана на рисунке под соответствующей надписью.
Оборудование Пекет Маршругизетор оператора связи Процесс Р2 Таблица маршругизаторе Я Таблица Таблица В конце маршрутизатора С маршрутизатора Е В начале Назначение Линия Рис. В.2. Мершругизация внугри дейтаграммной подсети Пакеты 1, 2 и 3, прибывая на маршрутизатор А, кратковременно сохраняются для того, чтобы можно было проверить их корректную доставку по контрольной сумме, Затем в соответствии с таблицей А все они пересылаются на маршрутизатор С. После этого пакет 1 уходит на Е, откуда доставляется на маршрутизатор локальной сети, Е Когда он прибывает на Г, он инкапсулируется в кадр уровня передачи данных и передается на хост Н2 по локальной вычислительной сети. Пакеты 2 и 3 следуют по тому же маршруту.
Однако с пакетом 4 связана несколько иная история. После прибытия на А он пересылается на маршрутизатор В несмотря на то, что адресом назначения является Р, как и у первых трех пакетов, По каким-то своим причинам маршрутизатор А решил послать пакет 4 по новому маршруту. Может быть, это стало следствием затора где-то на линии АСЕ, возникшего при пересылке трех пакетов, в результате чего маршрутизатор решил обновить свою таблицу (на рисунке показана под надписью «В кондея). Алгоритм, управляющий таблицами маршрутизации и принимающий решения, называется алгоритмом маршрутизации. Именно изучению алгоритмов маршрутизации будет уделено основное внимание в этой главе. 404 Глава 5. Сетевой уровень Реализация сервиса с установлением соединения Сервису с установлением соединения нужна подсеть виртуального канала. Рассмотрим ее работу. Идея виртуальных каналов состоит в предотвращении выбора своего маршрута для каждого пакета„как было показано на рис.
5.2. Вместо этого устанавливается соединение, маршрут от отправляющей до получающей машины прописывается в настройках системы и хранится в специальных таблицах, встроенных в маршрутизаторы. Один и тот же маршрут используется для всего трафика, проходящего через данное соединение. Именно так работает телефонная система. Когда соединение разрывается, виртуальный канал также прекращает свое существование. При использовании сервиса, ориентированного на установление соединения, каждый пакет включает в себя идентификатор виртуального канала. В качестве примера рассмотрим ситуацию, изображенную на рис. 5.3.
Хост Н1 установил соединение с хостом Н2. Это соединение запоминается и становится первой записью во всех таблицах маршрутизации. Так, первая строчка таблицы маршрутизатора А говорит о том, что если пакет с идентификатором соединения 1 пришел с хоста Н1, то его нужно направить на С с идентификатором соединения 1. Точно так же первая запись С направляет пакет на Е все с тем же идентификатором соединения 1. Оборудование Маршрутизатор оператора связи НЗ Процесс Р2 Таблица зшршрутизвтора Л Таблица маршрутизатора С Таблица маршрутизатора Е НЗ 1 С'2 Я~2 Е 2 С'2 Р 2 Вход Выход Рис.
6.3. Маршрутизация в подсети виртуального канала Теперь рассмотрим, что будет, если хост НЗ захочет установить соединение с Н2. Он выбирает идентификатор соединения 1 (у него просто нет выбора, поскольку это на данный момент единственное существующее соединение) и просит подсеть установить виртуальный канал. Таким образом, в таблице появляет- Вопросы проектирования сетевого уровня 40Б ся вторая запись.
Обратите внимание на то, что здесь возникает, на самом деле, конфликт, потому что если А еще может отличить пакеты соединения 1, пришедшие с Н1, от пакетов соединения 1, пришедших с НЗ, то С такой возможности не имеет. По этой причине А присваивает новый идентификатор соединения исходящему трафику и тем самым создает второе соедюусние. Предотвращение конфликтов подобного рода является причиной того, почему маршрутизаторам нужна возможность изменения идентификаторов соединения в исходящих пакетах, Иногда это называется коммутацией меток.
Сравнение подсетей виртуальных каналов и дейтаграммных подсетей Как виртуальные каналы, так и дейтаграммы имеют своих сторонников и против- ников. Попробуем обобщить аргументы обеих сторон. Основные аспекты сведе- ны в табл. 5.1, хотя наверняка можно найти контраргументы для каждого пункта таблицы. таблица Б.1.