Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции хмелев.docx
Скачиваний:
9
Добавлен:
01.03.2025
Размер:
91 Кб
Скачать
☆

Транспортный уровень

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

Каждый компьютер может выполнять несколько процессов и иметь несколько точек ввода-вывода адресной информации – пакетов данных. Таким образом, доставка данных на сетевой интерфейс компьютера это еще не конец пути, так как данные нужно направить конкретному процессу, получателю.

Для решения этих задач протоколы транспортного уровня ведут для каждого приложения 2 системные очереди:

  1. Очередь данных поступающих в приложение из сети;

  2. Очередь данных отправленных им же в сеть;

Такие системные очереди называются портами, для идентификации которых им присваиваются номера.

Если процессы представляют собой популярные системные службы (http, ftp, telnet) то за ними закрепляются стандартные номера, называемые хорошо известными, стандартные назначения портов уникально идентифицируют тип приложения, однако не могут использоваться для однозначных идентификационных прикладных процессов. Прикладной процесс однозначно определяется в пределах сети и в пределах одного компьютера с помощью пары IP – адрес + N порта, называемым сокетом.

Сокет, определенный IP – адресом и номером UDP порта называется UDP-соектом и соответственно, TCP-сокетом.

Протокол UDP.

(Протокол пользовательских дейтограмм.)

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

UDP добавляет к этим сообщениям свой собственный восбмибитный заголовок, формируя из этих сообщений свои собственный протокольные единицы, называемые UDP-дейтограммами.

Заголовок протокола UDP состоит из четырех двухбайтных полей:

  1. Номер UDP порта отправителя;

  2. Номер UDP порта получателя;

  3. Контрольная сумма;

  4. Длина дейтограммы;

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

Транспортные протоколы реального масштаба времени.

(RTP)

Области широкого применения протокола UDP является клиент - серверный удаленный вызов процедур, а так же областью мультимедийных приложений реального времени. Для реализации таких мультимидийных приложений был разработан протокол RTP , работающий совместно с UDP, но поверх него.

Библиотеке работающие в мультимедийных приложениях уплотняют протокол данных и помещает их в пакет RTP , которых в свою очередь отправляется в сокет. На другом конце сокета генерируется UDP пакеты в которые помещается RTP пакеты которые в свою очередь передаютс протоколу IP для передачи по каналу Ethernet.

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

Потоки управления передачей (TCP).

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

Формат TCP заголовка(рисунок)

Для установления логического соединения большое значение имеют однобитные поля, называемые флагами.

  1. UR6 - срочное сообщение;

  2. ACK - квитанция на принятый сегмент;

  3. PSH - запрос на отправку сообщения без ожидания;

  4. RST – запрос на восстановления соединения;

  5. SYN – сообщения, используемые для синхронизации счетчиков переданных, при установлении соединения;

  6. FIN – признак, достижения передающей строкой последнего байта в потоке передаваемых данных.

Процесс установления и разрыва логического соединения:

Логическое соединение устанавливается по инициативе клиентской части по инициативе клиентской части приложения, для этого приложение-клиент обращается к протоколу TCP, который в ответ на это направляет сообщение-запрос к протоколу TCP, работающему на стороне сервера и в числе прочего ставит установленным флаг SYN = 1. Получив запрос TCP на стороне сервера, пытается создать условия для обслуживания нового клиента для этого он обращается к ОС с просьбой о выделении системных ресурсов, а именно буферов, таймеров, счетчиков.

Если на стороне сервера все ресурсы были получены, то TCP отправляет сегмент клиенту, с установленным и флагами SYN, ACK. Получив этот сегмент, переходит в состояние логического соединения и отправляет сообщение серверу с этим флагом, после чего тот тоже переходит в состояние соединения.

(рисунок)

Соединение может быть разорвано по инициативе любой из сторон, для этого они должны обменяться сообщениями с установленными флагами FIN и ACK.

Повторная передача и скользящее окно

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

Существуют 2 метода организации процесса обмена квитанциями:

  1. Метод простоя источника;

  2. Метод скользящего окна;

Метод простоя источника (рисунок)

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

Метод скользящего окна (рисунок)

Этот метод используется для повышения скорости передачи данных, при котором источнику разрешается передать некоторое количество кадров в максимально возможном для источника темпе еще до получения эти кадры квитанции. Количество кадров, которое можно передавать т.о. – размер окна.

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

Управление протоколом данных в сетях TCP

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

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

Размер окна приема связан с наличием в данный момент места в буфере данных у принимающей стороны, поэтому в общем случае окна приема на разных концах соединения имеют разный размер. Например: можно ожидать, что сервер, вероятно обладающий большим буфером пошлет клиентской станции окно больше, чем клиент- сервер таким образом в зависимости от состояния сети стороны могут объявлять новые значения размера окна динамически увеличивая или уменьшая их.

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

Свойства и классификация

протоколов маршрутизации (схема)

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

Следует отметить, что существуют такие методы продвижения пакетов в составных сетях, которые вообще не требуют ведения маршрутизации на маршрутизаторах .

  1. наиболее простым методы продвижения пакетов через сеть называется лавинная маршрутизация – когда каждый маршрутизатор передает пакет всем своим непосредственным соседям, исключая лишь тот от которого он его получил.

  2. маршрутизация от источника - отправитель помещает в пакет информацию о том, какие промежуточные маршрутизаторы должны участвовать в передаче пакета к сети назначения.

На основе этой информации каждый маршрутизатор считывает адрес следующего и так далее. Маршрут может задаваться вручную администратором сети или автоматически.

Учитывая вышеуказанные недостатки, отметим, что большинство протоколов маршрутизации нацелено на создание таблиц маршрутизации.

Различают протоколы, выполняющие адаптивную статическую маршрутизацию.

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

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

Протоколы адаптивной маршрутизации бывают распределенные и централизованные.

  • При распределенном подходе все маршрутизаторы сети находятся в равных условиях, они находят маршруты и строят собственные таблицы, работая в тесной конфигурации друг с другом постоянно обмениваясь информацией о сети

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

Применяемые сегодня в IP сетях протоколы маршрутизации относятся к адаптивным распределенным протоколам, которые в свою очередь делятся на 2 большие группы: дистанционно-векторные и алгоритмы состояния связи.

Дистанционно-векторные алгоритмы

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

Получив от некоторого соседа вектор расстояний, маршрутизатор наращивает компонент вектора на величину расстояния от себя до своего соседа. Кроме того он дополняет вектор информацией о известной ему самому сетях, о которых он узнал из аналогичных объявлений другого маршрутизатора в конце концов каждый маршрутизатор узнает о строении и составе самой сети, а так же о расстоянии между маршрутизаторами. Данный тип алгоритмов хорошо работает только в небольших сетях. Их главным недостатком является чрезмерная загруженность сети ненужным трафиком + некорректная обработка некоторых данных сети.

Алгоритм состояния связи

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

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

Протокол RIP

(протокол маршрутной информации)

Сеть, построенная на маршрутизаторах RIP (рисунок)

Протокол RIP является внутренним протоколом маршрутизации, дистанционно-векторного типа, и будучи простым в реализации, используются только в небольших сетях. В большинстве случаев реализации протокола используется простая метрика – количество хоппов т.е. количество промежуточных маршрутизаторов, которые нужно преодолеть пакету до сети назначения. Построение таблиц маршрутизации в протоколе состоит из 5 этапов:

  1. Создание минимальных таблиц. Минимальная таблица маршрутизатора R1 (табличка из презентации) в исходном состоянии минимальная таблица маршрутизации создается с помощью программного обеспечения стека TCP/IP, в которой учитываются непосредственно присоединенные сети.

  2. Рассылка минимальной таблицы соседям. После инициализации каждый маршрутизатор рассылает своим соседям сообщения протокола RIP при помощи протокола UDP и включает 2 параметра для каждой из сетей: её IP адрес и расстояние до нее.

  3. Получение RIP сообщений от соседей и обработка полученной информации. После получения сообщений от маршрутизаторов R2 и R3 маршрутизатор наращивает каждое полученное поле метрики и запоминает, через какой порт и от какого маршрутизатора получена нова информация.

  4. Рассылка новой таблицы соседям. Каждый маршрутизатор рассылает RIP сообщение всем своим соседям, в это сообщение он вкладывает информацию обо всех известных ему сетях как подключенных, так и удаленных.

  5. Окончательная обработка информации, практически полностью повторяет этап №3.

Адаптация маршрутизаторов RIP к изменениям состояния сети

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

Для уведомления о том, что какой-либо из маршрутов не действителен, используются 2 механизма:

  1. Механизм истечения времени жизни маршрута;

  2. Указание специально бесконечного расстояния до сети ставшего недоступным.

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