• Как сделать web scraper'a правильно?

    @throughtheether
    human after all
    Как его сделать я знаю, но вот как сделать, чтобы он более походил на человека и не был забанен?
    Просто и медленно - использовать Selenium с браузером, делать паузы между запросами.
    Ответ написан
    2 комментария
  • Как создать wi-fi mesh сеть операторского уровня?

    @throughtheether
    human after all
    Спасибо, что "призвали" в топик, выражу свое мнение.

    Вы привели ссылку
    Вот еще одна карта habrahabr.ru/company/cjdns/blog/198428/.

    Если честно, мне представляется, что эта ссылка не относится к вашей проблеме. Статья, доступная по ссылке, насколько понял, описывает некую одноранговую сеть на 3 выше уровнях модели OSI, грубо говоря, свой отдельный интернет, с отсутствием цензуры и криптоанархизмом. Вам, теоретически, могла бы пригодиться одноранговая сеть на уровнях 1-2 модели OSI, то есть сеть из Wi-Fi-трансиверов, предоставляющая обычную IP-связность и доступ в интернет.

    Однако, в вашем случае, при наличии соответствующей возможности, я бы выбрал кабельные решения (волокно до дома) и лишь в каких-то особых случаях использовал Wi-Fi. Беспроводные решения привносят довольно много потенциальных проблем, а в случае одноранговой (mesh) сети полезная пропускная способность будет делиться между абонентами, в результате итоговое преимущество такого подхода неясно.
    Ответ написан
    Комментировать
  • Как выполнить xor строки?

    @throughtheether
    human after all
    Есть устройство, получающий пакет данных и выводящее переданный в пакете текст.
    ...
    Контрольная сумма вычисляется как xor всех байтов с 4 по 7.
    На мой взгляд, проще всего сначала запаковать все ваши строки и числа в байты при помощи модуля struct (struct.pack), а затем уже xor-ить нужные байты.
    Ответ написан
    Комментировать
  • Как работает данная конструкция локальной сети?

    @throughtheether
    human after all
    Для более полного понимания картины происходящего, укажите на схеме IP-адреса (уточните, где они заданы статически, где получаются при помощи DHCP) и vlan (если используются), возможно, будет понятнее. Правильно ли я понимаю, что на каждом из маршрутизаторов A, B, C, D настроен NAT между WAN и LAN-интерфейсами?

    Как работает данная конструкция локальной сети?
    Пока предполагаю, что примерно как в студенческом общежитии наутро после гулянки - кто раньше встал (ответил DHCP-сообщением), того и тапки (тот и NATирует пользовательский трафик).

    Однако с роутера В и С лан так же уходит в этот свитч, при этом если подключиться к ним напрямую, в их лан порты, то ip адрес я получаю от роутера А(он же и шлюз) и внешний айпишник его!
    Скорее всего, вы получаете IP-адрес и маршрут по умолчанию от маршрутизатора A.

    Но, самое интересное, если я отключаю роутер В, то на роутере D и оборудовании за ним, пропадает интернет, а сам роутер D имеет другой внешний ip адрес.
    Маршрутизатор D, скорее всего, получил IP-адрес для WAN-интерфейса и маршрут по умолчанию от маршрутизатора B. При его выключении он получает IP-адрес и маршрут от другого (A,C) маршрутизатора.
    пропадает интернет,
    Временно или совсем?

    Непонятно, какую задачу решал человек, создавший это. Если к маршрутизаторам A,B,C больше нет подключений, их функциональность можно совместить в одном устройстве.
    Ответ написан
    1 комментарий
  • Топология "Кольцо" или "TokenRing". Как настроить?

    @throughtheether
    human after all
    Судя по всему, подходит топология "Кольцо"
    В таком случае вам придется настраивать бриджинг между 10-гигабитными интерфейсами на каждой машине, и как-то кольцо разрывать (RSTP, например).

    или "TokenRing",
    Token ring - это отдельная технология ЛВС, с имеющимися у вас Ethernet-интерфейсами вы Token ring не построите. К тому же не помню, чтобы производительность Token ring была выше нескольких сотен мегабит/с.

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

    UPD: вы можете уточнить пару моментов? Какова планируется загрузка 10-гигабитных интерфейсов (количество пакетов в секунду и средний размер пакета, если можно, или просто опишите трафик). Может ли внутренняя сеть быть полностью изолированной от внешней или необходим какой-то доступ снаружи? Планируете ли обрабатывать ситуацию, когда ПК работает, а интерфейс на нем неактивен по какой-либо причине (обрыв кабеля и т.д.)? Какая ОС используется на ПК, можно ли ее изменить на другую?
    Ответ написан
    5 комментариев
  • Почему код выдает AttributeError?

    @throughtheether
    human after all
    Но там, где это должно работать (сайтик с задачками), оно не работает. Как мне переписать этот код, чтобы избавиться от этой ошибки непонятного генезиса?

    Есть подозрение, что проверка результатов в тестовом окружении реализована путем вызова метода .equals(). Поэтому сделайте так:
    1) реализуйте метод Vector.equals(self,other) в вашем классе (равен ли вектор другому вектору)
    2) в методах Vector.add(...), Vector.subtract(...) возвращайте не список, а вектор (экземпляр класса Vector)
    3) перепишите методы Vector.dot(...) и Vector.norm(...). Если они должны реализовывать скалярное произведение и норму, то почему они возвращают списки, а не числа?

    И в чем смысл этих строк, я так и не понял:self.victor = victor, вы, вроде, нигде не используете self.victor.
    Ответ написан
    Комментировать
  • Ip-mac-port binding?

    @throughtheether
    human after all
    он работает только с кадрами и не оперирует ip пакетами?
    Любая модель в определенных условиях неверна, любая абстракция имеет "дыры", сквозь которые проглядывает реальность, данная в ощущениях. Это утверждение - пример такой модели.

    По вашему вопросу, никто не в состоянии запретить коммутатору анализировать полезную нагрузку (payload) фрейма, которой зачастую и является IP-пакет.
    Ответ написан
    Комментировать
  • Как изучать сети?

    @throughtheether
    human after all
    Можете подсказать, как вообще эффективнее всего изучить сети?

    Уже отвечал на подобный вопрос. Но могу кое-что дополнить.

    Арендуйте VPS за долларов 5-10, или бесплатно (amazon). Установите на нем любой TCP-сервис, веб-сервер, например, или echo. Подсоединитесь к сервису при помощи netcat. Попробуйте взаимодействовать с свервисом (слать символы через nc). Запишите трафик взаимодействия на сервере и на клиенте, изучите различия, а они будут, в случае использования NAT. Изучите вывод traceroute 'ip-адрес вашего сервера'. Каждому хопу соотнесите номер AS. Для каждой AS проверьте маршруты до вашего сервера и до вашего домашнего провайдера через looking glass. Постройте граф связей AS (bgp.he.net в помощь).

    В процессе у вас возникнет множество специфичных вопросов, которые дадут вам направление для дальнейших исследований.
    Ответ написан
    Комментировать
  • Как импортировать csv файл в iPython без ошибки UnicodeDecodeError?

    @throughtheether
    human after all
    Попробуйте задать кодировку:
    df=pd.read_csv(Location, encoding='cp1251')
    Другой вариант, попробуйте переместить csv-файл в каталог без кириллических символов в пути.
    Ответ написан
    Комментировать
  • Какие подготовить вопросы для специалиста на python?

    @throughtheether
    human after all
    а то мы же ничего в программировании не понимаем!
    И при этом хотите оценить квалификацию другого человека.

    Раз уж речь идет о долевом сотрудничестве - вы готовы к тому, что собеседуемый вами специалист достанет свой листочек и начнет задавать вопросы касательно бизнеса ("как правильно удерживать клиентов"), а затем откажется от сотрудничества только потому, что ваш ответ не совпадет с тем, что написано на листочке? Как вы воспримете такое поведение?
    Ответ написан
    Комментировать
  • Как рассчитать какое слово будет сгенерировано?

    @throughtheether
    human after all
    У вас по сути четверичная система счисления, с символами qwtj вместо цифр 0123.
    Как узнать каким будет 5000 слово?
    Переводите 5000 из десятичной в четверичную систему счисления, заменяете цифры на символы.
    И как узнать сколько всего слов будет?
    Мощность алфавита в степени длины слова.
    Ответ написан
    1 комментарий
  • Как заставить чат работать через интернет?

    @throughtheether
    human after all
    Что бы чат работал через инет, мне нужно серверную часть где-то хостить?
    Да.
    Могу ли я быть хостом без всяких digital ocean?
    Да. Если у вас 'белый' (глобально маршрутизируемый) IP-адрес, то надо будет настроить на вашем домашнем маршрутизаторе соответствующую трансляцию (т.н. 'проброс порта'). Если у вас 'серый' IP-адрес, можете поэкспериментировать с сервисами туннелирования или с Tor, например. С этим топиком тоже стоит ознакомиться. Еще недавно появился какой-то сервис-стартап для разработчиков, решающий проблему публикации сервиса за NAT в пару кликов, но название, к сожалению, не вспомню.
    Ответ написан
  • Какой криптопротокол реализовать?

    @throughtheether
    human after all
    Мне лично было бы интересно исследовать Keccak или другой на основе функции губки. Или отсюда (other algorithms) можете выбрать.
    Ответ написан
  • OSI модель пульта и телевизора?

    @throughtheether
    human after all
    Если вопрос в отображении существующего взаимодействия на примитивы семиуровневой модели, то мысли такие:
    1) физический уровень - длина волны сигнала, длительность импульсов, кодирование бит в импульсы.
    2) канальный уровень (кстати он на самом деле по-другому называется) - формат фрейма, преамбулы, контрольные суммы, идентификация пульта.
    3) сетевой уровень - думаю, пустой.
    4) транспортный - аналогично
    5) сеансовый - аналогично
    6) представления - аналогично
    7) прикладной - отображение кодов команд на реально выполняемые команды (включить, выключить, переключить программу). Можно, наверное, занимаясь буквоедством, эту функциональность как-то и на 6 уровень растянуть.

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

    Вообще говоря, лично считаю семиуровневую модель пыльным артефактом из прошлого. Она не вполне объясняет то, что призвана объяснять (например, взаимодействие веб-сервера и веб-клиента через интернет), большего от нее тем более желать трудно.

    Позвольте также поинтересоваться, чем вызван ваш вопрос?
    Ответ написан
    Комментировать
  • Для чего порты Uplink на коммутаторах cisco (например, на ME-4924-10GE)?

    @throughtheether
    human after all
    Кто-нибудь может объяснить начинающему кисководу в чем логическое и физическое отличие портов uplink от других?
    Логическое отличие может состоять в отличном именовании интерфейсов. Физическое отличие может состоять в наличии отдельных ASIC специально для этих интерфейсов. Архитектурой данной линейки не владею, утверждать не берусь.

    И когда их стоит использовать.
    Когда вам необходимо собрать (агрегировать) трафик от устройств, подключенных в 'обычные' порты и передать дальше.

    То есть не стоит пытаться агрегировать обычные порты? Только аплинк?
    Агрегация трафика - это, например, когда вы объединяете трафик от множества серверов или клиентов, подключенных в 'обычные' порты и направляете его в ядро и далее в интернет через аплинк. Агрегировать же в смысле etherchannel можно между собой и обычные интерфейсы, и аплинки.

    Суть аплинка - это интерфейс с большой пропускной способностью для 'централизованной' передачи трафика на другие устройства (коммутаторы ядра и т.д.). Никто вам не запрещает подключить к нему, например, сервер. Еще стоит отметить, что зачастую аплинки бывают dual-identity, т.е. из двух портов, под 8p8c (RJ45) и под SFP оптику работает одновременно один.

    В вашем случае (см. здесь) :
    Technical Specifications
    Performance and Switching Specifications
    Uplinks: Four SFP ports and two X2 ports with support of Cisco Gigabit EtherChannel® technology
    ...
    Bandwidth aggregation up to 16 Gbps through Cisco Gigabit EtherChannel technology
    я предполагаю, что из аплинков можно агрегировать только гигабитные интерфейсы. Кроме того, неясно, можно ли использовать гигабитные аплинки совместно с 10-гигабитными (я с этим устройством в такой конфигурации не работал).
    Ответ написан
    2 комментария
  • Правильно ли я понимаю Теорию о Скорости Передачи Данных?

    @throughtheether
    human after all
    Плата в целом состоит из множество микроустройств (чипы, кондёры, линии и т. д.) - которые являются *Проводниками.
    Можно и так сказать, а еще у каждого из этих устройств есть такие параметры как активное сопротивление (R), емкость (C), индуктивность (L). Даже у SMD-резистора 000 есть и емкость, и индуктивность.
    Эти параметры ограничивают быстродействие цифровых устройств тем, что 'заваливают' фронты 'прямоугольного' сигнала.

    Так же скорость зависит не только от того какого вида сигнал, но то какого вида маршрут по которому сигнал проходит, а то есть физическое составляющее маршрута из точки А до точки Б.
    Да, от длины маршрута зависят его RLC-параметры. От расположения сигнальной линии относительно других зависит подверженность внешнему ЭМ-влиянию.

    Это ограничение (скорости передачи) и является МАКСИМАЛЬНЫМ значением производительности машины
    По сути, думаю, да, если измерять производительность в битах/байтах/символах в секунду.
    Ответ написан
    Комментировать
  • Нужно ли периодически перезагружать по питанию сервера?

    @throughtheether
    human after all
    Отвечу за телекоммуникационное оборудование.

    Да, полагаю, периодическая перезагрузка дублированных устройств необходима. В свое время была обнаружена проблема с устройствами cisco - из-за бракованных микросхем памяти устройство теряло функциональность после перезагрузки. Учитывая, что микросхемы памяти - довольно общий и распространенный компонент, стоит ожидать подобного поведения от устройств любого вендора. И гораздо лучше обнаружить эту или другую проблему во время контролируемой перезагрузки, с инженерами на местах, с расписанными планами действий, чем обнаружить ее же после аварийного отключения питания.
    Ответ написан
    Комментировать
  • Какой модуль подходит для передачи данных на уровне Ethernet?

    @throughtheether
    human after all
    Можете scapy попробовать, но магии ожидать не стоит. И уточните решаемую задачу.
    Ответ написан
    Комментировать
  • Плюсы оптического волокна перед радиоканалом?

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

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

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

    Если есть выбор - радио или кабель, рекомендую кабель. Если есть выбор, медь или оптика, то, при прочих равных, для важных (магистральных) линков рекомендую оптику.
    Ответ написан
    Комментировать
  • Почему теряются пакеты?

    @throughtheether
    human after all
    который жалуется на потерю пакетов
    Что это значит? Какие именно пакеты теряются, в чем это проявляется?

    Как я понял, адрес 81.22.218.1 использует маршрутизатор. Не надо ожидать от маршрутизатора ответа на 100% "пингов" (icmp- или udp- пакетов). У маршрутизатора может быть активна специальная фильтрация (control plane protection policy в cisco-мире), в некоторых случаях неотключаемая.
    Ответ написан
    2 комментария