Проблема с порядковыми номерами TCP - PullRequest
0 голосов
/ 31 января 2010

При открытии соединения TCP начальный порядковый номер должен быть получен с использованием часов ToD, которые продолжают работать, даже когда хост не работает.Младшие 32 бита счетчика тактовых импульсов ToD должны использоваться для начального последовательного номера.Счетчики тактовых импульсов увеличиваются один раз в миллисекунды.Максимальное время жизни пакета составляет 64 с.

Какой из следующих вариантов наиболее близок к минимально допустимой скорости, с которой seq, не используемый для пакета соединения, может увеличиться?

A) .015 / с

B) .064 / s

C) .134 / s

D) .327 / s

Может кто-нибудь подробно объяснить решение и теорию, связанную с этой проблемой?

1 Ответ

0 голосов
/ 11 февраля 2010

Начальный порядковый номер (ISN) должен быть случайным 32-битным числом. Использование младших битов значения ToD предполагает, что это достаточно случайно.

Порядковый номер увеличивается на единицу для каждого байта полезной нагрузки, отправляемого по сети. Это делает скорость увеличения зависимой от пропускной способности соединения, коэффициента потерь и объема передаваемых данных. Это не имеет никакого отношения к «максимальному времени жизни пакета».

Если этот вопрос относится к значениям метки времени (TS) опции TCP PAWS. Это все еще не имеет смысла, потому что скорость приращения значения временной метки остается за исполнителем. Если увеличение тактовой частоты дано как время приращения TS, то это определяет максимальную пропускную способность до того, как дубликаты TS появятся внутри данных одного окна. В случае одной миллисекунды максимальная пропускная способность составляет 8 Тбит / с .

Короче говоря, этот вопрос не имеет никакого смысла для меня. Этот вопрос выглядит так, как будто он был написан NNES, что может стать источником путаницы.

...