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

Ethernet

Сетевые кабели

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

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

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

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

2. Разрешение коллизий при попытке одновременной передачи данных. Если два участника одновременно проверили, что среда свободна и одновременно же начали передавать, возникает т.н. коллизия. Устройства должны уметь определить факт коллизии. В такой ситуации вновь используется алгоритм из первого пункта, передача откладывается на случайное время.

3. Уникальная адресация. В сети Ethernet каждое устройство имеет уникальный идентификатор -- MAC-адрес.

Любое устройство может распознать MAC-адрес другого.

В каждом пакете этого уровня (Ethernet-фрейме) содержатся MAC-адреса отправителя и получателя и другая служебная информация. Тем не менее, использование MAC-адресов для универсальной нумерации невозможно.

Но требование уникальности устройств в рамках одной среды передачи данных выполнено, и дисциплина передачи обеспечивает работоспосбность сети.

Исследуем сеть на физическом уровене. Рассмотрим сеть Ethernet. Увидеть имеющиеся в системе сетевые интерфейсы можно воспользовавшись командами ip link или ip l.

Пример

[root@demo ~]# 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

В данном примере в системе есть 2 интерфейса:lo и eth0.

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

Традиционно интерфейсы Ethernet-адаптеров именуются ethN: eth0, eth1, и т.п.

После строк link/loopback и link/ether в результатах команды ip link указаны MAC-адреса соответствующих интерфейсов. MAC-адрес состоит из 6 байт. Обычно записывается в шестнадцатеричном виде, байты отделяются :.

У интерфейса lo(обратной петли) MAC-адрес нулевой.

Если интерфейс соответствует физическому адаптеру, то выдается MAC-адрес физического адаптера, обычно присваивымый ему производителем. Первые три байта соответствуют коду производителя, последние -- уникальному коду самого адаптера. Современные адаптеры позволяют изменять MAC-адрес, однако это не рекомендуется.

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

Сравнение mac-адреса получателя фрейма и mac-адреса сетевого адаптера производится на аппаратном уровне, поэтому чужие пакеты адаптер может отбросить самостоятельн, и операционная система об этом даже не узнает.

В некоторых случаях бывает полезно перевести адаптер в так называемый promiscuous (неразборчивый) режим. В этом случае адаптер будет принимать для операционной системы все пакеты, которые передаются по сети, в частности те, которые не адресованы ему (и не широковещательные). Вообще говоря, именно таким спсобом сканируют чужой траффик и из него выделяют разного рода пароли. Есть, впрочем, и метод выявляения таких шпионов: пишется программа, которая генерирует большое количество фреймов, которые адресованы несуществующим получателям. Адаптеры, работающие в обычном режиме, их незаметно проигнорирут, а если в сети есть система, адаптер которой прослушивает весь траффик, то её наблюдаемые свойства изменятся: она станет хуже отвечать на пинг, и т.п.

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


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

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

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

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

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

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

Level

Maintainer

Start date

30

1

1

1

1

PavelSutyrin, Allena

02.07.2008