Физический и канальный уровни. Ethernet. Витая пара. MAC-адресация. Кадр Ethernet. Контроль доступа к среде в Ethernet. Коллизии и задержки. Концентраторы и коммутаторы. Address resolution protocol (ARP).
Физический уровень – самый нижний уровень модели OSI, предназначен непосредственно для передачи потока данных. На этом уровне работают сетевые карты, повторители, хабы.
Ethernet – пакетная технология передачи данных преимущественно локальных компьютерных сетей.
Формат кадра
Вначале еще преамбула – 7 байт(для синхронизации) и 1 байт – Start of frame
CSMA/CD – множественный доступ с контролем несущей и обнаружением коллизий
Витая пара – вид кабеля связи, представляет собой одну или несколько пар изолированных проводников, скрученных между собой (с небольшим числом витков на единицу длины), покрытых пластиковой оболочкой. Кабель подключается к сетевым устройствам при помощи разъёма 8P8C.
Виды кабеля, применяемого в сетях
В зависимости от наличия защиты — электрически заземлённой медной оплётки или алюминиевой фольги вокруг скрученных пар, определяют разновидности данной технологии:
§ неэкранированная витая пара (англ. UTP — Unshielded twisted pair) — без защитного экрана;
§ фольгированная витая пара (англ. FTP — Foiled twisted pair), также известна как F/UTP) — присутствует один общий внешний экран в виде фольги;
§ экранированная витая пара (англ. STP — Shielded twisted pair) — присутствует защита в виде экрана для каждой пары и общий внешний экран в виде сетки;
§ фольгированная экранированная витая пара (англ. S/FTP — Screened Foiled twisted pair) — внешний экран из медной оплетки и каждая пара в фольгированной оплетке;
§ незащищенная экранированная витая пара (SF/UTP — или с англ. Screened Foiled Unshielded twisted pair).Отличие от других типов витых пар заключается в наличии двойного внешнего экрана, сделанного из медной оплётки, а также фольги.
Существует два варианта обжима разъёма на кабеле:
§ для создания прямого кабеля — для соединения порта сетевой карты с коммутатором или концентратором,
§ для создания перекрёстного (использующего кроссированный MDI, англ. MDI-X) кабеля, имеющего инвертированную разводку контактов разъёма для соединения напрямую двух сетевых плат, установленных в компьютеры, а также для соединения некоторых старых моделей концентраторов или коммутаторов (uplink-порт).
Доступ к среде и коллизии
Коллизия (англ. collision — ошибка наложения, столкновения) — в терминологии компьютерных и сетевых технологий, наложение двух и более кадров от станций, пытающихся передать кадр в один и тот же момент времени.
В сетях Ethernet используется метод доступа к среде передачи данных, называемый методом коллективного доступа с опознаванием несущей и обнаружением коллизий (carrier sense multiple access with collision detection, CSMA/CD). Этот метод применяется исключительно в сетях с логической общей шиной (к которым относятся и радиосети, породившие этот метод). Все компьютеры такой сети имеют непосредственный доступ к общей шине, поэтому она может быть использована для передачи данных между любыми двумя узлами сети. Одновременно все компьютеры сети имеют возможность немедленно (с учетом задержки распространения сигнала по физической среде) получить данные, которые любой из компьютеров начал передавать на общую шину. Простота схемы подключения - это один из факторов, определивших успех стандарта Ethernet. Говорят, что кабель, к которому подключены все станции, работает в режиме коллективного доступа (Multiply Access, MA).
Все данные, передаваемые по сети, помещаются в кадры определенной структуры и снабжаются уникальным адресом станции назначения. Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (carrier-sense). Признаком незанятости среды является отсутствие на ней несущей частоты, которая при манчестерском способе кодирования равна 5-10 МГц, в зависимости от последовательности единиц и нулей, передаваемых в данный момент.
Если среда свободна, то узел имеет право начать передачу кадра. Все станции, подключенные к кабелю, могут распознать факт передачи кадра, и та станция, которая узнает собственный адрес в заголовках кадра, записывает его содержимое в свой внутренний буфер, обрабатывает полученные данные, передает их вверх по своему стеку, а затем посылает по кабелю кадр-ответ. Адрес станции источника содержится в исходном кадре, поэтому станция-получатель знает, кому нужно послать ответ. После окончания передачи кадра все узлы сети обязаны выдержать технологическую паузу (Inter Packet Gap) в 9,6 мкс. Эта пауза, называемая также межкадровым интервалом, нужна для приведения сетевых адаптеров в исходное состояние, а также для предотвращения монопольного захвата среды одной станцией. После окончания технологической паузы узлы имеют право начать передачу своего кадра, так как среда свободна.
При описанном подходе возможна ситуация, когда две станции одновременно пытаются передать кадр данных по общей среде. Механизм прослушивания среды и пауза между кадрами не гарантируют защиты от возникновения такой ситуации, когда две или более станции одновременно решают, что среда свободна, и начинают передавать свои кадры. Говорят, что при этом происходит коллизия (collision), так как содержимое обоих кадров сталкивается на общем кабеле и происходит искажение информации — методы кодирования, используемые в Ethernet, не позволяют выделять сигналы каждой станции из общего сигнала.
Коллизия — это нормальная ситуация в работе сетей Ethernet. Для возникновения коллизии не обязательно, чтобы несколько станций начали передачу абсолютно одновременно, такая ситуация маловероятна. Гораздо вероятней, что коллизия возникает из-за того, что один узел начинает передачу раньше другого, но до второго узла сигналы первого просто не успевают дойти к тому времени, когда второй узел решает начать передачу своего кадра. То есть коллизии — это следствие распределенного характера сети.
Чтобы корректно обработать коллизию, все станции одновременно наблюдают за возникающими на кабеле сигналами. Если передаваемые и наблюдаемые сигналы отличаются, то фиксируется обнаружение коллизии (collision detection, CD). Для увеличения вероятности скорейшего обнаружения коллизии всеми станциями сети станция, которая обнаружила коллизию, прерывает передачу своего кадра (в произвольном месте, возможно, и не на границе байта) и усиливает ситуацию коллизии посылкой в сеть специальной последовательности из 32 бит, называемой jam-последовательностью.
Четкое распознавание коллизий всеми станциями сети является необходимым
условием корректной работы сети Ethernet.
Концентратор работает на физическом уровне сетевой модели OSI, ретранслируя входящий сигнал с одного из портов в сигнал на все остальные (подключенные) порты, реализуя, таким образом, свойственную Ethernet топологию общая шина, c разделением пропускной способности сети между всеми устройствами и работой в режиме полудуплекса. Коллизии (т.е. попытка двух и более устройств начать передачу одновременно) обрабатываются аналогично сети Ethernet на других носителях - устройства самостоятельно прекращают передачу и возобновляют попытку через случайный промежуток времени, говоря современным языком, концентратор объединяет устройства в одном домене коллизий.
Сетевой концентратор также обеспечивает бесперебойную работу сети при отключении устройства от одного из портов или повреждении кабеля, в отличие, например, от сети на коаксиальном кабеле, которая в таком случае прекращает работу целиком.
Коммутатор.
Устройство второго уровня модели OSI. Анализирует информацию канального уровня. Строит таблицу соответствия mac адреса – порту. В этой таблице содержится информация о том, какие мас адреса коммутатор “услышал” на этом порту. В дальнейшем эта информация используется для пересылки кадра только в соответствующий порт.
Последовательность действий.
1.На один из своих портов коммутатор получает кадр. В зависимости от метода коммутации, который он использует, коммутатор либо считывает весь кадр в приемный буфер, после чего начинает анализ информации канального уровня либо считывает только часть кадра, пытаясь перенаправить кадр на нужный порт “на лету”. Но во всех случаях switch считывает и анализирует destination и source mac address.
2. Прочитав destination mac address, switch проверяет таблицу соответствия mac адресов – портов. Если этот mac адрес есть – то кадр отправляется в соответствующий порт. Если нет, то рассылается во все портам. При этом, если используется динамический способ построения таблицы соответствия, то source mac address записывается в таблицу, при этом портом является тот порт, на который был получен кадр.
3. Если destination mac address отсутствовал в таблице соответствия и в соответствии с п.2 этот кадр был направлен на все порты, то, если найдется устройство с соответствующим mac адресом, то обратный кадр приведет к тому, что этот mac адрес появится в таблице и все последующие кадры будут направлены в соответствующий порт.
4. Широковещательные кадры посылаются во все порты.
Замечание: этот алгоритм относится к случаю, когда нет vlan и когда выбран режим динамического определения mac адресов.
Протокол ARP (Address Resolution Protocol, Протокол распознавания адреса) предназначен для преобразования IP-адресов в MAC-адреса, часто называемые также физическими адресами.
Поиск по данному IP-адресу соответствующего Ethernet-адреса производится протоколом ARP, функционирующим на уровне доступа к среде передачи. Протокол поддерживает в оперативной памяти динамическую arp-таблицу в целях кэширования полученной информации. Порядок функционирования протокола следующий.
С межсетевого уровня поступает IP-дейтаграмма для передачи в физический канал (Ethernet), вместе с дейтаграммой передается, среди прочих параметров, IP-адрес узла назначения. Если в arp-таблице не содержится записи об Ethernet-адресе, соответствующем нужному IP-адресу, модуль arp ставит дейтаграмму в очередь и формирует широковещательный запрос. Запрос получают все узлы, подключенные к данной сети; узел, опознавший свой IP-адрес, отправляет arp-ответ (arp-response) со значением своего адреса Ethernet (см. рис.9). Полученные данные заносятся в таблицу, ждущая дейтаграмма извлекается из очереди и передается на инкапсуляцию в кадр Ethernet для последующей отправки по физическому каналу. Протокол ARP может поддерживать не только Ethernet, но и другие типы физических сред.
Рис. 9
Следует отметить что события будут развиваться по вышеописанному сценарию в том случае если IP адрес получающей стороны находится в той же подсети что и IP адрес стороны, посылающей данные. В противном случае, передача пакета в другую IP подсеть осуществляется посредством маршрутизатора.
Дейтаграмма, направленная во внешнюю (в другую) подсеть, должна быть передана маршрутизатору. Предположим, хост А отправляет дейтаграмму хосту В через маршрутизатор G. Несмотря на то, что в заголовке дейтаграммы, отправляемой из А, в поле “Destination” указан IP-адрес В, кадр Ethernet, содержащий эту дейтаграмму, должен быть доставлен маршрутизатору. Это достигается тем, что IP-модуль при вызове ARP-модуля передает тому вместе с дейтаграммой в качестве IP-адреса узла назначения адрес маршрутизатора, извлеченный из таблицы маршрутов. Таким образом, дейтаграмма с адресом В инкапсулируется в кадр с MAC-адресом G (см. рис.10а). Модуль Ethernet на маршрутизаторе G получает из сети этот кадр, так как кадр адресован ему, извлекает из кадра данные (то есть дейтаграмму) и отправляет их для обработки модулю IP. Модуль IP обнаруживает, что дейтаграмма адресована не ему, а хосту В, и по своей таблице маршрутов определяет, куда ее следует переслать. Далее дейтаграмма опять опускается на нижний уровень, к соответствующему физическому интерфейсу, которому передается в качестве IP-адреса узла назначения адрес следующего маршрутизатора, извлеченный из таблицы маршрутов, или сразу адрес хоста В, если маршрутизатор G может доставить дейтаграмму непосредственно к нему (см. рис.10б).
Рис. 10а
Рис. 10б