Время обслуживания в сетях
Общее
Пакет от севера к клиенту должен пройти через несколько уровней протокола и может проходить через несколько сетей (Рис.1). На рисунке видно, что пакет от клиента к Web-серверу проходит через сеть Ethernet 10 Мбит/с, затем через магистральную сеть сеть FDDI 100 Мбит/с и затем через сеть Token Ring 16 Мбит/с.
Пакеты создаваемые приложением должны пройти через стек протоколов, как минимум через транспортный протокол (TCP или UDP), Internet-протокол (IP) и сетевой протокол. Протокольные объекты на каждм уровне взаимодействуют между собой с помощью протокольных едениц обмена PDU (Protocol Data Unit), которые состоят из области данных и заголовка. На сетевом уровне максимальный размер данных имеет название максимального транспортируемого блока MTU (maximum transmission unit). На рис.1 видно, что MTU для сети:
- Ethernet: MTU = 1500 байт
- Token Ring: MTU = 4444 байт
- FDDI: MTU = 4472 байт
Маршрутизаторы должны фрагментировать дейтаграммы при переходе их между сетями к более низкому значению MTU. На хосте места назначения фрагменты собираются на уровне протокола IP.
В таблице 1 показан список основных протоколов, их максимальных размер PDU, размер служебных данных и MTU.
Таблица 1 — Характеристики сетевых протоколов
Протокол | Название PDU | Максимальных размер PDU (байт) | Размер служебных данных (байт) | Максимальный размер области данных (байт) |
---|---|---|---|---|
TCP | Сегмент | (*) | 20 | (*) |
UDP | Дейтаграмма | (*) | 8 | (*) |
IP версия 4 | Дейтаграмма | 65535 | 20 | 65515 |
IP версия 6 | Дейтаграмма | 65535 | 40 | 65494 |
ATM | Ячейка | 53 | 5 | 48 |
Ethernet | Кадр | 1518 | 18 | 1500 |
IEEE 802.3 | Кадр | 1518 | 21 | 1497 |
IEE|EEE 802.5 Token Ring | Кадр | 4472 | 28 | 4444 |
FDDI (RFC 1390) | Кадр | 4500 | 28 | 4472 |
(*) — ограничен размером IP-дейтаграммы
Время обслуживания пакетом сетью — это время, нужное для передачи данного пакета через сеть.
Пример расчета время обслуживания сети
На рис.2 пользователь отправляет 300-байтный запрос Web-серверу и получает 10000 байтный ответ. Взаимодействие между сервером и клиентов реализовано через TCP-соединение.
Рисунок — 2, а — взаимодействие между сервером и клиентом, б — формат кадра
Запрос от клиента к серверу размещен в границах области даннных TCP-сегмента, которые идет в область данных IP-дейтаграммы. IP-дейтаграмма инкапсулируется Ethernet-, FDDI-, Token Ring — кадрами по мере прохода пакетом по сетям 1,2,3. К 300 байтному запросу дописываем 20-байтный заголовок TCP, 20 байтный IP-заголовок, 18 байт заголовка кадра в сети 1, 28х2 байт в сетях 2,3. В итоге получается:
- для сети 1: 358 байт (300 + 20 + 20 + 18)
- для сети 2: 368 байт (300 + 20 + 20 + 28)
- для сети 3: 368 байт (300 + 20 + 20 + 28)
Время для передачи кадра по сети равно размеру кадра в битах поделенному на пропускная способность сети (бит/с).
- (358 * 8) / 10 000 000 = 0.000286 c
- (368 * 8) / 100 000 000 = 0.00002944 c
- (368 * 8) / 16 000 000 = 0.000184 c
Теперь рассмотрим ответ сервера к клиенту.К примеру после установки TCP-соединение MSS равен 1460 байт. Серверу придется передать клиенту 7 ТСР-сегментов, чтобы передать 10000 байтный ответ. Первые 6 сегментов будут иметь размер 1460 байт блока + 20 байт ТСР-заголовка. Последний блок длиной 1240 байт (~ 10000 — 6 * 1460).
Для 3 сети (Token ring) в каждый сегмент будет входить 1460 байт — данные, 20 байт — ТСР-заголовок, 20 байт — IP-заголовок и 28 байт на служебную информацию кадра Token Ring = 1528 байт. Последний сегмент будет иметь размер 1408 байт. Время обслуживания на ответа в 3 сети:
- (6 * 1528 + 1308) * 8 / 16 000 000 = 0.00524 с
Для сетей 1,2:
- (6 * (1460 + 20 + 20 + 18) + (1240 + 20 + 20 + 18)) * 8 / 10 000 000= 0.00832 c
- (6 * (1460 + 20 + 20 + 28) + (1240 + 20 + 20 + 28)) * 8 / 100 000 000= 0.000838 с
Формулы при расчете времени обслуживании сети
Нужно отметить, что если MSS меньше или равен MTU для всех сетей прохождения пакета, то фрагментировать пакет не нужно. На сегодня IP-стандарты дают рекомендации хосту пакета определять заранее минимальное значение MTU по тракту передачи данных до выбора начального размера дейтаграммы.
- N — количество сетей между сервером и клиентом
- MessageSize (размер сообщения) — размер в байтах пакета (сообщения)
- MTUn — MTU в байтах для сети n
- СлужИнфТСР — размер служебной информации в байтах, для протокола TCP
- MSS — максимальных размер сегмента в байтах. Если фрагментация не проводится, то:
- MSS ≤ minNn=1 MTUn — СлужИнфTCP — СлужИнфIP
- СлужИнфКадраn — размер служебной информации в байтах кадра в сети n
- ОбщаяСлужИнфn — общий размер служебной информации (TCP+IP+кадр), в байтах для всех кадров, нуждающихся в передачи пакетов в сети n
- ПолосаПропусканияn — Мбит/с для сети n
- КоличествоДейтаграммn — множество IP-дейтаграмм передаваемых в сети n при передаче одного пакета (сообщения)
- КоличествоДейтаграмм = РазмерСообщения(Пакета) / MSS
- ОбщаяСлужИнфn = КоличествоДейтаграммn × (СлужИнфТСР + СлужИнфIP + СлужИнфКадраn)
- ВремяОбслуживанияn = (РазмерСообщения + ОбщаяСлужИнфn) × 8 / 106 × ПолосаПропусканияn
Коэффициент использования сети n можно получить с помощью произведения интенсивности пакетов в сети на среднее время обслуживания сообщения сетью.
- Un = ∑по j пакетам λ × ВремяОбслуживанияjn, где λi — входная интенсивность пакетов j-типа, а ВремяОбслуживанияjn — среднее время обслуживания сетью n — ля пакетов j-типа