Физический и канальный уровни

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

Физический носитель данных

В стандартах Ethernet первых версий (v1.0 и v2.0) использовался коаксиальный кабель. Позже появилась возможность использовать в качестве кабеля связи также витую пару и оптический кабель. В настоящее время наиболее часто используется витая пара. Существует восемь спецификаций витой пары, включая подкатегории: cat1-cat6, cat5e, cat6a. Кабель пятой категории обычно используется для сетей с пропускной способностью до 100 МБит/с, для сетей с большей пропускной способностью используются категории 6, 6a, 5e. Кабель пятой категории состоит из четырех пар изолированных проводников, переплетенных между собой с разным шагом. В каждой паре один провод используется для передачи данных, другой для заземления, что позволяет уменьшить помехи. В следствие такой схемы появляется ограничение на длину расплетенной части кабеля. В сетях с пропускной способностью до 100 МБит используются только две пары, в гигабитных --- все четыре. В кабелях 6-й категории между парами проложена крестообразная (в сечении) вставка, обеспечивающая лучшую защиту от помех. Также, на них накладываются более сильные ограничения на допустимый изгиб.

Дисциплина передачи

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

1. Определение состояния среды передачи данных. Прежде чем что-либо передавать, сетевое устройство определяет, свободна ли среда. Если свободна, то происходит передача, в противном случае передача откладывается на некоторое, случайное время. При каждой неудачной попытке срок ожидания удваивается. Это позволяет избежать так называемого request storm, когда после долгого ожидания сразу много участников посылают свои запросы. Случайность времени ожидания обеспечивается простейшим встроенным в сетевую карту генератором псевдослучайных чисел, инициализируемым, например, MAC-адресом.

2. Разрешение коллизий при попытке одновременной передачи данных. Если два участника одновременно проверили, что среда свободна, и два фрейма начинают передаваться одновременно, то возникает коллизия. Устройства должны уметь распознавать возникновение коллизий. В такой ситуации обе стороны вновь используют алгоритм из первого пункта и откладывают передачу на случайное время. Следует отметить, что в полно-дуплексных вариантах Ethernet (например, 100Mbit/s full-fuplex) прием и передача ведется параллельно по разным парам кабеля и коллизии не возникают, для чего используется соответствующее сетевое оборудование.

3. Уникальная адресация. В сети Ethernet каждое устройство имеет уникальный идентификатор --- MAC-адрес, состоящий из 6 байт. Обычно записывается в шестнадцатеричном виде, байты отделяются символов ":". Первые три байта соответствуют коду производителя, последние --- уникальному коду самого устройства. Современные сетевые адаптеры позволяют изменять MAC-адрес, однако необходимость в этом возникает редко.

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

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

Сетевые интерфейсы

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

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 08:00:27:50:7a:b1 brd ff:ff:ff:ff:ff:ff

В данном примере в системе есть два интерфейса: lo и eth0. Обычно в GNU/Linux имеется хотя бы один сетевой интерфейс --- так называемый loopback (обратная петля). Этот интерфейс предоставляет возможность подключения компьютера только к самому себе. Подобное необходимо для отладки работающих с сетью программ в условиях отсутствия сети и для простого ограничения некоторой сетевой службы только локальным взаимодействием, недопускающим подключения внешних клиентов.

Традиционно для именования интерфейсов Ethernet-адаптеров используются комбинации префикса eth и порядкового номера, начиная с 0: eth0, eth1 и т.д.

После строк link/loopback и link/ether в результатах команды ip link указаны MAC-адреса соответствующих интерфейсам сетевых адаптеров. MAC-адрес интерфейса lo (обратной петли) полагается нулевым.

Адрес brd (broadcast --- широковещательный) используется для того, чтобы послать данные сразу всем адаптерам, подключенным к данной среде. У сетевого интерфейса lo этот адрес, естественно, отсутствует. У Ethernet интерфейсов он равен FF:FF:FF:FF:FF:FF.

Фрейм, посланный отправителем, не попадает напрямую получателю, а становится доступен всем компьютерам, объединенным в сеть. Каждый сетевой адаптер принимает фрейм и анализирует MAC-адрес предполагаемого получателя. Дальнейшее поведение сетевого адаптера зависит от режима, в котором он находится. В обычном режиме адаптер отфильтрует все фреймы, MAC-адрес которых не является широковещательным и не совпадает с его собственным. Кроме обычного, существует "неразборчивый"(promiscuous) режим. В этом режиме сетевой адаптер фильтрацию по MAC-адресам не производит.

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


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

60

1

1

1

1

PavelSutyrin, Allena, VsevolodKrishchenko

02.07.2008