Локальных сетей
Скачать 261.78 Kb.
|
Управляющие протоколы ИнтернетаПомимо протокола IP, используемого для передачи данных, в Интернете есть несколько дополнительных управляющих протоколов, применяемых на сетевом уровне, к которым относятся ICMP, ARP и DHCP. В данном разделе мы рассмотрим их все
по очереди, описывая те версии, которые соответствуют IPv4 (так как именно они сейчас широко применяются). У ICMP и DHCP существуют аналогичные версии для IPv6; эквивалентом APR является NDP (Neighbor Discovery Protocol — протокол обнаружения соседей). ICMP (Internet Control Message Protocol— протокол управляющих сообщений Интернета), используемому также для тестирования Интернета. Протоколом ICMP определено около дюжины типов сообщений. Каждое ICMP-сообщениевкладывается в IP-пакет. Наиболее важные из них приведены в табл. 5.8. Таблица 5.8. Основные типыICMP-сообщений
ARP — протокол разрешения адресов Хотя у каждой машины в Интернете есть один или более IP-адресов,их недостаточно для отправки пакетов. Сетевые карты канального уровня, такие какEthernet-карты,не понимаютинтернет-адресов.Например, каждаякогда-либовыпущенная сетевая карта Ethernet имеет48-разрядныйEthernet-адрес.Производители сетевых карт Ethernet запрашивают у IEEE блок адресов, что гарантирует уникальностьEthernet-адресов(это позволяет избежать конфликтов при наличии одинаковых сетевых карт в одной ЛВС). Сетевые карты отправляют и принимают кадры, основываясь на48-разрядныхEthernet-адресах.
ТРАНСПОРТНЫЙ УРОВЕНЬ 24 Транспортные услуги реализуются транспортным протоколом, используемым между двумя транспортными подсистемами. В некоторых отношениях транспортные протоколы напоминают протоколы канального уровня: занимаются обработкой ошибок, управлением очередями и потоками. На канальном уровне два маршрутизатора общаются напрямую по физическому каналу (проводному или беспроводному), тогда как на транспортном уровне физический канал заменен целой сетью. Это отличие оказывает важное влияние на протоколы: — при двухточечном соединении по проводу или оптоволоконной линии маршрутизатору обычно не требуется указывать, с каким маршрутизатором он хочет поговорить, — каждая выходная линия ведет к определенному маршрутизатору. На транспортном уровне требуется явно указывать адрес получателя. — процесс установки соединения по проводу прост: противоположная сторона всегда присутствует. На транспортном уровне начальная установка соединения, как будет показано ниже, происходит достаточно сложно. — сеть потенциально обладает возможностями хранения информации: когда маршрутизатор посылает пакет по каналу связи, он может прибыть или потеряться, но он не может побродить где-то какое-то время, спрятаться в отдаленном уголке земного шара, а затем внезапно появиться, прибыв в место назначения после пакетов, отправленных гораздо позже него. Последствия способности сети задерживать и копировать пакеты иногда могут быть катастрофичными и требуют применения специальных протоколов, обеспечивающих правильную передачу данных. — наличие на транспортном уровне большого изменяющегося количества соединений с пропускной способностью, колеблющейся вследствие конкуренции соединений, может потребовать принципиально другого подхода, отличного от использовавшегося на канальном уровне. На транспортном уровне из-за большого количества управляемых соединений и колебаний пропускной способности для каждого из них идея выделения нескольких буферов каждому соединению выглядит не столь привлекательно. Адресация. Когда один прикладной процесс желает установить соединение с другим прикладным процессом, он должен указать, с кем именно он хочет связаться. Применяемый обычно метод состоит в определении транспортных адресов, к которым процессы могут посылать запросы на установку соединения. В Интернете такие конечные точки называются портами. TSAP (точка доступа к услугам транспортного уровня) — конечные точки на транспортном уровне. Аналогичные конечные точки сетевого уровня (то есть адреса сетевого уровня) называются NSAP (точка доступа к сетевым услугам). Примерами NSAP являются IP-адреса. Установка соединения. Основная идея метода заключается в том, что отправитель присваивает сегментам последовательные номера, которые не будут повторно использоваться в течение последующих T секунд. Размер такого номера складывается из этого периода, T, а также скорости пакетов в секунду. Таким образом, в любой момент времени может отправляться только один пакет с данным номером. Копии этого пакета все равно могут появиться, и получатель должен их удалить. Однако теперь невозможна такая ситуация, при которой задержавшийся дубликат пакета принимается получателем вместо нового пакета с тем же порядковым номером. Разрыв соединения. Существует два стиля разрыва соединения: асимметричный и симметричный. Асимметричный разрыв связи соответствует принципу работы телефонной системы: когда одна из сторон вешает трубку, связь прерывается. При симметричном разрыве соединение рассматривается в виде двух отдельных однонаправленных связей, и требуется раздельное завершение каждого соединения. Управление потоком и буферизацияИзучив процессы установки и разрыва соединения, рассмотрим, как происходит управление соединением во время его использования. Одним из ключевых вопросов, уже обсуждавшихся ранее, является управление потоком. В некоторых аспектах проблема управления потоком на транспортном уровне аналогична той же проблеме на уровне передачи данных, но в то же время они различаются по целому ряду аспектов. Основное сходство состоит в том, что на обоих уровнях для согласования скорости передатчика и приемника требуется некая схема, например протокол скользящего окна. Основным различием является то, что у маршрутизатора обычно относительно небольшое количество линий, тогда как хост может иметь большое число соединений. Из-за этого различия использование на транспортном уровне стратегии буферизации, применяемой на уровне передачи данных, является непрактичным. В протоколах передачи данных, обсуждавшихся в главе 3, кадры буфериро- вались как отправляющим, так и получающим маршрутизаторами. Например, в протоколе 6 и отправитель, и получатель должны были отвести по МАХ_ БЕЦ + 1 буферов для каждой линии — половину для входного потока, половину для выходного. Так, для хоста с максимальным количеством соединений, равным 64, и 4-битовым порядковым номером этот протокол потребует 1024 буфера. На уровне передачи данных отправитель должен буферизировать выходные кадры, так как может понадобиться их повторная передача. Если подсеть предоставляет дейтаграммные услуги, отправляющая транспортная сущность должна также использовать буфер по той же самой причине. Если получатель знает, что отправитель хранит в буферах все ТРБи-модули до тех пор, пока они не будут подтверждены, тогда получатель сможет использовать свои буферы по своему усмотрению. Например, получатель может содержать единый буферный накопитель, используемый всеми соединениями. Когда приходит ТРБи-модуль, предпринимается попытка динамически выделить ему новый буфер. Если это удается, то ТРБи-модуль принимается, в противном случае он отвергается. Поскольку отправитель готов к тому, чтобы передавать потерянные ТРБи-модули повторно, игнорирование ТРБи-модулей получателем не наносит вреда, хотя и расходует некоторые ресурсы. Отправитель просто повторяет попытки до тех пор, пока не получит подтверждения. В итоге, если сетевая служба является ненадежной, отправитель должен буферизировать все посланные ТРБи-модули, как и на уровне передачи данных. Однако при надежной сетевой службе возможны другие варианты. В частности, если отправитель знает, что у получателя всегда есть место в буфере, ему не нужно хранить копии посланных ТРБи-модулей. Однако если получатель не может гарантировать, что каждый приходящий ТРБи-модуль будет принят, получателю придется буферизировать посланные ТРБи-модули. В последнем случае отправитель не может доверять подтверждениям сетевого уровня, так как они означают лишь то, что ТРБи-модуль прибыл, но не означают, что он был принят. Позднее мы вернемся к этому важному пункту. Мультиплексирование (англ. multiplexing, muxing)— это процесс уплотнение канала связи, другими словами, передача нескольких потоков (каналов) данных с меньшей скоростью (пропускной способностью) по одному каналу связи, с использованием специального устройства, называемого мультиплексором. Мультиплексор (MUX) — комбинационное устройство, обеспечивающее передачу в желаемом порядке цифровой информации, поступающей по нескольким входам на один выход. Может быть реализован как аппаратно так и программно. Демультиплексор (DMX) выполняет обратную функцию мультиплексора. В настоящее время, для уплотнения канала связи, в основном используют:
Протокол UDP, подобно IP, является дейтаграмным протоколом, реализующим так называемый надежный сервис по возможности, который не гарантирует доставку сообщений адресату. При работе на хосте-отправителе данные от приложений поступают протоколу UDP через порт в виде сообщений (рис. 17.3). Протокол UDP добавляет к каждому отдельному сообщению свой 8-байтный заголовок, формируя из этих сообщений собственные протокольные единицы, называемые UDP-дейтаграммами, и передает их нижележащему протоколу IP. В этом и заключаются его функции по мультиплексированию данных. Каждая дейтаграмма переносит отдельное пользовательское сообщение. Сообщения могут иметь различную длину, не превышающую, однако длину поля данных протокола IP, которое, в свою очередь, ограничено размером кадра технологии нижнего уровня. Поэтому если буфер UDP переполняется, то сообщение приложения отбрасывается. Заголовок UDP состоит из четырех 2-байтных полей:
26 Протокол TCP и TCP-сегменты Протокол TCP предназначен для передачи данных между приложениями. Этот протокол работает на логическом соединении, что позволяет ему обеспечивать гарантированную доставку пакета, используя в качестве инструмента ненадежный дейтаграммный сервис протокола IP. При работе на хосте-отправителе протокол TCP рассматривает информацию, поступающую к нему от прикладных процессов, как неструктурированный поток байтов (рис 17.4). Поступающие данные буферизуются средствами TCP. Для передачи на сетевой уровень из буфера «вырезается» некоторая непрерывная часть данных, которая называется сегментом и снабжается заголовком |