Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные сети.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
257.42 Кб
Скачать

Вспомогательные протоколы сетевого уровня стека tcp/ip

Главными функциями протокола IP является обеспечение единой схемы адресации, независимой от принципов адресации, определяемых сетевыми технологиями (адресацией канального уровня), а также передача данных по составной сети (маршрутизация и фрагментация пакетов). Однако для организации реального взаимодействия этого оказывается недостаточно - существует еще ряд проблем. Первая проблема состоит в следующем. Для того, чтобы передать данные по сети, программное обеспечение протокола IP создает пакет и передает его средствам канального уровня. При этом средствам канального уровня для формирования кадра данных необходим адрес получателя, причем не логический IP-адрес, а MAC-адрес, который может быть правильно опознан сетевым адаптером принимающего компьютера. Однако спецификацией протокола IP не предусмотрен механизм, позволяющий определять соответствие между аппаратными и IP-адресами. Эту функцию выполняет вспомогательный протокол сетевого уровня ARP (Address Resolution Protocol), входящий в семейство протоколов TCP/IP. Другая серьезная проблема состоит в том, что если при обработке IP-пакета на маршрутизаторе возникли какие-то проблемы, например, истекло "время жизни пакета", то отправитель о них не узнает, поскольку механизм "обратной связи" также не предусмотрен спецификацией протокола IP. Для решения этой проблемы используется специальный протокол сетевого уровня ICMP (Internet Control Message Protocol), входящий в стек протоколов TCP/IP, и обеспечивающий передачу управляющей информации и информации об ошибках. В семействе протоколов TCP/IP предусмотрен также ряд других вспомогательных протоколов, например, протоколы динамической маршрутизации, обеспечивающие обмен информацией между маршрутизаторами с целью автоматизации построения таблиц маршрутизации.

Урок 5. Транспортный уровень

Средства сетевого уровня обеспечивают доставку данных между устройствами в составной сети (компьютерами, маршрутизаторами и т.д). Однако не следует забывать, что на одном узле может функционировать параллельно несколько программ, которым требуется доступ к сети. Следовательно, данные внутри компьютерной системы должны распределяться между программами. Поэтому, при передаче данных по сети недостаточно просто адресовать конкретный узел. Необходимо также идентифицировать программу-получателя, что невозможно осуществить средствами сетевого уровня. Другой серьезной проблемой протоколов сетевого уровня является отсутствие средств, позволяющих передавать большие массивы данных. Когда исходные данные превышают максимально допустимый размер пакета сетевого уровня, то эти данные должны быть разбиты на порции, каждая из которых передается в сеть отдельным пакетом. Однако каждый пакет сетевого уровня передается по сети как единый, независимый от других блок данных. В случае если какие-либо пакеты "потерялись", то модуль сетевого протокола на принимающей стороне не сможет обнаружить потерю, и, следовательно, – обнаружить нарушение целостности общего массива данных. Поэтому средства транспортного уровня обеспечивают отсутствие потерь информации. Такой режим передачи данных получил название гарантированной доставки. Таким образом, средства транспортного уровня представляют собой функциональную надстройку над сетевым уровнем и решают две основных задачи:

  • обеспечение доставки данных между конкретными программами, функционирующими, в общем случае, на разных узлах сети;

  • обеспечение гарантированной доставки массивов данных произвольного размера.

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

Доставка данных между приложениями

Для идентификации программ протоколы транспортного уровня в сети Интернет (TCP и UDP), используют уникальные числовые значения, так называемые номера портов. Номера портов назначаются программам в соответствии с ее функциональным назначением на основе определенных стандартов. Для каждого протокола существуют стандартные списки соответствия номеров портов и программ. Так, например, программное обеспечение WWW, работающее через транспортный протокол TCP, использует TCP-порт 80, модули протокола FTP – TCP-порт 21, а служба DNS взаимодействует с транспортными протоколами TCP и UDP через TCP-порт 53 и UDP-порт 53 соответственно. Таким образом, протокол сетевого уровня IP и транспортные протоколы TCP и UDP реализуют двухуровневую схему адресации: номера TCP- и UDP-портов позволяют однозначно идентифицировать программу в рамках узла, однозначно определяемого IP-адресом. Следовательно, комбинация IP-адреса и номера порта позволяет однозначно идентифицировать программу в сети Интернет. Такой комбинированный адрес называется сокетом (socket).

Гарантированная доставка

Принцип гарантированной доставки основан на том, что передающий компьютер всегда «знает», была ли доставлены данные получателю или нет. Это обеспечивается тем, что принимающий компьютер подтверждает успешный прием данных. Если передающий компьютер не получает подтверждения, он пытается произвести повторную передачу. Режим передачи с гарантией доставки имеет существенный недостаток – сеть дополнительно загружается пакетами-подтверждениями. Это может оказаться принципиальной проблемой на каналах с низкой производительностью. Поэтому при широковещательной рассылке, а также для передачи небольших порций данных, если нет необходимости в подтверждении, используется режим передачи с негарантированной доставкой.

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