
- •Sctp Материал из Википедии — свободной энциклопедии
- •Многопоточность
- •Достоинства
- •Причины появления
- •Сравнение возможностей протоколов транспортного уровня
- •Архитектура sctp
- •Функционирование sctp
- •Sctp Материал из Wiki.Inattack.Ru.
- •Проблемы tcp
- •Свойства sctp
- •Многодомность
- •Инициация
- •Передача данных
- •Отключение
- •[Править] Безопасное установление подключения
- •[Править] Поэтапное завершение передачи данных
- •[Править] Многопоточность
- •[Править] Достоинства
- •[Править] Причины появления
- •[Править] Безопасность
- •[Править] Сравнение возможностей протоколов транспортного уровня
- •[Править] Формирование кадров сообщения
- •[Править] Структура пакета
- •[Править] Обработка ошибок
- •[Править] Реализации
- •[Править] Примечания
- •[Править] Ссылки
[Править] Обработка ошибок
Повтор передачи
Повторная передача блоков DATA может быть обусловлена (a) тайм-аутом, определяемым таймером повтора (retransmission timer) или (b) получением SACK, показывающих что блок DATA не был получен адресатом. Для снижения вероятности насыщения повтор передачи блоков DATA ограничивается. Значение тайм-аута для повтора (RTO) устанавливается на основе оценки времени кругового обхода и уменьшается экспоненциально с ростом частоты потери сообщений. Для активных ассоциаций с почти постоянным уровнем трафика DATA причиной повтора скорей всего будут сообщения SACK, а не тайм-аут. Для снижения вероятности ненужных повторов используется правило 4 SACK, в соответствии с которым повтор передачи происходит только по четвертому SACK, указывающему на пропуск блока данных. Это позволяет предотвратить повторы передачи, вызванные нарушением порядка доставки.
Сбой в пути
Поддерживается счетчик для числа повторов передачи по конкретному адресу получателя без подтверждения успешной доставки. Когда значение этого счетчика достигает заданного порога (конфигурационный параметр), адрес объявляется неактивным и протокол SCTP начинает использовать другой адрес для передачи блоков DATA. Кроме того, по всем неиспользуемым (дополнительным) адресам периодически передаются специальные блоки Heartbeat и поддерживается счетчик числа блоков Heartbeat, переданных без возврата соответствующего Heartbeat Ack. Когда значение счетчика достигает заданного порога (параметр конфигурации), соответствующий адрес объявляется неактивным. Блоки Heartbeat передаются по неактивным адресам до тех пор, пока не будет получено сообщение Ack, говорящее о восстановлении активности адреса. Частота передачи блоков Heartbeat определяется значение RTO и дополнительной задержкой, которая позволяет передавать блоки Heartbeat без помех для пользовательского трафика.
Отказ в конечной точке
Для всех адресов получателя поддерживается общий счетчик числа повторов или блоков Heartbeat, переданных удаленной точке без получения от нее соответствующего подтверждения (Ack). Когда значение счетчика достигает заданного порога (параметр конфигурации) конечная точка декларируется как недостижимая и ассоциация SCTP закрывается.
[Править] Реализации
Протокол SCTP реализован в следующих операционных системах:
Linux2.4 и выше
Sun Solaris10
Cisco IOS12+
DragonFly BSDначиная с версии 1.4
QNXNeutrino,
BSD UNIX(с внешним дополнением от проекта KAME)
FreeBSDначиная с версии 7
HP-UX
AIX5
[Править] Примечания
↑TCP и UDP работают столь различно, что проводить аналогию к ним обоим некоректно. Вся аналогия — в том, что SCTP, TCP и UDP относятся к одному и тому же уровню модели OSI.
[Править] Ссылки
RFC 3286
http://www.sigtran.org
http://www.sctp.org
http://www.openss7.org
http://www.sctp.de
http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/sctp_fb/sctp_intro.html
SeveNTest онлайн декодер сообщений TCP/IP