По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Девятая часть тут. Ни одна среда передачи данных не может считаться совершенной. Если среда передачи является общей, как радиочастота (RF), существует возможность возникновения помех или даже столкновений дейтаграмм. Это когда несколько отправителей пытаются передать информацию одновременно. Результатом является искаженное сообщение, которое не может быть понято предполагаемым получателем. Даже специализированная среда, такая как подводный оптический кабель типа point-to-point (световолновой), может испытывать ошибки из—за деградации кабеля или точечных событий-даже, казалось бы, безумных событий, таких как солнечные вспышки, вызывающие излучение, которое, в свою очередь, мешает передаче данных по медному кабелю. Существует два ключевых вопроса, на которые сетевой транспорт должен ответить в области ошибок: Как можно обнаружить ошибки при передаче данных? Что должна делать сеть с ошибками при передаче данных? Далее рассматриваются некоторые из возможных ответов на эти вопросы. Обнаружение ошибок Первый шаг в работе с ошибками, независимо от того, вызваны ли они отказом носителя передачи, повреждением памяти в коммутационном устройстве вдоль пути или любой другой причиной, заключается в обнаружении ошибки. Проблема, конечно, в том, что когда получатель изучает данные, которые он получает, нет ничего, с чем можно было бы сравнить эти данные, чтобы обнаружить ошибку. Проверка четности — это самый простой механизм обнаружения. Существуют два взаимодополняющих алгоритма проверки четности. При четной проверке четности к каждому блоку данных добавляется один дополнительный бит. Если сумма битов в блоке данных четная—то есть если в блоке данных имеется четное число битов 1, то дополнительный бит устанавливается равным 0. Это сохраняет четное состояние четности блока. Если сумма битов нечетна, то дополнительный бит устанавливается равным 1, что переводит весь блок в состояние четной четности. Нечетная четность использует ту же самую дополнительную битную стратегию, но она требует, чтобы блок имел нечетную четность (нечетное число 1 бит). В качестве примера вычислите четную и нечетную четность для этих четырех октетов данных: 00110011 00111000 00110101 00110001 Простой подсчет цифр показывает, что в этих данных есть 14 «1» и 18 «0». Чтобы обеспечить обнаружение ошибок с помощью проверки четности, вы добавляете один бит к данным, либо делая общее число «1» в недавно увеличенном наборе битов четным для четной четности, либо нечетным для нечетной четности. Например, если вы хотите добавить четный бит четности в этом случае, дополнительный бит должен быть установлен в «0». Это происходит потому, что число «1» уже является четным числом. Установка дополнительного бита четности на «0» не добавит еще один «1» и, следовательно, не изменит, является ли общее число «1» четным или нечетным. Таким образом, для четной четности конечный набор битов равен: 00110011 00111000 00110101 00110001 0 С другой стороны, если вы хотите добавить один бит нечетной четности к этому набору битов, вам нужно будет сделать дополнительный бит четности «1», так что теперь есть 15 «1», а не 14. Для нечетной четности конечный набор битов равен: 00110011 00111000 00110101 00110001 1 Чтобы проверить, были ли данные повреждены или изменены при передаче, получатель может просто отметить, используется ли четная или нечетная четность, добавить число «1» и отбросить бит четности. Если число «1» не соответствует используемому виду четности (четное или нечетное), данные повреждены; в противном случае данные кажутся такими же, как и первоначально переданные. Этот новый бит, конечно, передается вместе с оригинальными битами. Что произойдет, если сам бит четности каким-то образом поврежден? Это на самом деле нормально - предположим, что даже проверка четности на месте, и передатчик посылает 00110011 00111000 00110101 00110001 0 Приемник, однако, получает 00110011 00111000 00110101 00110001 1 Сам бит четности был изменен с 0 на 1. Приемник будет считать «1», определяя, что их 15. Поскольку даже проверка четности используется, полученные данные будут помечены как имеющие ошибку, даже если это не так. Проверка на четность потенциально слишком чувствительна к сбоям, но в случае обнаружения ошибок лучше ошибиться в начале. Есть одна проблема с проверкой четности: она может обнаружить только один бит в передаваемом сигнале. Например, если даже четность используется, и передатчик отправляет 00110011 00111000 00110101 00110001 0 Приемник, однако, получает 00110010 00111000 00110101 00110000 0 Приемник подсчитает число «1» и обнаружит, что оно равно 12. Поскольку система использует четную четность, приемник будет считать данные правильными и обработает их в обычном режиме. Однако оба бита, выделенные жирным шрифтом, были повреждены. Если изменяется четное число битов в любой комбинации, проверка четности не может обнаружить изменение; только когда изменение включает нечетное число битов, проверка четности может обнаружить изменение данных. Циклическая проверка избыточности (Cyclic Redundancy Check - CRC) может обнаруживать более широкий диапазон изменений в передаваемых данных, используя деление (а не сложение) в циклах по всему набору данных, по одной небольшой части за раз. Работа с примером - лучший способ понять, как рассчитывается CRC. Расчет CRC начинается с полинома, как показано на рисунке 1. На рис. 1 трехчленный многочлен x3 + x2 + 1 расширен, чтобы включить все члены, включая члены, предшествующие 0 (и, следовательно, не влияют на результат вычисления независимо от значения x). Затем эти четыре коэффициента используются в качестве двоичного калькулятора, который будет использоваться для вычисления CRC. Чтобы выполнить CRC, начните с исходного двоичного набора данных и добавьте три дополнительных бита (поскольку исходный полином без коэффициентов имеет три члена; следовательно, это называется трехбитной проверкой CRC), как показано здесь: 10110011 00111001 (оригинальные данные) 10110011 00111001 000 (с добавленными битами CRC) Эти три бита необходимы для обеспечения того, чтобы все биты в исходных данных были включены в CRC; поскольку CRC перемещается слева направо по исходным данным, последние биты в исходных данных будут включены только в том случае, если эти заполняющие биты включены. Теперь начните с четырех битов слева (потому что четыре коэффициента представлены в виде четырех битов). Используйте операцию Exclusive OR (XOR) для сравнения крайних левых битов с битами CRC и сохраните результат, как показано здесь: 10110011 00111001 000 (дополненные данные) 1101 (Контрольные биты CRC) ---- 01100011 00111001 000 (результат XOR) XOR'инг двух двоичных цифр приводит к 0, если эти две цифры совпадают, и 1, если они не совпадают. Контрольные биты, называемые делителем, перемещаются на один бит вправо (некоторые шаги здесь можно пропустить), и операция повторяется до тех пор, пока не будет достигнут конец числа: 10110011 00111001 000 1101 01100011 00111001 000 1101 00001011 00111001 000 1101 00000110 00111001 000 110 1 00000000 10111001 000 1101 00000000 01101001 000 1101 00000000 00000001 000 1 101 00000000 00000000 101 CRC находится в последних трех битах, которые были первоначально добавлены в качестве заполнения; это "остаток" процесса разделения перемещения по исходным данным плюс исходное заполнение. Получателю несложно определить, были ли данные изменены, оставив биты CRC на месте (в данном случае 101) и используя исходный делитель поперек данных, как показано здесь: 10110011 00111001 101 1101 01100011 00111001 101 1101 00001011 00111001 101 1101 00000110 00111001 101 110 1 00000000 10111001 101 1101 00000000 01101001 101 1101 00000000 00000001 101 1 101 00000000 00000000 000 Если данные не были изменены, то результат этой операции всегда должен быть равен 0. Если бит был изменен, результат не будет равен 0, как показано здесь: 10110011 00111000 000 1101 01100011 00111000 000 1101 00001011 00111000 000 1101 00000110 00111000 000 110 1 00000000 10111000 000 1101 00000000 01101000 000 1101 00000000 00000000 000 1 101 00000000 00000001 000 CRC может показаться сложной операцией, но она играет на сильных сторонах компьютера—бинарных операциях конечной длины. Если длина CRC задается такой же, как у стандартного небольшого регистра в обычных процессорах, скажем, восемь бит, вычисление CRC-это довольно простой и быстрый процесс. Проверка CRC имеет то преимущество, что она устойчива к многобитовым изменениям, в отличие от проверки четности, описанной ранее. Исправление ошибок Однако обнаружение ошибки — это только половина проблемы. Как только ошибка обнаружена, что должна делать транспортная система? Есть, по существу, три варианта. Транспортная система может просто выбросить данные. В этом случае транспорт фактически переносит ответственность за ошибки на протоколы более высокого уровня или, возможно, само приложение. Поскольку некоторым приложениям может потребоваться полный набор данных без ошибок (например, система передачи файлов или финансовая транзакция), у них, вероятно, будет какой-то способ обнаружить любые пропущенные данные и повторно передать их. Приложения, которые не заботятся о небольших объемах отсутствующих данных (например, о голосовом потоке), могут просто игнорировать отсутствующие данные, восстанавливая информацию в приемнике, насколько это возможно, с учетом отсутствующей информации. Транспортная система может подать сигнал передатчику, что произошла ошибка, и позволить передатчику решить, что делать с этой информацией (как правило, данные при ошибке будут повторно переданы). Транспортная система может выйти за рамки отбрасывания данных, включив достаточное количество информации в исходную передачу, определить, где находится ошибка, и попытаться исправить ее. Это называется Прямой коррекцией ошибок (Forward Error Correction - FEC). Коды Хэмминга, один из первых разработанных механизмов FEC, также является одним из самых простых для объяснения. Код Хэмминга лучше всего объяснить на примере - для иллюстрации будет использована таблица 1. В Таблице № 1: Каждый бит в 12-битном пространстве, представляющий собой степень двух (1, 2, 4, 6, 8 и т. д.) и первый бит, устанавливается в качестве битов четности. 8-битное число, которое должно быть защищено с помощью FEC, 10110011, распределено по оставшимся битам в 12-битном пространстве. Каждый бит четности устанавливается равным 0, а затем четность вычисляется для каждого бита четности путем добавления числа «1» в позиции, где двоичный бит имеет тот же бит, что и бит четности. В частности: P1 имеет набор крайних правых битов в своем битовом номере; другие биты в числовом пространстве, которые также имеют набор крайних правых битов, включены в расчет четности (см. вторую строку таблицы, чтобы найти все позиции битов в номере с набором крайних правых битов). Они указаны в таблице с X в строке P1. Общее число «1»-нечетное число, 3, поэтому бит P1 устанавливается равным 1 (в этом примере используется четная четность). P2 имеет второй бит из правого набора; другие биты в числовом пространстве, которые имеют второй из правого набора битов, включены в расчет четности, как указано с помощью X в строке P2 таблицы. Общее число «1»-четное число, 4, поэтому бит P2 установлен в 0. P4 имеет третий бит из правого набора, поэтому другие биты, которые имеют третий бит из правого набора, имеют свои номера позиций, как указано с помощью X в строке P3. В отмеченных столбцах есть нечетное число «1», поэтому бит четности P4 установлен на 1. Чтобы определить, изменилась ли какая-либо информация, получатель может проверить биты четности таким же образом, как их вычислял отправитель; общее число 1s в любом наборе должно быть четным числом, включая бит четности. Если один из битов данных был перевернут, приемник никогда не должен найти ни одной ошибки четности, потому что каждая из битовых позиций в данных покрыта несколькими битами четности. Чтобы определить, какой бит данных является неправильным, приемник добавляет позиции битов четности, которые находятся в ошибке; результатом является положение бита, которое было перевернуто. Например, если бит в позиции 9, который является пятым битом данных, перевернут, то биты четности P1 и P8 будут ошибочными. В этом случае 8 + 1 = 9, так что бит в позиции 9 находится в ошибке, и его переворачивание исправит данные. Если один бит четности находится в ошибке—например, P1 или P8—то это тот бит четности, который был перевернут, и сами данные верны. В то время как код Хэмминга гениален, есть много битовых шаблонов-перевертышей, которые он не может обнаружить. Более современный код, такой как Reed-Solomon, может обнаруживать и исправлять более широкий диапазон условий ошибки, добавляя меньше дополнительной информации в поток данных. Существует большое количество различных видов CRC и кодов исправления ошибок, используемых во всем мире связи. Проверки CRC классифицируются по количеству битов, используемых в проверке (количество битов заполнения или, точнее, длины полинома), а в некоторых случаях - по конкретному применению. Например, универсальная последовательная шина использует 5-битный CRC (CRC-5-USB); Глобальная система мобильной связи (GSM), широко используемый стандарт сотовой связи, использует CRC-3-GSM; Мультидоступ с кодовым разделением каналов (CDMA), другой широко используемый стандарт сотовой связи, использует CRC-6-CDMA2000A, CRC-6-CDMA2000B и CRC-30; и некоторые автомобильные сети (CAN), используемые для соединения различных компонентов в автомобиле, используют CRC-17-CAN и CRC-21-CAN. Некоторые из этих различных функций CRC являются не единственной функцией, а скорее классом или семейством функций со многими различными кодами и опциями внутри них.
img
Работаете с IP – АТС Asterisk? Тогда этот материал для вас. Говорить будем про отправку уведомлений в VK (Вконтакте) при входящем звонке. От слов к делу. Получаем access_token Первым делом, перейдите Developers раздел VK. В хедере (верхнем меню навигации) нажмите Мои приложения после чего нажмите Создать приложение: Название - дайте имя для вашего аппликейшна. Например, Asterisk; Платформа - выбираем Standalone-приложение; Переходим в раздел настроек созданного приложения. Копируем ID приложения, как показано на рисунке ниже: Отлично. Теперь скопируйте ссылку ниже: https://oauth.vk.com/authorize?client_id=1234567&scope= offline,messages&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.37&response_type=token Предварительно замените client_id на ваше значение, полученное ранее (ID приложения). VK API спросит разрешения на доступ к некоторым данным: Если все ОК, то VK вернет нам токен: Если вы столкнулись с ошибкой вида «{"error":"invalid_request","error_description":"Security Error"}», то перелогиньтесь в вашей учетной записи в VK и повторите попытку Сохраняем значение и переходим к настройке скрипта на стороне Asterisk. Адаптация на Asterisk Реализацию скрипта сделаем на .php. Создайте файл asteriskvk.php и наполните его следующим содержимым: #!/usr/bin/php -q <?php require('phpagi.php'); $agi = new AGI(); $message = "Сейчас поступит звонок с номера: "; $message .= $agi->request['agi_callerid']; $id = "ID получателя сообщения"; $token = "Токен"; function send($id , $message, $token) { $url = 'https://api.vk.com/method/messages.send'; $params = array( 'user_id' => $id, 'message' => $message, 'access_token' => $token, 'v' => '5.37', ); $result = file_get_contents($url, false, stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($params) ) ))); } send($id, $message, $token); Скачать скрипт В скрипте вам необходимо поменять следующие переменные: $id - идентификатор пользователя, которому будет отправлено сообщение. Помимо user_id, это может быть ID группового чата; $token - API - токен, который вы получили ранее; Сохраняйте файл и загрузите в директорию /var/lib/asterisk/agi-bin/ после чего дайте следующие команды в консоли сервера: chmod 755 /var/lib/asterisk/agi-bin/asteriskvk.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/asteriskvk.php dos2unix /var/lib/asterisk/agi-bin/asteriskvk.php Лезем в диалплан и на входящем маршруте адаптируем простенькую конструкцию: exten => _.,n,AGI(asteriskvk.php) Звоним и проверяем:
img
Интернет в наши дни уже не роскошь. У каждого из нас есть как минимум три аккаунта на разных соцсетях и почтовых сервисах, не говоря уже об электронном банкинге, разных форумах, облачных хранилищах и т.д и т.п. У меня самого насчиталось больше ста восьмидесяти разных аккаунтов в просторах Интернета. В свете всего этого вопрос безопасности этих учетных записей всё ещё волнует экспертов по кибербезопасности. Специалисты советуют для каждого аккаунта генерировать свой пароль и это логично. Ведь если злоумышленник подсмотрит ваш пароль или достанет его установив кейлоггер, например, то у него будет доступ ко всем вашим профилям включая тот же самый онлайн банкинг или Яндекс.Деньги. Но, согласимся, что человеческий мозг не жёсткий диск, мы просто не можем запомнить 100 разных паролей, особенно если там просто набор символов, который выдал нам генератор паролей. Правда, можно записать все в какой-нибудь блокнотик и всегда держать его при себе. Но вдруг вы упадете в фонтан и он промокнет, или потеряете его. Значит это тоже не выход. Но к счастью светлые головы века Интернета нашли решение этой проблемы менеджеры паролей. Сегодня в сети можно найти больше сотни разных программ, назначение которых безопасное хранение паролей, освобождая тем самым пользователя от необходимости держать это в голове. Среди наиболее популярных можно назвать LastPass, 1Password, KeePass. Первый из списка хранит пароли онлайн и можно установить расширение для браузера, которое облегчит ввод паролей и добавление новых. Но его в 2015 году взломали, что поколебало мое доверие к этому сервису, хотя они и быстро приняли нужные меры. Второй из списка платный, а я думаю не стоит платить за то, что можно заменить бесплатным аналогом. А вот третий, на мой взгляд, лучший. По крайней мере, я сам пользуюсь им давно и не разу не подводил меня. Поэтому на нём остановлюсь подробней и расскажу об основных функциях и настройках. Поехали! Программу можно скачать с официального сайта KeePass. Установка стандартная. После установки запускаем программу открывается пустое окно, где можно создать новую базу данных, в которой будут храниться пароли. Это можно сделать двумя путями: либо через меню Файл, либо кликнув на иконке в виде пустого листа со звёздочкой: Выбираем место сохранения файла. Тут я советую выбрать папку какого-нибудь облака, если таковое у вас есть. Я, например, храню в папке GoogleDrive. Благодаря этому у меня везде и всегда под рукой есть последняя версия моей БД. Можно хранить и на переносном устройстве вместе с портативной версией программы, что очень удобно если вы вам приходится работать за чужим компьютером. После этого нам предлагается установить мастер-пароль. Его-то и нужно запомнить как своё имя, ибо без него доступа к базе у вас не будет. Файл БД шифруется, так что просмотреть какой-то программой практически невозможно. Вместо пароля можно использовать файл ключа или же учётную запись Windows. Файл ключа рекомендуется использовать как дополнительную защиту к мастер-паролю. Если мастер-пароль не установлен, а файл ключа попал в руки злоумышленника, то он запросто получит доступ к вашим данным. И после всего этого открывается окно, где по умолчанию есть основные категории, что позволяет организованно хранить пароли, чтобы не потеряться среди своих же данных. Также можно добавлять свои группы или удалять существующие. Делается это во вкладке Группа. Язык программы пол умолчанию Английский, но можно легко скачать языковые пакеты и установить их. Для этого переходим по ссылке https://keepass.info/translations.html и качаем архив с нужным языковым пакетом и разархивируем его и кидаем файл в папку C:Program Files (x86)KeePass Password Safe 2Languages. Затем в программе в меню View выбираем Change Language, где указываем нужный нам язык. Для вступления изменений в силу программу нужно перезапусть. Меню Поиск предоставляет удобный поиск в базе, где можно указать по каким полям проводить поиск. Чтобы добавить новую запись кликаем на значке ключика с зелёной стрелкой. Также можно воспользоваться комбинацией клавиш Ctrl + I. Вводим название записи, логин и пароль. Сама программа генерирует случайный пароль, но вы можете поменять его. По мере ввода пароля, программа указывает его надёжность. Рекомендуемая длина пароля 8-10 символов, где есть хотя бы одна большая буква, один спецсимвол и одна цифра. Программа имеет встроенный генератор паролей, который можно вызвать кликнув на ключик рядом со строкой повтора пароля. Выбираем какие символы хотим в пароле галочкой и программа сгенерирует список паролей, которые можно просмотреть на вкладке Просмотр. А если нажать ОК, то программа автоматом подставит случайно выбранный пароль. Очень удобно. На вкладке Дополнительно можно запретить повтор символов и исключить использование похожих символов типа 0 и О, l (L прописная) и I (I заглавная). Пароль также можно просмотреть кликнув на кнопочку с тремя точками. Но это можно и нужно отключать. Вводим ссылку сервиса, при необходимости добавляем комментарии, например, дату создания аккаунта, так как некоторые сервисы при восстановлении пароля требует эту информацию. Можно также поставить время истечения пароля. При истечении срока пароля программа выделит их красным цветом и зачёркнутым шрифтом. Следующая вкладка Дополнительно. Здесь можно задать дополнительные поля или указать прикрепляемые файлы. Дополнительные поля полезны, когда вам нужно вводить, например, номер телефона, резервный электронный адрес, номер кредитки. Для этого кликаем на записи правой кнопкой и выбираем Копировать дополнительные поля. Но вот применения к прикрепляемым файлам я так и не нашёл. Следующая вкладка Свойства. Тут можно задать свой цвет фона для записи полезно если вам нужно выделить конкретную запись среди сотни паролей. А также можно переопределить используемый по умолчанию браузер. Бывают сайты, которые поддерживаются конкретным браузером, вот для таких случаев и придумана данная функция. Самая, пожалуй, полезная вкладка из перечисленных это Автонабор. Автонабор даёт возможность автоматически вводить логин и пароль нажатием клавиш Ctrl+Alt+A. По умолчанию поведение такое: вводится логин, нажимается TAB, вводится пароль и Enter. Но если вам нужно, например, два раза нажимать знак табуляции, поставить или убрать галочку (Space), затем нажать Enter, то все это можно задать в строке Переопределить стандартную последовательность. Также следует добавить окно, где нужно применять автонабор. Для этого нажимаем на кнопку Добавить и из выпадающего списка выбираем целевое окно. Учтите, чтобы выбрать окно оно должно быть предварительно открыто в браузере. Ну, а во вкладке История можно просмотреть историю изменений и при необходимости (например, поменяли пароль, но не смогли скопировать старый, чтобы ввести для смены пароля на страницы сайта) даже откатить назад. Настройки программы Теперь перейдём к настройкам программы. Здесь я покажу рекомендуемые настройки, которые применяю я сам. Чтобы перейти к настройкам программы в меню Сервис выбираем пункт Параметры. Первая вкладка Безопасность. Тут, как и видно из названия настраиваются политики безопасности программы. Рекомендуется ставить галочку Блокировать при неактивности. Это позволить блокировать программу если вы встали из за компьютера и забыли заблокировать его. Второй параметр почти дублирует первый, но касается всей системы. Также активируем ввод мастер-пароля на безопасном рабочем столе. Эта функция не позволяет кейлоггерам записывать введённые символы. На вкладке Политика меняем значения следующим образом: Экспорт без ключа выкл; Печать без ключа выкл; Показ паролей (при нажатии на кнопочку с точками рядом со строкой пароля) выкл; Изменение мастер-ключа без ключа выкл. В третьей вкладке всё понятно, поэтому не стану все описывать. Единственное посоветовал бы включить Делать программу неактивной после копирования пароля. В этом случае после копирования пароля автоматически откроется окно, где вы хотели бы ввести пароль. На вкладке Интеграция можно переопеределять клавиши автонабора. А на вкладке Дополнительно выставляем все как показано на рисунках: На этом, пожалуй, всё. С остальными настройками, думаю, легко разобраться. Тем более, что есть подробное руководство по программе на сайте разработчика. Согласен, может всё описанное может кому-то показаться лишней тратой времени и сил, но поверьте безопасность ваших данных этого стоит. Удачи!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59