Все люди ошибаются, но великие люди сознаются в ошибках.

Пьяная доярка вваливается в коровник. ...

Оценка злоупотребления запросом полномочий в приложениях-фонариках для Android
Thu, 12 Sep 2019 12:22:46 +0300

Реализация DDIO в чипах Intel допускает сетевую атаку по определению нажатий клавиш в сеансе SSH
Wed, 11 Sep 2019 08:38:40 +0300

Раскрыты подробности критической уязвимости в Exim
Fri, 06 Sep 2019 19:34:14 +0300

Уязвимость в драйвере v4l2, затрагивающая платформу Android
Fri, 06 Sep 2019 12:23:44 +0300

Обновление Samba 4.10.8 и 4.9.13 с устранением уязвимости
Tue, 03 Sep 2019 23:13:52 +0300

Очередные 4 уязвимости в Ghostscript
Sat, 31 Aug 2019 10:18:47 +0300

Критическая уязвимость в IMAP-сервере Dovecot
Fri, 30 Aug 2019 22:02:10 +0300

Вредоносный код в Android-приложении CamScanner, загруженном более 100 млн. раз
Thu, 29 Aug 2019 10:14:55 +0300

Три уязвимости в wifi-драйвере marvell, входящем в состав ядра Linux
Thu, 29 Aug 2019 09:28:48 +0300

Уязвимость, позволяющая выйти из изолированного окружения QEMU
Fri, 23 Aug 2019 11:11:19 +0300

Обновление свободного антивирусного пакета ClamAV 0.101.4 с устранением уязвимостей
Thu, 22 Aug 2019 10:52:39 +0300

В репозитории NPM выявлен вредоносный пакет bb-builder. Выпуск NPM 6.11
Thu, 22 Aug 2019 10:20:19 +0300

В USB-драйверах из состава ядра Linux выявлено 15 уязвимостей
Wed, 21 Aug 2019 22:29:27 +0300

Удалённая DoS-уязвимость в IPv6-стеке FreeBSD
Wed, 21 Aug 2019 22:08:42 +0300

В rest-client и ещё 10 Ruby-пакетах выявлен вредоносный код
Tue, 20 Aug 2019 22:08:33 +0300

CSMA / CD Манчестерский код Передача и кодирование ВОЛС
Манчестерский код

Ни в одной из версий Ethernet не применяется прямое двоичное кодирование бита 0 напряжением О В и бита 1 — напряжением 5В, так как такой способ приводит к неоднозначности. Если одна станция посылает битовую строку 00010000, то другая может интерпретировать ее как 10000000 или 01000000, так как они не смогут отличить отсутствие сигнала (О В) от бита О (О В). Можно, конечно, кодировать единицу положительным напряжением +1 В, а ноль — отрицательным напряжением -1В. Но при этом все равно возникает проблема, связанная с синхронизацией передатчика и приемника. Разные частоты работы их системных часов могу привести к рассинхронизации и неверной интерпретации данных. В результате приемник может потерять границу битового интервала. Особенно велика вероятность этого в случае длинной последовательности нулей или единиц.

Таким образом, принимающей машине нужен способ однозначного определения начала, конца и середины каждого бита без помощи внешнего таймера. Это реализуется с помощью двух методов: манчестерского кодирования и разностного манчестерского кодирования. В манчестерском коде каждый временной интервал передачи одного бита делится на два равных периода. Бит со значением 1 кодируется высоким уровнем напряжения в первой половине интервала и низким — во второй половине, а нулевой бит кодируется обратной последовательностью — сначала низкое напряжение, затем высокое. Такая схема гарантирует смену напряжения в середине периода битов, что позволяет приемнику синхронизироваться с передатчиком. Недостатком манчестерского кодирования является то, что оно требует двойной пропускной способности линии по отношению к прямому двоичному кодированию, так как импульсы имеют половинную ширину. Например, для того чтобы отправлять данные со скоростью 10 Мбит/с, необходимо изменять сигнал 20 миллионов раз в секунду. Манчестерское кодирование показано ниже, на схеме "б".

Разностное манчестерское кодирование, показанное на схеме "в", является вариантом основного манчестерского кодирования. В нем бит 0 кодируется изменением состояния в начале интервала, а бит 1 — сохранением предыдущего уровня. В обоих случаях в середине интервала обязательно присутствует переход. Разностная схема требует более сложного оборудования, зато обладает хорошей защищенностью от шума. Во всех сетях Ethernet используется манчестерское кодирование благодаря его простоте. Высокий сигнал кодируется напряжением в +0,85 В, а низкий сигнал--0,85 В, в результате чего постоянная составляющая напряжения равна О В. Разностное манчестерское кодирование в Ethernet не используется, но используется в других ЛВС (например, стандарт 802.5, маркерное кольцо).

Протокол подуровня управления доступом к среде в Ethernet

Исходная структура кадра, предложенная в свое время DIX (DEC, Intel, Xerox), показана на схеме ниже. Каждый кадр начинается с поля Preamble (преамбула, заголовок) длиной 8 байт которое содержит последовательность 10101010. Манчестерское кодирование такой последовательности битов дает в результате меандр с частотой 10 МГц и длительностью 6,4 мкс, что позволяет получателю синхронизировать свои часы с часами отправителя. Далее до конца кадра они должны сохранять синхронизированное состояние за счет манчестерского кода, хранящего отметки границ битов.

Кадр содержит два адреса: получателя и отправителя. По стандарту разрешаются 2-байтовые и 6-байтовые адреса, однако параметры немодулированной передачи со скоростью 10 Мбит/с предусматривают только 6 байтовые адреса. Старший бит адреса получателя содержит 0 для обычных адресов и 1 для групповых получателей. Групповые адреса позволяют нескольким станциям принимать информацию от одного отправителя. Кадр, отправляемый групповому адресату, может быть получен всеми станциями, входящими в эту группу. Такой механизм называется групповой рассылкой. Если адрес состоит только из единиц, то кадр могут принять абсолютно все станции сети. Таким способом осуществляется широковещание. Разница между групповой рассылкой и широковещанием весьма существенна, поэтому еще раз повторим: кадр, предназначенный для групповой рассылки, посылается некоторой группе станций Ethernet; широковещательный же кадр получают абсолютно все станции сети. Групповая рассылка более избирательна, но требует некоторых усилий при управлении группами. Широковещание — это более грубая технология, но зато не требует никакой настройки групп.

Еще одной интересной особенностью адресации является использование 46-го бита (соседнего со старшим битом), позволяющего отличать локальные адреса от глобальных. Локальные адреса назначаются администратором каждой сети и не имеют смысла за ее пределами. Глобальные адреса, напротив, назначаются IEEE, и это гарантирует, что один и тот же глобальный адрес не используется двумя станциями. При 48 - 2 = 46 доступных битах может быть назначено около 7 • 1013 глобальных адресов. Идея заключается в том, что каждая станция может быть однозначно идентифицирована по ее 48-битовому номеру. Найти по этому номеру саму станцию — задача сетевого уровня.

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

Наконец, за полем Туре следует поле данных, размер которого ограничен 1500 байтами. Такое ограничение было выбрано, в общем-то, произвольно в те времена, когда официально был закреплен стандарт DIX. При выборе ссылались на то, что приемопередатчику нужно довольно много оперативной памяти для того, чтобы хранить весь кадр. А память в том далеком 1978 году была еще очень дорогой. Соответственно, увеличение верхней границы размера поля данных привело бы к необходимости установки большего объема памяти, а значит, к удорожанию всего приемопередатчика.

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

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

Другой (и даже более важной) целью установки ограничения размера кадра снизу является предотвращение ситуации, когда станция успевает передать короткий кадр раньше, чем его первый бит дойдет до самого дальнего конца кабеля, где он может столкнуться с другим кадром. Эта ситуация изображена далее на схеме. В момент времени 0 станция А на одном конце сети посылает кадр. Пусть время прохождения кадра по кабелю равно t. За мгновение до того, как кадр достигнет конца кабеля (то есть в момент времени t - е), самая дальняя станция В начинает передачу. Когда станция В замечает, что получает большую мощность, нежели передает сама, она понимает, что произошло столкновение. Тогда она прекращает передачу и выдает 48-битный шумовой сигнал, предупреждающий остальные станции. Примерно в момент времени 2t отправитель замечает шумовой сигнал и также прекращает передачу. Затем он выжидает случайное время и пытается возобновить передачу.

Если размер кадра будет слишком маленьким, отправитель закончит передачу прежде, чем получит шумовой сигнал. В этом случае он не сможет понять, произошло это столкновение с его кадром или с какимто другим, и, следовательно, может предположить, что его кадр был успешно принят. Для предотвращения такой ситуации все кадры должны иметь такую длину, чтобы время их передачи было больше 2т. Для локальной сети со скоростью передачи 10 Мбит/с при максимальной длине кабеля в 2500 м и наличии четырех повторителей (требование спецификации 802.3) минимальное время передачи одного кадра должно составлять в худшем случае примерно 50 мкс, включая время на прохождение через повторитель, которое, разумеется, отлично от нуля. Следовательно, длина кадра должна быть такой, чтобы время передачи было по крайней мере не меньше этого минимума. При скорости 10 Мбит/с на передачу одного бита тратится 1000 нc, значит, минимальный размер кадра должен быть равен 500 бит. При этом можно гарантировать, что система сможет обнаружить коллизии в любом месте кабеля. Из соображений большей надежности это число было увеличено до 512 бит или 64 байт. Кадры меньшего размера с помощью поля Pad искусственно дополняются до 64 байт.

По мере роста скоростей передачи данных в сети минимальный размер кадра должен увеличиваться, или должна пропорционально уменьшаться максимальная длина кабеля. Для 2500-метровой локальной сети, работающей на скорости 1 Гбит/с, минимальный размер кадра должен составлять 6400 байт. Или же можно использовать кадр размером 640 байт, но тогда надо сократить максимальное расстояние между станциями сети до 250 м. По мере приближения к гигабитным скоростям подобные ограничения становятся все более суровыми.

Последнее поле кадра стандарта Ethernet содержит контрольную сумму. По сути дела, это 32-битный хэш-код данных. Если какие-либо биты приняты неправильно (в результате шума в канале), контрольная сумма практически наверняка будет неправильной, и ошибка, таким образом, будет замечена. Алгоритм вычисления контрольной суммы основан на циклическом избыточном коде (CRC).

Когда институт IEEE принимал стандарт Ethernet, в формат кадра было внесено два изменения.

Во-первых, преамбула была уменьшена до 7 байт, а последний байт был объявлен ограничителем кадра (Start of Frame) для совместимости со стандартами 802.4 и 802.5.

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

К сожалению, ко времени опубликования 802.3 по всему миру распространилось уже немало программного обеспечения и оборудования, соответствующих стандарту DIX Ethernet, поэтому изменение формата кадра было воспринято производителями и пользователями без энтузиазма. В 1997 году в IEEE поняли, что бороться бесполезно и бессмысленно и объявили оба стандарта приемлемыми. К счастью, все поля Туре, использовавшиеся до 1997 года, имели значения больше 1500. Соответственно, любые номера, меньшие или равные 1500, можно было без сомнений интерпретировать как Length, а превышающие 1500 — как Туре. Теперь IEEE может говорить, что все используют предложенный им стандарт, и при этом все пользователи и производители могут без зазрения совести продолжать работать точно так же, как и раньше.

НОВОСТИ: В Chrome 78 начнутся эксперименты с включением DNS-over-HTTPS Sat, 14 Sep 2019 20:23:14 +0300

Следом за Mozilla компания Google сообщила о намерении провести эксперимент для проверки развиваемой для браузера Chrome реализации "DNS поверх HTTPS" (DoH, DNS over HTTPS). В выпуске Chrome 78, намеченном на 22 октября, некоторые категории пользователей будут по умолчанию переведены на использование DoH. В эксперименте по включению DoH примут участие только пользователи, в текущих системных настойках которых указаны определённые DNS-провайдеры, признанные совместимыми с DoH.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome