Неравенство естественным образом приводит к материализации высшего класса, опошлению среднего и озверению низшего.

Встречаются два программиста. Первый: ...

В продуктах Juniper исправлены 22 уязвимости
Thu, 11 Oct 2018 11:38:02 +0300

В Ghostscript выявлены две новые критические уязвимости
Thu, 11 Oct 2018 11:10:33 +0300

Опубликованы результаты аудита системы обновления Firefox
Wed, 10 Oct 2018 11:32:02 +0300

Bloomberg раскрыл источник сведений о шпионском чипе в платах Supermicro
Tue, 09 Oct 2018 21:41:10 +0300

DoS-уязвимость в Net-SNMP
Tue, 09 Oct 2018 13:53:03 +0300

Новые уязвимости в маршрутизаторах MikroTik и TP-Link
Mon, 08 Oct 2018 11:24:35 +0300

83% изученных беспроводных маршрутизаторов содержат неисправленные уязвимости
Sat, 06 Oct 2018 22:58:33 +0300

В Git устранена уязвимость, которая может привести к выполнению кода атакующего
Fri, 05 Oct 2018 21:50:45 +0300

Выпуск свободного антивирусного пакета ClamAV 0.100.2 с устранением уязвимостей
Wed, 03 Oct 2018 23:51:02 +0300

Обновление Firefox 62.0.3 с устранением критических уязвимостей
Wed, 03 Oct 2018 07:35:44 +0300

В реализации криптовалюты Monero выявлены две критические уязвимости
Mon, 01 Oct 2018 10:30:04 +0300

Уязвимость в Facebook привела к захвату контроля над 50 миллионами учётных записей
Sat, 29 Sep 2018 09:23:33 +0300

Результаты аудита обновлённого генератора псевдослучайных чисел OpenSSL 1.1.1
Thu, 27 Sep 2018 18:50:33 +0300

Опубликован эксплоит для уязвимости в подсистеме vmacache ядра Linux
Wed, 26 Sep 2018 23:28:39 +0300

Локальная root-уязвимость в ядре Linux
Wed, 26 Sep 2018 11:18:53 +0300

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

Каждый узел сети имеет сетевой адаптер — схему, реализующую метод CSMA/ CD на аппаратном (или микропрограммном) уровне.

Адаптер имеет приемопередатчик — трансивер, подключенный к общей (разделяемой) среде передачи, в оригинале — к коаксиальному кабелю. Адаптер узла (для краткости — узел), нуждающийся в передаче информации, прослушивает линию и дожидается «тишины» — отсутствия сигнала (несущей). Далее он формирует кадр (frame, фрейм), начинающийся с синхронизирующей преамбулы, за которой следует поток двоичных данных в самосипхронизирующемся (манчестерском) коде. Все остальные узлы принимают этот сигнал, синхронизируются по преамбуле и декодируют его в последовательность бит, помещаемую в свой приемный буфер. Окончание кадра определяется по пропаданию несущей, и по этому событию приемники анализируют принятый кадр. Этот кадр контролируется на отсутствие ошибок (с помощью контрольной последовательности бит и по длине), после чего в «хорошем» кадре проверяется адресная информация. В каждом кадре имеется заголовок с МАС-адресами узла-источника и узла его назначения. Если адрес назначения кадра соответствует МАС-адресу данного узла, то кадр поступает на дальнейшую обработку протоколами вышестоящих уровней. Кадры, не адресованные данному узлу, им игнорируются на аппаратном уровне адаптера, не отвлекая центральный процессор узла. Теперь предположим, что два узла хотят передать данные почти одновременно: оба дождались «тишины» и стали передавать преамбулу. Столкновение двух сигналов — коллизия — приведет к их искажению, которое обнаруживается передатчиком. Передающие узлы,, обнаружив коллизию, прекращают передачу кадра, после чего повторную попытку передачи сделают через случайный интервал времени (каждый через свой) после освобождения линии. Если повторная попытка также не удалась, делается следующая (и так до 16 раз), причем интервал увеличивается. Приемник обнаруживает коллизию по ненормально короткой длине (в «хорошем» кадре она не может быть меньше 64 байт, не считая преамбулы) и такие кадры отбрасывает.

Коллизии являются нормальным, хотя и нежелательным явлением в сети Ethernet. Метод CSMA/CD хорошо работает лишь при общей загрузке канала (среды передачи) до 30 %. При большей загрузке коллизии приводят к прогрессирующей деградации производительности, что является слабым местом технологии Ethernet. Несмотря на то, что в принципе Ethernet допускает наличие в юдном сегменте сотен (даже тысяч) узлов, при их высокой активности разумный размер домена коллизий — группы узлов, связанных общей средой (кабелями и повторителями), — ограничен лишь несколькими десятками узлов. Протяженность домена коллизий ограничивается временем распространения сигнала между самыми удаленными друг от друга узлами.

Временные соотношения принято измерять в битовых интервалах bt (bit time). Битовый интервал — время, необходимое для передачи одного бита, которое при скорости передачи 10 Мбит/с составляет 0,1 мкс. Смежные 8-битные группы называют как байтами, так и октетами.

Двоичная информация передается в манчестерском коде. В середине каждого битового интервала происходит изменение состояние в линии: от -V к +V для единичного бита, от +V к -V — для нулевого. В начале битового интервала изменение может быть, а может и не быть. Передатчик является источником тока 40 мА, приемник — детектором уровня напряжения с высоким входным сопротивлением. Узел, не передающий в данный момент, вносит нагрузку с сопротивлением более 100 кОм. Приемник и передатчик подключаются к общему коаксиальному кабелю с импедансом 50 Ом, который с обоих концов оканчивается 50-омными терминаторами. Т-образные ответвления кабеля недопустимы. Два терминатора образуют нагрузку с сопротивлением постоянному току 25 Ом, с учетом сопротивления кабеля эта нагрузка может доходить и до 30 Ом (худший случай, когда узел расположен в середине самого длинного сегмента). На номинальной нагрузке ток 40 мА от одного передатчика вызывает падение напряжения 1 В. Коллизия определяется передающим трансивером по большому уровню (более 1,5 В) сигнала в линии, вызванному одновременной работой двух и более передатчиков. Принятый метод доступа и способ передачи сигналов критичен к импедансу кабеля и терминаторов. При использовании иного (например, 75 Ом) кабеля и нарушении терминации (не два терминатора или не 50 Ом) сеть практически неработоспособна — из-за большого сопротивления нагрузки сигнал одиночного передатчика будет превышать порог срабатывания детектора коллизий. Порог срабатывания детектора коллизий (1,5-1,6 В) выбирается с таким расчетом, чтобы сигнал от одного передатчика гарантированно не приводил к срабатыванию детектора, а сумма сигналов от двух передатчиков вызывала срабатывание, причем для самых худших случаев. В расчете порогов фигурирует разброс выходных токов передатчиков, максимальный входной ток приемника (он вызывает смещение уровня сигнала), входное сопротивление приемника, разброс сопротивлений терминаторов, сопротивление сегмента постоянному току (складывается из сопротивления кабеля и коннекторов). С этими расчетами связаны ограничения на количество узлов в сегменте и максимальную длину сегмента, с учетом сопротивления кабелей и коннекторов. Коллизии могут выявляться в двух режимах: в режиме передачи и в режиме приема. При выявлении коллизий в режиме передачи (transmit mode collision detection) детектор обязан обнаружить коллизию двух (и более) передатчиков, один из которых — его собственный. Это более легкий (в плане тонкости подбора порогов) случай. При выявлении коллизий в режиме приема (receive mode collision detection) детектор обязан обнаружить коллизии любых двух (и более) передатчиков, при этом «вилка» возможных значений порогов сужается. Стандарт 802.3 для узлов, не являющихся повторителями, допускает оба режима обнаружения. Если все узлы используют обнаружение в режиме передачи, то появляется возможность увеличения длины сегмента (до 300 м в «тонком» варианте и до 1000 м в «толстом») и числа узлов (до 100 в «тонком»). Однако повторители должны обеспечивать обнаружение коллизий и в режиме приема, иначе они не смогут сообщить о коллизии в другой сегмент.

В первой версии Ethernet уровни нормальных сигналов составляли 0 и -1B (full step signal), при этом в линии присутствовала постоянная составляющая сигнала. В последующих версиях стали применять двуполярные сигналы половинной амплитуды (half step signal), и постоянная составляющая отсутствует. Кадр начинается с преамбулы (preamble) длиной в 7 байт с кодами 10101010, за которой следует 1-байтный разделитель начала кадра SFD (Start Frame Delimiter) с кодом 10101011. За ним следует 6-байтный адрес назначения, 6-байтный адрес источника, заголовок, поле данных и 4-байтное поле контрольного СRC-кода, с помощью которого контролируется целостность всего кадра. Заголовок и поле данных в разных типах кадров трактуются поразному, но их суммарная длина не может быть меньше 48 байт и больше 1502 байт. Если требуется передать кадр с меньшим числом байт, после действительных данных вводится заполнитель (Pad), доводящий размер кадра до минимально разрешенного. Таким образом, размер нормального кадра (включая адресную информацию и CRC-код) может быть в диапазоне 64-1518 байт. Адаптер приемника способен распознавать следующие ошибки кадров (конец кадра определяется по пропаданию несущей):

- Длинный кадр (long, oversized) — более 1518 байт с правильным CRC-кодом. Может порождаться некорректным драйвером адаптера.

- Короткий кадр (runt, undersized) — менее 64 байт с правильным CRC-кодом. Может порождаться некорректным драйвером адаптера.

- «Болтливый» кадр (jabber) — более 1518 байт с неправильным CRC-кодом. Может порождаться неисправным трансивером (адаптером).

- Ошибка выравнивания (alignment error) — кадр, длина которого не кратна байту. Может порождаться неисправным адаптером, трансивером, кабелем.

- Ошибка контрольного кода (CRC error) — кадр правильной длины, но с неправильным CRC-кодом. Может порождаться помехами, слишком большой длиной кабеля.

На вышестоящие протокольные уровни передаются только кадры, не имеющие перечисленных ошибок. Кадр, отсеченный коллизией (менее 64 байт и с неправильным CRC-кодом), ошибочным формально не считается, но и на обработку в вышестоящие уровни не передается.

Между кадрами должен обеспечиваться временной зазор IPG (Inter Packet Gap) длительностью 9,6 мкс — узел не имеет права начать передачу раньше, чем через интервал IPG после определения момента пропадания несущей. Через 0,6 мкс после окончания передачи начинается 1,4-мкс окно тестирования цепей детектора коллизий SQE window. В это время трансивер, передавший кадр, фор­мирует специальный тестовый сигнал SQE (Signal Quality Error), он же heartbit, по которому адаптер определяет работоспособность детектора коллизий. Сигнал SQE в общую среду передачи не поступает, он передается только между трансивером и адаптером одного и того же узла сети. Этот сигнал появился только начиная с версии 2.0, и если трансивер 802.3 или v2.0 подключить к адаптеру v1.0, он может воспринять его как сигнал коллизии и послать jam-последовательность, что приведет к невозможности нормальной передачи данных.

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

Адаптер может считать, что ему удалось получить доступ к среде передачи, если он не обнаружил коллизий при передаче первых 64 байт кадра, и рапортовать об этом на более высокий протокольный уровень. Если он обнаружил коллизию, то обязан вместо продолжения пакета послать короткую (32-48-битовую) цепочку затор (Jam)> после чего прекратить передачу. Цель посылки затора — дать возможность всем передатчикам, вовлеченным в коллизию, ее заметить. Посылкой затора обеспечивается оповещение о коллизии узлов, разделенных повторителями. Ситуация, когда коллизия обнаружена позже 64-байтного окна (collision window), называется поздней коллизией (later collision) и является ненормальной для сети Ethernet.

Интервал времени до повторной попытки доступа tRT определяется через ин­тервал отсрочки TS и случайное число t, зависящее от номера попытки п:

tRT = TS x t.

Интервал отсрочки TS называется также тайм-слотом (time slot) и составляет 512 bt. Число t является случайным целым, равномерно распределенным в диа­пазоне 0-2 в степени n для п = 1, 2,...10 и в диапазоне 0-2 в степени 10 для п > 10. После 16 неудачных попыток передачи адаптер отказывается от дальнейших попыток доступа, сообщая о неудаче на вышестоящие уровни. Максимальное время между двумя повторными попытками может доходить до 2 в степени 10 х TS = 524 288 bt ~ 52,4 мс, минимальное - 0 (сразу после зазора).

С механизмом обнаружения коллизии связаны пространственные ограничения на размер домена коллизий, обусловленные конечностью скорости распространения сигнала в среде передачи и задержками, вносимыми повторителями. Ниже приведена временная диаграмма действий двух узлов, заметно удаленных друг от друга. Пусть узел А начал передавать кадр в момент t0A, и вскоре появилась потребность в передаче у узла В. Узел В будет видеть линию свободной вплоть до момента t0B, и в момент t1B ему ничто не мешает начать передачу. Вскоре его передатчик обнаружит коллизию, и он вместо продолжения кадра начнет передавать сигнал затора. Передатчик А обнаружит коллизию только в момент t1A и тоже прекратит передачу кадра. Максимальное время, в течение которого передатчик А будет «беззаботно» передавать пакет, составит время tTRAmax = tAB + tBA так называемое время двойного оборота по сети (round trip time). Это время плюс время на передачу затора должно быть меньше, чем время передачи самого короткого кадра, иначе кадры, оборванные коллизией, приемник будет пытаться трактовать как нормальные. Таким образом, время двойного оборота не должно превышать время передачи кадра минимальной длины. Для надежности берут еще и запас, с учетом которого время двойного оборота не должно превышать 45 мкс. Поскольку сеть симметрична, для определения ограничений достаточно определить время прохождения сигнала между двумя самыми удаленными друг от друга узлами домена коллизий. В это время входит задержка распространения сигнала в кабеле, задержки, вносимые повторителями (если они встречаются на пути), и время реакции адаптера на обнаружение коллизии. Это время не должно превышать 25,6 мкс, а для надежности следует еще оставить запас в 1-5 мкс. Расстояние между максимально удаленными узлами называется диаметром домена коллизий. Скоростные технологии — Fast Ethernet и Gigabit Ethernet — имеют тот же механизм обнаружения коллизий, и из-за более высокой частоты передачи (bt=10 нc в Fast и bt=1нc в Gigabit Ethernet) ограничения на диаметр домена коллизий жестче. Для их смягчения в Gigabit Ethernet пошли на увеличение минимального размера кадра.

Рассмотрим, как осуществляется рандомизация периода ожидания после столкновения кадров. После возникновения коллизии время делится на дискретные интервалы, длительность которых равна максимальному времени кругового обращения сигнала (то есть его прохождения по кабелю в прямом и обратном направлениях), 2т. Для удовлетворения потребностей Ethernet при максимальном размере сети необходимо, чтобы один интервал составлял 512 битовых интервалов, или 51,2 мкс.

После первого столкновения каждая станция ждет или 0 или 1 интервал, прежде чем попытаться передавать опять. Если две станции столкнутся и выберут одно и то же псевдослучайное число, то они столкнутся снова. После второго столкновения каждая станция выбирает случайным образом 0, 1, 2 или 3 интервала из набора и ждет опять. При третьем столкновении (вероятность такого события после двойного столкновения равна 1/4) интервалы будут выбираться в диапазоне от 0 до (2 в 3 степени) - 1.

В общем случае после i столкновений случайный номер выбирается в диапазоне от 0 до (2 в степени i) - 1, и это количество интервалов станция пропускает. Однако после 10 столкновений подряд интервал рандомизации фиксируется на отметке 1023. После 16 столкновений подряд контроллер признает свое поражение и возвращает компьютеру ошибку. Дальнейшим восстановлением занимаются более высокие уровни.

Этот алгоритм, называемый двоичным экспоненциальным алгоритмом отката, был выбран для динамического учета количества станций, пытающихся осуществить передачу. Если выбрать интервал рандомизации равным 1023, то вероятность повторного столкновения будет пренебрежимо мала, однако среднее время ожидания составит сотни тактов, в результате чего среднее время задержки будет слишком велико. С другой стороны, если каждая станция будет выбирать время ожидания всего из двух вариантов, 0 и 1, то в случае столкновения сотни станций они будут продолжать сталкиваться снова и снова до тех пор, пока 99 из них не выберут 1, а одна станция — 0. Такого события можно будет ждать годами. Экспоненциально увеличивая интервал рандомизации по мере возникновения повторных столкновений, алгоритм обеспечивает небольшое время задержки при столкновении небольшого количества станций и одновременно гарантирует, что при столкновении большого числа станций конфликт будет разрешен за разумное время.

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

НОВОСТИ: Выпуск открытого 4G-стека srsLTE 18.09 Tue, 16 Oct 2018 13:59:48 +0300

Опубликован выпуск srsLTE 18.09, открытого стека для развёртывания компонентов сотовых сетей LTE/4G без наличия спецоборудования, используя только универсальные программируемые приёмо-передатчики, форма сигнала и модуляция которых задаётся программно (SDR, Software Defined Radio). Код проекта поставляется под лицензией AGPLv3.

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