Надежная передача данных (RDT) 3.0
RDT 3.0 — последняя и лучшая версия протокола надежной передачи данных. До RDT 3.0 был представлен RDT 2.2 для учета канала с битовыми ошибками, в которых также могут возникать битовые ошибки в подтверждениях. Поскольку дизайн RDT 2.2 представляет собой остановку и ожидание протокола. Если есть проблема с сетью и подтверждение/пакет потеряны. Отправитель ждет его бесконечно.
Как RDT 3.0 решает эту проблему?
RDT 3.0 вводит таймер на стороне отправителя, если подтверждение не получено в течение определенного времени, когда отправитель повторно отправляет пакет. Этот метод решает проблему потери пакетов.
Представление в конечном автомате:
FSM отправителя
Как это работает:
Состояние-1 (вверху слева): это начальное состояние в FSM отправителя, которое называется «ожидание вызова 0 сверху». Он ждет, пока не получит сообщение для запуска с прикладного уровня. В этом состоянии дейтаграмма создается с порядковым номером «0» в заголовке и полезной нагрузкой в виде сообщения в теле. Наконец, пакет передается в сеть, и выполнение переходит к следующему состоянию.
Состояние-2 (вверху справа): это состояние подтверждает, получил ли получатель пакет или нет. проверка состояния, если полученное подтверждение не повреждено, имеет порядковый номер «1» и достигнуто в течение времени. Если эти два критерия удовлетворены, выполнение переходит к следующему состоянию, в противном случае состояние повторно отправляет пакет.
Состояние-3 (внизу справа): это состояние в FSM отправителя называется «ожидание вызова 1 сверху». Он ждет, пока не получит сообщение для запуска с прикладного уровня. В этом состоянии дейтаграмма создается с порядковым номером «1» в заголовке и полезной нагрузкой в виде сообщения в теле. Наконец, пакет передается в сеть, и выполнение переходит к следующему состоянию.
Состояние-4 (нижний левый): это состояние подтверждает, получил ли получатель пакет или нет. проверка состояния, если полученное подтверждение не повреждено, имеет порядковый номер «0» и достигнуто в течение времени. Если эти два критерия удовлетворены, выполнение переходит к следующему состоянию, в противном случае состояние повторно отправляет пакет.
FSM приемника
Как это работает:
FSM приемника такой же, как FSM приемника RDT 2.2.
Состояние-1 (слева): это первое состояние в FSM приемника, которое называется «ожидание вызова 0 снизу». Это указывает, имеет ли полученный пакет порядковый номер «0» и не поврежден ли он. Если эти условия удовлетворяют, это состояние создает пакет подтверждения с последовательностью «0» и отправляет его в сеть, что означает, что получен правильный пакет, выполнение переходит к следующему состоянию, в противном случае создается пакет подтверждения с последовательностью «1» и отправляет его в сеть, что означает, что правильный пакет не получен.
Состояние-2 (справа): Это первое состояние в FSM приемника, которое называется «ожидание вызова 1 снизу». Это указывает, имеет ли полученный пакет порядковый номер «1» и не поврежден ли он. если эти условия удовлетворяют. Это состояние создает пакет подтверждения с последовательностью «1» и отправляет его в сеть, что означает, что получен правильный пакет, выполнение переходит к следующему состоянию, в противном случае создается пакет подтверждения с последовательностью «0» и отправляет его в сеть, что означает, что правильный пакет не получен.