русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Протоколы ARP, IGP, EGP, RTP, UDP в стеке TCP/IP


Дата добавления: 2013-12-23; просмотров: 1749; Нарушение авторских прав


Рис. 2. Структура TCP-сегмента

Рис. 1. Трехшаговая процедура установления соединения

Структура TCP-пакета (в скобках указано число битов) показана рис.2 и представлена следующим списком:

- порт отправителя (16);

- порт получателя (16);

- код позиции в сообщении, т.е. порядковый номер первого байта в поле данных сегмента (32);

- подтверждение в виде номера первого байта (32) из числа еще не подтвержденных байтов;

- управление (16);

- размер окна (16), т.е. число байт, которое можно послать до получения подтверждения (размер окна указывает получатель в сегментах подтверждения приема);

- контрольная сумма (16);

- дополнительные признаки, например срочность передачи (16);

- опции (24);

- заполнитель (8);

- данные.

 

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

 

При дуплексной передаче каждая станция использует поле «код позиции» в посылаемых ими сегментах. Отсюда вытекает одно из ограничений на максимально допустимую в протоколе TCP/IP пропускную способность. Это ограничение составляет (232байта) / (время жизни дейтаграммы), так как для конкретного соединения в сети не должно одновременно существовать более одного байта с одним и тем же номером.

Еще более жесткое ограничение возникает из-за представления размера окна всего 16-ю битами. Это ограничение заключается в том, что за время прохождения пакета от отправителя к получателю и обратно в сеть может быть направлено не более 216 информационных единиц конкретного сообщения. Поскольку обычно такой единицей является байт, то имеем . Так, для каналов со спутниками на геостационарных орбитах составляет около 0,5 с и ограничение скорости будет около 1 Мбит/с. Заметно увеличить этот предел можно, если в качестве информационной единицы использовать сегмент.



 

 

 

Задержки в передаче данных определяются прежде всего задержками в маршрутизаторах и затратами времени на повторные передачи. Причинами повторных передач могут быть потери или искажения пакетов в промежуточных узлах и недостаточная емкость буферной памяти в узлах-получателях. Размер буфера для принимаемых сообщений должен быть оптимизирован: слишком малый размер может привести к отбрасыванию сегментов, т.е. к частым повторным передачам (всплескам трафика), а слишком большой размер может привести к длинным очередям, т.е. к росту и увеличению задержек. Попытки повторных передач пакета не могут продолжаться бесконечно, и при превышении интервала времени, устанавливаемого в пределах 0,5...2,0 мин., соединение разрывается.

Поэтому используется алгоритм так называемого медленного старта. Сначала посылается один пакет и после подтверждения его приема окно увеличивается на единицу (на размер одного пакета, обычно это 512 байт), т.е. посылаются два пакета. Если вновь положительное подтверждение (потерь пакетов нет), то посылаются уже четыре пакета, т.е. окно увеличивается на единицу при каждом подтверждении, и т.д. Скорость растет, пока пакеты проходят успешно. Медленный старт снижает информационную скорость, особенно при пересылке коротких пакетов, поэтому стараются применять приемы его улучшения.

 

Протокол IP — дейтаграммный протокол сетевого уровня без установления соединения.Его функции: фрагментация и сборка пакетов при прохождении через промежуточные сети, имеющие другие протоколы; маршрутизация; проверка контрольной суммы заголовка пакета (правильность передачи всего пакета проверяется на транспортном уровне, т.е. с помощью TCP в оконечном узле); управление потоком — сброс дейтаграмм при превышении заданного времени жизни.

Структура дейтаграммы в IP (в скобках указано число битов) показана на рис. 1 и представлена следующим списком:

- версия протокола IP (4) (сейчас практически используются четвертая IPv4 и шестая IPv6 версии);

- длина заголовка (4), т.е. число 32-битных слов в заголовке;

- тип сервиса (8), включает трехбитовое поле приоритета пакета (большее значение кода означает больший приоритет) и 4 признака, соответствующие требованиям к задержке, пропускной способности, надежности и стоимости передачи пакета, лишь один из этих признаков может быть равен 1, т.е. активизирован;

- общая длина (16) информационной части пакета в байтах;

- идентификация (16) — порядковый номер дейтаграммы, он используется, если из-за особенностей промежуточных сетей при маршрутизации требуется разделение дейтаграммы на несколько частей, тогда номер дейтаграммы идентифицирует принадлежность фрагмента к определенной дейтаграмме;

- место фрагмента в дейтаграмме (16), т.е. номер фрагмента, который используется при восстановлении дейтаграммы из фрагментов;

- время жизни дейтаграммы в сети (8);

- тип протокола (8), который должен использоваться на транспортном уровне для обработки инкапсулированного сегмента (TCP, UDP и т.п.);

- контрольный код (CRC) заголовка (16);

-адрес источника (32);.

- адрес назначения (32); IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел, представляющих значения каждого байта в десятичной форме и разделенных точками, например, 128.10.2.30 - традиционная десятичная форма представления адреса, а 10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.

- опции (32);

- данные (не более 65536).

Среди недостатков этой версии — 32-битный размер адреса. Действительно, 32 бита соответствуют 232 4,3 миллиардам адресов, а это в связи с бурным ростом числа компьютеров в Internet уже вызывает затруднения с распределением адресного пространства. Поэтому разработана и постепенно вводится в действие версия IPv6, в которой применена другая структура заголовка и адресации. Как частный случай, в структуре IPv6-адреса можно разместить IPv4-адрес, т.е. сети с протоколами этих версий могут работать совместно. Пока (к 2010 г.) большинство доменов Internet работает по протоколу IPv4.

 

Рис. 1. Структура IP-пакетаПриведенная структура заголовка соответствует версии IPv4.

 

Всего в IPv4-сети одновременно может быть 216 65 тысяч дейтаграмм сообщения с разными идентификаторами, т.е. за отрезок времени, равный времени жизни дейтаграммы, может быть передано не более 216 дейтаграмм. Это один из факторов, ограничивающих пропускную способность сетей с протоколом IP. Действительно, при времени жизни 120 с имеем предельную скорость 216/120 = 546 дейтаграмм в секунду, что при размере дейтаграммы до 65 тысяч байт дает ограничение скорости приблизительно в 300 Мбит/с - такое же значение одного из ограничений предельной скорости получено выше и для протокола TCP.

С помощью 16 битов в поле "общая длина пакета" можно указать длину не более чем в 65535 байт. Однако реальные длины пакетов обычно заметно меньше, чаще всего рекомендуется иметь пакеты длиной не более 576 байт во избежание их дробления (фрагментации).

Время жизни дейтаграммы измеряется в хопах (число пройденных маршрутизаторов). В первом случае контроль ведется по записанному в заголовке значению , которое уменьшается на единицу каждую секунду. Во втором случае каждый маршрутизатор уменьшает число , записанное в поле "время жизни", на единицу. При или при дейтаграмма сбрасывается.

 

Адресация в сетях ТСР/IP.Различают два типа адресов:

- на канальном уровне используют адреса, называемые физическими, локальными или MAC-адресами. Это шестибайтовые адреса сетевых плат, присваиваемые изготовителем контроллеров (каждый изготовитель вместе с лицензией на изготовление получает уникальный диапазон адресов). MAC - адреса компактны, но неудобны для восприятия человеком. Кроме того при смене сетевой платы меняется и MAC- адрес, но пользователю желательно иметь адрес, независимый от подобных замен.

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

IP-адрес в четвертой версии протокола (IPv4) – уникальная совокупность чисел, адреса сети и адреса хоста – узла в сети(компьютера). Записывается в виде четырех частей (побайтно), разделенных точками.

Например, 192.168.100.1 – адрес провайдера Стрим. Для сети может использоваться от одного до трех старших байтов, остальные – для номера узла. Находят применение классы адресов A,B,C,D, различающиеся значениями старших битов. Младшие биты используются для адресации подсетей и узлов в подсетях. Какая часть IP-адреса относится к подсети и какая к узлу определяется маской, выделяющей соответствующие биты в IP-адресе.

Адреса при включении новых хостов в сеть выдает провайдер. Он же обеспечивает включение IP- адреса и соответствующего ему IP-имени в сервер службы адресов DNS.

IP-имя (доменное имя) – удобное для человека название узла или сети. Оно отражает иерархическое построение сети Internet и поэтому состоит из нескольких частей, аналогично почтовым адресам. Корень иерархии означает страну либо отрасль знаний, например: ru –Россия, de –Германия, uk –Великобритания, edu –образование, сом –коммерческие организации, org –некоммерческие, gov –правительсвенные, mil – военные, net – служба поддержки Internet. Корень занимает в IP-имени правую позицию, левее записываются локальные части адреса. Так, запись norenkov@rk6.bmstu.ru расшифровывается как пользователь Норенков в подразделении rk6, организации bmstu, в стране ru.

При маршрутизации имя переводится в адрес с помощью серверов DNS. Этот перевод обязателен, поскольку маршрутизация в сети осуществляется по IP-адресам. При обращении из одного узла в другой IP-имя переводится в IP-адрес обращением к местному серверу. Если там сведений о сети назначения нет, то осуществляется переход к серверу более высокого уровня (ru) и далее вниз до получения IP-адреса места назначения. Далее узел отправитель сравнивает номер своей сети (подсети) с номером сети IP-адреса получателя в заголовке пакета. Если номера совпадают, то узел-отправитель с помощью его ARP-таблицы переводит IP-адрес в MAC-адрес, по которому и доставляется пакет. Если в ARP-таблице MAC-адреса не оказалось, то по сети широковещательно рассылается ARP-запрос, на который нужный узел откликается своим MAC-адресом. Если номера сетей не совпадают, пакет пересылается маршрутизатору, который ищет доступ к нужной сети через один из своих портов.

 

 

В промежуточных сетях пакеты могут делиться на несколько фрагментов в соответствии с протоколами этих сетей. Идентификация нужна для определения принадлежности фрагмента определенной дейтаграмме. Фрагменты различаются своими номерами, а дейтаграммы — идентификаторами.

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

Поле "опции" в настоящее время рассматривается как резервное.

В соответствии с протоколом IP в маршрутизаторах производятся следующие действия: Сначала проверяется поле "время жизни" и, если оно равно нулю, то дейтаграмма ликвидируется. Далее по таблице маршрутизации устанавливается IP-адрес следующего маршрутизатора. Затем этот адрес переводится в MAC-адрес по ARP-таблице и пакет посылается по этому адресу к следующему маршрутизатору.

Продолжающийся рост числа узлов в Internet привел к появлению в стеке протоколов TCP/IP протокола IPv6 — шестой версии протокола IP (в основе сети Internet-2 лежит протокол IPv6). Новая версия сети Internet-2 с расширенным адресным пространством и с увеличенной скоростью передачи информации от 10 Гбит/с. В протоколе IPv6 размер адреса увеличен до 128 бит. Адреса отражают иерархическую структуру сети и могут быть индивидуальными или групповыми.

 

 

В состав протокола IP входит ряд частных протоколов. Так, протоколы ARP, IGP, EGP относятся к маршрутизации на разных иерархических уровнях в архитектуре сети.

Протокол ARP (Address Resolution Protocol) относится к связям "хост-хост" или "хост-шлюз" в конкретной подсети. Он используетлокальные ARP-таблицы, устанавливающие соответствие IPv4-адресов с MAC-адресами узлов в соответствующих подсетях. В подсетях не нужно рассчитывать кратчайший путь и определять маршрут в разветвленной сети, что, естественно, ускоряет доставку. ARP-таблицы имеются в каждом узле.

В TCP/IP входит также протокол UDP (User Datagram Protocol) — транспортный протокол без установления соединения, он значительно проще TCP, но используется чаще всего для сообщений, умещающихся в один пакет. После оформления UDP -пакета, он передается с помощью средств IP к адресату, который по заголовку IP-пакета определяет тип протокола и передает пакет не агенту TCP, а агенту UDP.

В UDP служебная часть дейтаграммы короче, чем в TCP (8 байт вместо 20), не требуется предварительного установления соединения или подтверждения правильности передачи, как это делается в TCP, что и обеспечивает большую скорость за счет снижения надежности доставки.

На одном уровне с IP находится протокол управления ICMP (Internet Control Message Protocol). Управление внешними потоками (доступом) реализуется путем предоставления приоритета внутренним потокам перед внешними, ограничением числа пакетов в сети (пакет принимается, если у узла есть соответствующее разрешение), посылкой предупредительных пакетов-заглушек в адрес источника от которого идут пакеты в перегруженную линию связи.ICMP-пакеты вкладываются в IP-дейтаграммы при доставке.

Протокол RTP — транспортный протокол реального времени, используемый вместо протокола TCP, например, для передачи видео, поскольку TCP не обеспечивает синхронности передачи компонентов видео.

Протокол FTP.В сети Internet для файлового обменаиспользуется прикладной протокол FTP. В отличие от протоколов HTTP или электронной почты протокол FTP рассчитан на двусторонний обмен файлами. Доступ к файлам большинства серверов разрешен только определенному кругу пользователей Internet. Иногда условием получения прав доступа является лишь предварительная регистрация пользователя, в других случаях нужно знать пароль. Но имеются также общедоступные (анонимные) серверы,(торренты) обслуживаемые организациями, заинтересованными в распространении информации определенного вида.

После выполнения команды обращения к серверу FTP-клиент переходит в командный режим. Каждый обмен порождает два процесса. Управляющий (командный) процесс инициирован во время всего сеанса связи и осуществляется через протокол Telnet, а процесс передачи файла — только на время передачи. Номера протокольных портов сервера 20 и 21, у клиента могут быть различные номера портов, в том числе несколько одновременно. Для одновременного обслуживания нескольких клиентов создаются копии программного обеспечения FTP-процессов в сервере и у клиентов.

К командам протокола FTP относятся: вход в FTP-режим, выход из FTP-режима, установка типа передаваемых файлов (текстовый или двоичный), выбор или создание каталога на сервере, выбор локального каталога, загрузка файлов на локальный компьютер и выгрузка файлов на сервер (одиночная или групповая) и некоторые другие. Протокол FTP реализован в утилитах основных операционных систем и в популярных Web-браузерах.

 

 

Взаимодействие процессов в сетях TCP/IP Работа программного обеспечения (рис. ), реализующеговзаимодействие процессов в сетях TCP/IP,кратко может быть охарактеризована следующим образом:

- при установлении соединения прикладной процесс в узле-отправителе получает номер порта от операционной системы и передаетIP-имя получателя на уровень TCP. С помощью обращения к службе DNS IP-имя переводится в IP-адрес.

- на сетевом уровне IP-адрес должен быть переведен в MAC-адрес. Для этого используется ARP-таблица отправителя. Если в таблице есть строка с данным IP-адресом, то формируется заголовок пакета и дейтаграмма отправляется в сеть. Если искомой строки в таблице не оказалось, то отправитель формирует ARP-запрос, который широковещательно рассылается по сети. Получатель откликается на запрос, посылая ARP-ответ с указанием своего MAC-адреса. Если узла с запрошенным IP-адресом в данной сети нет, то пакет направляется поMAC-адресу порта маршрутизатора, который пересылает пакет с IP-адресом в следующую сеть и т.д., пока пакет не достигнет сети, в которой найдется MAC-адрес, соответствующий искомому IP-адресу.

Аналогичные действия выполняются при установлении обратного соединения. Во время установления соединений для каждого из них в конечных узлах (см. рис. 1) создается модуль TCP, обслуживающий соответствующий прикладной процесс. Передача пакетов по установленным соединениям происходит более быстро, так как теперь не нужно обращаться к DNS и использовать ARP-запросы.

 

 

 



<== предыдущая лекция | следующая лекция ==>
Протокол TCP/IP | Перспективы развития Интернет


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.