• Откуда взять информацию по созданию дата-центров (от А до Я)?

    @throughtheether
    human after all
    К сожалению, узбекскими реалиями я не владею, но пару мыслей могу высказать.
    То есть как подключить свои серверы к интернету.
    Как вообще устроен интернет. Основа - физическая инфраструктура, то есть, грубо говоря, кабельные сети. Не будет канальной емкости - не будет быстрого интернета. Затем, поверх этой инфраструктуры обеспечивается IP-связность, для обмена данными об IP-сетях используется протокол BGP. У каждого "кусочка интернета" есть свой номер автономной системы (AS в терминах BGP), своя доля адресного пространства IP и оборудование, обеспечивающее IP/BGP функциональность. Каждая такая автономная система устанавливает отношения с другими автономными системами, может слать трафик до их сетей и принимать трафик от них. Очень часто в этих отношениях доминирует коммерческая нота или политика другого уровня.
    Нужно чтобы и Узбекистанцам не было проблем с трафиком. Трафик внутри Узбекистана бесплатен, а мир дороговато (ваши 20-100 мб/с (безлимит) = у нас 1-4 мб/с (500 - 10000 мб)).
    Теперь применим это к Узбекистану. Насколько я понял (а помог мне этот сайт), "точкой входа" зарубежного трафика для Узбекистана является Узбектелеком, AS28910. Узбектелеком меняется трафиком с российскими, казахским и немецким операторами связи, притом, практически наверняка, платит за это приличные деньги.

    Теперь, какие пути к улучшению ситуации.
    1) Увеличить объемы трафика между Узбектелекомом и его аплинками (Ростелекомом, Вымпелкомом, Транстелекомом, Казахтелекомом, Мегафоном, немцами). Для кардинального улучшения, предполагаю, может потребоваться обновление оборудования и увеличение канальной емкости (проложить дополнительные волокна и т.д.). Это большие деньги. Кроме того, не надо быть особым знатоком узбекских реалий, чтобы предположить, что такие вопросы контролируют уважаемые люди, которые отвечают перед еще более уважаемыми людьми. У этих людей может быть свое видение развитие узбекского сегмента интернета, отличное от вашего. Например, они могут иметь основания опасаться повторения "твиттер-революций".
    2) Самому стать новым Узбектелекомом. Это, в моем представлении, потребует еще больших денег и протекции.
    3) Просто ждать и надеяться на лучшее. С развитием интернета (и его узбекского сегмента) объемы трафика будут увеличиваться, что заставит и Узбектелеком развивать соответствующую инфраструктуру. Развитие потребительского интернета во многих странах идет схожим образом, только с некоторым опережением/запаздыванием.
    4) Развитие пункта 3 - развивать узбекский сегмент интернета, приближая будущее, с роботами и оптикой в каждый дом. Если вы создадите востребованный (не только в Узбекистане, но и в странах СНГ) сервис, рабочие места, налоговые отчисления, то обосновать необходимость перемен будет проще, на мой взгляд.

    Вкратце - построить дата-центр недостаточно, надо развивать отношения с зарубежными операторами связи. Ждать, что ситуация кардинально изменится по мановению волшебной палочки, не стоит. Но и отчаиваться тоже - прогресс неизбежен.
    Ответ написан
    1 комментарий
  • Генератор юзеров?

    @throughtheether
    human after all
    Не могу подсказать касательно сервиса, но есть такой модуль Python, если вас он устроит.
    Ответ написан
    4 комментария
  • Что необходимо понимать при реализации криптоалгоритма?

    @throughtheether
    human after all
    У меня релевантного образования нет, выскажу свое мнение дилетанта.
    Чем, например, моя реализация хуже той, что представлена в каком-нибудь криптопровайдере (я говорю не о скорости работы, а о безопасности)?
    Тем, что существующие реализации имеют некоторую историю эксплуатации или даже прикладного криптоанализа. Поэтому авторы этих реализаций имеют внешнюю оценку своих решений. У вас такой оценки, я полагаю, нет. Будет очень грустно, когда об уязвимости вы узнаете уже после того, как при помощи эксплуатации этой уязвимости будет нанесен ущерб.
    В общем, что стоит помнить/знать/понимать, чтобы сделать свою реализацию такой же надёжной, как и промышленные аналоги?
    Следует иметь в виду, что одна лишь математически корректная реализация не гарантирует надежности/безопасности. Следует учитывать поведение системы в целом. Если ваше решение - некий общедоступный сервер, то имейте в виду, что третья сторона может с некоей точностью замерять ответы вашей системы на поступающие запросы и делать из этого выводы. Если ваше решение - смарт-карта, то будьте готовы к тому, что третья сторона может измерять потребление электричества в разные моменты времени и делать из этого выводы, целенаправленно изменять напряжение питания и тактовую частоту процессора, подвергать систему воздействию ионизирующего излучения с целью нарушения работы алгоритма и анализа данных, полученных в ходе наблюдения. Если вы даже всего лишь пишете простую программу на языке высокого уровня, будьте готовы к тому, что нюансы этого языка приведут к некоторым последствиям.
    Вкратце, наивное математически корректное решение не защитит вас, в общем случае, от атак по времени и прочим сторонним каналам.
    Вышесказанное не означает, что кто-то в общем случае вправе вам запретить самостоятельно реализовывать криптоалгоритмы, но с вашей стороны было бы разумно оценить возможные последствия.
    Ответ написан
    Комментировать
  • Как сформировать Ethernet OAM PDU в Scapy?

    @throughtheether
    human after all
    Возможно ли это вообще в Scapy?
    Вы можете создать фрейм при помощи конструктора e=Ether(src='AA:AA:AA:AA:AA:AA',dst='01:80:c2:00:00:02',type=0x8809), и далее самостоятельно задать значение поля данных (e.payload=data, где data имеет тип Packet или str)
    Пример (размер полей может быть не вполне корректен):
    e=Ether(src='AA:AA:AA:AA:AA:AA',dst='01:80:c2:00:00:02',type=0x8809)
    class EthernetOAM(Packet):
        name='Ethernet OAM'
        fields_desc=[
             ByteField('Subtype',3),
             ByteField('Flags',0),
             ByteField('Code',0),
        ]
    OAM=EtherOAM()
    OAM.payload="data+padding"
    e.payload=OAM
    OAM
    >>> <EthernetOAM  |<Raw  load='data+padding' |>>
    e
    >>> <Ether  dst=01:80:c2:00:00:02 src=AA:AA:AA:AA:AA:AA type=0x8809 |<EthernetOAM  |<Raw  load='data+padding' |>>>


    Если нет, то есть ли инструменты, которые позволяют сформировать и отправить такие PDU?
    Инструментов много (как пример, trafgen или mausezahn в составе пакета netsniff-ng), но формировать поле данных вам придется самому, скорее всего.
    Ответ написан
    Комментировать
  • Почему роутер выдает меньшую скорость чем на порту?

    @throughtheether
    human after all
    Скорость на прямую, при подключении кабеля к сетевой карте 40-50 мбит/сек. При подключении через роутер скорость не поднимается больше 20 мбит/сек.
    Что такое "скорость"? Как вы ее измеряете? Через speedtest.net и подобные сервисы? Как вы получаете интернет (используется ли VPN или PPPoE)?
    Почему так может быть?
    Возможные варианты (список неполный):
    1) Маршрутизатор не справляется с нагрузкой. Проверьте утилизацию его ресурсов (CPU, память). Возможны также баги в реализации поддержки протоколов.
    2) Субоптимальная работа TCP (в случае, если вы пользуетесь результатами speedtest.net). Проверьте настройки MTU и TCP MSS (maximum-segment size), если они есть. Проверьте скорость передачи udp-датаграмм при помощи, например, iperf.
    3) Несогласованность дуплекса на каком-либо из портов. Проверьте настройки дуплекса и наличие ошибок на портах.
    4) Как частный случай варианта 1), наличие встроенных механизмов "безопасности" (фаерволлы, ids и прочая), утилизирующих ресурсы. Попробуйте их отключить.

    Если вы получаете интернет через VPN/PPPoE, то я склоняюсь к первому варианту. Быть может, что маршрутизатор не способен обработать трафик большей интенсивности.
    UPD:
    Интернет через pppoe. Скорость заметил на торрентах, да и на тестах тоже самое. Данная проблема была не всегда, а появилась совсем не давно. Не прошивал, не настраивал.

    В принципе, те же варианты, только в другой формулировке:
    1) может быть, маршрутизатор по какой-либо причине перестал нормально функционировать (плохое питание - нестабильная производительность - отбрасывание пакетов, или пробой памяти - нарушение контрольной суммы - отбрасывание пакетов)
    2) настройки дуплекса на портах, особенно на WAN-порту маршрутизатора
    3) проблемы с MTU также не стоит исключать
    4) провайдер или ваш сосед по коммутатору начал слать вам паразитный трафик, маршрутизатор пытается его обрабатывать, что ведет к снижению полезной производительности.
    5) провайдер изменил параметры PPPoE, маршрутизатор отреагировал снижением производительности из-за багов в прошивке.

    Наиболее полную картину даст сравнение характеристик подключения через маршрутизатор и напрямую (здесь можно изучить интернет-трафик с компьютера при разных вариантах подключения и сравнить его характеристики), изучение характеристик маршрутизатора (количество отброшенных пакетов, ошибки на портах, утилизация ресурсов) и интернет-трафика с его WAN-порта (количество повторных посылок данных, параметры TCP, наличие фрагментации).

    Готовых односложных ответов я вам, к сожалению, предоставить не могу. "Домашние" маршрутизаторы мне представляются довольно неудобными в диагностике в силу отсутствия внятных инструментов для этого.
    Ответ написан
  • Что такое "асимптотически точная оценка времени работы алгоритма"?

    @throughtheether
    human after all
    Мое авторитетное мнение дилетанта таково.
    Во-первых, имеет смысл ознакомиться с первоисточником по данной теме, а именно со статьей Дональда Кнута. В ней на стр.19 дается удобное, на взгляд автора, определение отношений Θ,O,Ω. Эти отношения первоначально задаются как отношения значений неких двух функций. Оценка временной и пространственной сложности - это приложения. Целью введения такой нотации было упростить вычисление количества операций, требуемых для выполнения алгоритма, без потери качественных характеристик, а также отвязаться от возможных зависимостей от архитектуры, компилятора и т.д. Грубо говоря, если алгоритм обсчитывает 1000 единиц входных данных час, то эта нотация помогает быстро оценить, как долго будут обсчитываться, например, 2000 единиц. Естественно, что эта нотация "огрубляет" информацию о значениях функции, в этом ее предназначение.

    Что такое «асимптотически точная оценка времени работы алгоритма»?
    Если речь идет о Θ-нотации, то это функция (или множество функций), растущая так же быстро, как и время работы алгоритма с увеличением длины входных данных.

    Оценка Θ() существует только тогда, когда O() и Ω() совпадают и равна им.
    Это положение мне представляется частично верным. Если f(n)=O(g(n)) и f(n)=Ω(g(n)), то f(n)=Θ(g(n)), где g(n) - некая функция, например, вида nlogn. Другое дело, что если f(n)=O(n), то также верно, что f(n)=O(n^2), то есть, несмотря на то, что у функции есть Θ-оценка, ее O- и Ω-оценки могут не совпадать.

    Итак, O() - асимптотическая оценка алгоритма на худших входных данных, Ω() - на лучших входных данных
    Если определить "лучшие"/"худшие" данные как требующие минимального/максимального времени среди наборов входных данных такой же длины, то это утверждения мне также представляется частично корректным. Количество операций, которое выполняет алгоритм в худшем, среднем и лучшем случаях - это функции от длины входных данных. Каждую из этих функций можно оценить при помощи каждой из трех (Ω,Θ,O) нотаций.

    Мне представляется разумным такое восприятие оценок:
    f(n)=O(g(n)) - функция f(n) растет не быстрее функции g(n)
    f(n)=Ω(g(n)) - функция f(n) растет не медленнее функции g(n)
    f(n)=Θ(g(n)) - функция f(n) растет так же быстро, как и функция g(n)
    Попробуйте нарисовать график некоей возрастающей функции в логарифмическом масштабе по оси ординат, и представить, где расположены значения функций, корректно оценивающих исходную при помощи Ω,O,Θ нотаций, пользуясь определениями из статьи Кнута и отметив на графике константы C и n0.


    Известно, что например для сортировки qsort средняя оценка для случайного распределения входных данных (она же лучшая, для полностью сбаллансированного варианта) равна Θ(nlogn),
    С моей точки зрения, корректно также будет сказать, что средняя оценка также равна O(nlogn) или Ω(n).

    тогда как верхняя оценка (для специально подобранных неоптимальных данных) равна O(n^2).
    а также равна Θ(n^2).

    Правильно ли будет сказать, что реально асимптотически точная оценка алгоритма дается в первую очередь на основании особенностей работы конкретного алгоритма для усредненных входных данных (понимая под усредненными данными случайно распределенный массив данных), а в сложных случаях - отталкиваясь от оценок сверху O() и снизу Ω()?
    С моей точки зрения, если есть совпадающие оценки O и Ω, элементарно получается Θ-оценка. Другое дело, что "худшая", "лучшая", "средняя" вычислительные сложности - это функции от длины входных данных. Для каждой из этих функций может быть дана оценка асимптотической скорости возрастания, будь то Ω, Θ или O. Рассуждая о "случайно распределенном массиве данных", можно углубиться в матстатистику, что, на мой взгляд, не упростит задачу.

    Пользуясь случаем, рекомендую курс на coursera от Tim Roughgarden. Релевантные видео есть на youtube.
    Ответ написан
    9 комментариев
  • Почему некоторые сайты не пингуются командой ping?

    @throughtheether
    human after all
    Почему так происходит? Сайты все работают.
    В текущих реалиях вывод утилиты ping имеет довольно касательное отношение к работоспособности сервисов. В данном случае, скорее всего, по какой-либо причине фильтруются icmp-пакеты.
    А какой то альтернативный вариант пингования сайта есть?
    Если под "пингованием сайта" вы подразумеваете проверку работоспособности сервиса (веб-сервиса в данном случае), то для этого наиболее логично пользоваться соответствующим клиентом (т.е. веб-браузером). Во многих случаях поведение клиента можно эмулировать, в случае веб - при помощи netcat, telnet (telnet www.ya.ru 80, далее в консоли HEAD / HTTP/1.0), curl, wget, самодельного скрипта.
    Ответ написан
    Комментировать
  • Почему пинг влияет на наличие интернета?

    @throughtheether
    human after all
    На компьютере не работает интернет, до тех пор, пока не запустишь команду "ping 192.168.5.16". Затем через какое-то время, минут 15, снова пропадает. Тут спасает только "ping 192.168.5.16 -t".
    Одна из возможных причин - наличие в L2-домене хоста с IP-адресом, совпадающим с вашим или целенаправленная подделка arp-ответов. Стоит пронаблюдать состояние arp-таблицы на маршрутизаторе. Кроме того, можно самостоятельно (hping, scapy) послать arp-запрос с вашим ipv4-адресом в качестве искомого, посмотреть, кто откликнется.
    Ответ написан
    2 комментария
  • В чем принципиальное отличие L3 коммутатора от маршрутизатора?

    @throughtheether
    human after all
    В моем представлении, L3-коммутатор имеет меньшую L3-функциональность, чем маршрутизатор, но при этом, как правило, его устройство оптимизировано с целью максимизации производительности. Грубо говоря, L3-коммутатор умеет делать меньше разных вещей, но делает их лучше.

    Маршрутизатор, как правило, умеет поднимать VPN-тоннели, иногда (все реже и реже с распространением Ethernet везде) маршрутизаторы поддерживают отличные от Ethernet L2-технологии. Зачастую маршрутизаторы имеют богатую функциональность в области безопасности (встроенный firewall, ips и прочая).

    L3-коммутатор умеет обмениваться маршрутами с другими устройствами и перенаправлять ("форвардить") трафик. С целью увеличения производительности используются специализированные аппаратные решения (ASIC для перенаправления трафика, аппаратная поддержка префиксных деревьев и прочая). Так как аппаратные ресурсы дороги, то по некоторым численным характеристикам (количество маршрутов, например) L3-коммутатор может отставать от маршрутизатора.
    Кроме того, L3-коммутатор поддерживает технологии из сферы коммутации (xSTP, etherchannel и т.д.)

    Таким образом, маршрутизатор обладает богатой L3-функциональностью, L3-коммутатор - более узкой, но оптимизированной, L3-функциональностью и, вдобавок, функциональностью "обычного" коммутатора.

    Наконец, не стоит забывать, что все подобные абстракции и категоризации довольно условны и в жизни можно найти им контрпримеры.
    Ответ написан
    Комментировать
  • Есть приличная база данных / софт для определения веб ботов?

    @throughtheether
    human after all
    Буду благодарен любым наводкам, в том числе и на статьи по теме вычисления ботов.
    Я сомневаюсь, что кто-либо поделится готовым решением, так как, на мой взгляд, стоимость разработки такого решения довольно высока. По теме есть полезные, но довольно общие статьи в блоге incapsula, например.
    Ответ написан
    Комментировать
  • Какие есть аналоги tcpdump с поддержкой отлова пакетов по шаблону данных?

    @throughtheether
    human after all
    Мне необходимо отсеивать пакеты по определенному шаблону (например, с определенными начальными двумя байтами данных). Погуглив, ничего не нашел по поводу отсеивания трафика по шаблонам данных в tcpdump.
    Посмотрите здесь, 11 страница. Вкратце, релевантный синтаксис Berkeley packet filter таков: protocol[start:count]=0xHEXTEMPLATE
    пример для "GET " в начале HTTP-сообщения (точнее, в начале поля данных TCP):
    tcp[20:4] = 0x47455420

    Если в tcpdump нет такой возможности, подскажите, пожалуйста, альтернативные снифферы, желательно не тяжелые и без гуя (для использования на сервере с CentOS).
    В tcpdump такая возможность (если я правильно понял вашу проблему) есть, но рекомендую обратить внимание на tshark, консольный вариант wireshark. Для захвата трафика они используют bpf-фильтры, фильтры для отображения трафика у них можно настроить более гибко, на мой взгляд.
    Еще один вариант решения вашей проблемы - захватить весь трафик (или с грубой фильтрацией), если это возможно (т.е. интенсивность трафика невелика) при помощи tcpdump и отфильтровать при помощи фильтров отображения (display filters) в wireshark/tshark.
    Ответ написан
    Комментировать
  • Могут ли возникнуть дубли хешей?

    @throughtheether
    human after all
    Считая сначала md5, затем crc32, вы, по моему мнению, увеличиваете вероятность коллизии. Коллизия может возникнуть в функции md5 (одинаковые значения для разных входных данных), что сразу приведет к коллизии на выходе crc32 (одинаковые значения для одинаковых входных данных). Кроме того, коллизия может возникнуть в функции crc32b (одинаковые значения на выходе для двух разных результатов md5). Не знаю, как работает функция md5 в php, но мне представляется, что ее вывод имеет некую структуру (32 шестнадцатеричные цифры), что может увеличить вероятность коллизии crc32b.
    Зачем использую crc32b? Чтобы ссылки были как можно короче - для использования в смс-рассылке.
    На вашем месте, если нужен детерминизм, я бы:
    1) использовал хэш-функции из семейства SHA-2 (SHA-256,SHA-512).
    2) использовал бы N последних бит (например, 48, сложность подбора заданного хэша в среднем 2^48 попыток, сложность нахождения двух произвольных пользователей с совпадаюшими хэшми, как отметил @eandr_67 в комментарии, значительно меньше, 2^24 попыток в среднем, в силу квадратичного количества пар)
    3) транслировал бы эти 48 бит в 8 символов 64-символьного алфавита (латинские буквы в обоих регистрах + цифры + 2 символа)
    4) использовал бы полученную 8-символьную строку
    Пункты 2,3,4 можно подогнать под ваши специфические требования.

    UPD:
    При изменении статусов заказа эти ссылки приходят клиенту на емейл/смс - поэтому будет не очень хорошо если ссылка каждый раз разная будет (таким образом клиент не сможет зайти в кабинет по ссылке из прошлого письма).

    Во-первых, непонятно, почему отслеживаются заказы, а хэш вы считаете от товара. Сегодня, например, клиент заказывает один товар одновременно, а завтра, когда концепция поменяется - два и более. Более логичным представляется отслеживание заказов (примерные характеристики заказа - номер телефона/email пользователя, список товаров, срок и адрес доставки и прочая).
    Далее, непонятно, почему решено использовать хэширование. Я предполагаю, что проблем с хранением данных нет. Почему бы не хранить вместе с данными заказа соответствующую ему 'секретную' ссылку, сгенерированную при помощи ГПСЧ?
    Далее, если вы планируете использовать короткую ссылку в смс, то имеет смысл использовать для ее составления специализированный алфавит, отобрав из набора a-z,A-Z,0-9 наиболее удобные в плане UX. Например, буквы I и l бывают трудноразличимы. Здесь важно также максимизировать мощность множества возможных значений строки-ссылки (равное A^l, где A - количество символов в алфавите, l - длина строки-ссылки). В случае 32 символов в алфавите и 8 символов в строке получаем 2^40 вариантов, сложность нахождения пары пользователей с совпадающими ссылками в среднем 2^20 попыток (вероятности релевантных коллизий, соответственно, обратны этим значениям).
    Далее, можно разделить функциональность страницы заказа, при простом доступе по ссылке показывать только статус/общую информацию, а важные действия (отменить заказ, изменить адрес, и т.д.) разрешать после прохождения дополнительной проверки (например, на известный номер телефона/e-mail клиента пересылается короткоживущий секрет, который должен быть введен на странице для продолжения).
    Такие мысли.
    Ответ написан
  • Как решается уравнение x^x?

    @throughtheether
    human after all
    напомните пожалуйста быдлокодеру как решаются уравнения типа
    x^x = c, где с - известная константа
    Я в свое время решал так:
    1) перебором находим такие целые i, i+1, что i^i<=c<=(i+1)^(i+1). В случае равенства возвращаем соответствующее значение.
    2) продолжаем при помощи метода деления отрезка пополам (он же метод бисекции, решаемое уравнение имеет вид x^x-c=0), пока длина отрезка не станет меньше некоего порога точности (или значение функции x^x в точке не будет в необходимой окрестности константы c).
    Ответ написан
    Комментировать
  • Стеганография через модуляцию скорости передачи файла по HTTP - есть ли готовые решения?

    @throughtheether
    human after all
    Вопрос: не встречались ли вам инструменты, умеющие работать со скоростью приёма/передачи статичных файлов для сокрытия в моменте передачи доп. сообщения?
    Нет, не встречались, я даже подозреваю, почему. Я предполагаю, что эта схема хоть как-то работоспособна только для фиксированной реализации стеков протоколов, фиксированных хостов и фиксированных параметров сети между ними. Судите сами, как это соотносится с реальностью.

    Для защиты от естественных колебаний скорости, скорее всего, нужно будет одновременно передавать два файла, модулируя их скорость в противоположные стороны, инвертируя и складывая в конце.
    Что, если длительность передачи будет разной для этих файлов? Например, трафик с данными одного файла передавался по другим физическим линкам (etherchannel, L3 ECMP при взаимодействии с разными TCP-соединениями). Как их корректно сопоставить (сложить)? Что вообще означает "одновременно передавать"? Какова будет результирующая скорость передачи полезных данных?

    Мне эта идея представляется свежей, но крайне непрактичной. Даже если кодировать данные в зарезервированных битах TCP (3 бита на сегмент), получится более применимая схема.

    Вкратце, я думаю, готовой реализации вы не найдете. Если реализуете схему сами, то будет очень интересно, какая получится производительность и диапазон параметров, в котором эта схема работоспособна.
    Ответ написан
    2 комментария
  • Алгоритм сортировки массива точек в трехмерном пространстве относительно заданной?

    @throughtheether
    human after all
    Существует ли быстрый алгоритм сортировки массива точек в трехмерном пространстве относительно заданной?
    Я не знаю, что вы подразумеваете под словом "быстрый", но мои соображения таковы:
    1) определить расстояние от каждой из n точек до заданной - O(n) (даже Θ(n)). Я не вижу здесь потенциала для фундаментального улучшения.
    2) отсортировать массив - O(n*logn) в лучшем случае.
    Итого - O(n)+O(n*logn)=O(n*logn).

    Другое дело, что если входные данные имеют специфическую структуру, то можно, при соответствующем подходе, понизить (или попытаться понизить) "константы" O-нотации и соответственно время выполнения.
    Ответ написан
  • Gopher: как правильно отдавать текстовые документы?

    @throughtheether
    human after all
    Если посмотреть на формально описание протокола в приложении, то вроде бы всё понятно: текст, потом `.` с новой строки и наконец `CR-LF`. Почему тогда отдельно говорится о том, что нельзя передавать «tabs, formfeeds» и каких-то «frufru»?
    Потому что, видимо, предполагается, что сервер может передавать всякие изыски ('frufru'). Сервер может это делать, потому что ему не запретили. Серверу не запретили, потому что этот RFC на является стандартом (первая страница):
    This memo provides information for the Internet community. It does not specify an Internet standard.


    как правильно отдавать текстовые документы?
    На вашем месте я бы поступил в соответствии с максимой "Будь консервативен, отправляя данные, и либерален, принимая данные".
    Ответ написан
    Комментировать
  • Как вам мой алгоритм хэширования?

    @throughtheether
    human after all
    Во-первых, для школьника неплохо. Во-вторых, лично мне непонятна сфера применения этой хэш-функции. Для проблем, связанных с безопасностью, уже есть проверенные решения. Для проблем, связанных с детерминистским распределением объектов по контейнерам (пример: разделение нагрузки а-ля etherchannel, ECMP) она слишком медленная. В-третьих, автор будет еще большим молодцом, если самостоятельно найдет коллизии.
    константы являются рандомными числами
    На мой взгляд, попытка добавить "случайности" в алгоритм без его всестороннего исследования преждевременна и может вести к ложной уверенности в "безопасности" алгоритма.
    Ответ написан
  • Почему не запускается cisco 3825?

    @throughtheether
    human after all
    Пробовал в остановить пароль по инструкциям в инете после того как поменял регистр на 2142
    Какую именно команду вы применили? Правильная команда confreg 0x2142 Если вы ввели, например, confreg 2142, то это не то значение, которое вам нужно.
    по консольному кабелю роутер молчит. В чем может быть проблема?
    Если вы ввели неправильное значение, скорее всего вы затерли настройки консоли. На вашем месте я бы попытался подключиться к консоли, перебрав все возможные значения настроек (baud rate и прочая).

    Если вы ввели confreg 2142 (десятичное значение вместо шестнадцатиричного), попробуйте установить скорость 4800 бод.
    Ответ написан
    2 комментария
  • На какой трафик применяется route-map на интерфейсе?

    @throughtheether
    human after all
    Допустим на интерфейсе vlan_A применяется route-map_A, на vlan_B - route-map_B
    Если речь о Policy-based routing, то, насколько мне известно, route map в случае PBR применяется на входящий на релевантный настройкам PBR интерфейс трафик.
    Policy-based routing is applied to incoming packets. All packets received on an interface with policy-based routing enabled are considered for policy-based routing. The router passes the packets through enhanced packet filters called route maps. Based on the criteria defined in the route maps, packets are forwarded/routed to the appropriate next hop.
    Подробнее.

    Проверить самостоятельно вы можете при помощи генерации интересующего вас трафика и наблюдения вывода команд
    show route-map (строка Policy routing matches; команду можно применять на рабочей сети) и debug ip policy (как и всякую debug-команду, эту команду следует использовать с осторожностью; выключение режима отладки - undebug all).
    Ответ написан
    1 комментарий
  • Как осуществить переделку направленной антенны 890 МГц в 430 МГц?

    @throughtheether
    human after all
    Возможно как-то переделать ее в домашних условиях? Если да, то как?

    Рассчитать антенну типа "волновой канал с петлевым активным вибратором" для нужного диапазона частот. Изготовить активный вибратор (на фото - петля, куда подключается кабель), рефлектор (самая длинная перекладина), директоры (остальные перекладины). Установить их в нужных позициях на траверсе (основа, куда все крепится). Так как при понижении частоты соответствующая длина волны возрастает, линейные размеры элементов, как мне представляется, возрастут, так что, может получиться, даже траверсу надо будет менять. После сборки согласовать сопротивление (добившись нормального КСВ).

    Если нужна антенна, то проще купить готовую на нужный диапазон. Если нужно переделать данную антенну, то вкратце план я вам расписал.

    UPD:
    Можно просто меньше директоров поставить.

    Я, пожалуй, слишком перфекционистски ответил. Если бы я был в ситуации, когда очень надо перетянуть антенну на другой диапазон с минимальными ресурсами, я бы (лично) попробовал:
    0) воткнуть антенну в модем на авось, я очень сомневаюсь, что трансивер от этого сгорит (мощности не хватит скорее всего; но исключать аварии нельзя).
    Если чуда не произошло (прием не улучшился), то попытался бы переделать антенну в первом приближении:
    1) увеличить рефлектор (должен быть строго больше λ/2, насколько я помню)
    2) увеличить расстояние между активным вибратором и рефлектором, активным вибратором и первым директором до расчетного (около λ/4)
    3) выкинуть лишние директоры, как пояснил @Lerg в комментарии, чтобы уместить все на старую траверсу.
    Ответ написан
    1 комментарий