Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Olifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Скачиваний:
2396
Добавлен:
21.03.2016
Размер:
23.36 Mб
Скачать

Коммутация пакетов

85

Коммутация пакетов

Сети с коммутацией пакетов, так же как и сети с коммутацией каналов, состоят из комму­ таторов, связанных физическими линиями связи. Однако передача данных в этих сетях происходит совершенно по-другому. Образно говоря, по сравнению с сетыр с коммута­ цией каналов сеть с коммутацией пакетов ведет себя менее «ответственно». Например, она может принять данные для передачи, не заботясь о резервировании линий связи на пути следования этих данных и не гарантируя требуемую пропускную способность. Сеть с коммутацией пакетов не создает заранее для своих абонентов отдельных, выделенных исключительно для них каналов связи. Данные моїуг задерживаться и даже теряться по пути следования. Как же при таком хаосе и неопределенности сеть с коммутацией* пакетов выполняет свои функции по передаче данных?

Важнейшим принципом функционированиясетей с коммутацией пакетов является представление информации, передаваемой посети, в виде структурноотделенныхдруг отдруга порцийданных, называемых пакетами1.

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

В зависимости от конкретной реализации технологии коммутации пакетов пакеты могут иметь фиксированную или переменную длину, кроме того, может меняться состав инфор­ мации, размещенной в заголовках пакетов. Например, в технологии ATM пакеты (назы­ ваемые там ячейками) имеют фиксированную длину, а в технологии Ethernet установлены лишь минимально и максимально возможные размеры пакетов (кадров).

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

Как и в сетях с коммутацией каналов, в сетях с коммутацией пакетов для каждого из по­ токов вручную или автоматически определяется марщрут, фиксируемый в хранящихся накоммутаторах таблицах коммутации. Пакеты, попадая на коммутатор, обрабатываются и направляются по тому или иному маршруту на основании информации, содержащейся вих заголовках, а т^кже в таблице коммутации (рис. 3.6).

1Наряду с термином «пакет» используются также термины «кадр», «фрейм», «ячейка» и др. В данном контексте различия в значении этих терминов несущественны.

2 В некоторых технологиях коммутации пакетов (например, в технологии виртуальных каналов) полная независимость обработки пакетов не обеспечивается.

86

Глава 3. Коммутация каналов и пакетов

 

Отправляемые данные

Г

 

1 этап — исходное

 

сообщение на узле-

 

отправителе

Отправляемые данные

Г

і

2 этап — разбиение сообщения на части

3 этап — образование пакетов

Принятые данные

4 этап — сборка пакетов на узле назначения

Рис. 3.5. Разбиение данных на пакеты

- конечные узлы

о- коммутаторы

пакеты

данные заголовок

Рис. З.б. Передача данных по сети в виде пакетов

Коммутация пакетов

87

ПРИМЕЧАНИЕ---------------------------------------------------------------------------------------------------

 

Процедура резервирования пропускной способности может применяться и в пакетных сетях. Однако,

основная идея такого резервирования принципиально отличается от идеи резервирования про ­

пускной способности в сетях с коммутацией каналов. Разница заключается в том, что пропускная

способность канала сети с коммутацией пакетов м о ж е т динамически перераспределяться м е ж д у

и нформационными потоками в зависимости от текущих потребностей каждого потока, чего не м о ­

жет обеспечить техника коммутации каналов. С деталями такого резервирования в ы познакомитесь

позже, в главе 7.

 

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

Разделение данных на пакеты позволяет передавать неравномерный компьютерный трафик более эффективно, чем в сетях с коммутацией каналов. Это объясняется тем, что пульса­ ции трафика от отдельных компьютеров носят случайный характер и распределяются во времени так, что их пики чаще всего не совпадают. Поэтому когда линия связи передает трафик большого количества конечных узлов, то в суммарном потоке пульсации сглажи­ ваются, и пропускная способность линии используется более рационально, без длительных простоев. Это эффект иллюстрируется рис. 3.7, на котором показаны неравномерные по­ токи пакетов, поступающие от конечных узлов 5,4 и 10 в сети, изображенной на рис. 3.6.

0 -------

L I_U --------------

Ш1Ш-

Потокмз узла 3 в сторону коммутатора 5

і mm і

Поток из узла 4 в сторону коммутатора 5

I 11IIIIII

Поток из узла 10 в сторону коммутатора 5

IIпіннішії■

Суммарный поток из коммутатора 5 в сторону коммутатора 8

Рис. 3.7. Сглаживание трафика в сетях с коммутацией пакетов

88

Глава 3. Коммутация каналов и пакетов

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

Буферизация пакетов

Неопределенность и асинхронность перемещения данных в сетях с коммутацией пакетов предъявляет особые требования к работе коммутаторов в таких сетях.

Главнойотличие пакетныхкоммутаторов1от коммутаторов всетяхс коммутацией каналовсостоит втом, чтоони имеют внутреннююбуферную память для временного хранения пакетов.

Действительно, пакетный коммутатор не может принять решения о продвижении пакета, не имея в своей памяти всего пакета. Коммутатор проверяет контрольную сумму, и только если она говорит о том, что данные пакета не искажены, начинает обрабатывать пакет и по адресу назначения определяет следующий коммутатор. Поэтому каждый пакет последова­ тельно бит за битом помещается во входной буфер. Имея в виду это свойство, говорят, что сети с коммутацией пакетов используют технику сохранения с продвижением (store-and- forward). Заметим, что для этой цели достаточно иметь буфер размером в один пакет.

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

Буферизация необходима пакетному коммутатору также для согласования скорости по­ ступления пакетов со скоростью их коммутации. Если коммутирующий блок не успевает обрабатывать пакеты (анализировать заголовки и перебрасывать пакеты на нужный ин­ терфейс), то на интерфейсах коммутатора возникают входные очереди. Очевидно, что для хранения входной очереди объем буфера должен превышать размер одного пакета. Существуют различные подходы к построению коммутирующего блока. Традиционный способ основан на одном центральном процессоре, который обслуживает все входные очереди коммутатора. Такой способ построения может приводить к большим очередям, так как производительность процессора разделяется между несколькими очередями. Со­ временные способы построения коммутирующего блока основаны на многопроцессорном подходе, когда каждый интерфейс имеет свой встроенный процессор для обработки пакетов. Кроме того, существует центральный процессор, координирующий работу интерфейсных процессоров. Использование интерфейсных процессоров повышает производительность коммутатора и уменьшает очереди во входных интерфейсах. Однако такие очереди все равно могут возникать, так как центральный процессор по-прежцему остается «узким местом». Более подробно вопросы внутреннего устройства коммутаторов обсуждаются в главе 13.

Поскольку объем буферов в коммутаторах ограничен, иногда происходит потеря паке­ тов из-за переполнения буферов при временной перегрузке части сети, когда совпадают

1 Для простоты будем далее называть коммутаторы сетей с коммутацией пакетов «пакетными ком­ мутаторами».

Коммутация пакетов

89

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

буфер

буфер

 

буфер

буфер

буфер буфер

£511

 

ы

 

 

3

И

 

 

 

 

 

 

н

 

 

пакетов

 

 

З

н

 

Очереди

ijpraj;

 

в

 

н

/

 

4

0

 

НІ 9

н

 

 

 

в 2ZZI

 

 

 

 

 

 

 

 

^\Сетевые

 

 

 

 

 

 

 

 

интерфейсы

Приёмник

 

Передатчик

а

Ы Н

н

 

 

 

 

и

ф

 

 

Рис. 3.8. Буферы и очереди пакетов в коммутаторе

Пакетный коммутатор может работать на основании одного из трех методов продвижения пакетов:

дейтаграммная передача;

передача с установлением логического соединения;

передача с установлением виртуального канала.

Дейтаграммная передача

Дейтаграммный способ передачи данных основан на том, что все передаваемые пакеты продвигаются (передаются отодного узласети другому) независимо друг отдруга на основании

однихи техже правил.

Процедура обработки пакета определяется только значениями параметров, которые он несет

всебе, итекущим состоянием сети (например, в зависимости от ее нагрузки пакет может стоять

вочереди на обслуживание большее или меньшее время). Однако никакая информация об уже переданных пакетах сетью не хранится и в ходе обработки очередного пакета во внимание не

принимается. Тоесть каждый отдельный пакет рассматривается сетью как совершенно незави­ симаяединица передачи —дейтаграмма.

90

Глава 3. Коммутация каналов и пакетов

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

Таблица коммутации коммутатора S1

Адрес

Адрес следующего

назначения

коммутатора

 

Пакет не требуется

N1

передавать

 

через сеть

N2

S2

N3

S3

N4

S3

N5

S6

N6

S6

Рис. 3.9. Иллюстрация дейтаграммного принципа передачи пакетов

На рис. 3.9 показана сеть, в которой шесть конечных узлов (М-М5) связаны семью ком­ мутаторами (51-57). Показаны также несколько перемещающихся по разным маршрутам пакетов с разными адресами назначения (М-М5), на пути которых лежит коммутатор 51.

1Напомним, что в разных технологиях для обозначения таблиц, имеющих указанное выше функ­ циональное назначение, могут использоваться другие термины (таблица маршрутизации, таблица продвижения и др.).

Коммутация пакетов

91

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

В таблице коммутации для одного и того же адреса назначения может содержаться несколь­ козаписей, указывающих соответственно на различные адреса следующего коммутатора. Такой подход называется балансом нагрузки и используется для повышения произво­ дительности и надежности сети. В примере, показанном на рис. 3.9, пакеты, поступающие вкоммутатор 51 для узла назначения с адресом N2, в целях баланса нагрузки распределя­ ются между двумя следующими коммутаторами —52 и 53, что снижает нагрузку на каждый из них, а значит, сокращает очереди и ускоряет доставку. Некоторая «размытость» путей следования пакетов с одним и тем же адресом назначения через сеть является прямым следствием принципа независимой обработки каждого пакета, присущего дейтаграммному методу. Пакеты, следующие по одному и тому же адресу назначения, могут добираться до него разными путями также вследствие изменения состояния сети, например отказа про­ межуточных коммутаторов.

Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой данных проводить не требуется. Однако при таком методе трудно проверить факт доставки пакета узлу назначения. Этот метод не гарантирует доставку пакета, он делает это по мере возможности —для описания такого свойства используется термин доставка с максимальными усилиями (best effort).

Передача с установлением логического соединения

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

Процедурасогласованиядвумя конечнымиузлами сети некоторых параметров процесса обмена пакетами называется установлением логического соединения. Параметры, о которых до­ говариваются два взаимодействующих узла, называются параметрами логического соеди­ нения.

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

Параметры соединения могут быть: постоянными, то есть не изменяющимися в течение всего соединения (например, идентификатор соединения, способ шифрования пакета или максимальный размер поля данных пакета), или переменными, то есть динамически

92

Глава 3. Коммутация каналов и пакетов

отражающими текущее состояние соединения (например, последовательные номера пере­ даваемых пакетов).

Когда отправитель и получатель фиксируют начало нового соединения, они, прежде всего, «договариваются» о начальных значениях параметров процедуры обмена и только после этого начинают передачу собственно данных.

Передача с установлением соединения более надежна, но требует больше времени для пере­ дачи данных и вычислительных затрат от конечных узлов, что иллюстрирует рис. 3.10.

Узел 1

Узел 2

Данные

 

Данные

Запрос

 

на установление

 

соединения

Прием запроса

 

Подтверждение

на установление

соединения

установления

соединения

 

Данные

Квитанции

 

подтверждения

Запрос

 

на разрыв

 

соединения

Подтверждение

 

 

разрыва

 

соединения

Рис. 3.10. Передача без установления соединения (а) и с установлением соединения (б)

Процедура установления соединения состоит обычно из трех шагов.

1.Узел-инициатор соединения отправляет узлу-получателю служебный пакет с предло­ жением установить соединение.

2.Если узел-получатель согласен с этим, то он посылает в ответ другой служебный пакет, подтверждающий установление соединения и предлагающий некоторые параметры, ко­ торые будут использоваться в рамках данного логического соединения. Это могут быть, например, идентификатор соединения, количество кадров, которые можно отправить без получения подтверждения и т. п.

3.Узел-инициатор соединения может закончить процесс установления соединения от­ правкой третьего служебного пакета, в котором сообщит, что предложенные параметры ему подходят.

Логическое соединение может быть рассчитано на передачу данных как в одном направле­ нии —от инициатора соединения, так и в обоих направлениях. После передачи некоторого

Коммутация пакетов

93

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

Заметим, что, в отличие от передачи дейтаграммного типа, в которой поддерживается только один тип кадра —информационный, передача с установлением соединения долж­ на поддерживать как минимум два типа кадров —информационные кадры переносят собственно пользовательские данные, а служебные предназначаются для установления (разрьівіа) соединения.

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

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

ПРИМЕЧАНИЕ---------------------------------------------------------------------------------------------------------------

Некоторые параметры логического соединения могут рассматриваться еще и как признаки и н ф о р ­ мационного потока между узлами, установившими это логическое соединение.

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

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

Передача с установлением виртуального канала

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

94

 

 

 

 

 

 

 

Глава 3. Коммутация каналов и пакетов

■в с

Ц

^

'

с

(

*

Ш

а

*

сігсиіїили virtual

channel).

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

Так же как в сетях с установлением логических соединений, прокладка виртуального канала начинается с отправки из узла-источника специального пакета —запроса на установление соединения. В запросе указываются адрес назначения и метка потока, для которого про­ кладывается этот виртуальный канал. Запрос, проходя по сети, формирует новую запись в каждом из коммутаторов, расположенных на пути от отправителя до получателя. Запись говорит о том, каким образом коммутатор должен обслуживать пакет, имеющий заданную метку. Образованный виртуальный канал идентифицируется той же меткой1.

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

Таблица коммутации коммутатора S1

Адрес

Адрес следующего

 

назначения

коммутатора

 

VC1

S2

 

VC2

S3

|

Виртуальный канал VC1

N2

Рис. 3.11. Иллюстрация принципа работы виртуального канала

1Эта метка в различных технологиях называется по-разному: номер логического канала (Logical Channel Number, LCN) в технологии Х.25, идентификатор соединения уровня канала данных (Data Link Connection Identifier, DLCI) в технологии Frame Relay, идентификатор виртуального канала (Virtual Channel Identifier, VCI) в технологии ATM.

Сравнение сетей с коммутацией пакетов и каналов

95

На рис. 3.11 показана сеть, в которой проложены два виртуальных канала (Virtual Channel, VC), идентифицируемых метками VC1 и VC2. Первый проходит от конечного узла с адре­ сом М до конечного узла с адресом N2 через промежуточные коммутаторы 51 и 52. Вто­ рой виртуальный канал VC2 обеспечивает продвижение данных по пути M-51-53-55-JV3. В общем случае, между двумя конечными узлами может быть проложено несколько виртуальных каналов, например еще один виртуальный канал между узлами М и Л /2 мог бы проходить через промежуточный коммутатор 53. На рисунке показаны два пакета, несущие в своих заголовках метки потоков VC1 и VC2, которые играют роль адресов на­ значения.

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

ПРИМЕЧАНИЕ---------------------------------------------------------------------------------------------------

Использование в сетях техники виртуальных каналов не делает их сетями с коммутацией каналов. Хотя в подобных сетях применяется процедура предварительного установления канала, этот канал 'кзжтс.я виртуальным, то есть по нему передаются отдельные пакеты, а не потоки и н ф о р м а ц и и с по­

стоянной скоростью, как в сетях с коммутацией каналов.

В одной и той же сетевой технологии могут быть задействованы разные способы продви­ женияданных. Так, дейтаграммный протокол IP используется для передачи данных между отдельными сетями, составляющими Интернет. В то же время обеспечением надежной доставкиданных между конечными узлами этой сети занимается протокол TCP, устанав­ ливающий логические соединения без фиксации маршрута. И наконец, Интернет —это пример сети, применяющей технику виртуальных каналов, так как в состав Интернета входит немало сетей ATM и Frame Relay, поддерживающих виртуальные каналы.

Сравнение сетей с коммутацией пакетов и каналов

Црежде чем проводить техническое сравнение сетей с коммутацией пакетов и сетей лшшутацией каналов, проведем их неформальное сравнение на основе, как нам кажется, весьма продуктивной транспортной аналогии.

Транспортная аналогия для сетей с коммутацией пакетов и каналов

Дляначала убедимся, что движение на дорогах имеет много общего с перемещением паке­ тов в сети с коммутацией пакетов.

96

Глава 3. Коммутация каналов и пакетов

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

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

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

А теперь попробуем найти общее в автомобильном движении и в сетях с коммутацией каналов.

Иногда на дороге возникает ситуация, когда нужно обеспечить особые условия для дви­ жения колонны автомобилей. Например, представим, что очень длинная колонна авто­ бусов перевозит детей из города в летний лагерь по многополосному шоссе. Для того чтобы колонна двигалась без препятствий, заранее для ее движения разрабатывается маршрут.

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

Во время движения все автомобили колонны едут с одинаковой скоростью и приблизи­ тельно равными интервалами между собой, не создавая препятствий друг другу. Очевидно, что для колонны автомобилей создаются наиболее благоприятные условия движения, но при этом автомобили теряют свою самостоятельность, превращаясь в поток, из которого нельзя «свернуть» в сторону. Дорога при такой организации движения используется не рационально, так как полоса простаивает значительную часть времени, как и полоса про­ пускания в сетях с коммутацией каналов.

Количественное сравнение задержек

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

Сравнение сетей с коммутацией пакетов и каналов

97

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

Если бы пользователь обратился к услугам сети с коммутацией пакетов, то процесс пере­ дачи данных оказался бы более медленным, так как его пакеты, вероятно, не раз задер­ живались бы в очередях, ожидая освобождения необходимых сетевых ресурсов наравне спакетами других абонентов.

Давайте рассмотрим более детально механизм возникновения задержек при передаче дан­ ных в сетях обоих типов. Пусть от конечного узла М отправляется сообщение к конечному узлу N2 (рис. 3.12). На пути передачи данных расположены два коммутатора.

L

Рис. 3.12. Временная диаграмма передачи сообщения в сети с коммутацией каналов

Всети с коммутацией каналов данные после задержки, связанной с установлением канала, начинают передаваться на стандартной для канала скорости. Время доставки данных Т адресату равно сумме времени распространения сигнала в канале tpTgи времени передачи сообщения в канал (называемое также временем сериализации) ttms.

Наличие коммутаторов в сети с коммутацией каналов никак не влияет на суммарное время прохождения данных через сеть.

ПРИМЕЧАНИЕ---------------------------------------------------------------------------------------------------------------

Заметим, что время передачи сообщения в канал в точности совпадает со временем приема сообщения из канала в буфер узла назначения, то есть временем буферизации.

98

Глава 3. Коммутация каналов и пакетов

Время распространения сигнала зависит от расстояния между абонентами L и скорости S распространения электромагнитных волн в конкретной физической среде, которая коле­ блется от 0,6 до 0,9 скорости света в вакууме:

£prg = L /S.

Время передачи сообщения в канал (а значит, и время буферизации в узле назначения) равно отношению объема сообщения V в битах к пропускной способности канала С в битах в секунду:

^trna ” V/С*

В сети с коммутацией пакетов передача данных не требует обязательного установления соединения. Предположим, что в сеть, показанную на рис. 3.13, передается сообщение того же объема V, что и в предыдущем случае (см. рис. 3.12), однако оно разделено на пакеты, каждый из которых снабжен заголовком. Пакеты передаются от узла N1 узлу N2, между которыми расположены два коммутатора. На каждом коммутаторе каждый пакет изображен дважды: в момент прихода на входной интерфейс и в момент передачи в сеть с выходного интерфейса. Из рисунка видно, что коммутатор задерживает пакет на неко­ торое время. Здесь Т\ время доставки адресату первого пакета сообщения, а Гр8—всего сообщения.

Рис. 3.13. Временная диаграмма передачи сообщения, разделенного на пакеты, в сети с коммутацией пакетов

Сравнение сетей с коммутацией пакетов и каналов

99

Сравнивая временные диаграммы передачи данных в сетях с коммутацией каналов и па­ кетов, отметим два факта:

значения времени распространения сигнала (tprg) в одинаковой физической среде на одно и то же расстояние одинаковы;

учитыва-я, что значения пропускной способности каналов в обеих сетях одинаковы, значения времени передачи сообщения в канал (£tms) будут также равны.

Однако разбиение передаваемого сообщения на пакеты с последующей их передачей по сети с коммутацией пакетов приводит к дополнительным задержкам. Проследим путь первого пакета и отметим, из каких составляющих складывается время его передачи в узел назначения и какие из них специфичны для сети с коммутацией пакетов (рис. 3.14).

Время передачи одного пакета от узла N1 до коммутатора 1 можно представить в виде суммы нескольких слагаемых.

Во-первых, время тратится в узле-отправителе М:

Оt\ время формирования пакета, также называемое временем пакетизации (зависит от различных параметров работы программного и аппаратного обеспечения узлаотправителя и не зависит от параметров сети);

Оti время передачи в канал заголовка;

ОЪ —время передачи в канал поля данных пакета.

100

Глава 3. Коммутация каналов и пакетов

Во-вторых, дополнительное время тратится на распространение сигналов по каналам связи. Обозначим через U время распространения сигнала, представляющего один бит информации, от узла М до коммутатора 1

В-третьих, дополнительное время тратится в промежуточном коммутаторе:

О£5—время приема пакета с его заголовком из канала во входной буфер коммутатора; как уже было отмечено, это время равно (£2 + £з)> то есть времени передачи пакета с заголовком в канал из узла источника;

О£б —время ожидания пакета в очереди колеблется в очень широких пределах и за­ ранее неизвестно, так как зависит от текущей загрузки сети;

Оt7 время коммутации пакета при его передаче в выходной порт фиксировано длз конкретной модели и обычно невелико (от нескольких микросекунд до нескольки: миллисекунд).

Обозначим через 7*1-51 время передачи пакета из узла N1 на выходной интерфейс комм} татора 1 Это время складывается из следующих составляющих:

Tm-si= t\ + U + £5 + £б + £7-

Обратите внимание, что среди слагаемых отсутствуют составляющие ti и £3. Из рис. 3. видно, что передача битов из передатчика в канал совмещается по времени с передачі битов по каналу связи.

Время, затрачиваемое на оставшиеся два отрезка пути, обозначим соответственно Ts\

и Ts2-n2• Эти величины имеют такую же структуру, что и 7*1-51, за исключением того, ч

вних не входит время пакетизации, и, кроме того, Ts2-N2 не включает время коммутац (так как отрезок заканчивается конечным узлом). Итак, полное время передачи одт пакета по сети составляет:

Т\ = 7*1-51 + Ts\-S2 + T52-N 2.

А чему же будет равно время передачи сообщения, состоящего из нескольких пакет Сумме времен передачи каждого пакета? Конечно, нет! Ведь сеть с коммутацией паке работает как конвейер (см. рис. 3.13): пакет обрабатывается в несколько этапов, и устройства сети выполняют эти этапы параллельно. Поэтому время передачи такого общения будет значительно меньше, чем сумма значений времени передачи каждого паї сообщения. Точно рассчитать это время сложно из-за неопределенности состояния с и вследствие этого, неопределенности значений времени ожидания пакетов в очерс коммутаторов. Однако если предположить, что пакеты стоят в очереди примерно од ковое время, то общее время передачи сообщения, состоящего из п пакетов, можно оце следующим образом:

TPS = Т\ + (п - 1) (t\ + £5).

ПРИМ ЕР

Сравним задержки передачи данных в сетях с коммутацией пакетов с задержками в сет с коммутацией каналов, основываясь на рис. 3.14. Пусть тестовое сообщение, которое нуж передать в обоих видах сетей, составляет 200 ООО байт. Отправитель находится от получате на расстоянии 5000 км. Пропускная способность линий связи составляет 2 Мбит/с. Вре

Сравнение сетей с коммутацией пакетов и каналов

101

сигнала, которое для расстояния 5000 км можно оценить примерно в 25 мс, и времени пере­ дачи сообщения в канал, которое при пропускной способности 2 Мбит/с и размере сообще­ ния 200 000 байт равно примерно 800 мс, то есть всего передача данных абоненту занимает 825 мс. Оценим дополнительное время, которое требуется для передачи этого сообщения по сети с коммутацией пакетов. Будем считать, что путь от отправителя до получателя пролегает через 10 коммутаторов. Также предположим, что сеть работает в недогруженном режиме, то есть очереди в коммутаторах отсутствуют. Исходное сообщение разбивается на пакеты по 1000 байт, всего 200 пакетов.

Если принять интервал между отправкой пакетов равным 1 мс, тогда время передачи сообще­ ния увеличится дополнительно на 200 мс. Время передачи сообщения в канал также увели­ чится из-за необходимости передавать заголовки пакетов. Предположим, что доля служебной информации, размещенной в заголовках пакетов, по отношению к общему объему сообщения составляет 10 %. Следовательно, дополнительная задержка, связанная с передачей заголов­ ков пакетов, составляет 10 % от времени передачи исходного сообщения, то есть 80 мс. При прохождении пакетов через каждый коммутатор возникает задержка буферизации пакета. Эта задержка при величине пакета 1000 байт, заголовке 100 байт и пропускной способности линии 2 Мбит/с составляет 4,4 мс в одном коммутаторе. Плюс задержка коммутации 2 мс. В результате прохождения 10 коммутаторов пакет придет с суммарной задержкой 64 мс, по­ траченной на буферизацию и коммутацию. В результате дополнительная задержка, созданная сетью с коммутацией пакетов, составляет 344 мс.

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

Что же следует из приведенного примера? Можно ли считать, что сеть с коммутацией каналов более эффективна, чем сеть с коммутацией пакетов? Попробуем ответить на этот вопрос.

При рассмотрении сети в целом логично использовать в качестве критерия эффектив­ ности сети не скорость передачи трафика отдельного пользователя, а более интегральный критерий, например общий объем передаваемых сетью данных в единицу времени. В этом случаеэффективность сетей с коммутацией пакетов по сравнению с сетями с коммутацией каналов (при равной пропускной способности каналов связи) оказывается выше. Такой результат был доказан в 60-е годы как экспериментально, так и аналитически с помощью теории массового обслуживания.

ПРИМЕР

Используем для сравнения эффективности сетей с коммутацией каналов и пакетов еще один пример (рис. 3.15). Два коммутатора объединены каналом связи с пропускной способностью 100 Мбит/с. Пользователи сети подключаются к сети с помощью каналов доступа (access link) с пропускной способностью 10 Мбит/с. Предположим, что все пользователи создают одинаковый пульсирующий трафик со средней скоростью 1 Мбит/с. При этом в течение непродолжительныхлт'ериодов времени скорость данной предложенной нагрузки возрастает до максимальной скорости канала доступа, то есть до 10 Мбит/с. Такие периоды длятся не более одной секунды. Предположим также, что все пользователи, подключенные к коммутатору 51, передают информацию только пользователям, подключенным к коммутатору 52.

Пусть представленная на рисунке сеть является сетью с коммутацией каналов. Поскольку пики пользовательского трафика достигают 10 Мбит/с, каждому из пользователей необходимо

102

Глава 3. Коммутация каналов и пакетов

установить соединение с пропускной способностью 10 Мбит/с. Таким образом, одновременно через сеть смогут передавать данные только 10 пользователей. Суммарная средняя скорость передачи данных через сеть будет равна только 10 Мбит/с (10 пользователей передают данные со средней скоростью 1 Мбит/с). Следовательно, линия связи между коммутаторами, хотя и имеет общую пропускную способность 100 Мбит/с, используется только на 10 %.

Теперь рассмотрим вариант, когда та ж$ сеть работает на основе техники коммутации пакетов. При средней скорости пользовательских потоков 1 Мбит/с сеть может передавать одно­ временно до 100/1 - 100 (!) информационных потоков пользователей, полностью расходуя пропускную способность канала между коммутаторами. Однако это справедливо, если емко­ сти буферов коммутаторов достаточно для хранения пакетов на периодах перегрузки, когда суммарная скорость потока данных превышает 100 Мбит/с. Оценим необходимый объем буфера коммутатора 51. За период перегрузки в коммутатор 51 от каждого потока поступит 10 Мбит/с х 1 с - 10 Мбит, а от 100 потоков — 1000 Мбит. Из этих данных за одну секунду коммутатор успеет передать в выходной канал только 100 Мбит. Значит, чтобы ни один пакет не был потерян во время перегрузки сети, общий объем входных буферов коммутатора должен быть не меньше 1000 - 100 = 900 Мбит, или более 100 Мбайт. Сегодняшние коммутаторы обычно имеют меньшие объемы буферов (1-10 Мбайт). Однако не нужно забывать, что веро­ ятность совпадения периодов пиковой нагрузки у всех потоков, поступающих на входы ком­ мутатора, очень мала. Так что даже если коммутатор имеет меньший объем буферной памяти, в подавляющем большинстве случаев он будет справляться с предложенной нагрузкой.

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

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

скоторыми делит процессор данное приложение.

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

Ethernet — пример стандартной технологии с коммутацией пакетов

103

рациональнее использовать сети с коммутацией каналов, а в каких —с коммутацией па­ кетов.

Таблица 3.1. Сравнение сетей с коммутацией каналов и пакетов

Коммутация каналов

Необходимо предварительно устанавливать соединение

Адрес требуется только на этапе установления соединения

Сеть может отказать абоненту в установлении соединения

Гарантированная пропускная способность (полоса пропускания) для взаимодействующих абонентов

Трафик реального времени передается без задержек

Высокая надежность передачи

Нерациональное использование пропускной способности каналов, снижающее общую эффек­ тивность сети

Коммутация пакетов

Отсутствует этап установления соединения (дейтаграммный способ)

Адрес и другая служебная информация передаются с каждым пакетом

Сеть всегда готова принять данные от абонента

Пропускная способность сети для абонентов неизвестна, задержки передачи носят случайный характер

Ресурсы сети используются эффективно при передаче пульсирующего трафика

Возможные потери данных из-за переполнения буферов

Автоматическое динамическое распределение пропускной способности физического канала между абонентами

Ethernet — пример стандартной технологии с коммутацией пакетов

Рассмотрим, каким образом описанные ранее концепции воплощены в одной из йёрвых стандартных сетевых технологий —технологии Ethernet, работающей с битовой скоростью 10 Мбит/с. В этом разделе мы коснемся только самых общих принципов функционирова­ ния Ethernet. Детальное описание технологии Ethernet вы найдете в части III.

Топология. Существует два варианта технологии Ethernet: Ethernet на разделяемой среде и коммутируемый вариант Ethernet. В первом случае все узлы сети разделяют общуюсреду передачи данных, и сеть строится по топологии общей шины. На рис. 3.16 показан простейший вариант топологии —все компьютеры сети подключены к общей разделяемой среде, состоящей из одного сегмента коаксиального кабеля.

Коаксиальный

Рис. 3.16. Сеть Ethernet на разделяемой среде

В том случае, когда сеть Ethernet не использует разделяемую среду, а строится на ком­ мутаторах, объединенных дуплексными каналами связи, говорят о коммутируемом

104

Глава 3. Коммутация каналов и пакетов

варианте Ethernet. Топология в этом случае является топологией дерева, то есть такой, при которой между двумя любыми узлами сеть существует ровно один путь. Пример топологии коммутируемой сети Ethernet показан на рис. 3.17.

Топологические ограничения (только древовидная структура связей коммутаторов) связаны со способом построения таблиц продвижения коммутаторами Ethernet.

Способ коммутации. В технологии Ethernet используется дейтаграммная коммута­ ция пакетов. Единицы данных, которыми обмениваются компьютеры в сети Ethernet, называются кадрами. Кадр имеет фиксированный формат и наряду с полем данных содержит различную служебную информацию. В том случае, когда сеть Ethernet по­ строена на коммутаторах, каждый коммутатор продвигает кадры в соответствии с теми принципами коммутации пакетов, которые были описаны ранее. А вот в случае одно­ сегментной сети Ethernet возникает законный вопрос: где же выполняется коммутация? Где хотя бы один коммутатор, который, как мы сказали, является главным элементом любой сети с коммутацией пакетов? Или же Ethernet поддерживает особый вид ком­ мутации? Оказывается, коммутатор в односегментной сети Ethernet существует, но его не так просто разглядеть, потому что его функции распределены по всей сети. «Комму­ татор» Ethernet состоит из сетевых адаптеров и разделяемой среды. Сетевые адаптеры представляют собой интерфейсы такого виртуального коммутатора, а разделяемая среда —коммутационный блок, который передает кадры между интерфейсами. Часть функций коммутационного блока выполняют адаптеры, так как они решают, какой кадр адресован их компьютеру, а какой —нет.

Адресация. Каждый компьютер, а точнее каждый сетевой адаптер, имеет уникальный аппаратный адрес (так называемый МАС-адрес, вы уже встречали этот акроним в гла­ ве 2). Адрес Ethernet является плоским числовым адресом, иерархия здесь не исполь­ зуется. Поддерживаются адреса для выборочной, широковещательной и групповой рассылки.

Разделение среды и мультиплексирование. В сети Ethernet на коммутаторах каждый ка­ нал является дуплексным каналом связи, и проблемы его разделения между интерфей­ сами узлов не возникает. Передатчики коммутаторов Ethernet используют дуплексные каналы связи для мультиплексирования потоков кадров от разных конечных узлов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]