В каком формате данные передаются по Ethernet
Обновлено: 21.11.2024
Ethernet – это технология физического уровня и уровня канала передачи данных для локальных сетей (LAN). Ethernet был изобретен инженером Робертом Меткалфом.
При первом массовом развертывании в 1980-х годах Ethernet поддерживал максимальную теоретическую скорость передачи данных 10 мегабит в секунду (Мбит/с). Позже так называемые стандарты «Fast Ethernet» увеличили эту максимальную скорость передачи данных до 100 Мбит/с. Технология Gigabit Ethernet еще больше увеличивает пиковую производительность до 1000 Мбит/с. Также существует технология 10 Gigabit Ethernet.
Сетевые протоколы более высокого уровня, такие как Интернет-протокол (IP), используют Ethernet в качестве среды передачи. Данные передаются по сети Ethernet внутри единиц протокола, называемых фреймами. Длина отдельного кабеля Ethernet ограничена примерно 100 метрами, но сети Ethernet можно легко расширить, чтобы связать целые школы или офисные здания с помощью устройств сетевого моста.
Программа для клиента
Этапы запуска демо
- Подключите кабель Ethernet к разъему X17 на оценочной плате Colibri V3.1A.
- Создайте новый проект VC++, следуя этому руководству до шага 9, и скопируйте код, как указано ниже.
- Измените IP-адрес и номер порта в коде в соответствии с IP-адресом и номером порта вашего хоста (сервера).
- Создайте и разверните решение.
- Подключите хост (ПК) к той же сети и запустите имитатор TCP клиент/сервер, такой как Hercules, в режиме сервера.
- Перейдите в папку Program Files в модуле Toradex и запустите исполняемый файл.
Исходный код
Скачать проект для клиента
Вы можете загрузить исходный код демо отсюда.
Программа для сервера
Этапы запуска демо
- Подключите кабель Ethernet к X17 на оценочной плате Colibri V3.1A.
- Создайте новый проект VC++, следуя этому руководству до шага 9, и скопируйте код, как указано ниже.
- Измените IP-адрес и номер порта в коде в соответствии с вашим модулем Toradex.
- Создайте и разверните решение.
- Подключите хост (ПК) к той же сети и запустите симулятор клиента/сервера TCP, такой как Hercules.
- Перейдите в папку Program Files в модуле Toradex и запустите исполняемый файл.
- На хост-компьютере запустите симулятор клиента TCP (например, Hercules).
Обязательно запустите приложение на модуле, прежде чем подключаться к TCP-серверу с клиента (например, Hercules на хост-компьютере).
Одним из ключевых элементов успеха Ethernet является концепция пакетной передачи данных, при которой данные, изображения и даже звуковые файлы разделяются и переформатируются в небольшие блоки, передаются по сети и повторно собираются для использования принимающей стороной. компьютер.
Конечно, можно передать файл полным потоком от начала до конца с одного компьютера на другой. Этот тип передачи часто используется, когда система передает только в одном направлении, от одного устройства к другому. Подумайте о типичной установке аналогового видеонаблюдения, где одна камера подключена к одному монитору. Камера отправляет изображения одним непрерывным потоком, а снимки выводятся на монитор.
Ситуация усложняется, когда несколько коммуникационных устройств, таких как компьютеры, подключены к общему кабелю или сегменту, и каждому устройству нужна возможность общаться со всеми остальными. Если бы файлы пересылались с одного компьютера на другой одним непрерывным потоком, все остальные устройства не могли бы обмениваться данными в течение этого периода времени.
Из-за этих проблем Ethernet делит файлы для передачи на пакеты, которые обеспечивают адресацию, последовательность и другую информацию, что позволяет принимающему сетевому устройству правильно собрать файл. Эти пакеты также называются фреймами.
Формат и маршрутизация пакетов Ethernet
Стандарты 802.3 определяют, как пакеты Ethernet собираются для передачи. Давайте посмотрим на эту упрощенную схему.
Адрес назначения — это адрес, по которому отправляются пакеты. По понятным причинам он помещается в начало потока пакетов. Адрес отправителя необходим, чтобы компьютер назначения знал, куда отправлять квитанции для пакетов и, возможно, запросы на повторную отправку пакетов, которые были искажены во время передачи.
В разделе «Данные» находится фактическое пакетированное содержимое файла в пакете. Это поле данных может состоять минимум из 46 байтов или максимум из 1500, при этом байт может состоять из восьми битов (1 и 0).
Последовательность проверки кадров обеспечивает механизм исправления ошибок, гарантирующий, что весь пакет прибыл без ошибок.
В больших сетях, таких как Интернет, пакеты, содержащие передаваемый файл, могут перемещаться по разным маршрутам, чтобы попасть с одного компьютера на другой. По мере перемещения пакетов маршрутизаторы и коммутаторы считывают адрес назначения пакета и пересылают его в конечный пункт назначения.Маршрутизаторы и коммутаторы направляют пакеты по самому быстрому пути, доступному на момент получения отдельных пакетов. Если один путь занят другим трафиком, маршрутизатор может отправить пакет по другому маршруту.
Адресация устройств
Для облегчения связи каждое устройство в сети Ethernet должно иметь правильный и уникальный адрес. Точно так же, как телефонные компании должны выдавать номера телефонов, которые не дублируются, менеджер сети Ethernet должен тщательно запрограммировать компьютеры и другие устройства в сети, чтобы передача данных могла передаваться и приниматься от одного к другому.
Каждое сетевое устройство Ethernet будет иметь два адреса: MAC (физический) и IP (логический). MAC-адреса жестко запрограммированы в устройство или продукт на заводе и, как правило, никогда не меняются. IP-адреса можно устанавливать и изменять, что позволяет настраивать и изменять сети.
MAC-адресация
Адрес управления доступом к среде (MAC) представляет собой серийный номер продукта или физический адрес, который используется для идентификации конкретного устройства в сети. Это хард-адрес, который внедряется в прошивку продукта на заводе. В большинстве случаев этот адрес не может быть изменен пользователем.
Каждое устройство, которое можно подключить к сети Ethernet, будет иметь уникальный MAC-адрес. Точно так же любое сетевое электронное устройство безопасности также будет закодировано с помощью своего отличительного MAC-адреса. Например, MAC-адрес конкретной сетевой камеры: 00-60-45-0D-56-EC
MAC-адрес используется в сетях Ethernet для идентификации отдельных устройств. При передаче файла пакеты данных содержат MAC-адрес получателя и присвоенный ему IP-адрес.
Думайте о MAC-адресе как об идентификационном номере автомобиля (VIN) вашего автомобиля или грузовика. Это уникальный номер, идентифицирующий ваш конкретный автомобиль, и ни один другой автомобиль не имеет такого же номера, как ваш.
IP-адресация
Формат адреса, который нас больше всего интересует для сетевых приложений, — это адрес интернет-протокола (IP). Этот числовой код можно установить и изменить, что позволяет сетевому администратору или установщику изменять настройки для обеспечения надлежащей связи.
Текущие IP-адреса отформатированы в четыре группы чисел, максимум три символа в каждой группе, которые называются октетами. В текущих IP-адресах не используются буквы. Типичный IP-адрес компьютера в сети может быть следующим: 192.168.1.23
Любое число в октете IP должно находиться в диапазоне от 1 до 254. Таким образом, такой адрес, как: 192.168.343.2, недействителен.
IP-адреса считаются логическими адресами и определяют, к какой сети подключено устройство, будь то локальная сеть (LAN), глобальная сеть (WAN) или Интернет. Эти различия определяются использованием одного и того же числа, установленного в первом; первый и второй; а также поля первого, второго и третьего октетов.
Повторное использование и адреса по умолчанию
При подключении к разным сетям устройства часто имеют одинаковые IP-адреса. Обычная форма IP-адресации для устройств локальной сети имеет формат 192.168.0.XXX или 192.168.1.XXX, где X обеспечивает до 254 различных адресов для устройств. Несмотря на то, что могут быть буквально миллионы сетевых устройств с адресом 192.168.1.1, поскольку каждое из них находится в уникальной локальной сети, в адресации или связи нет конфликтов.
Сетевые устройства электронной безопасности обычно поставляются с предварительно запрограммированным IP-адресом по умолчанию. Это позволяет обмениваться данными с этим конкретным устройством.
Чтобы обеспечить связь между устройствами в локальной сети, IP-адреса всех подключенных компьютеров должны быть запрограммированы одинаково для первых трех октетов адресной строки.
Здесь мы рассмотрим самые основные функции сети и пакетов.
Сеть
- Компьютерные сети похожи на телефонную систему для компьютеров.
- Компьютер выполняет "вызов" для обмена данными с другим компьютером.
- Общение всегда осуществляется только байтами
- Стоит знать основы, поскольку вы постоянно пользуетесь сетью
- Когда вы просыпаетесь, сколько времени проходит перед использованием сети?
Компьютерные сети сложны в деталях, но основные идеи того, как все это работает, удивительно просты, и это то, что мы собираемся изучать.
LAN — локальная сеть
- Начните с малого.
- LAN – локальная сеть
- Один дом, один этаж здания
- Позже покажите масштабирование до всемирной сети Интернет.
- Две суперпопулярные технологии локальных сетей:
– Ethernet, проводная локальная сеть;
– Wi-Fi, беспроводная локальная сеть.
Мы начнем с технологии LAN (локальной вычислительной сети), которая позволяет соединить от 2 до 50 компьютеров в доме или на одном этаже здания.
Локальная сеть Ethernet — пропускная способность
- Очень популярная технология проводных локальных сетей, 1974 г.
- Провода толщиной с соломинку.
- Максимальная длина провода – 100 метров.
- Провода часто желтые или синие.
- Разъем RJ-45, как у большого телефонного разъема.
- скорость пропускной способности — бит в секунду
- Обычные значения пропускной способности:
– 100 мегабит, 100 миллионов бит в секунду, или 100 Мбит/с
– 1 гигабит, 1 миллиард бит в секунду, или 1 Гбит/с, 1000 Мбит/с. - путаница с буквой "b" - обратите внимание, что "mbps" и "gbps" относятся к битам, а не к байтам
- Скорость передачи данных обычно указывается в битах в секунду, как указано выше.
Разъем Ethernet RJ45
Кабели Ethernet, подключенные к задней панели маршрутизатора Wi-Fi (Linksys WRT54g)
Ethernet — чрезвычайно распространенный и влиятельный стандарт проводных локальных сетей, поэтому мы начнем с него. Длина кабеля Ethernet обычно ограничена 100 метрами в соответствии с его «местной» ориентацией. Типичное приложение LAN представляет собой объединение в сеть компьютеров в одной комнате или на одном этаже здания. Наиболее распространенной формой подключения Ethernet является 100base-T (100 мегабит) с разъемами RJ-45 на концах. Разъем RJ-45 размером с мизинец напоминает широкий штекер телефонного провода.
Пакеты — данные отсюда туда
- напр. отправить файл изображения между компьютерами, подключенными к сети Ethernet
- Это вариант локальной сети с одним переходом (позже масштабирование до всего мира)
- напр. 50 КБ изображение.jpg
- 50 000 байт
- Как отправить файл image.jpg по сети?
- Использовать пакеты
- Разделить байты файла image.jpg на пакеты
- Скажем, каждый пакет имеет размер 1500 байт (варьируется)
- Затем файл image.jpg делится примерно на 32 пакета.
- Сеть передает по одному пакету за раз
Мы начнем с простейшего случая, когда два компьютера подключены кабелем Ethernet, и мы хотим отправить файл изображения в формате jpeg размером 50 КБ с одного компьютера на другой. Это случай «одного перехода». Сеть между двумя компьютерами, разделенными только кабелем Ethernet. Позже мы масштабируем это до случая полного Интернета с двумя компьютерами, расположенными в разных частях мира. Первый вопрос: как байты файла изображения на одном компьютере отправляются на другой компьютер по кабелю Ethernet (или по Wi-Fi)?
Для передачи 50 КБ изображения разбиваются на пакеты. Пакет является естественной единицей передачи в сети. В этом случае, скажем, каждый пакет имеет размер около 1500 байт (типичный размер пакета), тогда байты изображения размером 50 КБ можно разделить примерно на 32 пакета по 1500 байт каждый. Не обязательно, чтобы все пакеты были одинакового размера, просто каждый байт изображения отправляется в том или ином пакете.
Ethernet — отправка одного пакета
- Посмотрите на передачу одного 1500-байтового пакета
- Каждый байт состоит из 8 бит, например. 0 1 1 0 1 0 1 0
- 1500 байт * 8 бит на байт = всего 12 000 бит
- Отправить каждый байт (небольшое упрощение):
-Пройтись по всем битам, слева направо
-На каждую 1 подать 3 вольта на провод
-На каждый 0, подайте на провод 0 вольт - Чтобы получить пакет:
-Следуйте схеме 3 вольт / 0 вольт, поступающих по проводу
- Соберите 0 и 1 в группы по 8, чтобы получить каждый байт - цифровая передача — только 0 и 1
- Двигается со скоростью около 2/3 скорости света (варьируется)
Ethernet предоставляет основные средства для передачи пакетов между двумя компьютерами, соединенными кабелем Ethernet. Скажем, у нас есть пакет из 1500 байт информации, которую мы хотим отправить. Каждый байт состоит из 8 бит, поэтому нужно отправить 12 000 бит, где каждый бит равен 0 или 1. Вот упрощенное описание того, как это работает: кабель Ethernet состоит из двух проводов, соединяющих компьютеры. Отправляющий компьютер мог считывать 12000 бит по порядку, и для каждого 1 бита между проводами помещалось 3 вольта, а для каждого 0 бита между проводами помещалось 0 вольт. Принимающий компьютер может следить за ходом, отмечая последовательность 3В/0В на проводах с течением времени, и таким образом получает 12000 бит. На самом деле самый последний Ethernet содержит 4 пары проводов и поддерживает отправку информации в обоих направлениях и с более сложной схемой напряжения. Однако этот шаблон прохождения битов и изменения напряжения для «отправки» каждого бита, по сути, и является тем, как все это работает.
Контрольная сумма и ошибки
- контрольные суммы обнаруживают ошибки передачи
- Разрешить получателю определять правильность получения пакета
- Пример схемы контрольной суммы:
-Каждый байт представляет собой число от 0 до 255.
-Отправитель складывает все байты пакета, скажем, сумма 157231.
-Возьмите последние 2 цифры, 31. , как "контрольная сумма" пакета
-Отправитель добавляет байт контрольной суммы в конец пакета
-Получатель: суммирует полученные байты, проверяет совпадение контрольной суммы
Контрольная сумма не совпадает указывает на повреждение данных
Получатель просит отправителя повторно отправить этот пакет - Очень вероятно обнаружение ошибок
- Не идеально — 2 ошибки могут свести на нет
- Используемые схемы контрольных сумм лучше, чем просто сумма
- Контрольные суммы используются очень широко:
ethernet, USB, Wi-Fi, . все! - Вот как ваши файлы передаются правильно
- Вспомните аналого-цифровую тему: когда данные представляют собой числа, многие полезные алгоритмы становятся простыми. Еще одним примером являются контрольные суммы.
Пример контрольной суммы пакета:
Каждый пакет содержит дополнительные байты контрольной суммы, поэтому получатель пакета может определить, не были ли повреждены некоторые биты в пакете при передаче. Простым примером схемы контрольной суммы может быть: пройтись по всем байтам и сложить их все. Контрольная сумма — это последние 2 цифры суммы всех байтов; отправить эту контрольную сумму как дополнительный байт вместе с остальными данными пакета. Получатель может выполнить то же вычисление — сложить все байты — чтобы убедиться, что они получают одинаковую контрольную сумму. Фактический алгоритм контрольной суммы более сложен, чем простое сложение байтов, и более способен обнаруживать ошибки. Контрольная сумма вероятностная, не выявляющая 100% ошибок; существует микроскопическая вероятность того, что ошибка произойдет, но контрольная сумма ее не уловит.
Контрольная сумма позволяет получателю заметить, что пакет не прошел должным образом, и заставить отправителя повторно отправить этот пакет. Большинство пакетов проходят нормально, но повторная отправка нескольких пакетов происходит постоянно. Таким образом, когда вы отправляете файл JPEG из одного места в другое, он проходит правильно, вплоть до последнего бита.
Краткое описание Ethernet, IEEE 802.3, формата или структуры кадра данных, а также того, как кадры данных Ethernet отправляются по локальным сетям, глобальным сетям и т. д.
Ethernet, IEEE 802.3 определяет форматы кадров или структуры кадров, которые разрабатываются на уровне MAC стека протоколов. Они позволяют отправлять данные в требуемое место назначения в локальной сети, глобальной сети или любой другой используемой системе. Они также позволяют идентифицировать источник обратных сообщений.
По сути, одна и та же структура кадра используется для различных вариантов Ethernet, хотя в структуру кадра внесены некоторые изменения для повышения производительности системы, если это потребуется.
Из-за высоких скоростей и разнообразия используемых носителей этот базовый формат иногда необходимо адаптировать для удовлетворения индивидуальных требований системы передачи, но это по-прежнему указывается в поправке/обновлении для данного варианта Ethernet.
Однако для большей части данных, отправляемых по локальным сетям, глобальным сетям и т. д., используются стандартные форматы кадров Ethernet.
Формат кадра данных Ethernet MAC
Основной фрейм Ethernet, используемый сегодня, называется фреймом Ethernet типа II. Это формат кадра, разработанный элементами стека уровня 2, который затем передается на физический уровень уровня 1, чтобы поместить его в формат для отправки.
Формат уровня 2 состоит из основных элементов фрейма данных, но без некоторых заголовков, необходимых для фактической отправки общих данных.
Его формат можно увидеть на диаграмме ниже.
Основной формат кадра Ethernet уровня 2
Формат пакета полезной нагрузки Ethernet
Для отправки данных по каналу Ethernet, будь то в локальной сети, глобальной сети или другом канале передачи данных, необходимо добавить некоторые дополнительные элементы к базовому кадру данных MAC, чтобы данные можно было передавать.
Дополнительные элементы относятся к синхронизации и подготовке приемника к приему кадра данных.
Основной общий формат кадра Ethernet
Базовый фрейм состоит из семи элементов, разделенных на три основные области:-
- Заголовок
- Преамбула / SFD: — этот элемент в заголовке добавляется частью уровня 1 стека протоколов. Это позволяет приемнику синхронизироваться и знать, что кадр данных будет отправлен.
- Преамбула (PRE). Это семь байтов, состоящих из чередующихся единиц и нулей, которые информируют принимающие станции о начале кадра, а также о включении синхронизации.< /li>
- Разделитель начала кадра (SFD). Он состоит из одного байта и содержит чередующийся шаблон из единиц и нулей, но заканчивается двумя единицами.
- Проверочная последовательность кадров (FCS) — это поле имеет длину четыре байта. Он содержит 32-битную проверку циклическим избыточным кодом (CRC), которая генерируется для полей DA, SA, длины/типа и данных.
После самого фрейма данных Ethernet имеется межкадровый промежуток не менее 12 байтов данных. Это действует как разделитель, гарантирующий, что получатель знает, что кадр завершен, прежде чем будут отправлены какие-либо дополнительные данные.
Полудуплексная передача
Полудуплекс — это сценарий, при котором данные можно передавать в обоих направлениях по линии, но только в одном направлении за раз.
Полудуплексный режим менее эффективен, чем полный дуплекс, но упрощает систему с точки зрения аппаратного обеспечения и т. д. по сравнению с полным дуплексом, поскольку в каждый момент времени обрабатывается только одно направление передачи.
Этот метод доступа включает использование CSMA/CD и был разработан, чтобы позволить нескольким станциям совместно использовать одну и ту же транспортную среду без необходимости коммутации, сетевых контроллеров или назначенных временных интервалов. Каждая станция может определить, когда она может передавать, и сеть является самоорганизующейся.
Протокол CSMA/CD, используемый для Ethernet и множества других приложений, делится на три категории. Первый — Контроль несущей. Здесь каждая станция прослушивает сеть на наличие трафика и может определить, когда сеть тихая. Во-вторых, это аспект множественного доступа, когда станции могут сами определять, следует ли им передавать. Последним элементом является элемент Collision Detect. Даже если станции могут обнаружить, что сеть свободна, все же возможно, что две станции начнут передачу практически одновременно. Если это произойдет, то два набора передаваемых данных столкнутся. Если это произойдет, то станции смогут обнаружить это и прекратят передачу. Затем они откладываются на случайное количество времени перед попыткой повторной передачи. Случайная задержка важна, поскольку она не позволяет двум станциям начать передачу вместе во второй раз.
Примечание. В соответствии с разделом 3.3 стандарта IEEE 802.3 каждый октет кадра Ethernet, за исключением FCS, передается младшим битом первым.
Полный дуплекс
Полный дуплекс — это схема, при которой передача разрешена в обоих направлениях одновременно, и это основная дуплексная схема, используемая для локальных сетей, глобальных сетей и т. д.
Полный дуплекс обеспечивает гораздо более высокую скорость передачи данных, поскольку системе не нужно ждать, пока завершится передача в другом направлении. Полный дуплекс в настоящее время используется практически для всех передач Ethernet, что обеспечивает гораздо более высокие общие скорости передачи данных. Хотя в Ethernet могут быть определенные ограничения на использование полного дуплекса, теперь он стал стандартом и предлагает гораздо более высокий уровень эффективности
MAC Ethernet контролирует использование полудуплексного/полного дуплекса и определяет, допустимо ли это для любого заданного сценария. Полнодуплексный режим допустим только для двухточечных соединений, и его гораздо проще реализовать, чем использование подхода CSMA/CD, а также он обеспечивает гораздо более высокую пропускную способность при использовании сети.
Стоит отметить, что современные локальные сети, глобальные сети и т. п. состоят из множества двухточечных соединений, которые связаны между собой коммутаторами, концентраторами, маршрутизаторами и т. д. Ethernet.
Не только нет необходимости планировать передачи, когда другие передачи не ведутся, поскольку в канале только две станции, но и при использовании полнодуплексного канала можно осуществлять передачу на полной скорости в обоих направлениях, тем самым удваивая скорость передачи. эффективная пропускная способность.
Адреса Ethernet
Каждой сетевой интерфейсной плате Ethernet, NIC присваивается уникальный идентификатор, называемый MAC-адресом. Он назначается производителем карты, и каждый производитель, который соответствует стандартам IEEE, может подать заявку в регистрационный центр IEEE на диапазон номеров для использования в своих продуктах.
MAC-адреса формируются в соответствии с принципами двух нумерационных пространств на основе расширенных уникальных идентификаторов, EUI, управляемых Институтом инженеров по электротехнике и радиоэлектронике (IEEE): EUI-48, который заменяет устаревший термин MAC-48 (48 бит адреса) и более длинный EUI-64 (64-битные адреса).
С точки зрения их использования и работы может возникнуть некоторая путаница между IP-адресами и MAC-адресами. IP-адреса связаны с сетевыми приложениями и программным обеспечением TCP/IP, а MAC-адрес связан с конкретным оборудованием или сетевым адаптером.
На самом деле ARP-протокол, называемый протоколом разрешения адресов, преобразует IP-адрес в MAC-адрес. ARP можно сравнить с паспортом, который получает данные с IP-адреса через реальное компьютерное оборудование.
Формат MAC-адреса
В номере первые 24 бита определяют производителя. Он известен как идентификатор производителя или уникальный идентификатор организации (OUI), который назначается регистрирующим органом. Вторая половина адреса назначается производителем и называется расширением идентификатора платы.
В качестве примера рассмотрим сетевой адаптер с MAC-адресом "00:14:22:99:99:99". OUI для изготовления этого маршрутизатора — это первые три октета: 00:14:22. Указывает производителя, которым в данном случае является Dell.
MAC-адрес обычно запрограммирован в аппаратном обеспечении, поэтому его нельзя изменить. Поскольку MAC-адрес назначается сетевой карте, он перемещается вместе с компьютером. Даже если интерфейсная карта переместится в другое место по всему миру, пользователь может связаться, поскольку сообщение отправляется на определенный MAC-адрес.
Кадры Ethernet, дуплексная схема и адресация являются ключевыми элементами общей системы адресации Ethernet. Кадры Ethernet обеспечивают стандартный формат данных, чтобы система могла понять, что это такое и как с ним обращаться. Дуплексная схема гарантирует, что передача происходит упорядоченно, а MAC-адреса являются ключом к пониманию того, куда и откуда поступают данные, будь то локальная сеть, глобальная сеть или любые другие данные. используется канал передачи..
Читайте также:
- Преамбула / SFD: — этот элемент в заголовке добавляется частью уровня 1 стека протоколов. Это позволяет приемнику синхронизироваться и знать, что кадр данных будет отправлен.