"Человек - самое уязвимое место в системе безопасности.."

Время обслуживания в сетях

Общее

Пакет от севера к клиенту должен пройти через несколько уровней протокола и может проходить через несколько сетей (Рис.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

В таблице 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-типа