Протоколы Internet

         

match addresses and ports to


#endef





for (all associations)



/* Здесь выполняется управление доступом */

match addresses and ports to associations;

if (no matching association)





call receive-instantiation procedure;



/* создаем ассоциацию */

Вызов процедуры дешифровки осуществляется только в случае применения аутентификации.

#ifdef (authentication implemented)

call decrypt;

#endef

Если код режима пакета не равен нулю, он определяет режим на следующем этапе; в противном случае, режим определяется по номеру порта.











if (pkt.mode = 0)



/* для совместимости со старыми версиями */



mode;

else

mode

case (mode, peer.hostmode)

В случае ошибки пакет просто игнорируется, а ассоциация, если она не была предварительно сконфигурирована, ликвидируется.

error: if (peer.config = 0) demobilize association;

break;

В случае recv пакет обрабатывается, а ассоциация помечается как достижимая при условии 5-8 успешных проверок. Если и проверки с первой по 4-ую проходят успешно (данные корректны), вызывается процедура коррекции показания локальных часов. В противном случае, если ассоциация не была предварительно сконфигурирована, она ликвидируется.

















recv: call packet;



/* обработать пакет */



if (valid header) begin



/* если правильный заголовок, актуализовать внутренние часы */



peer.reach

if (valid data) call clock-update;

endif

else

if (peer.config = 0) ликвидировать ассоциацию;

break;

В случае xmit, пакет обрабатывается и посылается промежуточный отклик. Ассоциация затем ликвидируется.

















xmit: call packet;



/* обработать пакет */



peer.hostpoll



/* послать немедленно отклик */



call poll-update;

call transmit;

if (peer.config = 0) ликвидировать ассоциацию;

break;

В случае pkt, пакет обрабатывается, а ассоциация помечается как достижимая при условии, что тесты 5-8 (правильный заголовок), перечисленные в пакетной процедуре, прошли успешно. Если, кроме того, прошли тесты 1-4 (корректные данные), вызывается процедура коррекции показаний локальных часов. В противном случае, если ассоциация не была предварительно сконфигурирована, она сразу после отклика ликвидируется.

















pkt: call packet;



/* обработка пакета */



if (valid header) begin



/* если заголовок правилен, поправляется показание местных часов */

<

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий