Введение во встроенные системы и Windows Embedded CE

Стандарты сетевого интерфейса

Разбить на страницы
Показывать лекцию целиком

Эта бензоколонка Ovation2 iX работает под управлением Windows Embedded CE. Она соединена сетью с сервером служебного офиса для обработки транзакций кредитных карт и предоставления удаленной информации для диагностики и обслуживания. Дисплей может также воспроизводить видео рекламу и принимать заказы на еду во время заправки. Фотография с разрешения Dresser Wayne.

Стандарты сетевых интерфейсов

Работа в сети является важным свойством многих современных встроенных устройств. Первая работающая сеть Ethernet была разработана в 1973 г. Бобом Меткалфе в Исследовательском центре Пало Альто компании Xerox. Сеть использовала восьмибитные поля адреса и работала на скорости только 3 Мбит/сек, но общую конструкцию современных систем уже можно увидеть в исходной разработке Меткалфе. Что начиналось как средство для соединения компьютера с принтером вскоре превратилось в самый популярный метод организации компьютеров в сеть.

В конце 1980 г. компании DEC, Intel, и Xerox объединили свои усилия по поддержке соединений Ethernet, когда решили продвигать стандарт Ethernet. Стандарт стал известен как стандарт "DIX", что расшифровывается как "DEC/Intel/Xerox". Стандарт DIX задавал адреса источника и места назначения как 48-битные значения, и передавал данные на скорости 10 Мбит/сек. Стандарт DIX задал базовое основание для всех будущих стандартов Ethernet.

Начиная с 1980 г. стандарт Ethernet постоянно совершенствовался, включая новые технологии и увеличивая скорости сетей (100 Мбит/сек, 1 Гбит/сек). Текущим стандартом соединений Ethernet является IEEE 802.3-2005.

Институт инженеров по электротехнике и радиоэлектронике (IEEE) разработал свой исходный стандарт IEEE 802.3 в 1983 г. Стандарт 802.3 пересматривался каждые несколько лет с основными переработками в базовом стандарте, выполненными в 1998, 2002, и 2005 гг. Микросхемы контроллеров Ethernet широко применяются во встроенных устройствах. В устройстве Ebox 2300 микросхема контроллера Ethernet соединена непосредственно с шиной PCI.

Терминология Ethernet

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

Среда – Среда соединяет устройства Ethernet общим каналом связи и передает сигналы устройств. Среда является обычно витой парой проводов или волоконно-оптическим кабелем.

Сегмент – Сегмент указывает на отдельную общую среду.

Узел – Устройства, которые соединены с сегментом, являются станциями или узлами. Узлы в любой данный момент времени являются либо передающими, либо принимающими.

Кадр – Кадры являются фрагментами информации переменного размера, обмен которыми происходит между узлами. Кадр является минимальным объемом информации, который может передаваться.

Протокол – Протокол Ethernet является множеством правил, которые управляют созданием и интерпретацией кадров.

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

Типы кадров

Имеется несколько типов кадров Ethernet. Следующие четыре являются наиболее распространенными типами кадров:

  • Кадр DIX (Ethernet Ver. 2 или Ethernet II) – самый распространенный, используемый непосредственно в I/li
  • Кадр Novell 802.3 ("raw 802.3") – IEEE 802.3 без IEEE 802.2 LLC
  • Кадр IEEE 802.2 Logical Link Control (LLC)
  • Кадр IEEE 802.2 LLC/Subnetwork Access Protocol(LLC/SNAP)
  • Различные типы кадров имеют различные форматы и значения максимальной единицы передачи (MTU), но могут сосуществовать в одной физической среде. Для коммуникации требуется только, чтобы узлы источника и места назначения могли понимать один и тот же протокол.

    Кадры делятся на определенные области. Каждый тип кадра имеет правила, определяющие, какими могут быть порядок и размер областей. Эти области для кадра DIX показаны на рисунке 4.1.

    (рис 4.1) Кадр Ethernet с разбиением на подполя

    Области определяются следующим образом:

  • Преамбула - 56-битная стартовая область, обозначающая начало кадра Ethernet
  • SFD - Ограничитель начала кадра, 8-битное значение, отмечающее конец преамбулы
  • Адрес MAC места назначения – 48-битный адрес, указывающий, куда направляются данные
  • Адрес MAC источника – 48-битный адрес, указывающий, откуда направляются данные
  • Длина/Тип протокола единицы данных - 16-битное поле метки суб-протокола для длины или типа протокола (длина в байтах только если меньше 1518)
  • Полезная нагрузка – Посылаемые данные
  • CRC (или контрольная последовательность кадра), значение CRC вычисляется на всем кадре. Используется для обнаружения ошибок битов, возникающих во время передачи.
  • Для кадра IEEE 802.2 LLC используется такой же формат, но в качестве поля длины используется Ethertype, за которым следует заголовок LLC. Заголовок LLC сообщает программному обеспечению, будет ли это кадр DIX или кадр IEEE 802.3.

    Все кадры 802.3 должны иметь заголовок LLC. Проверяя этот заголовок, можно определить, следует ли за заголовком LLC заголовок SNAP. Заголовок LLC состоит из двух дополнительных восьми-битных адресных полей, называемых точками служебного доступа (SAP). Когда оба значения SAP источника и места назначения заданы как 0xAA, запрашивается служба SNAP. Заголовок SNAP позволяет использовать значения EtherType со всеми протоколами IEEE 802, а также поддерживать пространства ID протокола конфиденциального обмена. В IEEE 802.3x-1997 стандарт IEEE Ethernet был изменен, чтобы позволить явно использовать 16-битное поле после адресов MAC в качестве поля длины или поля типа.

    CSMA/CD в совместно используемой среде Ethernet

    Первоначально Ethernet использовал среду совместно используемого коаксиального кабеля, который присоединялся к каждой машине в сети. Это можно видеть на рисунке 4.2.

    (рис 4.2) Небольшая сеть Ethernet

    Для осуществления коммуникации был разработан процесс, называемый множественный доступ с контролем несущей и обнаружением конфликтов (CSMA/CD). Этот процесс предоставляет для всех устройств в сети простой метод совместного использования среды для коммуникации. CSMA/CD для каждого узла работает следующим образом:

    Основной процесс

  • Кадр готов для передачи
  • Проверка, что среда свободна. Если нет, ожидание, пока освободится.
  • Начало передачи
  • Проверка, что произошел конфликт. Если произошел, переход к Процессу конфликта.
  • Окончание успешной передачи
  • Процесс конфликта

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

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

    Сегментация, мосты, и маршрутизаторы

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

    Мосты используются для соединения двух или большего количества сегментов в сети. Они посылают и получают передачи как любой другой узел в сети, но отличаются двумя особенностями. Прежде всего, они не порождают никаких собственных кадров, а второе состоит в том, как они соединяют сегменты, с которыми соединяются. На рисунке 4.3, если компьютер А должен послать кадр, то мост получит кадр и проверит его. Только если узлом места назначения будет C или D, он перешлет кадр в сегмент 2. Кроме того, фильтруя, когда понадобится, пакеты, мост делает возможным для станции А пересылку на станцию В одновременно с передачей со станции С на станцию D, позволяя двум разговорам происходить одновременно.

    (рис 4.3) Соединение двух сегментов с помощью моста Ethernet

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

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

    Сетевой протокол TCP/IP

    TCP/IP является семейством коммуникационных протоколов, названным в соответствии с основными протоколами в этой группе: Протокол управления передачей (TCP) и Межсетевой протокол (IP). В 1973 г. начались первые работы над тем, что должно было стать множеством протоколов TCP/IP. Цель проекта состояла в разработке множества программных протоколов, которые могли позволить любой системе соединяться с любой другой системой, независимо от используемой сетевой топологии.

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

    Конструкция пакета TCP/IP основывается на идее инкапсуляции данных для различных уровней использования. TCP/IP делится примерно на четыре слоя следующим образом:

  • Прикладные протоколы – HTTP, SMTP, SSH, и т.д.
  • Транспортные протоколы – TCP, UDP
  • Протоколы сетевой коммуникации – IP
  • Сетевая топология – Ethernet, Wi-Fi, Token Ring, и т.д.
  • Слои предоставляют абстракцию, которая позволяет нижним слоям предоставлять базовые службы, в то время как более высокие слои выполняют более сложные функции. Как можно видеть на рисунке 4.4 ниже, каждый нижний слой инкапсулирует информацию из слоя над ним. Когда информация в определенном слое достигает своего места назначения, заголовки удаляются и данные передаются в следующий слой. Например, когда кадр достигает своего узла назначения, инкапсуляция кадра удаляется и передается в декодер IP.

    (рис 4.4) Слои сетевых протоколов

    Прикладные протоколы

    Прикладные протоколы обрабатывают то, что посылает и получает пользователь. Прикладной слой является самым высоким слоем в пакете TCP/IP. Он используется в основном программами для конечных пользователей и сетевой коммуникации. В этом слое данные форматируются для специальных протоколов. Например, большинство данных Web-страниц будут использовать Протокол передачи гипертекста (HTTP). После форматирования данных они инкапсулируются в протокол транспортного уровня и передаются вниз по иерархии TCP/IP.

    Транспортные протоколы

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

    Двумя основными транспортными протоколами являются TCP и Протокол дейтограмм пользователя (UDP). TCP предоставляет протокол "ориентированный на соединение", в высшей степени контролируемый и надежный. TCP пытается поддерживать надежный поток байтов, гарантируя, что данные прибывают по порядку, дублирующие данные отбрасываются, а потерянные пакеты пересылаются снова. UDP протокол "без соединения", который предоставляет систему негарантированной доставки. UDP использует только простой алгоритм контрольной суммы для обнаружения ошибок. UDP используется в основном для таких приложений, как потоковое медиа, где своевременная доставка более важна, чем надежность.

    Протоколы сетевой коммуникации

    Протоколы сетевой коммуникации представлены IP. IP пересылает пакеты данных из узла источника в узел назначения. Каждому устройству присваивается уникальный 32-битный IP-адрес. Устройства в одной подсети совместно используют верхние адресные биты. IP отвечает за отслеживание адресов устройств в сети, определения, как должны быть доставлены дейтограммы IP, и отправку пакетов IP из одного узла в другой. IP предоставляет только негарантированную доставку пакетов, и не делает никакого контроля ошибок или отслеживания.

    Сетевая топология

    Сетевая топология является просто каналом, соединяющим узлы в сети. Это физическая среда, которая предоставляет базовый слой для перемещения TCP/IP. Этот слой состоит из кабелей, сетевых плат, концентраторов, повторителей, и других устройств соединения.

    Программная поддержка работы сети

    Аппаратные контроллеры Ethernet автоматически буферизуют и пересылают пакеты. Когда буферы входящих пакетов заполняются или буферы исходящих пакетов опустошаются, контроллер Ethernet генерирует прерывание. Для обмена пакетами данных этих буферов с системной памятью часто используется прямой доступ к памяти (DMA).

    Обычно эти задачи выполняет специальный сетевой драйвер оборудования сетевого интерфейса. Требуются низкоуровневые программные процедуры для сборки/извлечения данных в пакетах, вычисления кодов ошибок, и инициирования передачи пакетов в/из контроллера Ethernet. Устройство eBox 2300 содержит однокристальный контроллер Ethernet Realtek 8100B 10/100Mb, который соединяется с шиной PCI.

    Операционные системы, которые обеспечивают поддержку работы сети, реализуют протоколы более высокого уровня (такие как TCP/IP, UDP, FTP, HTTP) в программном обеспечении, и предоставляют соответствующие вызовы функций для использования в приложениях пользователя. Многие операционные системы поддерживают сетевые файловые системы. Предоставляемая для сетей поддержка представляет значительную часть кода в операционной системе. Некоторые распространенные связанные с сетью программы приложений, такие как браузеры Web и клиенты ftp, также могут поставляться с операционной системой или быть доступны от сторонних поставщиков.

    Windows Embedded CE поддерживает Windows Sockets (Winsock). Winsock определяет программный интерфейс на основе интерфейса "сокетов" из Университета Калифорнии в Беркли. Существует много доступных приложений Windows Sockets. Несколько утилит, которые поставляются вместе с Windows Embedded CE, основываются на Windows Sockets, включая клиентов FTP, DHCP, и Telnet. Существуют также высокоуровневые программные интерфейсы, которые основываются на Windows Sockets, такие как Windows Internet API (WinInet), используемый в Internet Explorer, который обеспечивает поддержку для служб FTP и HTTP. Образец браузера, медиа проигрыватель, и приложение обмена сообщениями включены в CE.

    Стандарты беспроводных сетей

    Несколько беспроводных стандартов уже широко используются во встроенных устройствах. Эти беспроводные технологии включают WiFi, Bluetooth, и ZigBee. Свойства и возможности трех этих основных беспроводных стандартов суммируются в таблице 4.1. Драйверы для выбора устройств WiFi и Bluetooth доступны для CE.

    Свойства трех основных беспроводных сетевых стандартов
    Свойство 802.11b/WiFi 802.15.1/Bluetooth 802.15.4/ZigBee
    Область приложения Web, E-mail, видео Замена кабеля Управление мониторинг
    Стоимость $25 $15 $5
    Требования к памяти 1MB+ 250KB 4KB - 32KB+
    Время жизни батареи .5-5 дней 1-7 дней 100-1000 дней
    Размер сети 11,000+ 7 20-250
    Пиковая скорость данных 1, 2, 5.5, 11, (54-802.11g) Mbps 1Mbps

    250 Kbps @ 2.4 GHz

    40 Kbps @ 915 MHz

    20 Kbps @ 868 MHz
    Потребление энергии (целевое) 1.5 W active

    @ 20 dBm

    45 mW sleep

    80 mW active @ 0 dBm 100 mW sleep 60 mW active @ 0 dBm

    5–2000 mW sleep

    (mode dependent)
    Отклонение смежного канала >35 dB 0 dB 0 dB
    Чувствительность приемника –80 dBm –70 dBm –85 dBm

    –92 dBm

    @ 868/915 MHz
    Диапазон прямой видимости ~200 m @ 11 Mbps

    ~500 m @ 1 Mbps

    ~30 m ~100 m, Class 1 ~50 m @ 0 dBm
    Диапазон — в помещении (приблиз.) ~40 m @ 11 Mbps ~100 m @ 1 Mbps ~10 m

    ~30 m, Class 1

    ~10 m @ 0 dBm
    Число каналов 11 - DSSS 79 - FHSS 79 16 @ 2.4 GHz

    10 @ 915 MHz

    1 @ 868 MHz
    Метод модуляции GFSK—FHSS

    BPSK/QPSK—DSSS

    GFSK O-QPSK @ 2.4 GHz

    BPSK @ 868/915 MHz

    Максимальная мощность передачи 20 dBm—FHSS

    30 dBm—DSSS

    20 dBm 30 dBm

    WiFi или стандарт IEEE 802.11x

    WiFi (www.wifialliance.com) является в настоящее время самым широко доступным стандартом беспроводных локальных сетей. Он был предназначен для предоставления беспроводной альтернативы для проводных соединений Ethernet. 802.11 b и 802.11 g используют полосу частот 2.4GHz, а 802.11a использует полосу частот 5GHz. WiFi имеет самый большой радиус действия, самую широкую полосу пропускания, и самые высокие требования к питанию из трех беспроводных стандартов.

    Bluetooth или стандарт IEEE 802.15.1

    Беспроводная технология Bluetooth или стандарт IEEE 802.15.1 (www.bluetooth.org) является системой коммуникации ближнего действия, предназначенной для замены кабельных соединений переносных и/или зафиксированных электронных устройств. Он был разработан первоначально отраслью сотовых телефонов для персональных сетей. Bluetooth действует в нелицензируемой полосе частот 2.4GHz.

    ZigBee или стандарт IEEE 802.15.4

    ZigBee или стандарт IEEE 802.15.4 (www.zigbee.org) является названием спецификации пакета коммуникационных протоколов, использующих небольшие, маломощные цифровые радиоустройства для беспроводных персональных сетей (WPAN). ZigBee предназначен для использования во встроенных устройствах, требующих небольших скоростей передачи данных и низкого энергопотребления. ZigBee можно использовать для настройки дешевой самоорганизующейся ячеистой сети, используя очень низкие уровни питания, так что работающие от батарей устройства могут иметь длительный срок жизни. ZigBee действует в нескольких промышленных, научных и медицинских радиодиапазонах (868 MHz в Европе, 915 MHz в США и 2.4 GHz в большинстве стран по всему миру).

    Большинство беспроводных устройств используют одни и те же частотные диапазоны и эти частоты используются также другими устройствами, такими как беспроводные телефоны и микроволновые печи. WiFi и Bluetooth используют методы скачкообразного изменения частоты и различные каналы для минимизации помех. Помехи могут быть, тем не менее, проблемой, если большое число активных беспроводных устройств находится в тесной близости друг с другом.

    Быстро появляются также многочисленные другие новые беспроводные стандарты, такие как Wireless USB, WAVE, и WiBree. Также доступны модемы данных сотовых телефонов.

    Дополнительная информация

  • Книги TCP/IP Protocol Suite, автора Behrouz A. Forouzan, и The Pocket Guide to TCP/IP Sockets, автора Kenneth L. Calvert содержат более полную информацию о сетях Ethernet, протоколах, и программировании с сокетами.
  • Книга, Programming Microsoft Windows CE .Net, Third Edition, автора Douglas Boling, опубликованная Microsoft Press, содержит в главе 14 дополнительные данные по разработке прикладных программ Windows Embedded CE, которые используют API работы с сетью.
  • Лабораторные упражнения

    Установите свободно доступную программу анализатора протокола Ethereal Network на настольный ПК (http://www.ethereal.com). Запишите последовательность пакетов при просмотре простой Web-страницы. Объясните значение каждого пакета. Выберите один из пакетов с данными и опишите содержание подполей в пакете.

    (рис 4.5) Свободно доступный анализатор протокола Ethereal Network перехватывает и декодирует сетевой трафик на настольном ПК. ПК только что загрузил короткую Web-страницу с удаленного сервера (см. пакеты HTTP выше). (www.ethereal.com)
    Страницы:

    Эта бензоколонка Ovation2 iX работает под управлением Windows Embedded CE. Она соединена сетью с сервером служебного офиса для обработки транзакций кредитных карт и предоставления удаленной информации для диагностики и обслуживания. Дисплей может также воспроизводить видео рекламу и принимать заказы на еду во время заправки. Фотография с разрешения Dresser Wayne.

    Стандарты сетевых интерфейсов

    Работа в сети является важным свойством многих современных встроенных устройств. Первая работающая сеть Ethernet была разработана в 1973 г. Бобом Меткалфе в Исследовательском центре Пало Альто компании Xerox. Сеть использовала восьмибитные поля адреса и работала на скорости только 3 Мбит/сек, но общую конструкцию современных систем уже можно увидеть в исходной разработке Меткалфе. Что начиналось как средство для соединения компьютера с принтером вскоре превратилось в самый популярный метод организации компьютеров в сеть.

    В конце 1980 г. компании DEC, Intel, и Xerox объединили свои усилия по поддержке соединений Ethernet, когда решили продвигать стандарт Ethernet. Стандарт стал известен как стандарт "DIX", что расшифровывается как "DEC/Intel/Xerox". Стандарт DIX задавал адреса источника и места назначения как 48-битные значения, и передавал данные на скорости 10 Мбит/сек. Стандарт DIX задал базовое основание для всех будущих стандартов Ethernet.

    Начиная с 1980 г. стандарт Ethernet постоянно совершенствовался, включая новые технологии и увеличивая скорости сетей (100 Мбит/сек, 1 Гбит/сек). Текущим стандартом соединений Ethernet является IEEE 802.3-2005.

    Институт инженеров по электротехнике и радиоэлектронике (IEEE) разработал свой исходный стандарт IEEE 802.3 в 1983 г. Стандарт 802.3 пересматривался каждые несколько лет с основными переработками в базовом стандарте, выполненными в 1998, 2002, и 2005 гг. Микросхемы контроллеров Ethernet широко применяются во встроенных устройствах. В устройстве Ebox 2300 микросхема контроллера Ethernet соединена непосредственно с шиной PCI.

    Терминология Ethernet

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

    Среда – Среда соединяет устройства Ethernet общим каналом связи и передает сигналы устройств. Среда является обычно витой парой проводов или волоконно-оптическим кабелем.

    Сегмент – Сегмент указывает на отдельную общую среду.

    Узел – Устройства, которые соединены с сегментом, являются станциями или узлами. Узлы в любой данный момент времени являются либо передающими, либо принимающими.

    Кадр – Кадры являются фрагментами информации переменного размера, обмен которыми происходит между узлами. Кадр является минимальным объемом информации, который может передаваться.

    Протокол – Протокол Ethernet является множеством правил, которые управляют созданием и интерпретацией кадров.

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

    Типы кадров

    Имеется несколько типов кадров Ethernet. Следующие четыре являются наиболее распространенными типами кадров:

  • Кадр DIX (Ethernet Ver. 2 или Ethernet II) – самый распространенный, используемый непосредственно в I/li
  • Кадр Novell 802.3 ("raw 802.3") – IEEE 802.3 без IEEE 802.2 LLC
  • Кадр IEEE 802.2 Logical Link Control (LLC)
  • Кадр IEEE 802.2 LLC/Subnetwork Access Protocol(LLC/SNAP)
  • Различные типы кадров имеют различные форматы и значения максимальной единицы передачи (MTU), но могут сосуществовать в одной физической среде. Для коммуникации требуется только, чтобы узлы источника и места назначения могли понимать один и тот же протокол.

    Кадры делятся на определенные области. Каждый тип кадра имеет правила, определяющие, какими могут быть порядок и размер областей. Эти области для кадра DIX показаны на рисунке 4.1.

    (рис 4.1) Кадр Ethernet с разбиением на подполя

    Области определяются следующим образом:

  • Преамбула - 56-битная стартовая область, обозначающая начало кадра Ethernet
  • SFD - Ограничитель начала кадра, 8-битное значение, отмечающее конец преамбулы
  • Адрес MAC места назначения – 48-битный адрес, указывающий, куда направляются данные
  • Адрес MAC источника – 48-битный адрес, указывающий, откуда направляются данные
  • Длина/Тип протокола единицы данных - 16-битное поле метки суб-протокола для длины или типа протокола (длина в байтах только если меньше 1518)
  • Полезная нагрузка – Посылаемые данные
  • CRC (или контрольная последовательность кадра), значение CRC вычисляется на всем кадре. Используется для обнаружения ошибок битов, возникающих во время передачи.
  • Для кадра IEEE 802.2 LLC используется такой же формат, но в качестве поля длины используется Ethertype, за которым следует заголовок LLC. Заголовок LLC сообщает программному обеспечению, будет ли это кадр DIX или кадр IEEE 802.3.

    Все кадры 802.3 должны иметь заголовок LLC. Проверяя этот заголовок, можно определить, следует ли за заголовком LLC заголовок SNAP. Заголовок LLC состоит из двух дополнительных восьми-битных адресных полей, называемых точками служебного доступа (SAP). Когда оба значения SAP источника и места назначения заданы как 0xAA, запрашивается служба SNAP. Заголовок SNAP позволяет использовать значения EtherType со всеми протоколами IEEE 802, а также поддерживать пространства ID протокола конфиденциального обмена. В IEEE 802.3x-1997 стандарт IEEE Ethernet был изменен, чтобы позволить явно использовать 16-битное поле после адресов MAC в качестве поля длины или поля типа.

    CSMA/CD в совместно используемой среде Ethernet

    Первоначально Ethernet использовал среду совместно используемого коаксиального кабеля, который присоединялся к каждой машине в сети. Это можно видеть на рисунке 4.2.

    (рис 4.2) Небольшая сеть Ethernet

    Для осуществления коммуникации был разработан процесс, называемый множественный доступ с контролем несущей и обнаружением конфликтов (CSMA/CD). Этот процесс предоставляет для всех устройств в сети простой метод совместного использования среды для коммуникации. CSMA/CD для каждого узла работает следующим образом:

    Основной процесс

  • Кадр готов для передачи
  • Проверка, что среда свободна. Если нет, ожидание, пока освободится.
  • Начало передачи
  • Проверка, что произошел конфликт. Если произошел, переход к Процессу конфликта.
  • Окончание успешной передачи
  • Процесс конфликта

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

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

    Сегментация, мосты, и маршрутизаторы

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

    Мосты используются для соединения двух или большего количества сегментов в сети. Они посылают и получают передачи как любой другой узел в сети, но отличаются двумя особенностями. Прежде всего, они не порождают никаких собственных кадров, а второе состоит в том, как они соединяют сегменты, с которыми соединяются. На рисунке 4.3, если компьютер А должен послать кадр, то мост получит кадр и проверит его. Только если узлом места назначения будет C или D, он перешлет кадр в сегмент 2. Кроме того, фильтруя, когда понадобится, пакеты, мост делает возможным для станции А пересылку на станцию В одновременно с передачей со станции С на станцию D, позволяя двум разговорам происходить одновременно.

    (рис 4.3) Соединение двух сегментов с помощью моста Ethernet

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

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

    Сетевой протокол TCP/IP

    TCP/IP является семейством коммуникационных протоколов, названным в соответствии с основными протоколами в этой группе: Протокол управления передачей (TCP) и Межсетевой протокол (IP). В 1973 г. начались первые работы над тем, что должно было стать множеством протоколов TCP/IP. Цель проекта состояла в разработке множества программных протоколов, которые могли позволить любой системе соединяться с любой другой системой, независимо от используемой сетевой топологии.

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

    Конструкция пакета TCP/IP основывается на идее инкапсуляции данных для различных уровней использования. TCP/IP делится примерно на четыре слоя следующим образом:

  • Прикладные протоколы – HTTP, SMTP, SSH, и т.д.
  • Транспортные протоколы – TCP, UDP
  • Протоколы сетевой коммуникации – IP
  • Сетевая топология – Ethernet, Wi-Fi, Token Ring, и т.д.
  • Слои предоставляют абстракцию, которая позволяет нижним слоям предоставлять базовые службы, в то время как более высокие слои выполняют более сложные функции. Как можно видеть на рисунке 4.4 ниже, каждый нижний слой инкапсулирует информацию из слоя над ним. Когда информация в определенном слое достигает своего места назначения, заголовки удаляются и данные передаются в следующий слой. Например, когда кадр достигает своего узла назначения, инкапсуляция кадра удаляется и передается в декодер IP.

    (рис 4.4) Слои сетевых протоколов

    Прикладные протоколы

    Прикладные протоколы обрабатывают то, что посылает и получает пользователь. Прикладной слой является самым высоким слоем в пакете TCP/IP. Он используется в основном программами для конечных пользователей и сетевой коммуникации. В этом слое данные форматируются для специальных протоколов. Например, большинство данных Web-страниц будут использовать Протокол передачи гипертекста (HTTP). После форматирования данных они инкапсулируются в протокол транспортного уровня и передаются вниз по иерархии TCP/IP.

    Транспортные протоколы

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

    Двумя основными транспортными протоколами являются TCP и Протокол дейтограмм пользователя (UDP). TCP предоставляет протокол "ориентированный на соединение", в высшей степени контролируемый и надежный. TCP пытается поддерживать надежный поток байтов, гарантируя, что данные прибывают по порядку, дублирующие данные отбрасываются, а потерянные пакеты пересылаются снова. UDP протокол "без соединения", который предоставляет систему негарантированной доставки. UDP использует только простой алгоритм контрольной суммы для обнаружения ошибок. UDP используется в основном для таких приложений, как потоковое медиа, где своевременная доставка более важна, чем надежность.

    Протоколы сетевой коммуникации

    Протоколы сетевой коммуникации представлены IP. IP пересылает пакеты данных из узла источника в узел назначения. Каждому устройству присваивается уникальный 32-битный IP-адрес. Устройства в одной подсети совместно используют верхние адресные биты. IP отвечает за отслеживание адресов устройств в сети, определения, как должны быть доставлены дейтограммы IP, и отправку пакетов IP из одного узла в другой. IP предоставляет только негарантированную доставку пакетов, и не делает никакого контроля ошибок или отслеживания.

    Сетевая топология

    Сетевая топология является просто каналом, соединяющим узлы в сети. Это физическая среда, которая предоставляет базовый слой для перемещения TCP/IP. Этот слой состоит из кабелей, сетевых плат, концентраторов, повторителей, и других устройств соединения.

    Программная поддержка работы сети

    Аппаратные контроллеры Ethernet автоматически буферизуют и пересылают пакеты. Когда буферы входящих пакетов заполняются или буферы исходящих пакетов опустошаются, контроллер Ethernet генерирует прерывание. Для обмена пакетами данных этих буферов с системной памятью часто используется прямой доступ к памяти (DMA).

    Обычно эти задачи выполняет специальный сетевой драйвер оборудования сетевого интерфейса. Требуются низкоуровневые программные процедуры для сборки/извлечения данных в пакетах, вычисления кодов ошибок, и инициирования передачи пакетов в/из контроллера Ethernet. Устройство eBox 2300 содержит однокристальный контроллер Ethernet Realtek 8100B 10/100Mb, который соединяется с шиной PCI.

    Операционные системы, которые обеспечивают поддержку работы сети, реализуют протоколы более высокого уровня (такие как TCP/IP, UDP, FTP, HTTP) в программном обеспечении, и предоставляют соответствующие вызовы функций для использования в приложениях пользователя. Многие операционные системы поддерживают сетевые файловые системы. Предоставляемая для сетей поддержка представляет значительную часть кода в операционной системе. Некоторые распространенные связанные с сетью программы приложений, такие как браузеры Web и клиенты ftp, также могут поставляться с операционной системой или быть доступны от сторонних поставщиков.

    Windows Embedded CE поддерживает Windows Sockets (Winsock). Winsock определяет программный интерфейс на основе интерфейса "сокетов" из Университета Калифорнии в Беркли. Существует много доступных приложений Windows Sockets. Несколько утилит, которые поставляются вместе с Windows Embedded CE, основываются на Windows Sockets, включая клиентов FTP, DHCP, и Telnet. Существуют также высокоуровневые программные интерфейсы, которые основываются на Windows Sockets, такие как Windows Internet API (WinInet), используемый в Internet Explorer, который обеспечивает поддержку для служб FTP и HTTP. Образец браузера, медиа проигрыватель, и приложение обмена сообщениями включены в CE.

    Стандарты беспроводных сетей

    Несколько беспроводных стандартов уже широко используются во встроенных устройствах. Эти беспроводные технологии включают WiFi, Bluetooth, и ZigBee. Свойства и возможности трех этих основных беспроводных стандартов суммируются в таблице 4.1. Драйверы для выбора устройств WiFi и Bluetooth доступны для CE.

    Свойства трех основных беспроводных сетевых стандартов
    Свойство 802.11b/WiFi 802.15.1/Bluetooth 802.15.4/ZigBee
    Область приложения Web, E-mail, видео Замена кабеля Управление мониторинг
    Стоимость $25 $15 $5
    Требования к памяти 1MB+ 250KB 4KB - 32KB+
    Время жизни батареи .5-5 дней 1-7 дней 100-1000 дней
    Размер сети 11,000+ 7 20-250
    Пиковая скорость данных 1, 2, 5.5, 11, (54-802.11g) Mbps 1Mbps

    250 Kbps @ 2.4 GHz

    40 Kbps @ 915 MHz

    20 Kbps @ 868 MHz
    Потребление энергии (целевое) 1.5 W active

    @ 20 dBm

    45 mW sleep

    80 mW active @ 0 dBm 100 mW sleep 60 mW active @ 0 dBm

    5–2000 mW sleep

    (mode dependent)
    Отклонение смежного канала >35 dB 0 dB 0 dB
    Чувствительность приемника –80 dBm –70 dBm –85 dBm

    –92 dBm

    @ 868/915 MHz
    Диапазон прямой видимости ~200 m @ 11 Mbps

    ~500 m @ 1 Mbps

    ~30 m ~100 m, Class 1 ~50 m @ 0 dBm
    Диапазон — в помещении (приблиз.) ~40 m @ 11 Mbps ~100 m @ 1 Mbps ~10 m

    ~30 m, Class 1

    ~10 m @ 0 dBm
    Число каналов 11 - DSSS 79 - FHSS 79 16 @ 2.4 GHz

    10 @ 915 MHz

    1 @ 868 MHz
    Метод модуляции GFSK—FHSS

    BPSK/QPSK—DSSS

    GFSK O-QPSK @ 2.4 GHz

    BPSK @ 868/915 MHz

    Максимальная мощность передачи 20 dBm—FHSS

    30 dBm—DSSS

    20 dBm 30 dBm

    WiFi или стандарт IEEE 802.11x

    WiFi (www.wifialliance.com) является в настоящее время самым широко доступным стандартом беспроводных локальных сетей. Он был предназначен для предоставления беспроводной альтернативы для проводных соединений Ethernet. 802.11 b и 802.11 g используют полосу частот 2.4GHz, а 802.11a использует полосу частот 5GHz. WiFi имеет самый большой радиус действия, самую широкую полосу пропускания, и самые высокие требования к питанию из трех беспроводных стандартов.

    Bluetooth или стандарт IEEE 802.15.1

    Беспроводная технология Bluetooth или стандарт IEEE 802.15.1 (www.bluetooth.org) является системой коммуникации ближнего действия, предназначенной для замены кабельных соединений переносных и/или зафиксированных электронных устройств. Он был разработан первоначально отраслью сотовых телефонов для персональных сетей. Bluetooth действует в нелицензируемой полосе частот 2.4GHz.

    ZigBee или стандарт IEEE 802.15.4

    ZigBee или стандарт IEEE 802.15.4 (www.zigbee.org) является названием спецификации пакета коммуникационных протоколов, использующих небольшие, маломощные цифровые радиоустройства для беспроводных персональных сетей (WPAN). ZigBee предназначен для использования во встроенных устройствах, требующих небольших скоростей передачи данных и низкого энергопотребления. ZigBee можно использовать для настройки дешевой самоорганизующейся ячеистой сети, используя очень низкие уровни питания, так что работающие от батарей устройства могут иметь длительный срок жизни. ZigBee действует в нескольких промышленных, научных и медицинских радиодиапазонах (868 MHz в Европе, 915 MHz в США и 2.4 GHz в большинстве стран по всему миру).

    Большинство беспроводных устройств используют одни и те же частотные диапазоны и эти частоты используются также другими устройствами, такими как беспроводные телефоны и микроволновые печи. WiFi и Bluetooth используют методы скачкообразного изменения частоты и различные каналы для минимизации помех. Помехи могут быть, тем не менее, проблемой, если большое число активных беспроводных устройств находится в тесной близости друг с другом.

    Быстро появляются также многочисленные другие новые беспроводные стандарты, такие как Wireless USB, WAVE, и WiBree. Также доступны модемы данных сотовых телефонов.

    Дополнительная информация

  • Книги TCP/IP Protocol Suite, автора Behrouz A. Forouzan, и The Pocket Guide to TCP/IP Sockets, автора Kenneth L. Calvert содержат более полную информацию о сетях Ethernet, протоколах, и программировании с сокетами.
  • Книга, Programming Microsoft Windows CE .Net, Third Edition, автора Douglas Boling, опубликованная Microsoft Press, содержит в главе 14 дополнительные данные по разработке прикладных программ Windows Embedded CE, которые используют API работы с сетью.
  • Лабораторные упражнения

    Установите свободно доступную программу анализатора протокола Ethereal Network на настольный ПК (http://www.ethereal.com). Запишите последовательность пакетов при просмотре простой Web-страницы. Объясните значение каждого пакета. Выберите один из пакетов с данными и опишите содержание подполей в пакете.

    (рис 4.5) Свободно доступный анализатор протокола Ethereal Network перехватывает и декодирует сетевой трафик на настольном ПК. ПК только что загрузил короткую Web-страницу с удаленного сервера (см. пакеты HTTP выше). (www.ethereal.com)
    Вернуться к учебному плану