Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Goldshteyn_A_B__Goldshteyn_B_S_Softswitch_20.docx
Скачиваний:
14
Добавлен:
01.05.2025
Размер:
157 Кб
Скачать
☆
  1. Установление соединения

Установление соединения обычно инициирует протокол верх­него уровня, который приказывает 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 не поддерживает «полуоткрытое» состояние, при котором одна сторона может продолжать передачу данных, в то время как другая сторона уже закрыта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]