Издержки на передачу пакетов данных iSCSI

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

Вопрос: Сколько накладных расходов вносят iSCSI и SCSI при передаче данных для чтения или записи?

Я понимаю, что это делается в транспортных пакетах Data-In и Data-Out, и я понимаю, что есть издержки от TCP/IP и Ethernet, но какие дополнительные издержки необходимы для iSCSI/SCSI? Я признаю, что блоки данных протокола SCSI (PDU) упакованы в дейтаграммы TCP по некоторому алгоритму, но я не уверен в этом алгоритме.

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

2 ответа

Решение

Для чтения ниже является правильным. Но для записи (если непосредственные данные не включены) необходимы дополнительные байты, необходимые для того, чтобы цель отправила другой PDU с именем R2T, который составляет 48 байтов. Дайджест используется редко, поскольку большинство подключений iSCSI являются локальными, а TCP/IP имеет CRC.

Вот что я собрал, просматривая iSCSI RFC 3720.

Блок данных протокола (PDU - "пакет" iSCSI) имеет следующие элементы:

  1. Базовый сегмент заголовка - 48 байт
  2. Дополнительные сегменты заголовка - необязательно - 0 байт (предположим, что они не нужны)
  3. Дайджест заголовка - 4 байта (необязательно, но хочу этого)
  4. Сегмент данных - 8192 байта (максимальная длина полученных данных согласовывается между инициатором и целью, по умолчанию используется 8192, поэтому будет использовать это)
  5. Дайджест данных - 4 байта (необязательно, но хочу этого)

Итак, я вижу накладные расходы в 56 байтов для передачи 8192 байтов фактических данных.

Другие вопросы по тегам