- •Глава 7 Группа Sigtran
- •7.1. Система общеканальной сигнализации №7 в ip-сети
- •Архитектура Sigtran
- •Транспортный протокол с управлением потоками
- •Основные функциональные возможности sctp
- •Множественная адресация
- •С множественной адресацией
- •Соединения для нескольких потоков
- •Фрагменты
- •7.3.5. Фрагмент полезной нагрузки data
- •Б.С.Гольдштейн
- •Установление соединения
- •Протокол m3ua
- •Функции m3ua
- •Терминология
- •Код пункта сигнализации
- •Примитивы
- •7.4.5. Сообщения m3ua
- •Протокол m2ua
- •Протокол м2ра
- •Протокол sua
- •Протокол iua
- •Протокол v5ua
Установление соединения
Установление соединения обычно инициирует протокол верхнего уровня, который приказывает SCTP установить соединение. Соединение может быть установлено заблаговременно перед передачей какого-либо трафика данных. Например, если сетевой администратор организует пучок соединительных линий ISUP в Softswitch, и Softswitch использует M3UA, действия, связанные с определением пучка соединительных линий, могут заставить M3UA запросить в SCTP установление соединения. Подобным же образом, соединение может быть установлено, когда в обслуживание вводится новое звено ОКС7 в SG, или когда вводится в обслуживание новый диапазон CIC. Этот процесс изображен на рис. 7.7.
Рис.
7.7. Сценарий установления и разрушения
SCTP-соединения
Он начинается передачей на транспортный адрес удаленного порта пакета SCTP, содержащего фрагмент INIT, инициируя тем самым установление SCTP-соединения. Отправитель запускает таймер и переходит в состояние cookie-wait (ожидание cookie).
Помимо обязательных параметров фрагмент INIT может содержать также ряд дополнительных параметров и/или параметров с варьируемой длиной. Например, фрагмент INIT может содержать один или несколько адресов IPv4 и IPv6, или имя разрешенного хоста.
Удаленный порт, который принимает INIT, генерирует фрагмент INIT-ACK и передает его на IP-адрес отправителя INIT. INIT-ACK содержит данные о сookie-состояниях, и как только он принимается, отправитель INIT останавливает таймер и передает фрагмент COOKIE-ECHO. Запускается новый таймер, а отправитель переходит в состояние cookie-wait. Фрагмент INIT АСК тоже может содержать ряд адресов IPv4 и IPv6. Принимая во внимание то, что фрагмент INIT АСК тоже содержит некоторое количество входящих и исходящих потоков, оба конца соединения знают максимальное количество потоков, которые может передавать и принимать другая сторона. Каждый оконечный пункт должен соблюдать требования другого и не должен передавать больше, чем другой оконечный пункт может обработать. После приема фрагмента INIT АСК инициатор соединения передает фрагмент COOKIE ECHO, содержимое которого скопировано из параметра cookie принятого фрагмента INIT АСК. Когда на дальний конец соединения приходит COOKIE-WAIT и от него поступает фрагмент COOKIE-ACK, оба порта переходят в состояние соединение установлено (established).
Надежная пересылка данных пользователя достигается путем использования двух фрагментов. Первый - это фрагмент DATA, который был описан в п. 7.3.5, а второй - фрагмент SACK. Прием фрагментов DATA подтверждается фрагментами SACK, которые указывают также на пропуски в последовательности передачи данных потока. Периодически происходит обмен фрагментами HEARTBEAT для поддержания соединения между портами на действующих маршрутах между транспортными адресами. Пара сообщений HEARTBEAT/HEARTBEAT-АСК полезна и для определения времени двойного пробега (задержки подтверждения приема) RTT между портами, которое, в свою очередь, используется для вычисления размеров окон для передачи. Многочисленные неудачные попытки передать на порт фрагмент определенного типа (или неоднократные срабатывания таймера при ожидании SACK в ответ на DATA) могут означать, что текущий транспортный адрес недоступен.
SCTP-соединения могут разрушаться немедленно (с помощью сообщения ABORT) или постепенно (с помощью сигнальной процедуры SHUTDOWN/SHUTDOWN-ACK/SHUTDOWN COMPLETE), как показано в представленном сценарии. Заметим, что, в отличие от протокола TCP, протокол SCTP не поддерживает «полуоткрытое» состояние, при котором одна сторона может продолжать передачу данных, в то время как другая сторона уже закрыта.
