
- •Глава 3
- •3.1. Принципы построения сетей с коммутацией каналов
- •3.3. Системы меж станционной сигнализации на аналоговых и цифро-аналоговых сетях связи
- •3.4. Принципы построения узкополосных цифровых сетей связи с интеграцией услуг (isdn)
- •4.1. Основные понятия ip-телефонии и технологии пакетной коммутации 36
- •3.5. Системы межстанционной сигнализации на цифровых сетях isdn
- •Глава 4 построение мультисервисных сетей с коммутацией пакетов
- •4.1. Основные понятия ip-телефонии и технологии пакетной коммутации
- •4.2. Основы технологии tcp/ip и ip-сети
- •4.3. Протокол ip
- •4.4. Протоколы tcp и udp
- •4.5. Основы построения сетей ip-телефонии
- •4.6. Принципы передачи речи в сети ip-телефонии
- •4.7. Ввды систем сигнализации в сетях ip-телефонии и сеть ip-телефонии с протоколами н.323
- •4.9. Сети ip-телефоиии с протоколами mgcp и м есасо/н.248
- •7.1. Общие принципы построения сети ОбТс
- •7.2. Местные сети ОбТс и взаимодействие с телефонной сетью общего пользования
- •7.3. Способы установления соединений, системы обслуживания заявок и рмтс
- •7.4. Аналоговая сеть автоматической междугородной ОбТс
- •7.5. Магистральная и зоновые цифровые сети ОбТс
- •Единая нумерация на цифровой сети ОбТс (еснц)
- •7.6. Сеть ОбТс с пакетной коммутацией
4.4. Протоколы tcp и udp
Протоколы TCP и UDP обеспечивают мультиплексирование (режим передачи) и демультиплексирование (режим приема) пакетов. При мультиплексировании блоки данных разных приложений объединяются в один поток и к каждому пакету добавляются адреса портов приложений в узлах назначения и отправления. В процессе демультиплексирования выполняется обратная операция: в соответствии с адресом порта приложения данного узла принятые от уровня IP-пакеты разделяются по пользовательским приложениям.
С помощью протокола TCP устанавливается логическое соединение, предшествующее передаче пользовательского сообщения. По окончании передачи сообщения соединение нарушается. При использовании протокола UDP логическое соединение не устанавливается.
Протокол TCP формирует для каждого сегмента заголовок переменной длины, состоящий из 32-битовых слов (рис. 4.9). Ниже показаны поля заголовка.
Порты отправителя и получателя (по 16 бит) — указывают на номер портов процесса-отправителя и процесса-получателя. Номера портов присваиваются прикладным программам, связанным с протоколами прикладного уровня модели TCP/IP. Многие номера протокольных портов стандартизованы, для чего выделены номера от О до 1023. Например, приняты следующие номера портов в соответствии с используемыми протоколами: HTTP — 80, FTP — 21, TFTP — 69,
1 |
1 |
|||
Порт отправителя |
Порт получателя |
|||
Порядковый номер N(S) |
||||
Номер подтверждения N(R) |
||||
Длина заголовка |
Резерв |
Кодовые биты |
Размер окна |
|
Контрольная сумма |
Указатель срочности |
|||
Опции |
Выравнивание |
TELNET — 23, SNMP — 161, SMTP — 25 и так далее. В иных случаях номера портов могут назначаться динамически в диапазоне от 1024до 65 535. Такие номера могут свободно задаваться портам прикладных программ пользователей.
Порядковый номер (32 бита) N(S) указывает на номер первого байта среди всех байтов, передаваемых в данном сегменте и относящихся к одному сообщению. Например, все сообщение состоит из 2000 байт, а в данном сегменте передаются байты с 503 по 812. В этом случае порядковый номер равен 503. На этапе установления логического соединения в поле «Порядковый номер» записывается начальный номер (ISN).
Номер подтверждения (32 бита) N(R) представляет собой максимальный номер байта в принятом от другой стороны сегменте плюс единица. Этот номер является под тверждением принятого сегмента и указывает на номер ожидаемого для приема байта.
Порядковый номер и номер подтверждения обеспечивают контроль за непрерывностью следования байтов сообщения. При пропадании одного или группы байтов запускается процедура повторной передачи байтов.
Длина заголовка (4 бита) определяет длину заголовка протокола TCP в 32-битовых словах.
Резерв (6 битов) заполняется нулями.
Кодовые биты (6 битов) содержат служебную информацию о типе данного сегмента, задаваемую установкой в единицу соответствующих бит этого поля. Используются следующие шесть управляющих битов:
URG — запрос на передачу срочного сообщения;
АСК — квитанция на принятый сегмент;
PSH — запрос на отправку всех данных порту получателя без ожидания заполнения буфера;
RST — запрос на восстановление соединения;
SYN — запрос на установление соединения, которое также синхронизирует счетчики переданных данных в пунктах отправления и получения пакетов;
FIN — указатель окончания передачи сообщения.
Размер окна (16 бит) — устанавливает размер окна в байтах. Используется в методе квитирования, получившего название «скользящее окно». Этот метод позволяет отправителю посылать очередной сегмент, не дожидаясь подтверждения о получении в пункте назначения предшествующего сегмента. Значение размера окна указывает на то, сколько байтов данных можно передать, не дожидаясь подтверждения. Размер окна определяется пунктом назначения и может меняться в процессе передачи одного сообщения.
Контрольная сумма (16 бит), представляет собой слово, дополняющее биты в сумме всех 16-битовых слов сегмента (само поле контрольной суммы перед вычислением обнуляется). Контрольная сумма, кроме заголовка сегмента и поля данных, учитывает 96 бит псевдозаголовка, который для внутреннего употребления ставится перед TCP-заголовком. Этот пседдозаголовок содержит IP-адрес отправителя (4 байта), IP-адрес получателя (4 байта), нулевой байт, 8-бит- ное поле «Протокол», аналогичное полю в IP-заголовке, и 16 бит длины TCP сегмента, измеренной в байтах. Информация для псевдозаголовка передается через интерфейс «Протокол ТСР/межсете- вой уровень» в качестве аргументов или результатов запросов от протокола TCP к протоколу IP.
Указатель срочности (16 бит) используется совместно с битом URG (поле «Кодовые биты») для того, чтобы определить длину срочных данных, содержащихся в пользовательских данных ТСР-сегмен- та. При наличии такого указателя прикладной процесс в пункте получателя должен в первую очередь обработать срочные данные.
Опции — поле имеет переменную длину и может отсутствовать или содержать одну опцию или список опций, реализующих дополнительные услуги протокола TCP.
Выравнивание — поле переменной длины, заполняемое нулями и служащее для формирования полных 32-битных слов.
Рассмотрим процесс установления логического соединения и разъединения с помощью протокола TCP.
В таком процессе пункты отправления и получения пакетов обмениваются управляющими битами: SYN, АСК, FIN. На рис. 4.10 показан пример установления соединения от компьютера А к компьютеру В через IP-сеть.
Установление соединения начинается or компьютера А, который посылает сегмент с управляющим битом SYN и порядковым номером N(S), равным некоторому числу, например Y. Компьютер В, получив этот сегмент, передает в обратном направлении сегмент с битами SYN и АСК, а также порядковый номер N(S) = X и номер подтверждения N(R)=Y+1. Передача сигналов SYN в обоих направлениях указывает на то, что и данные между компьютерами могут передаваться в двух направлениях. Теперь компьютер А посылает сегмент под тверждения с битом управления АСК с номером под тверждения N(R)=Х+1. Поскольку логическое соединение между компьютерами уже установлено, в этом сегменте могут передаваться пользовательские данные. В дальнейшем происходит обмен данными между компьютерами. По окончании передачи данных производится разъединение, состоящее в нарушении логического соединения. Разъединение может активизироваться с любой из сторон, например, от компьютера А. От него посылается сегмент с управляющим битом FIN и с порядковым номером N(S)=Y. В ответ компьютер В передает сегмент с битом АСК и с номером подтверждения N(R) = Y+1 и порядковым номером N(S) =Х. Этот сегмент подтверждает прекращение посылки пользовательских данных от компьютера А. Далее компьютер В посылает сегмент с битами FIN и АСК с порядковым номером N(S) = X и номером под тверждения N(R) =Y+1. Такой сегмент указывает на то, что и компьютер В прекращает передавать пользовательские данные. Рассмотренная процедура разъединения говорит о том, что возможно нарушение соединения с одной стороны, а с другой стороны соединение еще продолжается. Такое состояние используется редко, так как обычно при передаче бита FIN соответствующее приложение пользователя закрывается.
В протоколе UDP блоки данных, передаваемые протоколу IP, называются дейтафаммами. Протокол UDP формирует для каждой дейтаграммы заголовок постоянной длины, состоящий из двух 32-битовых слов (рис. 4.11). Ниже показаны поля этого заголовка.
7| |
15 |
23| |
31 |
Порт отправителя |
Порт получателя |
||
Длина дейтаграммы |
Контрольная сумма |
Порты отправителя и получателя (по 16 бит) имеют такое же назначение и параметры, что и в протоколе TCP. Если от получателя не требуется ответ, то номер порта отправителя не указывается, а это поле заполняется нулями.
Длина дейтаграммы (16 бит) указывает на общую длину дейтаграммы в байтах, включая заголовок.
Контрольная сумма (16 бит) рассчитывается для всей дейтаграммы и при ее расчете используется псевдозаголовок. Обычно это поле заполняется нулями и тогда оно игнорируется.
Из структуры заголовка видно, что протокол UDP значительно проще, чем протокол TCP. Обычно он просто пересылает пользовательские данные от уровня приложений к уровню межсетевого взаимодействия, вставляя номер порта получателя. Функциональная простота протокола UDP обуславливает его высокое быстродействие, что особенно важно для приложений, работающих в реальном масштабе времени. Именно поэтому данный протокол применяется при передаче речи и видео.