Как обрабатывать наложение данных в разных сегментах TCP? Изучаю механизм работы TCP и возникло один интересный случай. Есть 3 сегмента с данными 1) Seq = 1, Len = 10 (заливка данных 0x00) 2) Seq = 11, Len = 10 (заливка данных 0x01 байтом) 3) Seq = 15, Len = 10 (заливка 0x02 байтом) В приемник пришли сегменты в следующем порядке: 1, 3, 2 Данные второго сегмента накладываются на данные третьего. Как должен поступить приемник? Как должен поступить приемник, если данные пришли в порядке 1, 2, 3

26 Сен 2021 в 19:59
148 +1
0
Ответы
1

В данном случае, при поступлении данных в порядке 1, 3, 2 приемник должен обрабатывать их следующим образом:

1) Приемник должен сохранить данные первого сегмента (Seq = 1, Len = 10), так как они пришли первыми и не пересекаются с остальными данными.

2) Приемник должен также сохранить данные третьего сегмента (Seq = 15, Len = 10), но начиная с 16-го байта, так как данные второго сегмента (Seq = 11, Len = 10) уже пересеклись с данными третьего сегмента.

3) При поступлении данных в порядке 1, 2, 3 приемник должен сначала обработать данные второго сегмента (Seq = 11, Len = 10), затем данные первого сегмента (Seq = 1, Len = 10) и наконец данные третьего сегмента (Seq = 15, Len = 10).

Принимающая сторона должна правильно учитывать номер последовательности (Seq) каждого сегмента TCP, чтобы правильно восстановить исходные данные из них.

17 Апр в 10:59
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир