Записки программиста
Практически в любой книге по компьютерным сетям вы без труда найдете описание Ethernet-пакетов, ровно как и пакетов IP, TCP, UDP и прочих. Но в тех источниках, что мне встречались, описание это было довольно высокоуровневым, в терминах байтов, которые как-то передаются по витой паре. Но как конкретно единички и нолики представляются при помощи напряжения или тока? Давайте выясним!
Разобраться в происходящем нам поможет, конечно же, осциллограф. В рамках этой заметки мы будем рассматривать исключительно 10-и мегабитный Ethernet, или 10baseT. Более высокоскоростные стандарты 100baseT и 1000baseT работают схожим образом. Однако для их анализа нужен осциллограф с широкой полосой пропускания, которым, как правило, простые радиолюбители вроде нас с вами не обладают.
Если я просто возьму ноутбук и соединю его витой парой со моим роутером, то устройства договорятся использовать стандарт 100baseT, как наиболее быстрый из понимаемых и тем, и другим. Поэтому нужно прямо указать, что интерфейсу следует использовать 10baseT. В Linux это можно сделать, сказав:
Проверить, на какой скорости работает интерфейс, можно командой:
Далее нам нужно как-то увидеть передаваемый сигнал на осциллографе. Для этого я снял изоляцию с витой пары, нашел в ней оранжевый и бело-оранжевый провод, и снял изоляцию с них. Провода оказались многожильными. Чтобы в таком виде витая пара прослужила дольше, провода были залужены.
Теперь к ним можно подключиться щупом осциллографа:
В Ethernet используется дифференциальные сигналы. Это означает, что земли в витой паре как таковой нет. Сигнал передается по паре проводов. По одному проводу идет некий сигнал, а во второму — обратный к нему, инвертированный сигнал. Такой способ передачи информации обеспечивает повышенную устойчивость к помехам. Дифференциальные сигналы используются не только в Ethernet, но также и в CAN, PCI Express, USB, DVI и SATA.
Неудобство при работе с дифференциальными сигналами заключается в том, что подключив щуп осциллографа, как изображено на фото, мы сможем посмотреть сигнал только на одной паре проводов. Связано это с тем, что земля на всех каналах осциллографа общая. Подключив второй щуп, мы соединим через общую землю две несвязанные между собой пары проводов, и тем самым превратим сигнал в тыкву. Для решения этой проблемы существуют специальные устройства, дифференциальные пробы. Самый дешевый дифференциальный проб, который мне удалось найти, называется Micsig DP10013 и продается на eBay примерно за 130$. При этом для каждого канала нужен свой дифференциальный проб. Может оказаться дешевле купить второй осциллограф.
Fun fact! Оранжевая пара проводов используется для передачи сигнала от компьютера к роутеру, а зеленая пара — для передачи от роутера к компьютеру. Все четыре пары начинают использоваться, начиная только с гигабитного Ethernet’а (1000baseT). Именно поэтому встречаются Ethernet-кабели, имеющие лишь две пары проводов.
Итак, если все было сделано правильно, на осциллографе мы начнем видеть Ethernet-фреймы:

Пакеты большие, поэтому рассматривать их в осциллографе не очень удобно. К счастью, все данные можно сохранить на флешку в формате CSV, перекинуть на компьютер, и затем импортировать в Audacity. Единственная сложность заключается в том, что осциллограф пишет напряжение в вольтах, а Audacity при импорте нужны относительные значения от -1 до 1. Но эта проблема решается в сорок строк на Python. Код скрипта вы найдете в исходниках к посту, в файле rigol_to_audacity.py.
Для импорта данных в Audacity говорим Generate → Sample Data Import… и выбираем текстовый файл, полученный благодаря скрипту. Вот что мы увидим в итоге:

Здесь используется манчестерское кодирование. В отличие от всяких SPI, I2C и UART, кодирующих единички и нолики высоким и низким напряжением, в манчестерском кодировании используется не напряжение, а восходящие и нисходящие фронты сигнала. Такой подход интересен тем, что он не нуждается в отдельном проводе для передачи тактового сигнала. Все, что нужно для синхронизации передающей и принимающей стороны, содержится в самом сигнале.
Тот же скриншот, только с единичками и ноликами:

Примечание: Поскольку существует ровно два способа подключить проб осциллографа к двум проводам, у вас сигнал может получиться либо точно таким же, либо перевернутым.
Обратите внимание, что единички и нолики передаются с фиксированной скоростью (расстояние между всеми стрелочками на изображении одинаковое). Таким образом, если передающей стороне для передачи следующего бита нужно предварительно повысить или понизить напряжение, она может спокойно это сделать между передачей двух битов. Принимающей стороной такой переход будет проигнорирован.
Поскольку искать единички и нолики в Audacity довольно утомительно, был написан еще один скрипт, делающий за нас эту рутинную работу. Его вы найдете в исходниках к этой заметке под именем ethernet_decode.py. Благодаря скрипту мы можем увидеть весь Ethernet-фрейм в бинарном виде:
# Преамбула занимает 8 байт. Помимо прочего, она может быть
# использована для калибровки часов на принимающей стороне.
10101010
10101010
10101010
10101010
10101010
10101010
10101010
10101011
# MAC-адрес получателя: E4:95:6E:43:42:7F
# Важно! Используется порядок бит lsb-first.
00100111
10101001
01110110
11000010
01000010
11111110
# MAC-адрес отправителя: 0E:18:77:10:72:DC
00000111
00011000
11101110
00001000
01001110
00111011
# Тип пакета: 08 00, означает IPv4
# https://en.wikipedia.org/wiki/EtherType#Examples
00010000
00000000
# Полезная нагрузка: от 46 до 1500 байт,
# в данном случае — 84 байта.
10100010
00000000
00000000
00101010
# . и так далее, см payload.dat
# Контрольная сумма фрейма:
00010001 # 0x88
10100110 # 0x65
00101001 # 0x94
00000111 # 0xE0
Контрольная сумма является самым обыкновенным CRC32 и вычисляется от всего фрейма за исключением преамбулы и, понятно, самой контрольной суммы. Скрипт ethernet_decode.py сохраняет соответствующие данные в отдельном бинарном файле, благодаря чему контрольную сумму очень легко проверить:
Как видите, контрольная сумма сходится, только порядок байт в Ethernet используется обратный.
Также скрипт сохраняет в отдельном файле полезную нагрузку фрейма. Его при желании можно открыть в Wireshark. Для этого полезную нагрузку нужно перевести из бинарного формата в текстовый:
… а затем воспользоваться диалогом File → Import from Hex Dump. В выпадающем списке Encapsulation type выбираем Raw IPv4. В данном случае полезной нагрузкой был ICMP-пакет, посланный командой ping mail.ru .
Итак, теперь мы знаем, как именно единички и нолики передаются по витой паре! Если вам хочется пойти дальше, и узнать о форматах IP, TCP, UDP и прочих пакетов, по этой теме можно найти информацию в Википедии. Кроме того, можно порекомендовать книгу «Компьютерные сети: принципы, технологии, протоколы» за авторством Виктора и Натальи Олифер. Из инструментов вам пригодятся уже упомянутый Wireshark, а также tcpdump и libpcap.
Все исходники к этой заметке вы найдете в этом репозитории на GitHub. Как всегда, буду рад вашим вопросам и дополнениям.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.
Troubleshooting Ethernet Problems with your Oscilloscope
With the optional serial triggering and analysis capability, Tektronix oscilloscopes become power tools for embedded system designers working with Ethernet buses. In this application note, the 5 Series MSO is used to demonstrate Ethernet serial bus decoding and triggering.
Other Tektronix oscilloscopes also support Ethernet triggering and analysis. See “Serial Support Using Oscilloscopes and Optional Software” for a complete listing.
Introduction
Ethernet is a family of frame-based computer networking technologies for local area networks (LANs), initially developed at Xerox PARC in the early 1970s. The first standard draft was published in 1980 by the Institute of Electrical and Electronics Engineers (IEEE). Approval of IEEE 802.3 CSMA/CD occurred in 1982 and the international ISO/IEEE 802.3 standard was approved in 1984.
The popularity of 10BASE-T and 100BASE-TX and decreasing implementation cost have spurred their use in embedded system designs, as well as continuing to be used as a system-level interconnect technology.
Analyzing Ethernet traffic, both at the physical and protocol layers, enables verification of communication between connected systems and can provide insight into the operation of subsystems in an embedded design. However, a single differential Ethernet signal includes address, control, data, and clock information, which can make isolating events of interest difficult. Ethernet Serial Triggering and Analysis options transform select Tektronix oscilloscopes (listed in Appendix A) into robust tools for debugging 10BASE-T and 100BASE-TX-based systems with automatic trigger, decode, and search.
How it Works
Two of the most common versions of Ethernet are 10BASE-T and 100BASE-TX which are found on most personal computers. The leading number represents the data rate in Mb/s. BASE indicates that the signals are baseband signals and there is no RF signal modulation. The T denotes the twisted pair wires that are in the LAN cable that is used between network nodes.
Ethernet provides peer-to-peer packet-based communication, enabling direct point-to-point communication. At the physical layer, the 10BASE-T and 100BASE-TX signals transport address, control, data, and clock information. The data is transferred in sequences of data bytes called packets. Ethernet packets can carry other, higher-level protocol packets inside of them. For example, an Ethernet packet may contain an Internet Protocol (IP) packet, which in turn may contain a Transmission Control Protocol (TCP) packet. This signal complexity makes isolating events of interest difficult when analyzing 10BASE-T and 100BASE-TX waveforms.
The Ethernet data frame format is defined by the IEEE 802.3 standard and contains seven fields:
TYPE
PREAMBLE
START-OF-FRAME DELIMITER
DESTINATION ADDRESS
SOURCE ADDRESS
LENGTH/TYPE
DATA + PAD
FRAME CHECK SEQUENCE
BYTES
7
1
6
6
2
46-1500
4
• The Preamble is seven bytes long consisting of an alternating pattern of ones and zeros for synchronization.
• The Start-of-frame Delimiter is a single byte with alternating ones and zeros but ending in two ones.
• The Destination and Source Media Access Control (MAC) Addresses are each six bytes long, transmitted in most- significant to least-significant bit order. Each Ethernet node is assigned a unique MAC address which is used to specify both the destination and the source of each data packet.
• The Length/Type field is a two-byte value. If the decimal value of Length/Type is ≤1500, it represents the number of data bytes in the data field. If the value of Length/Type is >1536 (0x0600), it is an EtherType value which specifies the protocol that is encapsulated in the payload of the Ethernet frame. (For example, EtherType is set to 0x0800 for IPv4.)
• The Data packet contains 46 to 1500 bytes. If the data is less than 46 bytes long, the data field is padded to be 46 bytes long.
• The Frame Check Sequence is a 32-bit cyclic redundancy check (CRC) and provides error checking across the Destination Address, Source Address, Length/Type and Data fields.
• After each frame has been sent, transmitters are required to transmit a minimum of 12 bytes of idle characters before transmitting the next frame, or they must remain idle for an equal amount of time by de-asserting the transmit enable signal.

SETTING UP 10BASE-T ETHERNET BUS DECODING
On Tektronix oscilloscopes, pressing the front panel Bus button enables you to define inputs to the scope as a bus. By simply entering the basic parameters of the Ethernet bus including the speed and type of signal, the input channel, and voltage thresholds, as shown at the left, you enable the oscilloscope to understand the information being transmitted across the bus. The Ethernet bus is a differential signal. Although the oscilloscope can acquire and decode the bus using single-ended probing, the signal fidelity and noise immunity is improved by using differential probing.

The decoded display provides a higher-level, combined view of the individual signals that make up 10BASE-T and 100BASE-TX, making it easy to identify where packets begin and end as well as sub-packet components. Each packet on the bus is decoded, and the value can be displayed in hex, binary, or ASCII in the bus waveform.

In addition to seeing decoded packet data on the bus waveform itself, you can view all captured packets in a tabular view much like you would see in a software listing. Packets are time stamped and listed consecutively with columns for each component (Time, Destination Address, Source Address, Length, Data, FCS/CRC, Errors).
On the 5 Series MSO, the Results Table view links back to the waveform displays. You can tap a line in the tabular display and the oscilloscope automatically zooms in on the corresponding bus signals and resulting decoded bus waveform, shown in the lower section of the screen.

TRIGGER ON
DESCRIPTION
Start of Frame
Start of Frame Delimiter
MAC Addresses
MAC Destination and Source Addresses
MAC Length/Type
MAC Length or EtherType (e.g. IPV4)
IP Header
IP Protocol and Destination and Source Addresses
TCP Header
TCP Source and Destination Ports, Sequence and Ack Numbers
Client Data
End of Packet
End of Packet Delimiter
Idle
FCS (CRC) Error
Frame Check Sequence Error
TRIGGERING ON THE 10BASE-T ETHERNET BUS
The automated analysis on the oscilloscope can be configured to isolate, capture and display specific values on the bus. In this example the oscilloscope is set to trigger on a 10BASE-T
Ethernet data transfer from IP Address 134.62.71.175 to IP Address 134.62.71.1.
The oscilloscope can trigger on the Ethernet packet content shown in the table.

SEARCHING ON THE ETHERNET BUS
Serial triggering is very useful for isolating the event of interest, but once you’ve captured it and need to analyze the surrounding data, what do you do? Simply use Wave Inspector to automatically search through the acquired data for user-defined criteria including serial packet content.
Search options are the same as the trigger options shown on the previous page. In this example, search is set up to look for data values of 0x00 and it found 31 events. Each occurrence is highlighted by a search mark. Rapid navigation between marks is as simple as pressing the Previous and Next buttons on the oscilloscope front panel.

WORKING WITH 100BASE-TX BUSES
Setting up a 100BASE-TX bus is similar to setting up a 10BASE-T bus. You define a 100BASE-TX Ethernet bus by entering the basic parameters of the bus including the speed and type of signal, the input channel, and voltage thresholds.

Unlike the 10BASE-T signal which has visible bursts of signal activity, the 100BASE-TX signal is almost constantly transitioning because of the scrambling that is used, even in the idle state. So protocol-aware bus triggering is especially important, even for simply viewing the decoded bus information. In this case, the default Trigger On Start of Frame provides a stable display.

Adding the Results Table view of the decoded information provides a timestamped display of the bus activity that can be easily compared to the software listings. Tapping a line in the Results Table automatically zooms in on the corresponding bus signals and resulting decoded bus waveform, shown in the lower section of the display.

The decoded bus display above shows that three bursts of bus activity were captured. To find specific values in the activity, you can use Wave Inspector automatic search to mark each specified evet. In this example, the automated bus search is configured to find all Frame Check Sequence errors and it shows 3 events, at the end of each burst of bus activity.
Как тестировать сигнал изернет осциллографом
Испытания устройств на соответствие стандарту Ethernet 10/100/1000 Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»
Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Чунг Даниел
В статье приведен обзор методов электрических испытаний широко распространенных устройств 10BASE-T, 100BASE-TX и 1000BASE-T. По мере роста скорости передачи от 10 до 1000 Мбит/с увеличивается и сложность сигналов, используемых для передачи данных в сети Ethernet. Эта тенденция сохранится и в будущем, поскольку конструкторы вынуждены применять все более сложные схемы модуляции для передачи большего объема данных по кабелю UTP с ограниченной полосой сигнала.
Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Чунг Даниел
Текст научной работы на тему «Испытания устройств на соответствие стандарту Ethernet 10/100/1000»
на соответствие стандарту Ethernet 10/100/1000
В статье приведен обзор методов электрических испытаний широко распространенных устройств 10BASE-T, 100BASE-TX и 1000BASE-T. По мере роста скорости передачи от 10 до 1000 Мбит/с увеличивается и сложность сигналов, используемых для передачи данных в сети Ethernet. Эта тенденция сохранится и в будущем, поскольку конструкторы вынуждены применять все более сложные схемы модуляции для передачи большего объема данных по кабелю UTP с ограниченной полосой сигнала.
Указания по применению
Количество устройств со встроенным сетевым интерфейсом постоянно растет и будет расти, потому что разрабатывается и выпускается все больше цифровых развлекательных устройств с возможностью подключения к сети. Сегодня диапазон устройств с цифровым интерфейсом простирается от персональных компьютеров до камер видеонаблюдения. Времена, когда порт 10 Мбит/с можно было встретить только в больших серверах и в системном сетевом оборудовании, остались далеко в прошлом.
Рис. 1. 8-контактная вилка RJ-45 (8P8C)
Таблица. Назначение выводов 8-контактной вилки ^-45 для кабеля с прямой разводкой стандартов ЮБЛвЕ-Т, 100ВА8Е-ТХ и 1000ВА8Е-Т.
ТЭ/РЭ означает передачу-прием данных.
В!_Эх означает двунаправленную пару проводов х
Контакт 10BASE-T/100BASE-TX 1000BASE-T
4 Не используется BI_DC+
5 Не используется BI _ о 0 1
б RD- BI _ 0 СР 1
7 Не используется BI_DD+
8 Не используется BI _ о 0 1
Обычно в этих портах, известных также как порты «LAN», используются стандарты 10BASE-T, 100BASE-TX и 1000BASE-T или их комбинации. Эти стандарты позволяют передавать данные по кабелю ШТ с 8-контактным разъемом RJ-45 со скоростью 10, 100 или 1000 Мбит/с. В этой статье мы кратко опишем электрические сигналы, которые используются в этих технологиях, и расскажем о быстрых способах их тестирования и контроля. Эта информация будет полезной для инженеров, занятых проверкой реализации интерфейсов 10BASE-T, 100BASE-TX и 1000BASE-T в своих устройствах.
Стандарт-долгожитель. 10BASE-T применяется с 1990 года и пока не собирается сходить со сцены, хотя многие считают его устаревшим. Он обеспечивает передачу данных со скоростью 10 Мбит/с по двум витым парам кабеля категории 3 или 5, причем одна пара используется для передачи, а другая для приема. Две другие пары кабеля не используются.
100BASE-TX — самая распространенная версия протокола 100 Мбит/с Ethernet (известная еще как Fast Ethernet), используемая для передачи по кабелю UTP. Она использует для приема и передачи те же пары, что и 10BASE-T, но требует применения кабеля категории 5 и выше.
1000BASE-T — самая распространенная версия протокола 1000 Мбит/с Ethernet (известного еще как Gigabit Ethernet), используемая для передачи по кабелю UTP. Она использует все четыре пары кабеля UTP и требует применения кабеля категории 5E и выше.
На рис. 1 ив таблице показано назначение выводов 8-контактного разъема RJ-45 для кабеля с прямой разводкой.
Снятие сигналов 10BASE-T и измерение их параметров
В стандарте 10BASE-T используется передача дифференциальных сигналов, и наиболее
Рис. 2. а) Цепь 10ВЛ8Е-Т ТЭ, непосредственно подключенная к нагрузке. Выходное напряжение Уо измеряется на нагрузке; б) цепь 10ВЛ8Е-Т ТЭ, подключенная к нагрузке через имитатор витой пары (ТРМ)
□ 1150м j П 76,8 0м J
Ls = L ±1% Rp>2 кОм
Ср= 12 пф ±20% Rs<0,5 Ом
Рис. 3. Нагрузки 1 и 2, используемые для тестирования 10BASE-T
простым методом их регистрации является снятие сигнала с нагрузочного резистора 100 Ом, подключенного к контактам TD+ и TD-(рис. 2a). Кроме активной нагрузки 100 Ом, стандарт предусматривает для тестирования две дополнительные нагрузки. Эти дополнительные нагрузки показаны на рис. 3. Кроме прямого соединения цепи TD с нагрузкой, стандарт описывает применение «имитатора витой пары» (TPM). TPM представляет собой эквивалентную цепь, которая имитирует искаже-
ния, вносимые симплексным сегментом соединения, и состоит из четырех RLC-цепей (здесь не показаны). Измерения некоторых параметров 10BASE-T выполняются итерационно с TPM и без него, на нагрузках 1 и 2, включая активную нагрузку 100 Ом. Таким образом, измерений получается довольно много.
Теперь рассмотрим формы сигналов 10BASE-T. Обычно для тестирования используются сигналы четырех различных типов. Если не оговорено особо, все рассматривае-
мые в этой статье сигналы измеряются по схеме, приведенной на рис. 2a, с активной нагрузкой 100 Ом.
К первому типу сигналов относится сигнал LTP или импульс проверки соединения (NLP), или нормальный импульс соединения (рис. 4). LTP — это первый сигнал, передаваемый передатчиком, который используется, чтобы показать присутствие активного передатчика. Если на противоположном конце линии присутствует другое активное устройство, оно отвечает своим сигналом LTP. Также LTP используется в пакетах для формирования слов данных во время обмена информацией о возможностях устройства в процессе установки соединения. Во всех случаях LTP должен укладываться в определенный шаблон для всех комбинаций нагрузок — как с имитатором витой пары, так и без него (рис. 5).
Следующий сигнал, который представляет для нас интерес, это сигнал TP_IDL. Данные 10BASE-T передаются пакетами, в которых применяется манчестерское кодирование (значения битов определяются по переходам сигна-
РШИРНИ ШШШ —1 2GHz Reduced ВИ 1-
Ь“—| LTP без TPM N
Vertical Scale Offset Horizontal Scale Position
536 eV/dlv 1 .330(30 V 100 ns/dlv 6.0 s
590 nV/dlv ) 99009 V 190 ne/dlv 9.9*
г, о , с ЩЕИ БШБЗ^Н• • її iLilB : 'MarkersjМж* Test Cc4cr&a4jP4 1
Рис. 4. Импульс проверки соединения (LTP) с имитатором витой пары (TPM) и без него
Рис. 5. Сигнал LTP с TPM в шаблоне LTP
I lk> c:ontro< SctU) Мяпчгс An.Vy/P Utilities Help
Vertical Scale Offset
Horizontal Scale Position
Рис. 6. Случайные пакеты данных с манчестерской кодировкой
Рис. 7. ТР_Ю1_ — положительный импульс длительностью 300 или 350 нс, в зависимости от значения последнего бита (единица или ноль, соответственно)
ПМ СопГго) ММШГ* А|ы1у/1> 1ЛП1(1о* Нф
1 т -г! *|¥вк1 *| Ш -о * < о |»[ о ОДД ; '
Рис. 8. Сравнение сигнала ТР_Ю1_ с маской
Рис. 9. Сигнал в манчестерской кодировке, состоящий из единиц
Рис. 10. Экран осциллографа разделен на 2 части: верхняя часть соответствует сигналу в манчестерской кодировке, состоящему из всех единиц, нижняя часть экрана получена в результате применения функции FFT для измерения гармоник сигнала в манчестерской кодировке, состоящего из всех единиц
Рис. 11. Пустая последовательность данных в кодировке М1_Т-3, поступающая от передатчика 100ВДЗБ-ТХ
ла), причем пакеты отделяются пустыми промежутками, известными также как межфрей-мовые промежутки (рис. 6, 7). Сигнал ТР_ГОЬ показывает начало пустого промежутка и, следовательно, располагается в конце каждого пакета данных. Как и сигнал ЬТР, сигнал ТР_ГОЬ должен укладываться в определенный шаблон для всех комбинаций нагрузки — как с имитатором витой пары, так и без него (рис. 8).
В нижней части экрана (рис. 6) показан увеличенный фрагмент сигнала, соответствующий белому прямоугольнику в верхней части экрана.
Номинальная частота сигнала 10ВА8Е-Т равна 10 МГц. Сигнал из всех единиц в манчестерской кодировке соответствует сигналу частотой 10 МГц (рис. 9). Этот состоящий из одних единиц сигнал используется для проверки уровня всех гармоник в цепи передачи, который должен быть как минимум на 27 дБ ниже уровня основной частоты. Это измерение выполняется достаточно просто на большинстве современных цифровых осцилло-
графов с функцией быстрого преобразования Фурье (БЬТ). Применение ББТ с функцией окна Хеннинга для повышения точности частоты позволяет легко измерить амплитуду сигнала 10 МГц и всех его гармоник.
На экране (рис. 10) показан один маркер, установленный на основную частоту 10 МГц, и другой маркер, установленный на третью гармонику (30 МГц).
Показанная на рис. 10 амплитуда третьей гармоники составляет -28,45 дБ относительно амплитуды основной гармоники. Кроме сравнения с маской и замера уровня гармоник, можно измерить пиковое дифференциальное выходное напряжение и синфазное напряжение. Эти тесты выполняются для случайных сигналов данных, как показано на рис. 6, и являются относительно простыми.
100ВА8Е-ТХ использует схему линейного кодирования, известную как МЬТ-3, в которой применяется трехуровневый сигнал, при-
чем каждый переход соответствует логической единице. Линейное кодирование МЬТ-3 позволяет использовать меньшую полосу частот, чем потребовалась бы для другой схемы кодирования, такой как ЫР2, при той же скорости передачи. Тестирование 100ВА8Е-ТХ выполняется путем передачи пустых последовательностей данных с применением кода МЬТ-3. Во многих устройствах выбор скорости 100 Мбит/с автоматически переводит устройство в режим вывода пустой последовательности данных, часть которой показана на рис. 11. Эта последовательность используется во всех тестах 100ВА8Е-ТХ.
Для быстрой проверки выходного сигнала передатчика 100ВА8Е-ТХ можно использовать глазковую диаграмму. Заметьте, что использование этой диаграммы не заменяет тщательной проверки параметров 100ВА8Е-ТХ, но позволяет достаточно точно оценить качество передатчика.
Осциллограф, используемый для создания этой диаграммы (рис. 12), синхронизирует-
File Сс mtrol Se<4> Momura 3:70 PM
NtOГ*» (ЮГ?) Egg mm, .. ■ гтгг;. |1 ■ j \ ! : НП
IVIrlo All Source channel 1 Vortical Scale MO aV/dlv Offset Horizontal Scale Position E 0.0 V 2.00000 ua/dlv 4.0000000 us
Рис. 13. Один период сигнала тестового режима 1 спомеченными тестовыми точками отA до M
ся по сигналу тактовой частоты, выделенному из передаваемого сигнала.
1000ВА8Е-Т передает данные по всем четырем витым парам и использует для передачи данных пятиуровневую импульсную модуляцию, получившую название РАМ5. Тестирование нормальной передачи данных, аналогичное стандартам 10ВА8Е-Т или 100ВА8Е-ТХ, выполняется уже не так просто, поэтому данный стандарт определяет четыре различных тестовых режима. Они называются тестовыми режимами 1-4 и устанавливаются путем записи соответствующих значений в биты 13-15 регистра управления 1000ВА8Е-Т (регистр 9.13:15). Тесты выполняются по всем четырем парам передатчика.
В тестовом режиме 1 передатчик передает все пять уровней сигнала кодировки РАМ5, которые представляются последовательностью символов «+2», «-2», «+1» и «-1», разделяемых 127 символами «0». Затем дважды повторяется длинная строка, состоящая из 128 символов «+2» и «-2», после чего передается 1024 символа «0». Затем представляющие интерес точки результирующего сигнала помечаются буквами от А до М (I пропускается), рис. 13. Точки А, В, С и Б соответствуют символам «+2,» «-2,» «+1» и «-1».
В тестовом режиме 1 выполняются три теста. Сначала измеряется пиковое напряжение в точках А, В, С и Б. Сравниваются также напряжения в точках А и В — они не должны отличаться более чем на 1%. Эти измерения достаточно просты — нужно просто растянуть сигнал в интересующей точке и выполнить измерение.
Затем выполняется тестирование по маске. Точки А, В, С, Б, Б и Н должны укладываться в определенные маски после прохождения через ФВЧ с частотой среза 2 МГц и нормализации по определенным правилам. Эти тесты можно выполнять с помощью современных цифровых осциллографов, как показа-
но на рис. 14а-в, используя, например, измерение сигнала в точке А.
Кроме тестирования по маске выполняется также тест спада импульса на длинных последовательностях символов «+2» и «-2». Спад напряжения измеряется от точки Б (минимальное напряжение в начале символа «-2») до точки О (средняя точка символа «-2»), а также от точки Н до точки I.
Теперь взглянем на тестовые режимы 2 и 3. В этом случае сигналы состоят из перемежающихся символов «+2» и «-2», синхронизированных с тактовой частотой 125 МГц, называемой ТХ_ТСБК. Тестовые режимы 2 и 3 отличаются источником синхросигнала. Тестовый режим 2 называется режимом Ведущего и использует тактовый сигнал самого передатчика, тогда как тестовый режим 3
f Display On Operatcr ® 5са11пд a "»1 4
Pass Filter . • nJafe User Defined FincDcn
W Ospt^Cr, Cperater__________
» Scaling . • rebates User Defried RrctJon
Vffbcal r Automate * Manuri Scale hfcriicnta* r Automat* * Maru4 ■ ? —
•teawtnwrte: Mss* T«t | Color Gr«J*
Vortical Scale Offset
ITS aV/dlv 3SO.0OO «V
Рис. 14. a) В этом примере цифровой осциллограф позволяет обрабатывать сигнал с помощью различных функций. На данной иллюстрации сигнал канала 1 с помощью функции 2 пропускается через ФВЧ с частотой среза 2 МГц;
б) затем функция 3 усиливает отфильтрованный функцией 2 сигнал для нормализации;
в) отфильтрованный и нормализованный сигнал в точке A сдвигается так, чтобы как можно точнее вписаться в маску
Control Sotij) Mcawre Analyze К И» to* Itotp
F го<зие-< у (1 • 1 Freq-cncyC •) R
Current 62.3450 125.71» тг
62.497410 KHz 124.99516 Жг
И1П 61.9602 ИИг 123.849 ЯН/
Идх 62.9739 126.035 ИНг
Рис. 15. Сигнал тестового режима 2/3 с сигналом TX_TCLK частотой 125 МГц
Рис. 16. Сигнал тестового режима 4
называется режимом Ведомого и использует тактовый сигнал, извлеченный из данных, передаваемых по линии Ведущим устройством. Для измерения джиттера устройства 1000ВА8Е-Т нужно получить доступ к его сигналу ТХ_ТСЬК. Информацию о том, на какие контакты выводится сигнал ТХ_ТСЬК, можно найти в техническом описании устройства 1000ВА8Е-Т. Форма сигнала в тестовых режимах 2 и 3 в сущности одинакова. На рис. 15 показан образец такого сигнала и сигнал ТХ_ТСЬК. Измерение джиттера подробно описываться не будет, поскольку это выходит за рамки данной статьи.
Наконец, рассмотрим тестовый режим 4. В тестовом режиме 4 устройство выводит псевдослучайную битовую последовательность, состоящую из 2047 символов в кодировке РАМ5 и пропущенную через фильтр с частичным откликом. На выходе фильтра получается сигнал с 17 уровнями, который показан на рис. 16. Сигнал тестового режима 4 дает представление о форме реального сигнала, передаваемого устройством 1000ВА8Е-Т. Выходной сигнал тестового режима 4 используется в качестве источника для измерения пиковых искажений передатчика.
Измерить искажения одним только осциллографом нельзя, это измерение требует последующей обработки для расчета искажений. В качестве образца в стандарте приведен эталонный код МАТЬАВ для расчета искажений. Если не вдаваться в подробности, с помощью этого кода считывается каждый из 2047 символов с произвольной фазой, тактируемой от сигнала ТХ_ТСЬК. Затем измеряются искажения каждого отсчета и максимальное значение регистрируется в качестве пикового искажения. Как правило, эта процедура связана с обработкой большого числа значений, охватывающих несколько периодов сигнала тестового режима 4. Затем полученная запись сигнала передается в компьютер и обрабатывается согласно алгоритму, описанному в эталонном коде МАТЬАВ.
Как и в случае 10ВА8Е-Т, где стандартом предписывается выполнение некоторых тестов с имитатором витой пары, стандарт 1000ВА8Е-Т также требует выполнения некоторых измерений в тестовых режимах 1 и 4 в присутствии сигнала помехи. В качестве источника помехи определен генератор синусоидального сигнала, имитирующий потенциально вредное воздействие другого передатчика 1000ВА8Е-Т. Однако подробное
описание теста с сигналом помехи выходит за рамки данной статьи.
В статье приведен обзор методов электрических испытаний широко распространенных устройств 10BASE-T, 100BASE-TX и 1000BASE-T. По мере роста скорости передачи от 10 до 1000 Мбит/с увеличивается и сложность сигналов, используемых для передачи данных в сети Ethernet. Эта тенденция сохранится и в будущем, поскольку конструкторы вынуждены применять все более сложные схемы модуляции для передачи большего объема данных по кабелю UTP с ограниченной полосой сигнала.
Качество и целостность сигнала измерительного прибора является залогом того, что вы получите достоверное представление сигналов, которые измеряете. Большинство описанных здесь измерений можно выполнить вручную на современном цифровом осциллографе. Сигналы, показанные на иллюстрациях, были получены с помощью стандартных серийно выпускаемых сетевых карт и захвачены осциллографом серии Agilent 80000 с помощью активного дифференциального щупа. Для подключения щупа по схеме, показанной на рис. 2 и 3, использовалось контактное приспособление Agilent N5395B, специально предназначенное для работы с сигналами Ethernet. Имеется также автоматическая программа тестирования, которую можно использовать с контактным приспособлением N5395B. ■
1. Техническое описание №392А, программное обеспечение для электрических испытаний и тестирования на соответствие устройств ЕШете! для осциллографов 1пАпиит. 5989-1527ЕМ.
2. Техническое описание осциллографов серии 1пАшшт Б8080000В и щупы серии 1пАпиМах. 5989-4606ЕМ.
Как тестировать сигнал изернет осциллографом
Delovar » 22 фев 2010, 16:31
Re: Как увидеть электрический сигнал Ethernet?
Designer » 23 фев 2010, 13:33
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 23 фев 2010, 19:21
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 23 фев 2010, 19:31
Re: Как увидеть электрический сигнал Ethernet?
UrfinJ » 24 фев 2010, 22:11
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 24 фев 2010, 22:35
Re: Как увидеть электрический сигнал Ethernet?
ASD » 24 фев 2010, 23:43
Информация передается кодом Манчестер II. Длительность тактового интервала (время передачи одного бита) — величина, обратная скорости передачи. Например, 10 Мбит/с соответствует 0,1 мкс. Нарастающий перепад в середине тактового интервала — 1, спадающий — 0. Если смежные биты одинаковы(00 или 11)- между ними добавляется перепад противоположного знака, если разные (01 или 10), перепада на границе тактов нет. Для синхронизации пакет начинается с длинной последовательность нулей, затем передается синхробайт (обычно E6), далее идет информация сплошным битовым потоком — никаких разделов между байтами нет.
Подробности поищите в Google или Yandex по ключевым словам IEEE 802.3
Один из вариантов аппаратного приемника кода Манчестер II Вы можете найти в статье А. Долгого "Преобразователь интерфейса" — "Радио, 1990, № 6, с 32-38.
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 25 фев 2010, 00:44
Re: Как увидеть электрический сигнал Ethernet?
ASD » 25 фев 2010, 09:46
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Секреты тестирования Ethernet каналов
Добрый день, дорогие друзья. Несколько лет работала сисадмином в некотором количестве корпоративных и домашних провайдеров Санкт-Петербурга и по сей день часто сталкиваюсь с тем, что покупая оборудование операторы смотрят больше на цену и описание функций, чем на реальные показатели, о них поставщики обычно ничего не пишут, в следствии чего вместо одного коммутатора приходится устанавливать еще и еще, а качество связи лучше может и не станет. Про существования понятия SLA(Service Level Agreement) тоже не все операторы в курсе, по этой причине собрала достоверную информацию по тестированию сетей и оборудования, и готова предоставить её вашему вниманию.

Ethernet нужно тестировать!
Есть ли точное определение и рецепты того, как проводить тесты пропускной способности канала и качества предоставляемой связи? Я нашла несколько статей, из которых стало понятно только одно, сегодня в России сети тестируют методами, предназначенными для других целей, и это не может не удивлять, ведь услуги связи в крупных городах нашей страны достаточно развиты, скоростной канал есть буквально в каждой квартире, а некоторые операторы уже предоставляют гигабитные каналы домашним клиентам, но о методиках тестирования качества предоставляемых телематических услуг знают далеко не все.
Что конкретно и почему нужно тестировать?
- Арендованные вами или сданные в аренду каналы связи;
- Сдача-приемка каналов связи, построенных вами или для вас;
- Предоставляемые услуги связи, особенно при наличии неустойки в договоре;
- Оборудование, которое вы хотите купить, а вам его хотят продать и рассказывают о том, что оно супер-крутое и недорого стоит.
Это крохотная горстка примеров того, чем рискуют на сегодняшний день клиенты и операторы связи.
Софтовые утилиты для тестирование «Интернета»
Полноценным тестированием канала не могут являться echo запросы, ping и mtr никогда не расскажут какая у канала пропускная способность. Об этом не сможет рассказать iperf и прочие софтовые утилиты, так как при одновременном использовании сети и тестировании софтовым утилитам не известен объем пользовательских данных, находящихся в канале в текущий момент, так же при софтовом тестировании возможен ряд неточностей, обусловленных наличием заголовков пакетов, в зависимости от размера кадра заголовки остаются стандартной длины, а тело с данными увеличивается или уменьшается, софтовые утилиты определяют пропускную способность канала без учета размера заголовков, что на разных размерах пакетов вносит в подобное тестирование определенную неразбериху.
Вы не сможете оценить качество арендованного vlan, глядя на график загрузки канала или скачивая объемные файлы из интернета. Почему speedtest.net не является доказательством скорости предоставляемого канала наверное не стоит уточнять? Ведь сразу понятно что — неизвестно какие каналы и через какие сети они идут до серверов speedtest, как и неизвестно насколько загружен канал во время теста, и многие другие параметры теста, а если в тесте столько неизвестных — то его результаты никак не могут быть точными. Результатом speedtest — является скорее некая дельта от неких показателей, а не реальные цифры.
Качество предоставляемых услуг связи — это совокупность многих параметров, и используя правильные инструменты можно быстро и эффективно получить точные данные о предоставляемой услуге. Важно не только получить точные данные, но и иметь уверенность в том, что данные можно будет использовать для доказательства своей правоты, например в суде.
Методики и анализаторы Ethernet
На сегодняшний день есть две основные методики тестирования пропускной способности: старая — RFC-2544 и немного помладше: Y.1564. Методика ITU-T Y.1564 — более актуальная на сегодняшний день, имеет описания для тестирования современных, высокоскоростных каналов связи с современными понятиями о SLA(Service Layer Agreement).
Так как качество ethernet-канала это совокупность многих факторов, следовательно, правильное тестирование должно максимально охватывать все эти совокупности. При тестировании необходимо учесть многие аспекты и было бы полезно иметь расширенные возможности, такие как BER Test, пакетный джиттер, поддержку MPLS, QoS, тестирование нагрузкой протоколов прикладного уровня (http, ftp, etc. ).
Для тестирования каналов от 1G до 10G и выше достаточно сложно делать нагрузочные тесты при помощи неспециализированного железа, зачастую процессоры не способны генерировать достаточный объем трафика, в отличие от специализированных тестеров-анализаторов. Такие приборы можно положить в стойку, шкаф, даже в ящик на чердаке и запускать тесты удаленно, а можно делать автоматические замеры в разные временные интервалы. Любые портативные приборы-анализаторы не испортятся в суровых условиях канализации, так как проходят жестокие испытания на прочность.
Сдача-приемка каналов связи.
Для сдачи или приемки построенных линий и магистралей, для работы по высоким стандартам лучше всего иметь в штатном арсенале тестер-анализатор, хотя в интернете можно найти фирмы, специализирующиеся на выездном тестировании. Почему-то считается что покупать тестер-анализатор это очень дорого.
Подробнее о методике тестирования RFC-2544 и том, как это работает.
Методика RFC-2544 рекомендует проводить измерения разных размеров кадра: для Ethernet трафика кадры размером 64, 128, 256, 512, 1024, 1280, 1518 октетов, для каждого размера кадра необходим отдельный запуск серийного тестирования. При необходимости можно провести тестирование и для Jumbo frame(кадры размером 4096 или 9000 октетов). Разный размер кадров необходим для имитации разных типов трафика.
Изначально методика была разработана непосредственно для тестирования сетевых устройств, например при разработке коммутаторов, но набор функций адаптировали для измерения качества каналов. Методика была одобрена в 1999 году ISOC.

Методика предлагает набор из 6 тестов, я опишу более подробно, каким образом проходит тестирование, для наглядности восприятия:
Определение пропускной способности тестируемого устройства(Throughput)
Описание теста: посылается небольшой объем, специально сформированных тестером, пакетов, на определенной скорости, на входной порт устройства, на выходном порту количество подсчитывается, если передано больше, чем получено — скорость уменьшается и тест запускается снова.
Определение время задержки кадра(Latency)
Описание теста: после определения пропускной способности(Throughput), для каждого размера кадра, на соответствующей ему максимальной скорости, посылается поток пакетов по определенному адресу. Поток должен иметь минимальную длительность в 120 секунд. В 1 пакет по прошествии 60 секунд вставляется метка. Формат метки определяется производителем оборудования. На передающей стороне записывается время, к которому пакет с меткой был полностью отправлен. На приемной стороне определяется метка и записывается время полного приема пакета с меткой. Задержка (latency) — это разница между временем отправки и временем получения. Данный тест, согласно методике необходимо повторять минимум 20 раз. По результатам 20 измерений вычисляется средняя задержка. Тест следует проводить отправляя весь тестовый поток на один адрес и отправляя каждый кадр по новому адресу.
Определение частоты потери кадров(Frame loss rate)
Описание теста: на входной порт устройства посылается определенное количество кадров на определенной скорости и подсчитывается количество пакетов, принимаемых от выходного порта устройства. Частота потери кадров рассчитывается следующим образом:
((количество переданных кадров — количество полученных кадров) * 100) / количество переданных кадров
Первая отправка происходит на максимально-возможной скорости, затем скорость отправки понижается с максимальным шагом в 10%, согласно методике уменьшение % шага даст наиболее точные результаты. Уменьшение скорости необходимо продолжать до тех пор, пока две последних отправки будут без ошибок, а именно мы узнаем максимальную скорость передачи данных, на которой frame loss rate становится равен 0.
Тестирование способности обрабатывать back-to-back кадры(Back-to-back frames)
Описание теста: тест сводится к отсылке некого количества кадров с минимальной межкадровой задержкой на входной порт тестируемого устройства и подсчету кадров с выходного порта устройства. Если количество отправленных кадров и полученных равно, то увеличивается объем отправляемых кадров и тест повторяется, если принятых пакетов меньше, чем отправленных объем отправляемых кадров уменьшается и тест повторяется. В итоге мы должны получить максимальное количество пакетов отправленных и полученных без потерь для каждого размера пакета, это и будет значение back-to-back теста. Согласно методике длительность посылок кадров на порт устройства не должна быть менее двух секунд, а минимальное количество — не менее 50 раз. Конечная цифра — это усредненный результат 50 тестов.
Восстановление после перегрузки(System recovery), применимо только для тестирование устройств
Описание теста: на вход устройства в течение минимум 60 секунд отсылается поток кадров со скоростью 110% относительно измеренной тестом throughput. Если тест throughput показал идеальные результаты, то выбирается максимальная скорость данного соединения. В момент перегрузки скорость потока уменьшается в два раза и засекается разница между временем снижения скорости потока, и временем когда был потерян последний кадр.
Время восстановления тестируемого устройства после перезапуска(Reset), применимо только для тестирование устройств
Описание теста: на вход устройства отсылается непрерывный поток кадров на скорости, определенной в результате теста throughput с минимальным размером кадра. Устройство сбрасывается. Время восстановления после сброса это разница между временем приема последнего пакета до сброса и временем приема первого пакета после сброса. Тестируется и аппаратный и программный типы сброса устройства.
Что изменилось со свежей методикой Y.1564?
Новые рекомендации были рассмотрены и одобрены в 2011 году ITU. К уже изложенным рекомендациям в RFC 2544 добавляется пакетный джиттер(дрожание), а именно возможность вычисления разницы времени при получении ряда последовательных пакетов данных, относящихся к одному и тому же потоку, в идеальном мире ее не должно существовать, но в проблемных сетях последовательность может быть нарушена, что может сказаться на скорости обработки данных. RFC2544 позволяет делать проверки исключительно на максимальной скорости канала, на которой не будет потери пакетов, а это обычно выше чем скорость CIR (Committed Information Rate — гарантированная полоса пропускания). Y.1564 создан именно для SLA, оценки скорости и качества предоставляемого канала согласно ключевым показателям производительности(KPI) и позволяет проверить предоставляемый канал в соответствие с договором.

Y.1564 позволяет проверить гарантированную полосу пропускания, максимально-допустимую, а так же дать нагрузку сверх полосы, к примеру для проверки настроек шейпера.
Есть еще несколько различий между методиками, RFC2544 не производит верификации корректности настройки сервиса (соответствие KPI заданным, и ограничение скорости выше EIR(Excess Information Rate — максимальная негарантированная полоса пропускания), во избежание перегрузки сети). В оригинальной версии RFC2544 джиттер не измеряется. Согласно RFC2544 каждый тест запускается отдельным потоком, что не позволяет измерить качество предоставляемых услуг в совокупности и увеличивает время тестирования, еще один минус RFC2544 в том, что отсутствует возможность профилирования для проверки разных типов трафика в одном канале, к примеру, если в сети используется QoS, в Y.1564 учтены недочеты и немного расширен функционал.
Тестировать можно только новые каналы или уже рабочие тоже?
Тестировать нужно и новые каналы, и тем более старые. Вы можете заранее узнать о назревающих проблемах, не доводя клиентов до звонка в поддержку. Современными тестерами-анализаторами можно проводить проверки в работающей сети, проверять каналы как со скоростью 10/100/1000Mbit, так и 10/40/100G. Есть одно НО, очень важно понимать что и как вы делаете, важно нечаянно не положить тестируемый канал.
Режимы тестирования — In/Out of service.
На сегодняшний день тестирование сетей стремится к полной систематизации и постоянному контролю каналов, более ранние версии методики RFC2544 были созданы для тестирования каналов/оборудования в режиме OutOfService, и использовались в основном для теста оборудования, но на сегодняшний день все производители тестовых приборов переходят на более новые стандарты тестирования, позволяющие проводить постоянный мониторинг сети в режиме InService. Такое тестирование позволяет проверять скорость полосы пропускания без отключения клиентов, что важно для операторов услуг связи.
Товарищи, как говорит один мой друг, давайте вместе бороться с «коекакерами», и начнем тестировать то, что строим и то, что эксплуатируем.
Как тестировать сигнал изернет осциллографом
Delovar » 22 фев 2010, 16:31
Re: Как увидеть электрический сигнал Ethernet?
Designer » 23 фев 2010, 13:33
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 23 фев 2010, 19:21
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 23 фев 2010, 19:31
Re: Как увидеть электрический сигнал Ethernet?
UrfinJ » 24 фев 2010, 22:11
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 24 фев 2010, 22:35
Re: Как увидеть электрический сигнал Ethernet?
ASD » 24 фев 2010, 23:43
Информация передается кодом Манчестер II. Длительность тактового интервала (время передачи одного бита) — величина, обратная скорости передачи. Например, 10 Мбит/с соответствует 0,1 мкс. Нарастающий перепад в середине тактового интервала — 1, спадающий — 0. Если смежные биты одинаковы(00 или 11)- между ними добавляется перепад противоположного знака, если разные (01 или 10), перепада на границе тактов нет. Для синхронизации пакет начинается с длинной последовательность нулей, затем передается синхробайт (обычно E6), далее идет информация сплошным битовым потоком — никаких разделов между байтами нет.
Подробности поищите в Google или Yandex по ключевым словам IEEE 802.3
Один из вариантов аппаратного приемника кода Манчестер II Вы можете найти в статье А. Долгого "Преобразователь интерфейса" — "Радио, 1990, № 6, с 32-38.
Re: Как увидеть электрический сигнал Ethernet?
Delovar » 25 фев 2010, 00:44
Re: Как увидеть электрический сигнал Ethernet?
ASD » 25 фев 2010, 09:46
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0
