Cетевые технологии (4). Ещё о пакетах, локальные сети LAN и Ethernet

Продолжение. Начало: часть 1часть 2часть 3,

И снова о пакетах

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

Для такой среды передачи общего пользования (shared-medium) очень важную роль играет размер пакета, поскольку этот размер определяет максимальное время, в течение которого отправитель пакета успевает его отправить в линию, до того, как другой отправитель сможет это сделать. Поэтому длина пакетов не должна быть слишком большой, чтобы сеть не перегружалась. Кроме того, если пакет будет повреждён, то его нужно будет передавать повторно, и это опять занимает время.

При приёме пакета, коммутатор сначала читает весь пакет, прежде чем заняться распознаванием его заголовка, чтобы определить, куда дальше нужно отправлять этот пакет. Для этого весь пакет должен быть временно сохранён во внутренней буферной памяти маршрутизатора/коммутатора. Такой режим называется store-and-forward (сохранить и передать). Понятно, что такая операция вносит некоторую задержку при передаче (forwarding delay), которая определяется тем, сколько времени нужно на прочтение всего пакета. Если слать длинные пакеты, то задержка при передаче будет большая, т.к. пакеты будут просматриваться во всех промежуточных узлах сети.

Общая задержка от отправителя к получателю будет состоять из следующего:

  • Задержка полосы пропускания, т.е. посылка, например, 1000 байтов при скорости передачи 20 мегабайтов в секунду займёт 50 миллисекунд.
  • Задержка распространения, которая возникает вследствие физического ограничения скорости света. Например, при посылке серии пакетов через кабель длиной в 5000 км, скорость распространения составит примерно 200 м/мкс, что составляет примерно 2/3 скорости света. Следовательно, первый бит этой серии прибудет в место назначения с задержкой в 25 мс.
  • Задержка очереди, которая возникает в сетевых элементах, а также ожидание передачи в линию в перегруженных сетевых элементах (маршрутизаторах/коммутаторах). Эта задержка при неблагоприятных условиях может составить до 1 секунды, хотя такое случается нечасто. Обычно эта задержка составляет не более 10 мс, а часто и того меньше. Этот общей компонент задержки – единственный, который можно уменьшить в принципе, путем различных ухищрений.

Локальные сети LAN и протокол Ethernet

Локальная сеть LAN – это система состоящая из следующих элементов:

  • Физические соединения (линки);
  • Общее интерфейсное оборудование, которые соединяет сетевые узлы и линки;
  • Программное обеспечение – протоколы, которые обеспечивает взаимодействие сетевых элементов между собой.

Будем считать, что каждый узел LAN может коммуницировать с любым другим узлом LAN. Иногда при этом требуются промежуточные узлы, которые работают как коммутаторы.

Наиболее популярным видом LAN является сеть с протоколом Ethernet, который был описан ещё в 1976 году американскими инженерами Меткалфом (Metcalfe) и Боггсом (Boggs). В первую очередь, такие сети приобрели популярность благодаря тому, что оборудование для них стоит дешевле, чем для других типов локальных сетей. Тут, однако, следует оговориться, что этой дешевизне популярность и способствовала, поскольку при больших объёмах производства удельная цена (по различным параметрам) получается дешевле.

Вначале полоса пропускания[1] (bandwidth) сетей Ethernet составляла только 10 Мб/с (мегабит в секунду – обычно маленькая буква «б» означает «бит», а большая «Б» – байт. Сегодня же большинство сетей Ethernet работают с полосой 100 Мб/с или 1000 Мб/с (1 Гб/с).  Для сравнения, скорость записи на жесткий диск также оставляет около 1 Гб/с.

В настоящее время все большую популярность приобретают беспроводные локальные сети (“Wi-Fi”, WLAN – Wireless Local Network), которые заменяют проводные сети Ethernet на участке от граничного коммутатора до устройства пользователя.

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

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

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

Адрес Ethernet состоит из шести байтов. Для каждой сетевой карты Ethernet (сетевой интерфейс) назначается уникальный адрес во время её производства. Этот адрес «прожигается» в постоянном запоминающем устройстве (ПЗУ, ROM – Read Only Memory). Физически ROM представляет собой микросхему, установленную на сетевой плате. Такой адрес называется MAC (Media Access Control). Первые три байта МАС назначаются производителю, а другие три байта представляют собой серийный номер платы сетевого интерфейса, который определяется производителем.

IP-адреса, в отличие от МАС, назначаются сетевым администратором. Преимущество того, что МАС-адрес «зашит» в оборудовании – то, что при его включении у него уже есть адрес в локальной сети, и не нужно его вручную настраивать.

Сетевой интерфейс устройства постоянно проверяет поступающие на него пакеты. Если интерфейс обнаруживает, что в заголовке пришедшего пакета значится МАС-адрес данного устройства, он забирает этот пакет и направляет его в процессор устройства CPU (Central Processor Unit).

Кроме того, в сети Ethernet имеется назначенный адрес общей рассылки (broadcast address). Пакет, который имеет в своей адресной части этот адрес, будет принят всеми устройствами в сети. Если коммутатор принимает такой broadcast-пакет на один из своих входных портов, он дублирует его на все выходные порты, без изменения. При помощи такого механизма, например, можно выяснить МАС-адрес порта назначения, если устройство отправителя по каким-то причинам его ещё не знает. Содержание такого пакета может быть таким: «Если есть сервер с таким IP-адресом, пожалуйста отзовитесь и сообщите МАС-адрес». Протокол, который делает такую операцию называется ARP (Address Resolution Protocol) – протокол разрешения адресов.

Наоборот, передача пактов на какой-то определённый порт определённого устройства называется unicast (не broadcast). При этом определение следующего адреса передачи в узлах сети делается на основании информации, записанной в таблице передачи (Forwarding table) каждого узла.

То есть, некоммутируемый Ethernet обычно плохо масштабируется до сетей с множеством компьютеров.

Коммутируемый Ethernet работает гораздо лучше в больших сетях на 10-100 тыс. компьютеров. Однако, для правильной передачи пакетов внутри коммутатора, он должен знать, где в сети LAN находятся все активные адреса назначения. Обычно, физический адрес компьютера (или сетевого устройства) вводится в таблицу передачи коммутатора (forwarding table) при приходе первого пакета, предназначенного для этого адреса. Коммутатор запоминает, на какой входной интерфейс пришел пакет и адрес его источника, и считает, что тот же интерфейс будет использоваться для доставки пакетов обратно к отправителю. Если адрес получателя в этом пакете для коммутатора ещё не известен, то есть его ещё нет в таблице передачи, то коммутатор может разослать пакет по всем адресам (broadcast). Сетевой интерфейс компьютера, для которого он предназначен, воспримет его, и тогда адрес получателя (destination address) будет прописан а таблице передачи коммутатора, и тогда следующий пакет для данного назначения будет направлен уже конкретно на этот адрес.

Следует добавить, что в таблице передачи коммутатора обычно прописывается не адрес конечного назначения пакета, а номер выходного порта для последующей передачи пакета на следующий коммутатор. Такая операция называется “hop”.


[1] Заметим, что выражение «полоса пропускания» (bandwidth) на деле означает не что иное, как скорость передачи, поскольку измеряется в битах в секунду. Почему именно такое название прижилось, неясно до сих пор, хотя есть несколько версий, объясняющих происхождение данного термина.

Структура пакета Ethernet

Продолжение следует

About Алексей Шалагинов

Независимый эксперт
Gallery | This entry was posted in Ликбез, Сетевые технологии and tagged , , . Bookmark the permalink.

1 Response to Cетевые технологии (4). Ещё о пакетах, локальные сети LAN и Ethernet

  1. Pingback: Сетевые технологии (5). IP – Internet Protocol | Telecom & IT

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.