Атс. Атс Шпоры 4 курс 2 семестр. 2 Основные понятия ipтелефонии и технологии пакетной коммутации. Принцип статистического мультиплексирования. Понятие мультисервисной сети
Скачать 1.25 Mb.
|
2.4 Протокол IP работает с заголовком, состоящим из 32-битовых слов и содержащим обычно 20 байтов . Ниже показаны поля заголовка. Версия (4 бита) — указывает на номер версии протокола IP. В настоящее время в основном используется версия 4 (IPv4). В дальнейшем должен произойти переход на версию 6 (IPv6). Длина заголовка (4 бита) — указывает значение длины заголовка, измеренное в 32-битовых словах (пять или более 32-битовых слов). Тип сервиса (8 бит) — значение поля, которое определяет приоритет пакетов и желаемый критерий выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (PRECEDENCE). Наименьший приоритет соответствует значению 0 (нормальный пакет), значения от 1 до 4 указывают на срочность доставки пакета: чем больше значение, тем больше срочность. Остальные значения предназначены для пакетов управляющей информации. Узлы составной сети могут принимать во внимание приоритет пакета и обрабатывать более важные пакеты в первую очередь. Оставшиеся биты поля «Типа сервиса» определяют критерий выбора маршрута. Можно установить один из критериев, за каждым из которых закреплен один бит: D (Delay) — выбор маршрута с минимальной задержкой, Т (Throughput) — выбор маршрута с максимальной пропускной способностью, R (Reliability) — выбор маршрута с максимальной надежностью, С (Cost) — выбор маршрута с минимальной стоимостью. Один бит этого поля не используется.
Общая длина (16 бит) — указывает на общую длину пакета в байтах с учетом заголовка. Максимальное значение этого поля 65 535, минимальное — 21. Идентификация, Флаги и Смещение сегмента — поля, предназначенные для фрагментации пакетов с помощью протокола IP. Эти поля нужны при переходе в сеть, в которой допустимая максимальная длина пакета (MTU — Maximum Transfer Unit) меньше, чем в предыдущей сети. В этом случае в пограничном узле каждый пакет делится на несколько отдельных пакетов (фрагментация). Время жизни (8 бит) — указывает на предельный срок, в течение которого пакет может перемещаться по сети. Время жизни пакета измеряется в секундах и задается в пункте отправления средствами протокола IP. В узлах сети по истечении каждой секунды, число, записанное в этом поле, уменьшается на единицу. Когда число становится равным нулю, узел сети удаляет пакет и может послать терминальному оборудованию соответствующее ICMP-сообщение. Контроль над временем жизни предотвращает зацикливание пакетов в сети. Протокол (8 бит) — указывает на то, с применением какого протокола должен быть передан пакет. К таким протоколам в частности относятся: TCP, UDP, ICMP, OSPF, RSVP. Контрольная сумма заголовка (16 бит) — служит для определения битовых ошибок в заголовке пакета. Эта сумма подсчитывается как дополнение к сумме всех 16-битовых слов заголовка. При подсчете поле «Контрольной суммы» заполняется нулями. В каждом узле контрольная сумма подсчитывается заново. При обнаружении битовых ошибок пакет удаляется из сети. Адрес отправителя — IP-адрес узла отправителя (источника) пакета. Адрес получателя — IP-адрес узла получателя (получателя) пакета. Опции — необязательное поле переменной длины, которое чаще всего используется при отладке сети. Оно может быть использовано для установки точного маршрута прохождения пакета, регистрации маршрутизаторов через которые прошел пакет, записи временньгх меток и других функций. Выравнивание — дополняет нулями биты, оставшиеся от поля «Опции», для доведения последнего слова заголовка до 32 битов. Рассмотрим принцип маршрутизации, выполняемой протоколом IP. Процесс маршрутизации состоит в выборе следующего узла сети, которому следует передать пакет, на основании IP-адреса назначения. С этой целью узел использует таблицу маршрутизации, в которой каждая строка соответствует одному из маршрутов. В каждой строке записывается адрес сети назначения и адрес следующего узла, а также иная дополнительная информация. В качестве примера рассмотрим посылку пакетов от компьютера А к компьютеру В, включенных в две сети Ethernet, связанных между собой маршрутизатором. В обоих сетях Ethernet используется IP-адресация класса С. IP-адреса назначаются: сетям, компьютерам и портам маршрутизатора. Внутри каждой сети действует локальная адресация — МАС-адресация. Для соединения с компьютером В пользователь компьютера А может использовать символьное имя: Host5.campus.pgups.ru или IP-адрес: 221.36.41.55. В первом случае компьютер А должен найти в своей памяти соответствие символьному имени IP-адреса. Если такого соответствия нет, то компьютер А должен обратиться за IP-адресом к DNS-серверу (на рисунке не показан). Предположим, что компьютеру А известен IP-адрес пункта назначения. Компьютер А по адресу 221.36.41.55 определяет, что соединение должно быть вне сети 1, и пакеты надо направлять к маршрутизатору. Чтобы направлять пакеты к маршрутизатору, надо еще знать МАС-адрес порта 1 — MAC11. Компьютер А обращается к своей ARP-таблице и считывает из нее МАС11 (если в ARP-таблице таких данных нет, то компьютер А делает запрос к ARP-серверу). Теперь компьютер А формирует кадр Ethernet, состоящий из Ethernet-заголовка и IP-пакета. В Ethernet-заголовок вставляется МАС-адрес МАС11; а в заголовок IP-пакета — IP-адрес 221.36.41.55. Порт 1 маршрутизатора принимает кадр и по МАС11 определяет, что кадр предназначен для него. Протокол Ethernet извлекает из этого кадра IP-пакет и передает его протоколу IP, который извлекает из него IP-адрес 221.36.41.55. Происходит обращение к таблице маршрутизации, в которой находится строка с адресом сети 2.
По адресу 221.36.41.0 определяется, что пакеты, предназначенные для сети 2, надо передавать узлу 221.36.41.1 на порт 2, входящий также в маршрутизатор 1. Маршрутизатор 1 определяет, что порт 2 включен в сеть Ethernet и, следовательно, нужно знать МАС-адрес узла в этой сети (в рассматриваемом примере — компьютера В). Для этого он обращается к своей таблице ARP и по адресу 221.36.41.55 находит МАС22- Затем маршрутизатор 1 формирует кадр Ethernet, в Ethernet-заголовке которого записан МАС22, а в заголовке IP-пакета — IP-адрес 221.36.41.55. Кадр принимается узлами сети 2 и компьютер В обнаруживает свой МАС-адрес и производит его дальнейшую обработку. 2.5 Протоколы TCP и UDP обеспечивают мультиплексирование (режим передачи) и демультиплексирование (режим приема) пакетов. При мультиплексировании блоки данных разных приложений объединяются в один поток и к каждому пакету добавляются адреса портов приложений в узлах назначения и отправления. В процессе демультиплексирования выполняется обратная операция: в соответствии с адресом порта приложения данного узла принятые от уровня IP-пакеты разделяются по пользовательским приложениям. С помощью протокола TCP устанавливается логическое соединение, предшествующее передаче пользовательского сообщения. По окончании передачи сообщения соединение нарушается. При использовании протокола UDP логическое соединение не устанавливается. Протокол TCP формирует для каждого сегмента заголовок переменной длины, состоящий из 32-битовых слов (рис. 4.9). Ниже показаны поля заголовка. Порты отправителя и получателя (по 16 бит) — указывают на номер портов процесса-отправителя и процесса-получателя. Номера портов присваиваются прикладным программам, связанным с протоколами прикладного уровня модели TCP/IP. Многие номера протокольных портов стандартизованы, для чего выделены номера от О до 1023. Например, приняты следующие номера портов в соответствии с используемыми протоколами: HTTP — 80, FTP — 21, TFTP — 69,
Рис. 4.9. Заголовок ТСР-протокола 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, ACK, FIN. На рис. 4.10 показан пример установления соединения от компьютера А к компьютеру В через IP-сеть. Установление соединения начинается от компьютера А, который посылает сегмент с управляющим битом 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-битовых слов.
Порты отправителя и получателя (по 16 бит) имеют такое же назначение и параметры, что и в протоколе TCP. Если от получателя не требуется ответ, то номер порта отправителя не указывается, а это поле заполняется нулями. Длина дейтаграммы (16 бит) указывает на общую длину дейтаграммы в байтах, включая заголовок. Контрольная сумма (16 бит) рассчитывается для всей дейтаграммы и при ее расчете используется псевдозаголовок. Обычно это поле заполняется нулями и тогда оно игнорируется. Из структуры заголовка видно, что протокол UDP значительно проще, чем протокол TCP. Обычно он просто пересылает пользовательские данные от уровня приложений к уровню межсетевого взаимодействия, вставляя номер порта получателя. Функциональная простота протокола UDP обуславливает его высокое быстродействие, что особенно важно для приложений, работающих в реальном масштабе времени. Именно поэтому данный протокол применяется при передаче речи и видео. |