Мало обладать выдающимися качествами, надо еще уметь ими пользоваться

...

Взлом дискуссионной площадки Stack Overflow (дополнено)
Fri, 17 May 2019 08:49:45 +0300

Представлен новый класс уязвимостей в процессорах Intel
Tue, 14 May 2019 23:03:46 +0300

Критическая уязвимость в приложении WhatsApp, пригодная для внедрения вредоносного ПО
Tue, 14 May 2019 10:17:56 +0300

Уязвимость в сетевом стеке ядра Linux
Mon, 13 May 2019 20:38:26 +0300

Представлен более эффективный метод определения коллизий для SHA-1
Mon, 13 May 2019 12:06:59 +0300

Подмена кода проектов Picreel и Alpaca Forms привела к компрометации 4684 сайтов
Mon, 13 May 2019 08:37:14 +0300

Зафиксирована атака вредоносных шифровальщиков на Git-репозитории (дополнено)
Sun, 12 May 2019 10:22:45 +0300

Утечка персональных данных 275 млн индийских пользователей через публичную СУБД MongoDB
Sun, 12 May 2019 09:58:03 +0300

Уязвимость в библиотеке PharStreamWrapper, затрагивающая Drupal, Joomla и Typo3
Fri, 10 May 2019 21:45:55 +0300

Уязвимость в СУБД SQLite
Thu, 09 May 2019 21:13:02 +0300

Docker-образы Alpine поставлялись с пустым паролем пользователя root
Thu, 09 May 2019 09:48:15 +0300

Уязвимость в ядре Linux, позволяющая вызвать крах через отправку UDP-пакета
Fri, 03 May 2019 09:23:20 +0300

Критическая уязвимость в сервисе Librem One, выявленная в день его запуска
Thu, 02 May 2019 11:52:09 +0300

Bloomberg заявил о возможном бэкдоре в оборудовании Huawei (опровергнуто)
Tue, 30 Apr 2019 12:42:31 +0300

Взлом инфраструктуры Docker Hub с возможной компрометацией связанных репозиториев
Sat, 27 Apr 2019 08:34:05 +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 может говорить, что все используют предложенный им стандарт, и при этом все пользователи и производители могут без зазрения совести продолжать работать точно так же, как и раньше.

НОВОСТИ: Выпуск системы управления доступом к сети PacketFence 9.0 Sun, 19 May 2019 08:58:52 +0300

Состоялся релиз PacketFence 9.0, свободной системы для управления доступом к сети (NAC), которая может использоваться для организации централизованного доступа и эффективной защиты сетей любого размера. Код системы написан на языке Perl и распространяется под лицензией GPLv2. Установочные пакеты подготовлены для RHEL и Debian.

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