Вход/Регистрация
Операционная система UNIX
вернуться

Робачевский Андрей Михайлович

Шрифт:

Инкапсуляция IP

При работе в локальной сети на базе технологии CSMA/CD возможны два варианта инкапсуляции датаграмм IP в кадры уровней LLC и MAC.

Первый заключается в использовании кадров Ethernet 2.0. В этом случае поле данных (1500 октетов) полностью принадлежит IP-датаграмме, a SAP адресуется полем "тип пакета", которое содержит значение параметра

Ethertype
— индекса протокола верхнего уровня. В случае IP это значение равно 0x0800. Значения Ethertype для других протоколов приведены в табл. 6.11.

Таблица 6.11. Значение Ethertype для некоторых протоколов

0x0000–0x05DC Поле Length IEEE 802.3
0x0800 Internet IP (IPv4)
0x0806 ARP
0x6003 DEC DECNET Phase IV Route
0x8137 Novell IPX

Второй вариант предполагает использование формата IEEE 802.3. В этом случае IP-датаграмма инкапсулируется в кадр LLC, а адресация SAP осуществляется в заголовке SNAP с помощью идентификатора Ethertype. При этом поля

DSAP
и
SSAP
не используются, и их значения устанавливаются равными 0xAA. Заметим, что в этом случае максимальный размер IP-датаграммы составляет 1492 октета.

При передаче данных TCP/IP в сетях Token Ring используется формат кадра IEEE 802.5, инкапсулирующий кадр LLC с заголовком SNAP, как описано выше.

Внутренняя архитектура

Как уже говорилось, драйвер, реализующий поставщика услуг уровня канала данных, состоит из двух частей: аппаратно-зависимой и аппаратно-независимой. Соответственно драйвер хранит отдельные структуры данных, необходимые для работы этих частей. Архитектура драйвера приведена на рис. 6.40.

Рис. 6.40. Архитектура драйвера DLPI

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

DL_bdconfig_t
, описывающая характеристики адаптера и содержащая необходимую для управления адаптером информацию, а также статистику, являющуюся частью MIB (Management Information Base). Эта структура используется аппаратно-независимой и зависимой частями совместно, в том числе и для передачи определенной информации между ними.

В частности, эта структура содержит следующие поля:

major
Старший номер устройства, связанного с данным сетевым адаптером
io_start
Адрес начала области ввода/вывода
io_end
Адрес конца области ввода/вывода
mem_start
Адрес начала базовой памяти
mem_end
Адрес конца базовой памяти
irq_level
Уровень прерывания
шах_saps
Максимальное число точек доступа (SAP)
flags
Флаги состояния адаптера
mib
Список статистических данных

Поле

flags
может включать следующие флаги:

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

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

DL_sap_t
, описывающую тип и характеристики точки доступа. Приведем описание некоторых полей этой структуры:

state
Состояние SAP. Возможные состояния определены интерфейсом DLPI. Исходное состояние точки доступа
DL_UNBOUND
sap_addr
Уникальный адрес (идентификатор) SAP
flags
Флаги, определяющие дополнительные характеристики SAP
read_q
Указатель на очередь чтения потока, связанного с SAP
write_q
Указатель на очередь записи потока, связанного с SAP
mac_type
Тип используемого протокола доступа и формат используемого кадра. Возможные значения включают:
DL_CMACD
IEEE 802.3
DL_ETHER
Ethernet 2.0
DL_TPB
IEEE 802.4
DL_TPR
IEEE 802.5
DL_HDLC
ISO HDLC
DL_FDDI
FDDI
service_mode
Режим передачи данных. В локальных сетях обычно используется режим без установления связи без подтверждения
DL_CLDLS
provider_style
Тип поставщика услуг:
DL_STYLE1
или
DL_STYLE2
bd
Указатель на структуру
DL_bdconfig_t
, связанную с сетевым адаптером
next_sap
Указатель на следующую точку доступа в списке активных SAP
max_spdu
Максимальный размер данных, которые могут быть переданы в кадре
min_spdu
Минимальный размер данных, которые могут быть переданы в кадре

Дополнительные характеристики SAP хранятся в поле

flags
, которое может включать следующие флаги:

RAWCSMACD
Указывает, что через SAP передаются только кадры формата IEEE 802.3
SNAPCSMACD
Указывает, что через SAP передаются кадры формата LLC SNAP
PROMISCUOUS
Указывает, что SAP работает в режиме отсутствия фильтрации кадров (promiscuous mode), при котором SAP получает копии всех кадров независимо от адреса точки доступа, которой они предназначаются. Данный режим применяется, например, при создании приложений мониторинга уровня канала данных
PRIVILEGED
Указывает, что управление точкой доступа требует привилегий суперпользователя
  • Читать дальше
  • 1
  • ...
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181

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

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: