SCTP: надстройка протокола TCP для улучшения эффективности его работы::Журнал СА 01-02.2019
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1321
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1426
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1099
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 850
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1438
Комментарии: 0
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 SCTP: надстройка протокола TCP для улучшения эффективности его работы

Архив номеров / 2019 / Выпуск №01-02 (194-195) / SCTP: надстройка протокола TCP для улучшения эффективности его работы

Рубрика: Карьера/Образование /  Пятая пара

Олег Рудзейт ОЛЕГ РУДЗЕЙТ, студент группы информатики и вычислительной техники, кафедра информационных систем управления, ДВФУ, Владивосток, rudzeyt18@mail.ru

Анна Смышляева АННА СМЫШЛЯЕВА, студентка группы информатики и вычислительной техникиа, кафедра информационных систем управления, ДВФУ, Владивосток, AnyaC957@mail.ru

SCTP: надстройка протокола TCP
для улучшения эффективности его работы

Переход от протокола TCP к протоколу SCTP будет наименее безболезненным потому, что многие функции TCP поддерживаются и в SCTP

В настоящее время очень популярным протоколом передачи данных в сети Интернет является TCP/IP, который гарантирует надежную передачу пакетов между двумя участниками интернет-соединения. Из-за своей давней разработки данный протокол является устаревающим, т.к. какой бы ширины ни был канал передачи данных, протокол TCP/IP не способен полностью его загрузить по причине потери пакетов в результате различных физических явлений и ихпостоянных переотправлений.

Описание протокола TCP/IP

В 70-х годах ХХ века потребовалось создать протокол, который смог бы безопасно передавать данные. Поэтому при создании TCP все усилия были направлены на создание механизма надежной, а не скоростной передачи. В те годы не было мобильных и спутниковых сетей, а единственный трансатлантический канал из США в Европу имел скорость 64 Кбит/с. TCP был разработан так, чтобы скорость передачи данных была обратно пропорциональна расстоянию между двумя конечными точками. В случае потери пакетов TCP считает, что канал перегружен, и самостоятельно уменьшает скорость передачи. Производительность TCP снижается с ростом расстояния между конечными точками и из-за низкого качества сети [1]. Чем больше расстояние, тем больше задержка и ниже скорость передачи. Маршрутизатору требуется время на обработку пакета, а если роутер настроен неправильно или перегружен, передаваемые пакеты могут быть утеряны. Чем больше пакетов утрачено, тем более затратной по времени становится передача. На рис. 1 показано, что TCP имеет хорошую производительность в локальных сетях относительно доступной пропускной способности сети, ночем больше время задержки и потеря пакетов, тем ниже будет производительность передачи данных. Также производительность протокола не растет с увеличением канала.

Рисунок 1. Производительность TCP/IP

Рисунок 1. Производительность TCP/IP

Количество пакетов, которые может отправить TCP в момент времени, определяется механизмом под названием «окно TCP» (TCP Sliding Window). Окно TCP регулируется алгоритмом предотвращения перегрузки AIMD (Adaptive Increase Multiplicative Decrease) и контролем передачи (Flow Control), регулируя скорость отправки пакетов. Благодаря этому TCP может быть «уверен» в том, что пакеты отправляются не быстрее, чем их может принять получатель.

В случае обнаружения потери пакета/подтверждения отправитель, используя AIMD-алгоритм, уменьшает размер окна TCP либо вдвое, либо до нуля. Если представить скорость передачи протокола TCP в виде графика (см. рис. 2), получится «пилообразная» функция.

Рисунок 2. Размер окна передачи данных

Рисунок 2. Размер окна передачи данных

Протокол SCTP

SCTP создает двустороннюю ассоциацию между двумя конечными точками и дает возможность работы с несколькими потоками каждой паре конечных точек, а также обеспечивает поддержку концепции многоинтерфейсного узла натранспортном уровне [2] (см. рис. 3).

Рисунок 3. Концепция многоинтерфейсного узла

Рисунок 3. Концепция многоинтерфейсного узла

Сервисы, предоставляемые SCTP, имеют много общего с сервисами TCP и UDP. Протокол SCTP описывается в RFC 4960 [3]. Несмотря на принципиальную разницу между SCTP и TCP, для приложения интерфейс «точка – точка» почти ничем не отличается от интерфейса TCP. Подобно TCP, протокол SCTP обеспечивает приложениям, взаимодействующим по IP-сети, транспортную службу с гарантией доставки и сохранением порядка следования пакетов.

Протокол унаследовал многие функции, разработанные для TCP, а именно возможность контроля перегрузки и восстановления утерянных пакетов. В действительности любое приложение, работающее по протоколу TCP, можно перевести на SCTP без потери функциональности.

Соединение по протоколу SCTP между клиентом и сервером называется ассоциацией, так как это многопотоковый протокол, позволяющий задать несколько IP-адресов и один порт для каждой стороны соединения (см. рис. 4).

Рисунок 4. Ассоциация протокола SCTP

Рисунок 4. Ассоциация протокола SCTP

Наличие у конечной точки нескольких IP-адресов позволяет обеспечить дополнительную устойчивость в случае отказа сети и уменьшить задержки. Для сокращения задержек, вызванных переключением с первичного направления наальтернативные, используется механизм контроля работоспособности. Пока идет передача данных по первичному направлению, протокол SCTP посылает пакеты контроля работоспособности на адреса, находящиеся в режиме ожидания.

В отличие от TCP протокол SCTP ориентирован не на поток байтов, а на сообщения. Он обеспечивает упорядоченную доставку данных и сохраняет границы сообщений в пакетах приложения, размещая сообщения в одной или нескольких структурах данных SCTP, называемых фрагментами. Несколько сообщений могут объединяться в один фрагмент, а длинное сообщение может быть сегментировано. Благодаря этому свойству устраняется возможная блокировка линии типа head-of-line, присущая протоколу TCP, так как утрата сообщения в одном из потоков не блокирует доставку сообщений по другим. С помощью SCTP приложения могут использовать различные модели доставки, в том числе строгий порядок передачи (как TCP), частичное упорядочивание (по потокам) и неупорядоченную доставку (как UDP). Для восстановления утраченных пакетов используется схема выборочного подтверждения, унаследованная из TCP. Поддерживая обратную связь с отправителем, приемник SCTP сообщает, какие пакеты необходимо отсылать повторно, если они были утеряны. Для контроля перегрузки используются стандартные методики: медленный старт, предотвращение перегрузки и быстрая повторная передача.

SCTP лишен двух особенностей TCP. Одна из них – состояние неполного закрытия соединения на своей стороне, которое возникает, когда приложение закрывает свой конец соединения, но разрешает встречной стороне отправлять данные ипринимает их. Также не поддерживается обработка внеочередных данных. Для доставки срочных данных в SCTP можно использовать отдельный поток, хотя это и не позволяет в точности воспроизвести поведение TCP в данной ситуации.

Заключение

Протокол SCTP является эволюционным продолжением протокола TCP, который обеспечивает надежность передачи, но помимо этого он позволяет задавать границы сообщений, обеспечивает поддержку множественной адресации натранспортном уровне и предлагает расширенные возможности этого уровня, выходящие за рамки тех, которые могут сейчас предоставить TCP и UDP.

Также переход от протокола TCP к протоколу SCTP будет наименее безболезненным потому, что многие функции TCP поддерживаются и в SCTP: уведомление о приеме, повторная передача утерянных данных, сохранение последовательности данных, оконное управление передачей и др.

  1. Кручинин С.В. Стеки сетевых технологий TCP/IP и OSI/ISO//Вопросы науки. – 2015. – Т. 3. – С. 145-147.
  2. [Электронный ресурс]. Режим доступа: https://www.ibm.com/developerworks/ru/library/l-sctp/index.html#artrelatedtopics (дата обращения: 03.01.2019).
  3. [Электронный ресурс]. Режим доступа: https://tools.ietf.org/html/rfc4960 (дата обращения: 05.01.2019).
  4. Кручинин С.В. Реализация модели OSI/ISO телекоммуникационным модулем сопряжения для MESH-сетей //Научно-исследовательские публикации, 2016, № 5. – С. 27-32.
  5. Кручинин С.В. Семиуровневая сетевая модель OSI/ISO и стек протоколов TCP/IP: исследование взаимоотношения и интерпретации//Научно-исследовательские публикации, 2015, № 5. – С. 115-120.

Ключевые слова: интернет, протокол, соединение.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru