Почему в окне "Формат обратного вызова" (N) в формате TCP Go-Back-N размер шрифта (N) должен быть меньше пространства порядкового номера (S): S > N? Я попытался выяснить это сам, но не успокаивайся.
Размер окна Go-Back-N
Ответ 1
Есть причина, почему S>N
. Рассмотрим возможный случай, описанный на следующей диаграмме, в которой размер окна совпадает с пространством порядковых номеров, т.е. S=N
.
Здесь, в приведенном выше изображении, пространства порядковых номеров обозначаются: 2^m
, где m
- размер поля порядкового номера заголовка в битах.
Теперь рассмотрим первый случай, когда Sf
равен 0, а Sn
равен 1. Таймер начинается, как только отправляется первый кадр. Когда первый кадр принимает, приемник отправляет ACK. но предположим, что он потерян по некоторым причинам.
Но так как размер окна здесь 4, отправитель продолжит отправку следующих кадров, пока не достигнет максимального размера окна. (4
в этом случае).
Поскольку в кадрах нет потерь, кадры будут успешно достигать приемника, Rn
будет увеличиваться на 1
каждый раз, когда приходит фрейм.
Предположим, что все ACK. потерян. и через некоторое время таймер отключается. Таким образом, отправитель будет считать, что кадры потеряны или ACK потеряны. Таким образом, он будет возмущаться данными от начала. Но в конце приемника кадры успешно прибывают, он будет ждать следующего кадра (в данном случае 0
).
И отправитель также отправит фрейм 0
. Каков предыдущий кадр. Но приемник будет ошибочно принят.
Так что лучше иметь размер окна (N) должен быть меньше пространства порядкового номера (S).
Рассмотрим следующую диаграмму:
На приведенной выше диаграмме размер S=N+1
или окна 2^m-1
. В этом случае также предполагаем то же, что мы предполагали в предыдущем случае. Но разница в том, что, наконец, приемник будет ждать кадра 3
, и отправитель отправит фрейм 0
. Поэтому он будет отброшен. И, следовательно, отправитель отправит весь набор кадров снова.
Поэтому во втором случае есть больше возможностей для успешного общения.
Надеюсь, это поможет вам.
Ответ 2
Предположим, что в последовательности было четыре (порядковые номера 0,1,2,3). Допустим, размер окна также был 4. Отправитель отправляет 4 пакета с порядковыми номерами (0,1,2,3). Получатель получает все четыре пакета. Таким образом, он отправляет 4 подтверждения (0,1,2,3). Теперь предположим, что все подтверждения потеряны. Отправитель отправит все четыре пакета, но получатель предположит, что они новые. Чтобы избежать путаницы, возникающей из-за потерянных подтверждений, мы сохраняем n <s