Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемuanic.ua
1 Александр Шиков ООО IT Consulting
2 Frontend HTTP SMTP POP3 IMAP Radius Backend SQL BDB Plain-text + script Forum MTA Billing AAA etc. IPv6 ???
3 Определяющие факторы: сложность хранимых данных (структура данных); объем хранимых данных; поддержка как IPv4, так и IPv6 одинаковыми функциями; простота миграции. Backends Plaintext files Berkeley DBSQL
4 Простота использования # perl -M'Net::IP qw/:PROC/' -e "print ip_get_version(' ');" 4 # perl -M'Net::IP qw/:PROC/' -e "print ip_get_version('2a00:1588:0:2::9');" 6 # perl -M'Net::IP qw/:PROC/' -e "print ip_get_version((ip_splitprefix('2a00:1588:0:2::9/64'))[0]);" 6 Достаточная гибкость Зависимость от скриптов обвязки Время выполнения Определение типа IPv4/IPv6 # perl -M'Net::CIDR qw/:all/' -e = ('2a00:1588:0:2::/64', '2a00:1588:100::/40'); print 1 # perl -M'Net::CIDR qw/:all/' -e = ('2a00:1588:0:2::/64', '2a00:1588:100::/40'); print 0 Определение принадлежности адреса к сети Применения: Несложные списки; Анализ log-файлов; Анализ log-файлов, статистики в реальном времени; Обработчики событий в AAA.
5 #!/usr/bin/perl use strict; use Net::IP qw/:PROC/; use Net::CIDR qw/:all/; my $stat; while () { my ($ip, $bytes) = (split /\s+/, $_)[0,9]; next unless ip_get_version($ip) == 6 && $bytes ne '-'; my $prefix = addrandmask2cidr($ip, 'ffff:ffff::'); $stat->{$prefix} = defined($stat->{$prefix}) ? $stat->{$prefix} + $bytes : $bytes; } foreach ( (sort { $stat->{$b} $stat->{$a} } keys %$stat)[0..4]) { printf "%30s: %d\n", $_, $stat->{$_}; } Пример использования # cat access.log |./stat.pl 2a02:2b18::/32: :470::/32: a01:5800::/32: a01:d0::/32: :4130::/32: # /usr/bin/time -h cat access.log | stat.pl 4,58s real 0,00s user 0,01s sys {$_}; } Пример использования # cat access.log |./stat.pl 2a02:2b18::/32: 1018267 2001:470::/32: 552817 2a01:5800::/32: 471825 2a01:d0::/32: 297530 2001:4130::/32: 191128 # /usr/bin/time -h cat access.log | stat.pl 4,58s real 0,00s user 0,01s sys">
6 Тесная интеграция в приложение Сложность (непривычность) управления Применения: Хранение древовидных структур; Хранение именованных списков. Хранение любых типов данных Хранение до 256 TБ в одной БД
7 MySQL Простота использования Распространенность Применения: Сложные структуры данных (почтовые сервера, биллинговые системы) Большие объемы данных Поддержка большинством frontendов Отсутствие инструментария IPv6 SQLitePostgreSQL Простота использования Отсутствие инструментария IPv6 Не все frontendы поддерживают Ограниченный набор типов данных, отсутствие unsigned Поддержка большинством frontendов Unsigned-типы данных Инструментарий IPv4+IPv6 Отсутствие unsigned-типов данных Относительно малая распространенность
SELECT prefix FROM networks WHERE '10.0.10.1" title="mysql> SELECT prefix FROM networks WHERE INET_ATON('10.0.10.1') & (-1 \d networks; Table "public.networks" Column | Type | Modifiers --------+---------+----------- prefix | cidr | bytes | integer | test=> SELECT prefix FROM networks WHERE '10.0.10.1" class="link_thumb"> 8 mysql> SELECT prefix FROM networks WHERE INET_ATON(' ') & (-1 \d networks; Table "public.networks" Column | Type | Modifiers prefix | cidr | bytes | integer | test=> SELECT prefix FROM networks WHERE ' ' SELECT prefix FROM networks WHERE '10.0.10.1"> SELECT prefix FROM networks WHERE '10.0.10.1' "> SELECT prefix FROM networks WHERE '10.0.10.1" title="mysql> SELECT prefix FROM networks WHERE INET_ATON('10.0.10.1') & (-1 \d networks; Table "public.networks" Column | Type | Modifiers --------+---------+----------- prefix | cidr | bytes | integer | test=> SELECT prefix FROM networks WHERE '10.0.10.1">
9 test=> SELECT prefix FROM networks WHERE ' '
10 test=> select prefix from networks; prefix /24 2a00:1588:0:2::/64 2a00:1588:0:2::/96 2a00:1588:0:2::/ / /25 (6 rows) test=> SELECT prefix FROM networks WHERE family(prefix) = 6; prefix a00:1588:0:2::/64 2a00:1588:0:2::/96 2a00:1588:0:2::/80 (3 rows) test=> SELECT host(broadcast(prefix)) FROM networks; host a00:1588:0:2:ffff:ffff:ffff:ffff 2a00:1588:0:2::ffff:ffff 2a00:1588:0:2:0:ffff:ffff:ffff (6 rows)
11 test=> select prefix from networks; prefix /24 2a00:1588:0:2::/64 2a00:1588:0:2::/96 2a00:1588:0:2::/ / /25 (6 rows) test=> select networks.prefix from networks left join networks as b on networks.prefix
13 Количество писем отправленных по IPv6 за последние 90 дней Процентное соотношение IPv6/IPv4 отправок за последние 90 дней
14 Топ-5 известных серверов, принимающих почту по IPv6
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.