КОМПЬЮТЕРНЫЕ СЕТИ Лекция 13 Транспортный уровень. Введение. TCP, UDP, SCTP Санкт-Петербург, 2012 Александр Масальских rusalmas@gmail.com.

Презентация:



Advertisements
Похожие презентации
Тема 11 Транспортный уровень сети Internet Презентацию лекций разработал доцент кафедры оптимизации систем управления Томского политехнического университета.
Advertisements

Сети и системы телекоммуникаций Управление потоком и перегрузкой в TCP ИМКН УрФУ.
Лекция 4 Транспортный уровень. UDP,TCP. Транспортный уровень.
Транспортный уровень стека протоколов TCP/IP. К передающей среде Протоколы межсетевых интерфейсов RARP Протоколы инкапсуляции в кадры Ethernet, FR, TR,
Протоколы транспортного уровня Лекция 5. Протоколы транспортного уровня TCP – работает поверх IP, ориентирован на соединение: перед началом передачи информации.
Работа протоколов стека TCP/IP Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Транспортный уровень Хабаровск, Содержание ТРАНСПОРТНЫЙ УРОВЕНЬ МОДЕЛИ OSI ТРАНСПОРТНЫЙ УРОВЕНЬ В ИНТЕРНЕТЕ ПРОТОКОЛ UDP ПРОТОКОЛ TCP Список используемой.
Транспортный уровень стека протоколов TCP/IP. К передающей среде Протоколы межсетевых интерфейсов RARP Протоколы инкапсуляции в кадры Ethernet, FR, TR,
Протокол TCP Сети и системы телекоммуникаций Созыкин А.В.
Протокол UDP Сети и системы телекоммуникаций Созыкин А.В.
Стандартизация сетевого взаимодействия СТАНДАРТИЗАЦИЯ ПРОЦЕДУР: - выделения и освобождения ресурсов компьютеров, линий связи и коммуникационного оборудования;
Борьба с перегрузкой в обычных и объединенных сетях.
Транспортный уровень Сети и системы телекоммуникаций Созыкин А.В.
Работа протоколов стека TCP/IP Борисов В.А. Красноармейский филиал ГОУ ВПО «Академия народного хозяйства при Правительстве РФ» Красноармейск 2010 г.
ОфисЖилой дом телефон. ПОРТЫ При доставке сообщения по протоколу TCP или UDP запрашиваемые протоколы и сервисы распознаются по номеру порта. Порт – это.
Рис Еталонная модель OSI Абонентская станция 1 Абонентская станция 2 Прикладной процесс АПрикладной процесс В Уровни Протоколы 1 Прикладной 2 Представительский.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Лекция 3 Принципы сетевого взаимодействия. Модель OSI.
Май 2002Сети ЭВМ проф. Смелянский Р.Л. 1 Транспортный уровень.
МОДЕЛЬ OSI 2 OSI-ISO Сетевая модель OSI Open Systems Interconnection модель взаимодействие открытых систем ISO International Standards Organization Модель.
Транксрипт:

КОМПЬЮТЕРНЫЕ СЕТИ Лекция 13 Транспортный уровень. Введение. TCP, UDP, SCTP Санкт-Петербург, 2012 Александр Масальских

Т РАНСПОРТНЫЙ УРОВЕНЬ. В ВЕДЕНИЕ Цель транспортного уровня – предоставление эффективных, надежных и экономичных (в плане использования канала и ресурсов) сервисов своим пользователям (процессам прикладного уровня) Транспортная сущность или транспортный объект – сущность, выполняющая задачи транспортного уровня Может быть в ядре ОС, в отдельно процессе, в библиотеке и т.д.

Т РАНСПОРТНЫЙ УРОВЕНЬ. В ВЕДЕНИЕ

Сервисы транспортного уровня: Ориентированные на соединение НЕ требующие соединения Транспортный уровень позволяет получить транспортный сервис более надёжный, чем полученный посредством сетевого уровня Обеспечение независимости от технологий Нижние четыре уровня – поставщик транспортных услуг Всё что выше – пользователи транспортных услуг

Т РАНСПОРТНЫЙ УРОВЕНЬ. В ВЕДЕНИЕ Сетевая служба моделирует сервисы, предоставляемые сетями со всеми их особенностями. Ориентированная на соединение транспортная служба надёжна Транспортный уровень может предоставлять ненадёжный сервис (об этом позднее) Сетевая служба используется только транспортными объектами, которые, в целом, унифицированы. Транспортная служба используется многими программами с разной реализацией TDPU (Transport Protocol Data Unit) – модуль данных транспортного уровня

П РИМИТИВЫ ТРАНСПОРТНОЙ СЛУЖБЫ

С ОКЕТЫ Б ЕРКЛИ Примитивы сокетов (гнёзд), используемые в ОС Berkeley UNIX для TCP (Transmission Control Protocol)

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ Транспортная служба реализуется транспортным протоколом (a) Environment of the data link layer. (b) Environment of the transport layer.

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. А ДРЕСАЦИЯ Адресация прикладного процесса, выделение транспортного адреса Порты – конечные точки TSAP (Transport Service Access Point) NSAP (Network Service Access Point)

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. А ДРЕСАЦИЯ

Как узнать TSAP адрес? Список известных (/etc/services) Протокол начального соединения (с обрабатывающим сервером) Сервер имен или каталоговый сервер

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. А ДРЕСАЦИЯ

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У СТАНОВКА СОЕДИНЕНИЯ Основная проблема при установке соединения: приходящие позднее дубликаты TPDU Одноразовые TSAP Идентификатор соединения в каждом TPDU Методы, уничтожающие заблудившиеся пакеты Рассмотрим 3й вариант: 1. Проектирование подсети с ограничениями 2. Помещение в каждый пакет счётчика транзитных узлов 3. Помещение timestamp в каждый пакет

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У СТАНОВКА СОЕДИНЕНИЯ Томлинсон в 1975 предложил метод, который потом усовершенствовали Саншайн и Далал (1978) Снабдить каждый хост часами, двоичный счетчик, раз в тик увеличивается, число разрядов больше или равно числу битов в последовательных номерах Часы идут когда хост зависает

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У СТАНОВКА СОЕДИНЕНИЯ

Томлинсон в 1975 предложил метод «тройного рукопожатия», не требующий начала передачи с одинаковыми порядковыми номерами (свобода выбора метода синхронизации)

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У СТАНОВКА СОЕДИНЕНИЯ Three protocol scenarios for establishing a connection using a three-way handshake. CR denotes CONNECTION REQUEST. (a) Normal operation, (b) Old CONNECTION REQUEST appearing out of nowhere. (c) Duplicate CONNECTION REQUEST and duplicate ACK.

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. Р АЗРЫВ СОЕДИНЕНИЯ Four protocol scenarios for releasing a connection. (a) Normal case of a three-way handshake. (b) (b) final ACK lost. 6-14, a, b

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. Р АЗРЫВ СОЕДИНЕНИЯ (c) Response lost. (d) Response lost and subsequent DRs lost.

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У ПРАВЛЕНИЕ ПОТОКОМ И БУФЕРИЗАЦИЯ На уровне ПД отправитель буферизирует все выходные кадры, т.к.может понадобиться их перепосылка Получатель может отбрасывать кадры, если нет места в буфере на приём В случае с ненадёжно сетевой службой, отправитель должен буферизовать все исходящие TPDU Если надёжная сетевая служба, возможны варианты: получатель должен буферизовать все приходящие TPDU если не может сразу обрабатывать

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У ПРАВЛЕНИЕ ПОТОКОМ И БУФЕРИЗАЦИЯ a) Массив буферов равно длины b) Буферы переменного размера c) Единый циклический буфер

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У ПРАВЛЕНИЕ ПОТОКОМ И БУФЕРИЗАЦИЯ Алгоритм динамического скользящего окна

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. У ПРАВЛЕНИЕ ПОТОКОМ И БУФЕРИЗАЦИЯ Мы предполагали, что единственное ограничение – количество свободного буферного пространства, но есть и пропускная способность сети. В 1975 Белсенс предложил метод управления потоком скользящего окна: Если сеть может обработать c TDPU/sec а время цикло равно r (передача, распространение, ожидание в очередях, возврат подтверждения), то размер окна отправителя должен быть cr.

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. В ОСХОДЯЩИЕ И НИСХОДЯЩИЕ МУЛЬТИПЛЕКСИРОВАНИЕ (a) Upward multiplexing. (b) Downward multiplexing.

Э ЛЕМЕНТЫ ТРАНСПОРТНЫХ ПРОТОКОЛОВ. В ОССТАНОВЛЕНИЕ ПОСЛЕ СБОЯ Восстановление от сбоя уровня N может быть осуществлено только уровнем N+1 и только при условии, что на более высоком уровне сохраняется достаточно количество информации о состоянии процесса

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : UDP UDP, User Datagram Protocol, RFC 768 Позволяет приложениям отправлять инкапсулированные IP-дейтаграммы

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : UDP Нет контроля потока Нет контроля ошибок UDP предоставляет интерфейс для IP путём демультиплексирования нескольких процессов, использующих порты

В ЫЗОВ УДАЛЁННОЙ ПРОЦЕДУРЫ В 1984 году Биррел и Нельсн предложили метода, позволяющий программам вызывать процедуры, расположенные на других хостах Remote Procedure Call, RPC 1. Вызывается клиентская заглушка, параметры помещаются в стек 2. Параметры клиентской заглушки упаковываются (маршалинг) и происходит системный вызов передачи 3. Ядро системы передаёт сообщение с клиента на сервер 4. Входящий пакет передаётся серверной заглушке

В ЫЗОВ УДАЛЁННОЙ ПРОЦЕДУРЫ

1. Проблемы при работе с указателями 2. Проблемы с языками со слабой типизацией (нельзя маршализовать, т.к. не определить размеры) 3. Не всегда можно распознать параметры (printf) 4. Проблема с глобальными переменными o Часто применяется с UDP

Т РАНСПОРТНЫЙ ПРОТОКОЛ МАСШТАБА РЕАЛЬНОГО ВРЕМЕНИ RTP, Real-Time Transport Protocol, RFC 1889 Транспортный протокол для мультимедийных приложений Уплотняет несколько потоков реального времени в один поток UDP пакетов Каждый пакет, посылаемый RTP имеет номер, на единицу превышающий номер предшественника

Т РАНСПОРТНЫЙ ПРОТОКОЛ МАСШТАБА РЕАЛЬНОГО ВРЕМЕНИ (a) The position of RTP in the protocol stack. (b) Packet nesting.

Т РАНСПОРТНЫЙ ПРОТОКОЛ МАСШТАБА РЕАЛЬНОГО ВРЕМЕНИ

RTCP, Real-Time Transport Protocol Управляющий протокол для RTP, обеспечивает обратную связь по задержкам, джиттеру, пропускной способности, перегрузке и т.д.

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP TCP, Transmission Control Protocol RFC 793, RFC 1122, RFC 1323 Транспортная сущность, принимающая поток байт от процессов, разбивает его на части и передаёт посредством IP транспорта, восстанавливая на удалённом хосте поток байт TCP призван обеспечить надёжность

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP

У каждого совета есть номер (адрес), состоящий из IP адреса хоста и 16-битного номера, локального по отношению к хосту, называемого портом Есть популярные порты (до 1024), зарезервированные стандартными сервисами ( В UNIX системах применяется inetd демон, связанный с несколькими портами и принимающий соединения, запуская затем нужный демон

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP TCP является полнодуплексным двухточечным протоколом TCP предоставляет передачу байтового потока (не сообщений) Поддержка срочных сообщений 32 разрядный порядковый номер Обмен происходит TCP-сегментами Сегмент состоит из 20-байтного заголовка Сегмент с заголовком, должен влезать в байтное поле полезной нагрузки IP Сегмент должен помещаться в MTU

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP

Порт отправителя и порт получателя – идентификаторы локальных точек соединения. Номер порта вместе с IP образуют 48-битный идентификатор конечной точки Порядковый номер и Номер подтверждения. 32 разрядные, номер подтверждения относится к следующему ожидаемому байту Длина TCP-заголовка, содержит размер TCP заголовка, выраженный в 32 битный словах, необходимо из-за Options Неиспользуемое 6-битное поле

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP URG – 1 в случае использования указателя на срочные данные ACK – 1 в случае наличия осмысленного номера подтверждения PSH – флаг, с помощью которого отправитель просит получателя доставить данные приложению сразу после получения пакета RST – Сброс состояния соединения, отказ от неверного сегмента, отказ от установки соединения SYN FIN

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP Размер окна – сколько байт может быть послано после байта, получившего подтверждение, может быть равным 0, если получатель имеет проблемы Контрольная сумма – содержит контрольную сумму заголовка, данных и псевдозаголовка. Устанавливается равным 0, поле данных дополняется нулевым байтом, если его длина не четна. Алгоритм вычисления складывает все 16-ти разрядные слова в дополнительном коде и вычисляет дополнение до всей суммы.

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP The pseudoheader included in the TCP checksum.

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP Options – предоставляет дополнительные возможности, например, максимальный размер поля полезной нагрузи. RFC 1323 – масштаб окна, позволяющий увеличить окно до 2^30 байт (около Гб) RFC 1106 – выборочный повтор, вместо возврата.

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP (a) TCP connection establishment in the normal case. (b) Call collision. 6-31

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP Для разрыва соединения требуется 4 сегмента: по одному с битом FIN и по одному с битом ACK в каждом направлении. Первый бит ACK и второй бит FIN могут содержаться в 1 сегменте, так что можно сократить до 3 сегментов Приходится использовать таймеры, для избежания проблемы двух армий

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP The states used in the TCP connection management finite state machine.

Т РАНСПОРТНЫЕ ПРОТОКОЛЫ И НТЕРНЕТА : TCP

У ПРАВЛЕНИЕ ПЕРЕДАЧЕЙ В TCP

Пример с интерактивным текстовым редактором, реагирующим на каждое нажатие. Символ прибывает к передающей TCP- сущности, та создаёт 21 байтовый TCP сегмент, передаёт IP тот создаёт 41-байтовую IP- дейтаграмму. На принимающей стороне отвечают 40 байт подтверждения (20 IP 20 TCP заголовки). Когда редактор прочтёт байт, снова 40 байтный пакет с информацией о смещении окна. Потом редактор отправит 41 байт с ECHO. Итого 1 символ c клавиатуры передаётся обменом 162 байтов.

У ПРАВЛЕНИЕ ПЕРЕДАЧЕЙ В TCP Алгоритм Нагля (1984): Если данные поступают по 1 байту, передаётся только первый байт, остальные помещаются в буфер, пока не придёт подтверждение первого байта Используется для передачи tinygrams (мелкограмм) в широких сетях.

У ПРАВЛЕНИЕ ПЕРЕДАЧЕЙ В TCP Синдром глупого окна (Clark, 1982): Данные пересылаются крупными блоками, но принимающая сторона читает их посимвольно.

Б ОРЬБА С ПЕРЕГРУЗКОЙ В TCP Две проблемы: Низкая пропускная способность Низкая ёмкость получателя Отправитель имеет 2 окна: окно, предоставленное получателем и окно перегрузки. Руководствуется меньшим.

Б ОРЬБА С ПЕРЕГРУЗКОЙ В TCP При установке соединения размер окна перегрузки устанавливается равным максимальному сегменту в этом соединении Далее передаётся максимальный сегмент, если период ожидания не истёк и получен подтверждение на сегмент, к размеру окна добавляется размер сегмента Процесс экспоненциального роста продолжается пока не будет достигнут размер окна получателя или не сработает тайм-аут Алгоритм затяжного пуска, или медленного пуска

Б ОРЬБА С ПЕРЕГРУЗКОЙ В TCP Используется 3 параметр – пороговое значение (изначально оно 64 Кбайт) Если возник тайм-аут, пороговое значение устанавливается равным половине текущего размера окна перегрузки, окно перегрузки возвращается к размеру максимального сегмента Далее алгоритм затяжного пуска, но линейный

Б ОРЬБА С ПЕРЕГРУЗКОЙ В TCP

У ПРАВЛЕНИЕ ТАЙМЕРАМИ В TCP Наиболее важен таймер повторной передачи. Каким он должен быть?

У ПРАВЛЕНИЕ ТАЙМЕРАМИ В TCP Алгоритм Джекобсона, 1988 RTT (Round-Trip Time) – наименьшее время получения подтверждения для данного соединения D – отклонение, сглаженная переменная (среднее линейное отклонение) Время ожидания RTT + 4 D Обработка динамически изменяемой RTT при повторной передаче сегмента Алгоритм Карна – не обновлять RTT для переданных повторно пакетов, удваивать время ожидания, пока пакеты не начнут приходить с первой попытки

Б ЕСПРОВОДНЫЕ СЕТИ И TCP UDP Подразумевается, что таймауты вызваны не потерей пакетов, а перегрузкой сети Потери пакетов и неоднородность сети в случае с беспроводными сетями Непрямой протокол TCP (разбиение на 2 отдельных соединения). Базовая станция просто копирует из одного в другое Решение Балакришнана – агент, перепосылающий со стороны проводной сети, замечая задержки в подтверждении, без участия отправителя

Т РАНЗАКЦИОННЫЙ TCP (a) RPC using normal TPC. (b) RPC using T/TCP.

П РОТОКОЛ SCTP Протокол передачи с управлением потоком (Stream Control Transmission Protocol, SCTP) это надежный транспортный протокол, который обеспечивает стабильную, упорядоченную (с сохранением порядка следования пакетов) передачу данных между двумя конечными точками (подобно TCP). Кроме того, протокол обеспечивает сохранение границ отдельных сообщений (подобно UDP). Однако в отличие от протоколов TCP и UDP протокол SCTP имеет дополнительные преимущества, такие как поддержка множественной адресации (multihoming) и многопоточности (multi-streaming) - каждая из этих возможностей увеличивает доступность узла передачи данных.

П РОТОКОЛ SCTP Протокол SCTP представляет собой надежный универсальный протокол транспортного уровня для сетей IP. Несмотря на то, что протокол изначально разрабатывался для передачи телефонных сигналов (RFC 2960), SCTP имеет дополнительные преимущества он лишен некоторых ограничений протокола TCP, обладая при этом возможностями протокола UDP. Протокол SCTP предоставляет возможности, обеспечивающие высокую доступность, повышенную надежность и улучшенную безопасность сокетов.

П РОТОКОЛ SCTP Двумя наиболее популярными протоколами транспортного уровня являются протоколы TCP и UDP: Протокол TCP - это надежный протокол, который гарантирует последовательную упорядоченную передачу данных и обеспечивает управление нагрузкой в сети. Протокол UDP, ориентированный на работу с сообщениями, не предоставляет никаких гарантий ни по очередности доставки сообщений, ни по контролю перегрузки. Тем не менее UDP является быстрым протоколом и обеспечивает сохранение границ сообщений.

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

П РОТОКОЛ SCTP. М НОЖЕСТВЕННАЯ АДРЕСАЦИЯ По сравнению с протоколом TCP поддержка протоколом SCTP множественной адресации обеспечивает приложениям повышенную готовность. Хост, подключенный к нескольким сетевым интерфейсам и потому имеющий несколько IP адресов, называется multi-homed хост. В протоколе TCP соединением называется канал между двумя конечными точками (в данном случае сокет между интерфейсами двух хостов). Протокол SCTP вводит понятие ассоциации, которая устанавливается между двумя хостами и в рамках которой возможна организация взаимодействия между несколькими интерфейсами каждого хоста.

П РОТОКОЛ SCTP. М НОЖЕСТВЕННАЯ АДРЕСАЦИЯ

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

П РОТОКОЛ SCTP. М НОЖЕСТВЕННАЯ АДРЕСАЦИЯ Переключение на резервный канал также может обеспечивать непрерывность связи для сетевых приложений. Для примера рассмотрим ноутбук, который имеет беспроводный интерфейс и интерфейс Ethernet. Пока ноутбук подключен к док-станции, предпочтительнее использовать более скоростной интерфейс Ethernet (в протоколе SCTP используется термин основной адрес ); при нарушении этого соединения (в случае отключения от док-станции), будет использоваться соединение по беспроводному интерфейсу. При повторном подключении к док-станции будет обнаружено соединение по интерфейсу Ethernet, через который будет продолжен обмен данными. Таким образом, протокол SCTP реализует эффективный механизм, обеспечивающий высокую готовность и повышенную надежность.

П РОТОКОЛ SCTP. М НОГОПОТОКОВАЯ ПЕРЕДАЧА ДАННЫХ В некоторой степени ассоциация протокола SCTP похожа на соединение протокола TCP. Отличие состоит в том, что протокол SCTP поддерживает несколько потоков в рамках одной ассоциации. Все потоки являются независимыми, но принадлежат одной ассоциации.

П РОТОКОЛ SCTP. М НОГОПОТОКОВАЯ ПЕРЕДАЧА ДАННЫХ Каждому потоку ассоциации присваивается номер, который включается в передающиеся пакеты SCTP. Важность многопотоковой передачи обусловлена тем, что блокировка какого-либо потока (например, из-за ожидания повторной передачи при потере пакета) не оказывает влияния на другие потоки в ассоциации. В общем случае данная проблема получила название блокировка головы очереди (head-of-line blocking ). Протокол TCP уязвим для подобных блокировок.

П РОТОКОЛ SCTP. М НОГОПОТОКОВАЯ ПЕРЕДАЧА ДАННЫХ Каким образом множество потоков обеспечивают лучшую оперативность при передаче данных? Например, в протоколе HTTP данные и служебная информация передаются по одному и тому же сокету. Web-клиент запрашивает файл, и сервер посылает файл назад к клиенту по тому же самому соединению. Многопотоковый HTTP-сервер сможет обеспечить более быструю передачу, так как множество запросов может обслуживаться по независимым потокам одной ассоциации. Такая возможность позволяет распараллелить ответы сервера. Это если и не повысит скорость отображения страницы, то позволит обеспечить ее лучшее восприятие благодаря одновременной загрузке кода HTML и графических изображений.

П РОТОКОЛ SCTP. М НОГОПОТОКОВАЯ ПЕРЕДАЧА ДАННЫХ Многопотоковая передача это важнейшая особенность протокола SCTP, особенно в том, что касается одновременной передачи данных и служебной информации в рамках протокола. В протоколе TCP данные и служебная информация передаются по одному соединению. Это может стать причиной проблем, так как служебные пакеты из-за передачи данных будут передаваться с задержкой. Если служебные пакеты и пакеты данных передаются по независимым потокам, то служебная информация будет обрабатываться своевременно, что, в свою очередь, приведет к лучшему использованию доступных ресурсов.

П РОТОКОЛ SCTP. Б ЕЗОПАСНОСТЬ УСТАНАВЛИВАЕМОГО ПОДКЛЮЧЕНИЯ

П РОТОКОЛ SCTP. Ф ОРМИРОВАНИЕ КАДРОВ СООБЩЕНИЯ При формировании кадров сообщения обеспечивается сохранение границ сообщения в том виде, в котором оно передается сокету; это означает, что если клиент посылает серверу 100 байт, за которыми следуют 50 байт, то сервер воспринимает 100 байт и 50 байт за две операции чтения. Точно так же функционирует протокол UDP, это является особенностью протоколов, ориентированных на работу с сообщениями. Протокол SCTP обеспечивает формирование кадров при передаче данных. Когда узел выполняет запись в сокет, его корреспондент с гарантией получает блок данных того же размера

П РОТОКОЛ SCTP. Ф ОРМИРОВАНИЕ КАДРОВ СООБЩЕНИЯ

П РОТОКОЛ SCTP. Н АСТРАИВАЕМАЯ НЕУПОРЯДОЧЕННАЯ ПЕРЕДАЧА ДАННЫХ Сообщения по протоколу SCTP передаются с высокой степенью надежности, но необязательно в нужном порядке. Протокол TCP гарантирует, что данные будут получены именно в том порядке, в котором они отправлялись (это хорошо, учитывая, что TCP – это потоковый протокол). Протокол UDP не гарантирует упорядоченную доставку. При необходимости вы можете настроить потоки в протоколе SCTP так, чтобы они принимали неупорядоченные сообщения. Эта особенность может быть востребована в протоколах, ориентированных на работу с сообщениями, так как запросы в них независимы и последовательность поступления данных не очень важна. Кроме того, вы можете настроить использование неупорядоченной передачи по номеру потока в ассоциации, т.е. принимая сообщения по потокам.

П РОТОКОЛ SCTP. П ОЭТАПНОЕ ЗАВЕРШЕНИЕ ПЕРЕДАЧИ ДАННЫХ В отличие от протокола UDP, функционирование которого не предполагает установления соединения, протоколы TCP и SCTP являются протоколами с установлением соединения. Оба эти протокола требуют выполнения процедуры установления и разрыва соединения между корреспондентами. Рассмотрим отличия между процедурой закрытия сокетов протокола SCTP и процедурой частичного закрытия ( half-close ) протокола TCP.

П РОТОКОЛ SCTP. П ОЭТАПНОЕ ЗАВЕРШЕНИЕ ПЕРЕДАЧИ ДАННЫХ

ПараметрUDPTCPSCTP Установка соединения НетДа Надежная передача НетДа Сохранение границ сообщения ДаНетДа Упорядоченна я доставка НетДа Неупорядочен ная доставка ДаНетДа Контрольные суммы данных Да Размер контрольной суммы (бит) Путь MTUНетДа Управление накоплением НетДа Многопоточно сть Нет Да Поддержка множественны х интерфейсов Нет Да Связка потоков НетДа