Сетевая служба с поддержкой соединения

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

Адресация на канальном уровне

Адрес канального уровня уникальным образом идентифицирует каждое физическое соединение сетевого устройства с сетью. Адреса канального уровня иногда называются физическими или аппаратными адресами. Обычно они образуют неиерархическое адресное пространство, задаются для каждого устройства заранее и, как правило, жестко. Оконечные системы имеют обычно только одно физическое сетевое соединение и, стало быть, только один адрес канального уровня. Маршрутизаторы и другие устройства, поддерживающие межсетевой обмен, обычно имеют несколько физических сетевых соединений и несколько адресов канального уровня.
Адреса подуровня управления доступом к среде передачи (MAC) являют-I ся подмножеством адресов канального уровня. Адреса MAC идентифицируют сетевые устройства в LAN, реализующие подуровень IEEE MAC канального уровня. Как большинство адресов канального уровня, адреса MAC являются уникальными для каждого интерфейса LAN. Адреса MAC имеют 48 битов в длину и выражаются с помощью 12 шестнадцатеричных цифр: первые шесть шестнадцатеричных цифр являются идентификацией производителя (или кодом поставщика), называемым уникальным идентификатором организации (OUI). Эти шесть цифр устанавливаются IEEE. Последние шесть шестнадцатеричных цифр являются серийным номером интерфейса или другим значением, администрируемым определенным поставщиком. Адреса MAC иногда называются аппаратными или "зашитыми" адресами (Burned-in Address, BIA), так как они выжжены в постоянной памяти (ROM) и копируются в оперативную память (RAM), когда инициализируется плата интерфейса.
Адресация на сетевом уровне
Адрес сетевого уровня идентифицирует устройство сетевого уровня эталонной модели OSI. Сетевые адреса существуют обычно в иерархическом адресном пространстве. Иногда их называют виртуальными или логическими адресами. Отношение сетевого адреса с устройством является логическим и нефиксированным. Обычно адрес основывается либо на характеристиках физической сети (устройство находится в определенном сетевом сегменте), или на логическом объединении, которое не имеет физической основы (устройство является частью зоны AppleTalk). Оконечным системам требуется один адрес сетевого уровня для каждого протокола сетевого уровня, который они поддерживают. (Это предполагает, что устройство имеет только одно физическое сетевое соединение.) Маршрутизаторы и другие устройства, поддерживающие межсетевой обмен, требуют один адрес сетевого уровня на каждое физическое соединение для каждого поддерживаемого протокола сетевого уровня. Например, маршрутизатор с тремя интерфейсами, каждый из которых поддерживает одновременно AppleTalk, TCP/IP и OSI, должен иметь три адреса сетевого уровня для каждого интерфейса. Поэтому маршрутизатор имеет девять адресов сетевого уровня.

Инкапсуляция данных

Каждый уровень модели ОSI общается с нижележащим уровнем и зависит от него в обеспечении специальных служб и функциональности. Так как каждый уровень предоставляет службу, он добавляет информацию к данным приложения, чтобы можно было транспортировать информацию к машине места назначения. Конечно, добавленная специальная информация зависит от используемого стека протоколов, но, следуя общей модели, мы видим, что каждый уровень добавляет к данным заголовочную информацию, а в отдельных случаях также и концевик после данных, пока не будет получен аккуратно сформированный пакет, который отправляется в кабель.
Как показано на рис, каждый уровень добавляет заголовочную информацию, чтобы выполнить службу, требуемую приложению. Когда данные перемещаются вниз по модели OSI на посылающем компьютере, эта информация добавляется. На получающем компьютере заголовочная и концевая информация отбрасываются, когда данные перемещаются вверх по модели OSI.
Можно насчитать пять шагов, связанных с процессом инкапсуляции данных, когда они готовятся транспортным уровнем для отправки в кабель. Они перечислены ниже:
1. С верхних уровней получена информация от пользователя, например запрос регистрации на сервере, задание печати или поиск в Web. Информация преобразуется в данные, чтобы ее можно было транспортировать к месту назначения.
2. Данные подготовлены для транспортировки на целевой компьютер. В случае TCP к данным добавляется заголовок TCP, содержащий информацию об упорядочивании, помогающую сохранить все в порядке при преобразовании в сегменты.
3. На третьем уровне модели OSI находится протокол IP. Здесь будет добавлен заголовок IP, так как сегмент TCP преобразуется в пакет IP. Заголовок IP включает IP-адреса источника и места назначения, что поможет при маршрутизации (выполняемой на этом уровне модели OSI) пакета в соответствующее место назначения.
4. На уровне канала данных в нашем примере пакеты IP преобразуются в кадры Ethernet. Чтобы сетевое устройство могло общаться через локальный интерфейс с другим интерфейсом в сети, оно должно поместить пакет в кадр. Тип кадра должен совпадать, иначе устройства не смогут общаться. В примерах трассировок мы увидим, что кадры Ethernet создаются вокруг пакетов IP.
5. Теперь кадр Ethernet превращается в единицы и нули. Как говорилось ранее, эти биты перемещаются по сети особым образом, определенным методами доступа, пока не достигнут своего места назначения.

Реализация IP поверх различных стандартов LAN

По мере совершенствования нашего мастерства в поиске неисправностей нам понадобится понимание инкапсуляции LAN. Технологии LAN охватывают такие технологии настольных компьютеров, как Ethernet, Token Ring и Arcnet, и технологии MAN, например FDDI. В таких технологиях, как Ethernet могут существовать несколько типов инкапсуляции, что вызывает некоторые проблемы взаимодействия. В каждой из этих технологий дейтаграммы IP необходимо разграничивать, адресовать и идентифицировать как дейтаграммы IP.
Ethernet II При пересылке через сеть Ethernet дейтаграммы IP используют либо инкапсуляцию Ethernet II, либо IEEE 802.3 SNAP. Инкапсуляция Ethernet II использует двухбайтовое поле типа для обозначения протокола верхнего уровня. У этого поля два значения: 0x08-00 соответствует IP, а 0x08-06 соответствует ARP.
Дейтаграммы IP, посылаемые в составе кадров Ethernet II, имеют максимальный размер 1500 байтов и минимальный размер 46 байтов. Дейтаграммы IP размером меньше 46 байтов дополняются нулями до 46 байтов, чтобы сохранить минимальный размер кадра Ethernet, равный 64 байтам (не включая преамбулу).
Как можно видеть на рис, кадр Ethernet II состоит из преамбулы, за которой следует адрес места назначения, адрес источника, поле типа, полезная нагрузка и, наконец, контрольная последовательность кадра. (DSAP) и точки доступа службы источника (SSAP), чтобы выделить кадр SNAP. Управляющий код 0x03 идентифицирует ненумерованный кадр. Поле кода организации задается равным 0x00-00-00, а дальше следует поле типа: 0x08-00 для IP и 0x08-06 для ARP — такое же, как в типе кадра Ethernet П.
Дейтаграммы IP, посланные в составе кадров SNAP IEEE 802.3, имеют максимальный размер 1492 и минимальный размер 38 байтов. Это слегка отличается от ограничений размера Ethernet II и отражает больший размер накладных расходов инкапсуляции 802.3 SNAP. Дейтаграммы IP меньше 38 байтов в длину дополняются нулями, чтобы сохранить минимальный размер кадра Ethernet, равный 64 байтам (не включая преамбулу и начальный ограничитель).
Сравнение Ethernet II и IEEE 802.3 В нормальной повседневной сети действительно возможно присутствие Ethernet II и IEEE 802.3. Дело в том, что стандарты TCP/IP требуют, чтобы все хосты могли посылать и получать инкапсулированные кадры Ethernet II. Кроме того, большинство хостов могут получать инкапсулированные пакеты IEEE 802.3. Некоторые хосты в сети могут одновременно посылать и получать пакеты IEEE 802.3. В таком случае, однако, по умолчанию должен использоваться тип Ethernet П. На рис. одновременно показаны пакеты IEEE 802.3 и Ethernet II, поэтому можно получить хорошее представление о различиях между двумя методами инкапсуляции.
Ethernet II используется по умолчанию для большинства сетей. Как можно видеть на рис. 1.13, оба формата кадров имеют шестибайтовые (48 битов) адреса места назначения и источника. Это адрес MAC, адрес Ethernet или аппаратный адрес хоста, который физически соединен с сетью. Эти адреса преобразуются в четырехбайтовые (32 бита) IP-адреса с помощью протокола преобразования адресов ARP, который будет рассмотрен в следующей главе.
В заголовке Ethernet II следующие два байта используются для указания типа (0x08-00 для IP, 0x08-06 для ARP). Это то же самое поле, которое позже встретится в кадре 802.3 точно перед началом части данных в кадре. Кадр IEEE 802.3 имеет вместо типа двухбайтовое поле длины. Оно не имеет соответствия в кадре Ethernet II, позволяя тем самым отличить эти два метода инкапсуляции кадра. За полем типа в заголовке Ethernet II следует часть кадра с данными с размером от 46 до 1500 байтов.
В методе инкапсуляции IEEE 802.3 после адресов места назначения и источника находится двухбайтовое поле длины. Это поле используется для указания, сколько дальше следует байтов, но не включая CRC в конце кадра. После поля длины следует раздел, определенный главой 802.2 проекта IEEE. Первые три поля в этом разделе являются полями LLC. Поля DSAP и SSAP всегда заданы как АА, а контрольное поле всегда задано как 03. В следующих пяти байтах данных SNAP код организации задан как 0x00-00-00, что требует трех байтов. Следующие два байта формируют поле типа, которое является таким же, как поле типа, имеющееся в Ethernet П. Это будет 0x08-00 для IP, 0x08-06 для ARP или 0x08-35 для кадра RARP. Другие типы перечислены в Приложении В.
Поле циклического избыточного кода (CRC) содержит контрольную сумму, которая используется для обнаружения в кадре ошибок. Иногда его называют также контрольной последовательностью кадра (FRC).
Минимальный размер инкапсулированных кадров IEEE 802.3 и кадров Ethernet II одинаков. Но в связи с дополнительными полями, вставленными перед данными в кадре типа IEEE 802.3 (которые занимают восемь байтов), минимальный и максимальный объемы данных на восемь байтов меньше, чем для кадров типа Ethernet II.

Управление потоком

Управление потоком является функцией, которая предотвращает перегрузку сети, не позволяя передающему устройству перегружать принимающие устройства данными. Существует ряд возможных причин сетевой перегрузки. Например, высокоскоростной компьютер может создавать трафик быстрее, чем сеть может его передавать, или быстрее, чем устройство назначения может его получить и обработать. Существуют три обычно используемых метода обработки сетевой перегрузки:
1. Буферизация используется сетевыми устройствами для временного хранения всплесков избыточных данных в памяти, пока их нельзя будет обработать. Случайные всплески данных легко обрабатываются с помощью буферизации. Однако избыточные всплески данных могут переполнить память, заставляя устройство отбрасывать все прибывающие дополнительные дейтаграммы.
2. Принимающие устройства направляют источникам сообщения подавления передачи, чтобы предотвратить переполнение своих буферов. Получающее устройство посылает сообщение подавления передачи, чтобы источник уменьшил текущую скорость передачи данных по нескольким причинам. Возможно, наиболее общая причина возникает, когда получающее устройство начинает отбрасывать полученные данные в связи с переполнением буферов. Когда это происходит, получающее устройство начинает посылать подавляющие источник сообщения передающему устройству со скоростью одного сообщения на каждый отброшенный пакет. Когда они начинают приходить на устройство источника, оно снижает скорость данных, пока не перестанет получать сообщения. Как только принимающее устройство прекратит посылать сообщения подавления передачи, устройство-источник станет постепенно увеличивать скорость данных до тех пор, пока снова не получит запросов подавления.
3. Создание окна является схемой управления потоком, при которой устройство-источник требует от устройства-приемника подтверждения приема после передачи определенного числа пакетов. При размере окна, равном трем, источник требует подтверждения после отправки трех пакетов. Посмотрим, как это работает. Устройство-источник посылает три пакета устройству назначения. После получения трех пакетов устройство назначения посылает источнику подтверждение. Источник получает подтверждение и посылает еще три пакета. Если устройство назначения не получает один или большее число пакетов по какой-то причине (например, из-за переполнения буферов), у него нет достаточного количества пакетов, чтобы послать подтверждение. Источник, не получив подтверждения, повторно посылает пакеты с уменьшенной скоростью передачи.