Выбрать главу

©--

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

i mm i

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

шиш

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

и II1II1IIIIIH

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

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

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

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

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

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

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

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

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

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

буфер буфер буфер буфер буфер буфер
Очередипакетов/ N

Приемник

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

-Г^\Сетевые

_ интерфейсы

ша

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

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

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

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

вернуться

16

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