" Облачные" вычисления : новые возможности развития операторов связи
Оценка эффективности технологии PBB с помощью...
Transcript of Оценка эффективности технологии PBB с помощью...
Воробиенко П.П., Гуляев К.Д., Зайцев Д.А., Шмелѐва Т.Р.
Оценка эффективности технологии PBB
с помощью раскрашенных сетей Петри
1. Введение
Технология магистральных мостов провайдера [1] (Provider Backbone Bridge – PBB)
предназначена для построения сетей операторов связи полностью на основе Ethernet.
Соответствующий стандарт IEEE 802.1ah [2], разработка которого начата в 2005 году,
подготовлен в черновом (draft) варианте, в то время как фирмы производители уже начали
выпуск PBB коммутаторов и операторы связи приступили к их эксплуатации. В качестве
Ethernet компонентов сети проекта 21CN («Сеть 21 века») Бритиш Телеком выбрал
коммутатор-маршрутизатор Nortel Metro 8600, а также Metro Ethernet Services Unit серии
1850. Поставки сверхпроизводительных PBB коммутаторов BlackDiamond 20808 компании
Extreme Networks начались в Россию.
С появлением стандартов 1 Gbps и 10 Gbps Ethernet открылись возможности для
массового применения технологии Ethernet в магистральных сетях операторов связи, однако
технология 802.3, 802.1D имеет ряд существенных недостатков, связанных с
масштабируемостью, качеством обслуживания и управляемостью, преодолеть которые
призвана серия новых стандартов IEEE: 802.1Q – виртуальные сети, 802.1QinQ –
многоуровневые виртуальные сети, 802.1ad – мосты провайдера, 802.1ah – магистральные
мосты провайдера, 802.1ag – менеджмент сетей, 802.1Qay – инжиниринг трафика. Указанные
стандарты обеспечивают концепцию «Etnernet транспорта» (Carrier Ethernet) для замены в
магистралях операторов как SDH, так и решений IP-MPLS, хотя IETF предпринимает
активные попытки интеграции стандартов MPLS и PBB в виртуальном частном сервисе
VPLS [3].
Следует отметить, что в [4,5] предложено альтернативное решение для обеспечения
масштабируемости Ethernet при инкапсуляции IP-Ethernet за счѐт создания иерархии единых
сетевых Е6-адресов, размещѐнных в поле MAC-адресов Ethernet кадров. Так как PBB
предполагает увеличение длины заголовков фреймов за счѐт добавления пар MAC-адресов
магистральных коммутаторов, Е6 имеет определѐнные преимущества, обусловленные
аннулированием протоколов TCP, UDP, IP, соответствующих заголовков пакетов и
протоколов отображения адресов ARP/RARP. Модели Е6 сетей, представленные в [6],
создают основу для сравнения двух технологий. Однако, полноценный сравнительный
анализ возможен при построении достаточно детализированных моделей PBB сетей и
моделировании процессов инкапсуляции IP-Ethernet.
Целью настоящей работы является построение моделей основных компонентов PBB
сетей в форме раскрашенных сетей Петри в среде моделирующей системы CPN Tools [7], а
также оценка эффективности технологии PBB с помощью моделирования работы
магистральных PBB сетей.
2. Обзор технологии PBB
Кадр IEEE 802.1ah [1,2] инкапсулирует кадры IEEE 802.1QinQ и IEEE 802.3.
Заголовок кадра IEEE 802.1ah (Рис. 1, Табл. 1) содержит C-MAC – адреса пользователя (C-
DA, C-SA) и B-MAC – адреса магистрали (B-DA, B-SA). Кроме того, предусмотрена
повторная инкапсуляция PBB кадров для создания многоуровневых магистральных сетей.
B-DA B-SA B-Tag I-Tag C-DA C-SA S-Tag C-Tag Data FCS
Рис. 1. Формат заголовка кадра IEEE 802.1ah
Табл. 1. Описание полей заголовка кадра IEEE 802.1ah
Обозначение Название (оригинальное) Название (перевод)
B-DA Backbone destination address Магистральный адрес получателя
B-SA Backbone source address Магистральный адрес отправителя
B-Tag Backbone VLAN tag Магистральный тег виртуальной сети
I-Tag Service instance tag Тег экземпляра сервиса
C-DA Customer destination address Пользовательский адрес получателя
C-SA Customer source address Пользовательский адрес отправителя
S-Tag Service provider VLAN tag Тег виртуальной сети провайдера
C-Tag Customer VLAN tag Тег виртуальной сети пользователя
Data Data Данные
FCS Frame check sequence Контрольная последовательность кадра
Абстрагируясь от полей виртуальных сетей заголовка кадра, рассмотрим
взаимодействие адресных полей на примере сети, представленной на Рис. 2. Пусть
компьютер X c MAC-адресом AX отправляет кадр компьютеру Y с MAC-адресом AY.
Формируется соответствующий кадр 802.3 (802.1ad) с C-DA=AY, C-SA=AX. Кадр
доставляется ближайшему граничному PBB коммутатору PBBX c MAC-адресом ABX. По
адресу назначения AY (с помощью адресных таблиц) коммутатор PBBX определяет адрес
ABY магистрального PBB коммутатора PBBY, к которому подключена сеть, содержащая Y.
PBBX инкапсулирует 802.3 кадр в 802.1ah кадр с указанием B-DA=ABY, B-CA=ABX и
отправляет кадр в магистраль. Магистральные PBB коммутаторы используют только пару
адресов B-DA, B-SA для доставки кадра граничному PBB коммутатору PBBY. При
получении кадра PBBY извлекает инкапсулированный кадр 802.3 (802.1ad) и выполняет
доставку кадра компьютеру Y, используя пару адресов C-DA, C-SA.
Магистральный мост
провайдера
PBB0
PBB3
PBB4 PBB2
PBB1
SW11
SW21
SW33
SW31
SW41
SW12
SW22
SW23
SW24
SW32
SW42
SW43
SW44
SW45
Сервер
Рабочая
станция
Коммутатор
PBB коммутатор
X AY AX … AY AX … Y AY AX … ABY ABX
PBBX PBBY
Рис. 2. Пример сети с магистральным мостом провайдера PBB
Для заполнения адресных таблиц используется пассивное прослушивание. Если адрес
назначения неизвестен – выполняется широковещание. На Рис. 2 представлена древовидная
сеть; для работы на недревовидных топологиях стандарт предусматривает использование
модифицированных алгоритмов покрывающего дерева.
Преимуществом технологии PBB является повышение производительности
магистрали за счѐт значительного сокращения числа записей в адресных таблицах
магистральных PBB коммутаторов, содержащих только B-MAC адреса. При этом
усложняется работа граничных PBB коммутаторов, которые выполняют отображение C-
MAC адресов в B-MAC адреса и инкапсуляцию кадров. На периферии сети могут работать
обычные 802.1D коммутаторы.
3. Общая организация модели
Для построения моделей выбрана моделирующая система CPN Tools [7], разработанная в
университете Охуса в Дании, которая использует для описания моделей язык раскрашенных
сетей Петри [8]. В Одесской национальной академии связи им. А.С. Попова в среде
CPN Tools создана библиотека моделей компонентов сетей Ethernet, IP, MPLS, Bluetooth, E6,
а также библиотека измерительных фрагментов для оценки производительности и качества
обслуживания сетей [6,9-12].
В настоящей работе при моделировании PBB технологии учитывалась только
адресная часть заголовков кадров без использования тегов виртуальных сетей, кроме того,
рассматривался один уровень иерархии мостов провайдера и древовидная структура сети.
Моделирование тегов виртуальных сетей, многоуровневой иерархии и работы алгоритмов
покрывающего дерева магистральных мостов являются направлениями для перспективных
исследований. Кроме того, исследование полносвязных сетевых структур (без разделения на
виртуальные частные сети), аналогичных Интернет, соответствует цели последующего
сравнительного анализа PBB и E6 с точки зрения преимуществ использования во всемирных
сетях.
Для моделирования PBB сетей построены следующие компоненты:
– модель магистрального PBB коммутатора SWBm;
– модель граничного PBB коммутатора SWBm-n;
– модель коммутатора 802.1D (традиционного) SWBn;
– модели терминального (абонентского) оборудования: WS – рабочая станция, MWS –
измерительная рабочая станция, S – сервер.
Числа m, n обозначают количество B-портов и C-портов соответственно.
За основу при построении модели коммутатора SWBn (модель порта – port) выбрана
[9] с динамическим ведением таблиц коммутации, модифицированная с учѐтом применения
только микросегментированной Ethernet и ведения раздельных очередей кадров по портам.
Модель магистрального PBB коммутатора SWBm (модель порта – PBBport) имеет отличия,
связанные с обработкой магистральных B-MAC адресов. Наиболее сложной является модель
граничного PBB коммутатора SWBm-n (модели портов – cport, bport), поскольку она
обеспечивает отображение пользовательских C-MAC и магистральных B-MAC адресов, а
также соответствующее широковещание двух видов.
При моделировании трафика использовалась концепция взаимодействия клиент-
сервер и соответствующие компоненты [9,10], в которые добавлены счѐтчики для оценки
полезного и широковещательного трафика, а также использованы различные законы
распределения случайных функций. Следует отметить, что при моделировании
крупномасштабных магистралей в дальнейшем целесообразно также использовать модели
потокового трафика [6], чтобы абстрагироваться от детализации периферии сети.
Компоненты использованы для построения и исследования модели сети,
изображѐнной на Рис. 1; соответствующая главная страница модели названа Network.
Измерительные рабочие станции MWS [9,10] обеспечивают оценку времени отклика сети;
счѐтчики, представленные совмещѐнными позициями, вынесенными на главную страницу
модели, обеспечивают оценку полезного и широковещательного трафика.
4. Модель сети
Модель сети, изображѐнной на Рис. 2, представлена главной страницей модели Network на
Рис. 3. и моделями использованных компонентов на Рис. 5-9. Главная страница построена на
основе принципа прямого отображения структурной схемы сети. Для моделирования PBB
магистрали использован один 4-х портовый магистральный PBB-коммутатор PBB0 типа
SWB4 и 4 граничных 3-х портовых PBB-коммутатора PBB1-PBB4 типа SWB1-2 с одним B-
портом и двумя C-портами. Для моделирования периферийных сетей использованы 14 4-х
портовых коммутароров типа SW4. Модель терминального (абонентского) оборудования
представлена 24 рабочими станциями WS, 4 измерительными рабочими станциями MWS и 8
серверами S.
Statistics
c2a
S
c38
S
c37
S
c4c
WS
c4b
WS
c4a
S
c49
MWS
c48
WS
c47
WS
c46
WS
c45
WS
c44
S
c43
WS
c42
WS
c41
WS
c36
MWS
c35
WS
c34
WS
c33
WS
c32
WS
c31
S
c29
WS
c28
WS
c27
S
c26
MWS
c25
WS
c24
WS
c23
WS
c22
WS
c21
WS
c16
MWS
c15
WS
c14
WS
c13
WS
c12
WS
c11
S
SW32
SW4
SW24
SW4
SW33
SW4
SW31
SW4
SW44
SW4
SW43
SW4
SW45
SW4
SW41
SW4
SW42
SW4
SW23
SW4
SW22
SW4
SW21
SW4
SW12
SW4
SW11
SW4
PBB2
SWB1-2
PBB1
SWB1-2
PBB4
SWB1-2
PBB3
SWB1-2
PBB0
SWB4
DrpFrmT
dfT
0
INT
DrpFrmNw
dfN
0
INT
RcvFrmT
rfT
0
INT
SndFrmT
sfT
0
INT
ab1
81
mac
ab2
82
mac
ab4
84
mac
ab3
83
mac
ab0
80
mac
o26
avail
seg
i26
avail
seg
a2a
30
mac
i60
avail
seg
o60
avail
seg
o61
avail
seg
i61
avail
seg
a38
38
mac
a37
37
mac
a29
29
mac
a28
28
mac
a27
27
mac
a26
26
mac
a25
25
mac
a24
24
mac
a23
23
mac
a22
22
mac
a21
21
mac
a16
16
mac
a15
15
mac
a14
14
mac
a13
13
mac
a12
12
mac
a11
11
mac
a4c
52
mac
a4b
51
mac
a4a
50
mac
a49
49
mac
a48
48
mac
a47
47
mac
a46
46
mac
a45
45
mac
a44
44
mac
a43
43
mac
a42
42
mac
a41
41
mac
a36
36
mac
a35
35
mac
a34
34
mac
a33
33
mac
a32
32
mac
a31
31
mac
o59
avail
seg
i59
avail
seg
o58
avail
seg
i58
avail
seg
o57
avail
seg
i57
avail
seg
o56
avail
seg
i56
avail
seg
o55
avail
seg
i55
avail
seg
o54
avail
seg
i54
avail
seg
o53
avail
seg
i53
avail
seg
o52
avail
seg
i52
avail
seg
o51
avail
seg
i51
avail
seg
o50
avail
seg
i50
avail
seg
o49
avail
seg
i49
avail
seg
o48
avail
seg
i48
avail
seg
o46
avail
seg
i46
avail
seg
i45
avail
sego45
avail
seg
i44
avail
seg
o44
avail
seg
o43
avail
seg
i43
avail
seg
o42
avail
seg
i42
avail
seg
o41
avail
seg
i41
avail
seg
o25
avail
seg
i25
avail
seg
o24
avail
seg
i24
avail
seg
o23
avail
seg
i23
avail
seg
o22
avail
seg
i22
avail
seg
o21
avail
seg
i21
avail
seg
o20
avail
seg
i20
avail
seg
i19
avail
sego19
avail
seg
o18
avail
seg
i18
avail
seg
o17
avail
seg
i17
avail
seg
o16
avail
seg
i16
avail
seg
o15
avail
seg
i15
avail
seg
o145
avail
seg
i14
avail
seg
o13
avail
seg
i13
avail
seg
o12
avail
seg
i12
avail
seg
011
avail
seg
i11
avail
seg
i31
avail
seg
o31
avail
seg
o08
avail
seg
i08
avail
seg
o38
avail
seg
i38
avail
seg
o37
avail
seg
i37
avail
seg
o36
avail
seg
i36
avail
seg
o35
avail
seg
i35
avail
seg
o34
avail
seg
i34
avail
seg
o32
avail
seg
i32
avail
seg
o33
avail
seg
i33
avail
seg
o10
avail
seg
i10
avail
seg
o09
avail
seg
i09
avail
seg
o07
avail
seg
i07
avail
seg
o05
avail
seg
io5
avail
seg
o06
avail
seg
i06
avail
seg
o02
bavail
PBBseg
i02
bavail
PBBseg
o01
bavail
PBBseg
i01
bavail
PBBseg
o04
bavail
PBBseg
i04
bavail
PBBseg
o03
bavail
PBBseg
i03
bavail
PBBseg
sfT
rfT
dfN
dfT
SWB4
SWB1-2
SWB1-2
SWB1-2
SWB1-2
SW4
SW4
SW4
SW4
SW4
SW4
SW4
SW4
SW4
SW4
SW4
SW4
SW4
SW4
S
WS
WS
WS
WS
MWS
WS
WS
WS
WS
WS
MWS
S
WS
WS
S
WS
WS
WS
WS
MWS
WS
WS
WS
S
WS
WS
WS
WS
MWS
S
WS
WS
S S
S
Рис. 3. Модель сети
Описания основных типов данных и функций модели приведены на Рис. 4. На главной
странице модели использованы следующие типы позиций: mac – MAC-адрес, seg – обычный
сегмент, PBBseg – PBB сегмент; в качестве признака доступности сегмента использованы
константы avail, bavail для обычного и PBB сегмента соответственно.
На главной странице модели указаны C-MAC адреса абонентского оборудования в
позициях a11-a4c и B-MAC адреса PBB-коммутаторов в позициях ab0-ab5; MAC адреса
представлены целыми числами, что не ограничивает общности, если рассматривать,
например, только последний байт MAC адресов, совпадающих в первых 5-ти байтах.
Каждый порт коммутаторов представлен парой позиций, моделирующих
полнодуплексный режим работы. Позиция ik – входной (input) канал k-го порта; позиция ok
– выходной (output). Соединение оборудования в соответствии со структурной схемой сети
выполняется путѐм совмещения входных и выходных позиций портов. Следует отметить,
что при соединении двух коммутаторов входной канал одного из них совмещается с
выходным каналом другого и наоборот; названия позиций портов выбраны по отношению к
коммутатору наиболее близкому к PBB0.
Кроме того, на главную страницу вынесены совмещѐнные позиции для оценки
трафика: SndFrmT вида sfT – счѐтчик отправленных кадров, RcvFrmT вида rfT – счѐтчик
принятых кадров, DrpFrmNw вида dfN – счѐтчик потерянных кадров сети, DrpFrmT вида dfT
– счѐтчик потерянных кадров терминального оборудования.
colset mac = INT;
colset mact = mac timed;
colset frm = product mac * mac * nfrm timed;
colset PBBfrm = product mac * mac * mac * mac * nfrm
timed;
colset seg = union f:frm + avail timed;
colset PBBseg = union b:PBBfrm + bavail timed;
colset swi = product mac * portnum;
colset swita=list swi;
colset PBBswi = product mac * mac * portnum;
colset PBBswita = list PBBswi;
colset qfrm = list frm;
colset pqfrm = product portnum *qfrm;
colset xfrm = union cf:frm + bf:PBBfrm;
colset qxfrm = list xfrm;
colset pqxfrm = product portnum *qxfrm;
fun eqa a (rr:swi)=((#1 rr)=a);
fun eqaB a (rr:PBBswi)=((#1 rr)=a);
fun eqbaB a (rr:PBBswi)=((#2 rr)=a);
fun grec prd [] = (0,0) | grec prd (q::r) = if prd(q) then q
else grec prd r;
fun xrec prd [] = [] | xrec prd (q::r) = if prd(q) then r else
q::(xrec prd r);
fun grecB prd [] = (0,0,0) | grecB prd (q::r) = if prd(q)
then q else grecB prd r;
fun xrecB prd [] = [] | xrecB prd (q::r) = if prd(q) then r
else q::(xrecB prd r);
fun Delay() = poisson( Delta );
fun Dexec() = poisson( dex );
fun Nsend() = poisson( nse );
fun cT()=IntInf.toInt(!CPN'Time.model_time)
val TCL=100000000;
Рис. 4. Описание основных типов данных и функций
5. Модели сетевого оборудования
Модели сетевого оборудования представлены указанными ранее моделями коммутаторов
трѐх различных типов: SW4, SWB4, SWB1-2. Общая организация модели коммутатора имеет
незначительные отличия и может быть рассмотрена на примере коммутатора 802.1D
(традиционного) SW4. Модель набирается клонированием необходимого количества
моделей портов port.
Каждый порт идентифицируется уникальным номером (myport*). Для взаимодействия
портов используются общие данные, хранимые в памяти коммутатора. В качестве наиболее
простой рассматривается архитектура с обязательной буферизацией кадров. Кадр,
поступивший во входной канал порта A, размещается для временного хранения в буфере
Buf; при этом с помощью таблицы коммутации SwT определяется номер порта B для
перенаправления кадра. Если адрес назначения кадра не указан в таблице, порт выполняет
широковещание – кадр перенаправляется во все порты коммутатора, кроме порта A.
Выходной канал порта B извлекает кадр из буфера и передаѐт его в соответствующий
сегмент. Общее количество портов коммутатора nport и номер собственного порта myport*
используются в широковещании. Позиция timer содержит MAC адреса, указанные в таблице
SwT, вместе с временными метками (тип данных mact); переход ClrSwTa обеспечивает
удаление соответствующей записи таблицы SwT по истечении интервала времени старения
записи (константа TCL); рекурсивная функция xrec выполняет удаление записи из таблицы,
представленной переменной x; функция eqa выполняет сравнение адресов. Порт реализует
пассивное прослушивание трафика (адресов отправителя) с целью заполнения таблицы
новыми записями.
Следует отметить, что в буфере Buf типа qpfrm организованы раздельные FIFO
очереди кадров по портам коммутатора в соответствии со стандартами. Начальная
маркировка создаѐт 4 пустые очереди (списка); заголовок очереди равен номеру
соответствующего порта.
xrec (eqa target) xx target
Port4
port
Port3
port
Port2
port
Port1
port
ClrSwTa
[List.exists (eqa target) x]
myport3
1`3
portnum
myport4
1`4
portnum
OutP4
I/Oseg
InP4
I/Oseg
OutP3
I/Oseg
InP3
I/Oseg
myport2
1`2
portnum
OutP2
I/Oseg
InP2
I/Oseg
myport1
1`1
portnum
qport
1`4
INT
SwT
[]
swita
Buf
1`(1,[])++1`(2,[])++1`(3,[])++1`(4,[])
pqfrm
OutP1
I/Oseg
InP1
I/Oseg
Timer
mact
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
port
port
port
port
Рис. 5. Модель коммутатора 802.1D (SW4)
5.1. Модель порта коммутатора (port)
Модель порта port коммутатора 802.1D представлена на Рис. 6. Тип seg использован для
описания канала сегмента Ethernet, который может быть либо свободен (константа avail),
либо занят передачей кадра f. Тип frm использован для описания кадра f, состоящего из
адреса отправителя src, адреса получателя dst и номера кадра nf (описание абстрагируется от
содержимого кадра). Тип swita описывает таблицу коммутации как список записей swi,
состоящих из адреса назначения dst и номера порта pnum. Рекурсивная функция grec
выбирает запись таблицы коммутации. Тип pqfrm буфера Buf описывает занумерованные по
портам очереди qfrm кадров frm. Надписи дуг добавления и извлечения, которые будут
описаны далее, реализуют FIFO дисциплину очередей.
Кадр поступает во входной канал порта PortIn, при этом адрес отправителя src может
быть либо новым (переход NewSrc), либо известным (переход OldSrc). Переход NewSrc
пополняет таблицу коммутации новой записью, в которой указан адрес отправителя src и
номер порта m (текущий порта коммутатора). Кадр размещается в промежуточной позиции
Aux1, затем анализируется адрес получателя кадра dst, который может быть либо новым
(переход NewDst), либо известным (переход OldDst). Переход OldDst размещает кадр в
буфере Buf с указанием найденного номера выходного порта. Переход NewDst размещает
кадр в промежуточной позиции Aux2 и запускает широковещание. Позиция pnum
используется для последовательной (i:=i+1) нумерации портов широковещания. Переход
BroadC выполняет широковещание до тех пор, пока не исчерпаются номера всех портов
(i<=q); затем при (i>q) запускается переход clean, который очищает промежуточные позиции
и возвращает признак доступности avail в сегмент. Проверка (i<>m) в надписи дуги
широковещания BroadC->Buf исключает широковещание в собственный порт.
Выходной канал порта выбирает кадры из буфера Buf, перенаправленные в текущий
порт (m), и передаѐт их в сегмент с помощью перехода Out, который ожидает и удаляет
признак доступности сегмента avail.
Рассмотрим более подробно работу с очередями кадров в буфере Buf. Добавление
записи выполняется в хвост очереди порта i; для этого из позиции Buf извлекается
соответствующая очередь с помощью надписи дуги (i,qu), затем кадр f добавляется в хвост
очереди с помощью надписи дуги (i,qu^^[f]). Извлечение записи выполняется из головы
очереди порта m; для этого из позиции Buf извлекается очередь с выделенным первым
кадром с помощью надписи дуги (m,f::qu), затем очередь без первого элемента возвращается
с помощью надписи дуги (m,qu). Операция ^^ выполняет конкатенацию очередей; операция
:: выделяет головной элемент.
m(i,qu)(i,qu)
(m,qu)
m
m
avail
avail
x
(m,(src,dst,nf)::qu)
q
i
(src,dst,nf)
m
q
i+1
if i<>m then1`(i,qu^̂ [(src,dst,nf)]) else 1`(i,qu)
i
(src,dst,nf)
1
(src,dst,nf)
avail
f(src,dst,nf)
if i<>m then1`(i,qu^̂ [(src,dst,nf)])else 1`(i,qu)
(src,dst,nf)
x
(src,dst,nf)
(src,dst,nf)
(src,dst,nf)
f(src,dst,nf)
f(src,dst,nf)
(src,m)::x
xclean
[i>q]
BroadC
[i<=q]
Out
@+1
OldDst
[List.exists (eqa dst) x,i=(#2 (grec (eqa dst) x))]
NewDst
[not (List.exists (eqa dst) x)]
OldSrc
[List.exists (eqa src) x]
NewSrc
[not (List.exists (eqa src) x)]
timer
Outmact
fnum
INT
Aux2
frm
myport
I/Oportnum
qports
I/OINT
PortOut
I/O
seg
Buf
I/Opqfrm
Aux1
frm
PortIn
I/O
seg
SwTa
I/Oswita
I/O
I/O
I/O
I/O
Outx
src@+TCL
I/O
I/O
Рис. 6. Модель порта коммутатора 802.1D (port)
5.2. Модель порта магистрального PBB коммутатора (PBBport)
Модель порта PBBport магистрального PBB коммутатора представлена на Рис. 7. Работа
порта магистрального PBB коммутатора во многом аналогична работе порта обычного
коммутатора представленного на Рис. 6 с той разницей, что вместо C-MAC адресов
используются B-MAC адреса 802.1ah кадра.
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
b(bsrc,bdst,src,dst,nf)
b(bsrc,bdst,src,dst,nf)
(i,qx)
i+1i
mm
mm
(bsrc,bdst,src,dst,nf)
bsrc@+TCL
m
m
bavail
bavail
x
x
qi
(bsrc,bdst,src,dst,nf)
m
q
i+1
if i<>m then1`(i,qx^̂ [bf(bsrc,bdst,src,dst,nf)]) else 1`(i,qx)
(bsrc,bdst,src,dst,nf)
1
(bsrc,bdst,src,dst,nf)
bavail
b(bsrc,bdst,src,dst,nf)
x
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,m)::x
x
MYbdst
[bdst=mm]
NotMYbdst
[bdst<>mm]
clean
[i>q]
BroadC
[i<=q]
Out
@+1
OldDst
[bdst<>BC,List.exists (eqa bdst) x,i=(#2 (grec (eqa bdst) x))]
NewDst
[bdst=BC orelse (not (List.exists (eqa bdst) x))]
OldSrc
[List.exists (eqa bsrc) x]
NewSrc
[not (List.exists (eqa bsrc) x)]
dfPBB
dfN
0
INT
mymac
I/Omac
Aux2
PBBfrm
timer
Outmact
fnum
Aux3
PBBfrm
myport
I/Oportnum
qports
I/Oportq
PBBOut
I/OPBBseg
Buf
I/Opqxfrm
Aux1
PBBfrm
PBBIn
I/OPBBseg
SwTa
I/Oswita
I/O
I/O
I/O
I/O
Out I/O
dfN
(m,bf(bsrc,bdst,src,dst,nf)::qx)
(m,qx)
mif i<>mthen 1`(i,qx^̂ [bf(bsrc,bdst,src,dst,nf)])else 1`(i,qx)
(i,qx)
I/O
I/O
INT
i
Рис. 7. Модель порта магистрального PBB коммутатора (PBBport)
Тип PBBseg использован для описания канала PBB сегмента, который может быть
либо свободен (константа bavail), либо занят передачей кадра b. Тип PBBfrm использован
для описания кадра b, состоящего из адреса отправителя магистрали bsrc, адреса получателя
магистрали bdst и инкапсулированного 803.3 кадра frm. Таблица коммутации содержит
только адреса магистрали B-MAC. Тип pqxfrm буфера Buf описывает очереди кадров xfrm
портов; тип xfrm представляет собой объединение кадров cf типа frm или кадров bf типа
bfrm. Магистральный PBB коммутатор обрабатывает только bfrm кадры; возможность
объединения кадров использована в моделях граничных коммутаторов.
Основные отличия в работе порта связаны с обработкой кадра типа PBBfrm вместо
frm и использованием адресов bsrc, bdst вместо адресов src, dst соответственно. Кроме того,
переход NotMYbdst устанавливает, что кадр не адресован текущему коммутатору, а переход
MYbdst моделирует обработку (служебного) кадра, адресованного текущему коммутатору,
путѐм поглощения кадра и инкремента счѐтчика dfn в позиции dfPBB.
5.3. Модели портов граничного PBB коммутатора (cport, bport)
Основное отличие портов граничного PBB коммутатора состоит в обработке как C-MAC
адресов, так и B-MAC адресов и ведении таблиц коммутации, обеспечивающих отображение
C-MAC адресов в B-MAC адреса. Кроме того, выполняется широковещание двух видов: по
C-портам и по B-портам, передающим кадры различных типов.
Для описания элементов очередей внутреннего буфера использован тип данных
объединения xfrm, который может хранить либо кадр cf типа frm, либо кадр bf типа PBBfrm.
Для плоского реляционного представления многоуровневых таблиц коммутации и
отображения адресов использован тип данных PBBswi, содержащий адрес назначения dst,
адрес назначения магистрали bdst и номер порта pnum. Дублирование поля bdst в нескольких
записях имеет преимущество быстрого поиска полной информации по ключу src.
5.3.1. C-порт
Модель C-порта cport граничного PBB коммутатора представлена на Рис. 8. Основное
отличие от портов port, PBBport (Рис. 6,7) состоит в пополнении таблицы коммутации
записями, содержащими кроме src, магистральный адрес bsrc, совпадающий с собственным
B-MAC адресом. Кроме того, модифицирована функция рекурсивного поиска grecB и
функция сравнения адресов eqaB для обработки записей типа PBBswi; использованы как
второе (#2) так и третье (#3) поля таблицы PBBswT; выполняется дополнительная проверка
известного адреса назначения с помощью переходов OldDstMy, OldDstNotMy на
принадлежность собственной сети. Если известный адрес назначения dst находится в
собственной сети (переход OldDstMy) формируется запись cf, которая затем
перенаправляется в С-порт. Если известный адрес назначения dst не находится в собственной
сети (переход OldDstNotMy) формируется запись bf, которая затем перенаправляется в B-
порт, при этом из таблицы определяется не только номер порта назначения (#3 (grecB (eqaB
dst) y)), но также магистральный адрес назначения (#2 (grecB (eqaB dst) y)). Широковещание
(переход BroadC) различает порты с помощью позиции nPBBp, которая хранит номер
первого В-порта; порты нумеруются последовательно: сначала все С-порты, затем все В-
порты. Поэтому указанное в надписи дуги BroadC->Buf условие i<pbp выделяет только С-
порты, его альтернатива (then) – только В-порты; в зависимости от этого формируется cf
либо bf запись в буфере соответственно. Для широковещания в магистрали в качестве адреса
назначения bdst используется константа BC, равная 255.
5.3.2. B-порт
Модель В-порта граничного PBB коммутатора bport представлена на Рис. 9. Она является
наиболее сложной, поэтому приведѐм еѐ подробное описание. Пассивное прослушивание
(переходы NewSrc, OldSrc) пополняет таблицу SwTa записями (переход NewSrc),
содержащими как пользовательский src, так и магистральный bsrc адреса из текущего кадра.
Затем анализируется магистральный адрес назначения bdst; альтернативы представлены
переходами: bdstMy – собственный bdst текущего коммутатора, bdstBC –
широковещательный bdst, bdstNotMy – адрес bdst некоторого другого PBB коммутатора.
Затем выполняются поиск записи в таблице: ключ – адрес назначения dst для собственного
bdst (переходы dstNew, dstOld), ключ – адрес bdst для чужого bdst (переходы bdstNew,
bdstOld). В обоих случаях при удачном завершении поиска кадр перенаправляется в буфер
(переходы bdstOld, dstOld); в первом случае (переход bdstOld) – без изменения, во втором
случае (переход dstOld) – извлекается инкапсулированный 802.3 кадр. Остальные варианты
проверок (переходы dstNew, bdstBC, bsdtNew) приводят к запуску широковещания (переход
BroadC). Таким образом формируется множество из пяти альтернатив: bsdtMy&dstNew,
bdstMy&dstOld, bdstBC, bdstNotMy&bdstNew, bdstNotMy&bdstOld. Кроме того, специально
обрабатывается (переход wrong) случай возможной ошибки: кадр адресован текущему
коммутатору (bdstMy), адрес dst присутствует в таблице, но запись таблицы содержит bdst
отличный от адреса текущего коммутатора.
Для правильного формирования широковещания использованы дополнительные
булевы признаки в позициях: BCcport – широковещание по С-портам, BCbport –
широковещание по В-портам. Каждая из трѐх альтернатив широковещания формирует
собственный набор признаков: bsdtMy&dstNew – BCcport=true&BCbport=false, bdstBC –
BCcport=true&BCbport=true, bdstNotMy&bdstNew – BCcport=false&BCbport=true. В
зависимости от комбинации признаков надпись дуги BroadC->Buf формирует кадры
широковещания перенаправленные в С-порты и В-порты.
Следует отметить, что так как элементы очередей буфера представлены
объединением, выходные каналы С-портов (переход Out) извлекают из него записи cf, В-
портов – записи bf, и передают в сегменты (типа seg либо PBBseg) соответствующие кадры.
m
(i,qx)
(i,qx)
(m,qx)
avail
mm
mm
y
mm
m
m
avail
y
y
(m,cf(src,dst,nf)::qx)
q
i
(src,dst,nf)
m
q
(src,dst,nf)
1
(src,dst,nf)
avail
f(src,dst,nf)
(src,dst,nf)
y
(src,dst,nf)
(src,dst,nf)f(src,dst,nf)
f(src,dst,nf)
(src,mm,m)::y
y
OldDstNotMy
[(List.exists (eqaB dst) y),(#2 (grecB (eqaB dst) y)<>mm),i=(#3 (grecB (eqaB dst) y))]
clean
[i>q]
BroadC
[i<=q]
Out
@+1
OldDstMy
[(List.exists (eqaB dst) y),(#2 (grecB (eqaB dst) y)=mm),i=(#3 (grecB (eqaB dst) y))]
NewDst
[not (List.exists (eqaB dst) y)]
OldSrc
[List.exists (eqaB src) y]
NewSrc
[not (List.exists (eqaB src) y)]
timer
Out
mact
PBBportq
mymac
I/O
1`21
mac
fnum
INT
Aux2
frm
myport
I/Oportnum
qports
I/O portq
PortOut
I/Oseg
Buf
I/Opqxfrm
Aux1
frm
PortIn
I/O
seg
SwTa
I/O
PBBswita
I/O
I/O
I/O
I/O
I/O
I/OI/OOut
if i<>m then if i<pbp then 1`(i,qx^̂ [cf(src,dst,nf)]) else 1`(i,qx^̂ [bf(mm,BC,src,dst,nf)])else 1`(i,qx)
(i,qx)
if i<>mthen 1`(i,qx^̂ [cf(src,dst,nf)])else 1`(i,qx)
m
avail
(src,dst,nf) (src,dst,nf)
mm
src@+TCL
ii+1
pbp
nPBBp
I/OI/O
if i<>mthen 1`(i,qx^̂ [bf(mm,#2 (grecB (eqaB dst) y),src,dst,nf)])else 1`(i,qx)
Рис. 8. Модель C-порта граничного PBB коммутатора (cport)
6. Модели терминального оборудования
В настоящей работе использованы модели терминального оборудования, представленные в
[9,10]. Рабочая станция WS периодически генерирует запросы серверам; распределение
времени между запросами задано случайной функцией Delay(). Сервер выполняет запрос
рабочей станции и возвращает случайное число кадров ответа; распеределение числа кадров
задано случайной функцией Nsend(); распределение времени обработки запроса задано
случайной функцией Dexec(). Анализировались результаты применения различных законов
распределения случайных величин: равномерное, Пуассона, Эрланга.
В модели терминального оборудования добавлены счѐтчики, представленные
совмещѐнными позициями: SndFrmT вида sfT – счѐтчик отправленных кадров, RcvFrmT вида
rfT – счѐтчик принятых кадров, DrpFrmT вида dfT – счѐтчик потерянных кадров. Для
удобства оценки характеристик модели счѐтчики вынесены на главную страницу (Network).
Кроме того, измерительные рабочие станции MWS выполняют оценку времени отклика сети
непосредственно в процессе моделирования [9,10].
(i,qx)
(m,qx)
i+1
i
bavail
1
1
bavail
bavail
y
mm
mm (bsrc,bdst,src,dst,nf)
y
y
y
mm
(bsrc,bdst,src,dst,nf)
1
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
true
false
true
true
false
true
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
b(bsrc,bdst,src,dst,nf)
b(bsrc,bdst,src,dst,nf)
src@+TCL
bavail
pbp
m
my
(m,bf(bsrc,bdst,src,dst,nf)::qx)
q
i
m
q
bavail
b(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(bsrc,bdst,src,dst,nf)
(src,bsrc,m)::y
y
wrong
[(List.exists (eqaB dst) y),(#2 (grecB (eqaB dst) y)<>mm)]
[(List.exists (eqaB dst) y),(#2 (grecB (eqaB dst) y)=mm),i=(#3 (grecB (eqaB dst) y))]
dstNew
[not (List.exists (eqaB dst) y)]
bdstOld
bdstNew
[not (List.exists (eqbaB bdst) y)]
bdstBC
[bdst=BC]
bdstNotMY
[bdst<>mm,bdst<>BC]
bdstMY
[bdst=mm]
clean
[i>q]
BroadC
[i<=q]
Out
@+1
OldSrc
[List.exists (eqaB src) y]
NewSrc
[not (List.exists (eqaB src) y)]
dfcp
dfN
0
INT
BCbport
BOOL
BCcport
BOOL
PBBfrm
Aux3
PBBfrm
Aux2
PBBfrm
timer
Outmact
nPBBp
I/OPBBportq
mymac
I/O
1`21
mac
fnum
INT
myport
I/Oportnum
qports
I/Oportq
PortOut
I/OPBBseg
Buf
I/O
Aux1
PBBfrm
SwTa
I/O
PBBswita
PortBIn
I/O
PBBseg I/O
I/O
I/O
I/OI/O
I/O
Out dfN
I/O
I/O
(bsrc,bdst,src,dst,nf)
DstOld
pqxfrm
if i<>m then if (i<pbp) andalso BCc then 1`(i,qx^̂ [cf(src,dst,nf)]) elseif (i>=pbp) andalso BCb then 1`(i,qx^̂ [bf(bdst,bsrc,src,dst,nf)]) else 1`(i,qx)else 1`(i,qx)
[(List.exists (eqbaB bdst) y),(#2 (grecB (eqaB dst) y)=bdst),i=(#3 (grecB (eqbaB bdst) y))]
(i,qx)
y
m
(bsrc,bdst,src,dst,nf)mm
Aux4
(bsrc,bdst,src,dst,nf)
m
i+1 i
BCb
BCc
BCc
BCb
if i<>mthen 1`(i,qx^̂ [cf(src,dst,nf)])else 1`(i,qx)
if i<>m then1`(i,qx^̂ [bf(bdst,bsrc,src,dst,nf)])else 1`(i,qx)
(i,qx)
Рис. 9. Модель B-порта граничного PBB коммутатора (bport)
7. Анализ результатов моделирования
Первоначально выполнена раздельная отладка компонентов, а затем комплексная отладка
модели сети; выполнена трассировка процессов доставки отдельных кадров и заполнения
адресных таблиц. С помощью дополнительных счѐтчиков установлено, что все
отправленные кадры доставляются по назначению. Динамически построенные адресные
таблицы полностью соответствуют структурной схеме сети.
Единица модельного времени (MTU) равна 1,2 мкс, что соответствует времени
передачи кадров в 10Gbps сегменте. Время работы компонентов оборудования не
моделировалось, так как для этого требуются наносекундный масштаб времени, что
затрудняет оценки работы сети на длительных временных интервалах.
Измерительные фрагменты модели представлены измерительными рабочими
станциями MWS для оценки времени отклика сети и счѐтчиками кадров для оценки
производительности и полезной производительности. Источником накладных расходов в
технологии Ethernet, включая PBB, является использование широковещания, а также затраты
ресурсов на построение покрывающих деревьев. Настоящая модель позволяет оценить долю
производительности сети, затрачиваемой на широковещание; оценка работы алгоритма
покрывающего дерева не выполнялась.
Общее число доставленных терминальному оборудованию кадров широковещания
содержит счѐтчик DrpFrmT множества dfT на главной странице модели; общее число
доставленных полезных кадров – счѐтчик RcvFrmT множества rfT. При останове модели по
времени содержимое RcvFrmT меньше содержимого SndFrmT – счѐтчика отправленных
кадров, что связано с тем, что определѐнное число кадров находится в процессе доставки в
сети; однако, при генерации заданного числа кадров и останове модели по отсутствию
событий значения двух счѐтчиков совпадают.
Полезная производительность сети существенно зависит от времени старения записей
адресных таблиц TCL. Кроме того, при включении сети (подключении новых подсетей)
создаѐтся кратковременная перегрузка, вызванная интенсивным широковещанием, что
приводит к временному снижению качества обслуживания (времени отклика сети).
Динамика широковещания и времени отклика (как показателя качества обслуживания QoS)
представлены на Рис. 10. На графиках показан всплеск широковещания при включении сети
и его влияние на время отклика, а также вторая волна широковещания после очистки записей
таблиц (через 12 с.), влияние которой сглаживается во времени.
Процент широковещания
0
20
40
60
80
100
1.62 2.67 3.72 4.78 5.83 6.88 7.93 8.99 10.04 11.08 12.08 13.07 14.11 15.15 16.2 17.26 18.29 19.33 20.37
Время (с)
Время отклика сети (мкс)
33
34
35
36
37
38
1.62 2.67 3.72 4.78 5.83 6.88 7.93 8.99 10.04 11.08 12.08 13.07 14.11 15.15 16.2 17.26 18.29 19.33 20.37
Время (с)
Рис. 10. Динамика широковещания и QoS после включения
Зависимость полезной производительности и времени отклика сети от времени
старения записей приведены на Рис. 11. Увеличение времени старения записей приводит к
повышению производительности сети и качества обслуживания, однако снижает
возможности сети по адаптации к изменению структуры и приводит к неправильной
доставке кадров в результате использования неактуальных записей адресных таблиц.
Влияние времени старения записей усиливается при увеличении интенсивности
трафика в соответствии с оценками, представленными на Рис. 12. Полезная
производительность сети повышается при увеличении интенсивности трафика (хотя и
приводит к снижению качества обслуживания), что связано с увеличением частоты
использования записей адресных таблиц.
Таким образом, несмотря на существенные преимущества, технология PBB имеет
определѐнные недостатки, затрудняющие обеспечение заданного качества обслуживания, и
требующие резервирования производительности для сглаживания возможных перегрузок.
Следует отметить, что в настоящей работе не рассматривались виртуальные сети, которые
позволяют изолировать широковещательный трафик (в пределах виртуальной сети).
Полезная производительность сети (%)
90
91
92
93
94
95
96
97
98
99
100
0.5 1 2 4 8 16 32 64 128 256 512 1024 2048
Время старения записи (с)
Время отклика сети (мкс)
0
50
100
150
200
250
0.5 1 2 4 8 16 32 64 128 256 512 1024 2048
Время старения записи (c)
максимальное
среднее
Рис. 11. Влияние времени старения записи на производительность и QoS
Полезная производительность сети (%)
90
92
94
96
98
100
1K 5K 10K 50K 100K 200K 500K 1M 2M 5M 10M 15M 20M
Трафик РС (бит/с)
Время отклика сети (мкс)
0
50
100
150
200
250
300
350
400
450
1K 5K 10K 50K 100K 200K 500K 1M 2M 5M 10M 15M 20M
Трафик РС (бит/с)
среднее
максимальное
Рис. 12. Влияние интенсивности трафика на производительность и QoS
На основе моделей, построенных в настоящей работе, и моделей Е6 сетей [6] можно
выполнить предварительный сравнительный анализ двух технологий. Отсутствие
служебного широковещания в Е6 позволяет обеспечить гарантированное качества
обслуживания. Иерархическая структура Е6 сети (включая магистраль) задаѐтся при помощи
иерархических Е6 адресов и не приводит к увеличению заголовка кадра; в PBB каждый
новый уровень иерархии магистрали требует не менее 12 дополнительных байтов заголовка
кадра (для пары B-MAC адресов). Кроме того, стек Е6 аннулирует 20-36 байтов заголовков
протоколов TCP, IP каждого инкапсулрованного пакета. Технология PBB при инкапсуляции
IP-Ethernet предполагает двойное отображение адресов: IP->C-MAC, C-MAC->B-MAC,– в то
время как Е6 полностью аннулирует отображение адресов в сети за счѐт использования
единого Е6 адреса.
8. Выводы
В настоящей работе построены основные компоненты PBB сетей: магистральный PBB
коммутатор, граничный PBB коммутатор с динамическим ведением адресных таблиц.
Выполнено моделирование работы PBB сети. Анализ результатов моделирования позволяет
сделать вывод об определѐнных недостатках PBB технологии, обусловленных
чувствительностью к времени старения записей адресных таблиц, затрудняющих
обеспечение заданного качества обслуживания.
Предварительные сравнения подтверждают ряд существенных преимуществ Е6
адресации по сравнению с PBB. Для всесторонней сравнительной оценки двух технологий
необходимо построение моделей, отображающих особенности инкапсуляции IP-Ethernet,
ведение динамических адресных таблиц Е6, работу виртуальных сетей технологии PBB, что
является направлением для дальнейших исследований.
Литература
1. Fang L., Zhang R., Taylor M. The Evolution of Carrier Ethernet Services – Requirements and
Deployment Case Studies. – Communications, vol. 46, no. 3, March 2008. – p. 69-76.
2. IEEE Draft P802.1ah/D4.2 "Virtual Bridged Local Area Networks, Amendment 6: Provider
Backbone Bridges", Work in Progress, March 26, 2008.
3. IETF: VPLS Extensions for Provider Backbone Bridging draft-balus-l2vpn-vpls-802.1ah-03.txt,
Work in Progress, July 2008.
4. Воробиенко П.П., Зайцев Д.А., Нечипорук О.Л. Всемирная сеть Ethernet?– Зв'язок, № 5,
2007. - с. 14-19.
5. Воробієнко П.П., Зайцев Д.А., Гуляєв К.Д. Спосіб передачі даних в мережі із заміщенням
мережного та транспортного рівнів універсальною технологією канального рівня.–
Патент на корисну модель № 35773, Зареєстровано в Державному реєстрі патентів
України на винаходи 10.10.2008.
6. Guliaiev K.D., Zaitsev D.A., Litvin D.A., Radchenko E.V. Simulating E6 Protocol Networks
using CPN Tools.– Proc. of International Conference on IT Promotion in Asia, August 22-26,
2008, Tashkent (Uzbekistan), P. 203-208.
7. Beaudouin-Lafon M., Mackay W.E., Jensen M. et al. CPN Tools: A Tool for Editing and
Simulating Coloured Petri Nets. LNCS 2031: Tools and Algorithms for the Construction and
Analysis of Systems.– 2001, 574-580 (http://www.daimi.au.dk/CPNTools).
8. Jensen K. Colored Petri Nets – Basic Concepts, Analysis Methods and Practical Use.– Vol. 1-3,
Springer-Verlag, 1997.
9. Zaitsev D.A., Shmeleva T.R. Switched Ethernet Response Time Evaluation via Colored Petri
Net Model.– Proc. of International Middle Eastern Multiconference on Simulation and
Modelling, August 28-30, 2006. - Alexandria (Egypt). - 2006. - P. 68-77.
10. Зайцев Д.А. Измерительные фрагменты в моделях Петри телекоммуникационных сетей.–
Зв'язок №2(54), 2005, с. 65-71.
11. Зайцев Д.А., Сакун А.Л. Исследование эффективности технологии MPLS с помощью
раскрашенных сетей Петри.– Зв'язок. – 2006. – Т. 65, №5. – С. 49-55.
12. Зайцев Д.А., Березнюк М.В. Исследование эффективности использования адресного
пространства протокола Bluetooth.– Радиоэлектроника. Информатика. Управление. -
2006, №1. - C. 57-63.
Опубликовано: Зв'язок, 2009, № 4(88), С. 39-46.