Тогда происходит конфликт: мне больше нравится [::-1], пусть даже reversed читабельней. Вот ниже дали хороший аргумент — [::-1] создает еще один список.
Ради интереса проверил ваши слова, получилось, что оба варианта работают с одинаковой скоростью, как 100000 прогонов по 4 элемента в списке, так и 1 прогон по 100000 элементов в списке. Во всяком случае в третьем питоне.
Отвечая на ваш вопрос: туннель v6 поверх v4 из-за NAT'а (кстати, много ли провайдеров занимаются трансляцией?) называется teredo. Вещь, кстати, не менее странная и удивительная чем 6to4 + openvpn. RFC по ней сознание расширяет просто феерично.
Туннели дают возможность провайдерам откладывать внедрение v6. Типа, «на кой вам нативный, если есть туннель?» Это костыль, который местами используется очень странно: например в винде-семерке туннель включается автоматом, однако ничего не работает если не прописано v4 резолверов. В результате 95-100 процентов трафика генерится ничего не подозревающими пользователями, которым на v6 наплевать. Так что распространению v6 туннели никак не помогают.
Наиболее эффективным средством борьбы с DNSAmp является следование рекомендациям BCP38.
В сделанном вами есть пара серьезных недостатков:
1) Вы не проверяете весь пакет целиком. Из-за этого велика вероятность false positive, когда не замышлявший ничего клиент переходит на tcp только потому что шлет много запросов (возможно для вас это не критично);
2) Снижение bps — это хорошо, однако pps тоже играет роль, т.е. резолвер может также участвовать в DDOS'е, помогая атакующим не мегабитами, а пакетами.
Рекомендую глянуть как сделан RRL в BIND'е. Там, во-первых, рассматривается запрос целиком; во-вторых, по умолчанию при превышении трешхолда часть запросов возвращается с TC битом, остальные — дропаются.
Я тоже так думал, пока не увидел результаты. Они показали, что для большинства запросов основной рояль играет RTT до резолвера. То бишь с тем же vk.com получается, что если кто-то шатается по нему, скажем, полчаса, то всего два запроса уходят на рекурсию, остальные попадают в кэш. Очевидно, что ситуация, когда за полчаса происходят всего два запроса, редка. Скорее запросов будет значительно больше и из этого «больше» всего два будут мимо кэша. На фоне большого кол-ва запросов промахи мимо кэша не особо заметны.
В MSK-IX проводились исследования на тему скорости разнообразных резолверов. Порядка нескольких тысяч публично доступных резолверов было протестировано по двум параметрам: скорость ответа из кэша и рекурсии. Вывод был очень простой: самый быстрый резолвер — тот, что ближе к пользователю. Т.е. быстрее всего будет если резолвер ставить пользователю локально. Поэтому все эти телеги, что пишут Яндекс или Гугль, или еще кто, про скорость резолва — маркетинг, слабо относящийся к реальной жизни.
Не говоря уже о том, что публичные резолверы — зло, потому что являются посредниками для DNS amp'а.
Помнится, некоторое время назад я очень радовался появлению интернет-магазина и электронным книгам у издательства «Питер». С тех пор я порой заглядываю и с каждым разом мой энтузиазм слабеет все сильнее.
П.С. Искренне считаю, что в том, что я покупаю книги на сайте oreilly.com, а не на piter.com, виновато издательство «Питер».
Лучше такого:
?
Просто интересно.
Туннели дают возможность провайдерам откладывать внедрение v6. Типа, «на кой вам нативный, если есть туннель?» Это костыль, который местами используется очень странно: например в винде-семерке туннель включается автоматом, однако ничего не работает если не прописано v4 резолверов. В результате 95-100 процентов трафика генерится ничего не подозревающими пользователями, которым на v6 наплевать. Так что распространению v6 туннели никак не помогают.
6to4
Teredo
Краткое содержание обеих статей: туннель хорош только если v6 адрес нужен «просто так». В деле распространения IPv6 туннель — скорее зло.
В сделанном вами есть пара серьезных недостатков:
1) Вы не проверяете весь пакет целиком. Из-за этого велика вероятность false positive, когда не замышлявший ничего клиент переходит на tcp только потому что шлет много запросов (возможно для вас это не критично);
2) Снижение bps — это хорошо, однако pps тоже играет роль, т.е. резолвер может также участвовать в DDOS'е, помогая атакующим не мегабитами, а пакетами.
Рекомендую глянуть как сделан RRL в BIND'е. Там, во-первых, рассматривается запрос целиком; во-вторых, по умолчанию при превышении трешхолда часть запросов возвращается с TC битом, остальные — дропаются.
Не говоря уже о том, что публичные резолверы — зло, потому что являются посредниками для DNS amp'а.
П.С. Искренне считаю, что в том, что я покупаю книги на сайте oreilly.com, а не на piter.com, виновато издательство «Питер».