Результаты (
русский) 2:
[копия]Скопировано!
Предположим , что процесс отправитель S посылает последовательность сообщений м [0], м [1], м [2], ... в процессе приемника R (рис 12.3). Если верхняя граница задержки распространения сообщения не известны , а каналы не FIFO, то получатель должен отправлять подтверждения отправителю уведомления о прибытии сообщения. Для обнаружения nonarrival сообщени, процесс S в лучшем случае может сделать хорошее предположение задержки распространения туда-обратно и установить таймер соответственно. Если есть тайм - аут, отправитель выполнит повторную передачу сообщения. Из - за переходного характера отказа, то предполагается , что , если сообщение посылается ограниченное число раз, то он в конечном счете достигнет приемника и будет доставлен к приложению на приемном конце. В случае , если предположение отправителя о задержке кругового обхода является неправильным , и тайм - аут слишком рано, повторная передача может привести к дублированию сообщений на канале. В этом контексте, надежный канал от S до R должен отвечать следующим трем требованиям:
1. Без потери: Приемник в конечном счете не доставляет каждое сообщение , отправленное из отправителем.
2. Нет дублирования: Приемник не доставляет каждое сообщение , посланное отправителем ровно один раз.
3. Нет переназначения: Приемник всегда доставляет сообщение M [] перед M [+ 1].
Таким образом, если S посылает на ABCDE последовательность, то первое условие исключает R принимать эту последовательность как AcdE, вторые правила состояние вне возможность R принимать его как abbcccde, и третье условие препятствует R от принятия его в качестве aceb д.
переводится, пожалуйста, подождите..
