Когда поддаешься страху перед ужасом, начинаешь ощущать ужас страха

Благодаря американской компьютеризированной системе выборов президента, ...

Уязвимость в прошивках BMC-контроллеров, затрагивающая серверы многих производителей
Thu, 18 Jul 2019 11:30:50 +0300

Обновление Java SE, MySQL, VirtualBox и других продуктов Oracle с устранением уязвимостей
Wed, 17 Jul 2019 09:23:11 +0300

Неофициальный Telegram-клиент MobonoGram 2019 оказался троянским ПО
Tue, 16 Jul 2019 08:21:25 +0300

В зависимостях к npm-пакету с установщиком PureScript выявлены вредоносные изменения
Mon, 15 Jul 2019 13:43:23 +0300

Выпуск прокси-сервера Squid 4.8 с устранением критической уязвимости
Sun, 14 Jul 2019 19:17:07 +0300

Сведения об утечке паролей 33 млн пользователей Livejournal.com в 2014 году
Sat, 13 Jul 2019 12:14:17 +0300

Взлом одного из серверов проекта Pale Moon с внедрением вредоносного ПО в архив старых выпусков
Thu, 11 Jul 2019 10:22:05 +0300

Зафиксирована подстановка вредоносного кода в Ruby-пакет Strong_password
Mon, 08 Jul 2019 14:07:50 +0300

Взлом репозиториев Canonical на GitHub (дополнено)
Sat, 06 Jul 2019 20:41:38 +0300

10 млн пользователей установили жульническое приложение для продажи обновлений прошивок Samsung
Fri, 05 Jul 2019 19:37:21 +0300

В платформе электронной коммерции Magento устранено 75 уязвимостей
Thu, 04 Jul 2019 10:24:16 +0300

Уязвимость в AMD SEV, позволяющая определить ключи шифрования
Wed, 26 Jun 2019 10:21:13 +0300

Обновление PostgreSQL 11.4, 10.9, 9.6.14, 9.5.18 и 9.4.23
Thu, 20 Jun 2019 21:57:10 +0300

В Firefox 67.0.4 и 60.7.2 устранена ещё одна 0-day уязвимость
Thu, 20 Jun 2019 20:53:38 +0300

Обновление DNS-сервера BIND 9.14.3, 9.11.8, 9.15.1 с устранением DoS-уязвимости
Thu, 20 Jun 2019 10:02:28 +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 может говорить, что все используют предложенный им стандарт, и при этом все пользователи и производители могут без зазрения совести продолжать работать точно так же, как и раньше.

НОВОСТИ: В Firefox 70 страницы открытые по HTTP начнут помечаться как неб ... Wed, 17 Jul 2019 10:47:46 +0300

Разработчики Firefox представили план перехода Firefox к пометке всех страниц, открытых по HTTP, индикатором небезопасного соединения. Изменение планируется применить в выпуске Firefox 70, намеченном на 22 октября. В Chrome вывод индикатора, предупреждающего об установке небезопасного соединения, для открытых по HTTP страниц выводится начиная с выпуска.

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