Надежная передача данных (RDT) 3.0

Опубликовано: 21 Января, 2023

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» и отправляет его в сеть, что означает, что правильный пакет не получен.