Александр Шиков ООО IT ConsultingАлександр Шиков ООО IT Consulting.

Презентация:



Advertisements
Похожие презентации
YAPC::Russia 2009 Докладчик: Илья Зеленчук, Perlсlub УрГУ (г. Екатеринбург) Perl в хэке и хэки в Perl.
Advertisements

1 Пользователи и привилегии Пользователи: anonymous
Лекция 3 Прикладной уровень. ,DNS. Протоколы SMTP – RFC 2821, порт 25 POP3 – RFC 1939, порт 110 IMAP – RFC 2060,3501, порт 143.
PL/SQL Пакеты. Определение Пакет – это объект схемы данных, объединяющий набор типов, объектов и подпрограмм PL/SQL.
© 2006 Cisco Systems, Inc. All rights reserved.IP6FD v IPv6-Enabled Routing Protocols Routing with RIPng.
1 Учебный курс Основы Web-технологий Лекция 6 CGI и Perl. SSI и Cookies кандидат технических наук Павел Брониславович Храмцов
Типы данных в языке Паскаль Тип определяет множество значений данных, а также операции, которые могут выполняться над этими данными.
ОБЗОР PL/SQL. Общие понятия PL/SQL – это дополнение стандартного языка SQL многими средствами, присущими современным языкам программирования. PL/SQL обладает.
Work with databases in Java. JDBC Tutorial for students of universities Author: Dudnik Oxana.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Connecting Networks Exploring the IP Packet Delivery Process.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Constructing Network Addresses Calculating Subnet Masks.
Таблица умножения 2*2=4 1*2=2 10*2=20 3*3=9 4*2=8 3*5=15 1*5=5 2*3=6 4*1=4 * 10 Таблица умножения. 2*2=4. 1*2=2. 10*2=20. 3*3=9. 4*2=8.
© 2005 Cisco Systems, Inc. All rights reserved.INTRO v Constructing Network Addresses Classifying Network Addressing.
Сервер приложений С++ Андрей Шетухин Rambler Internet Holding.
Олег Коротков Curious Cases of Oracle Database.
© 2006 Cisco Systems, Inc. All rights reserved.IP6FD v IPv6-Enabled Routing Protocols Understanding Multi-Protocol BGP (BGP4+)
© 2006 Cisco Systems, Inc. All rights reserved.IP6FD v IPv6 Transition Mechanisms Describing NAT-PT.
Drupal.= Яндекс.Сервер; DrupalConf. Москва
Влияние кванта ОС на производительность Oracle к.ф.-м.н. Ю.Пудовченко «Открытые Технологии»
© 2006 Cisco Systems, Inc. All rights reserved.IP6FD v IPv6 Transition Mechanisms Implementing Dual Stack.
Транксрипт:

Александр Шиков ООО IT Consulting

Frontend HTTP SMTP POP3 IMAP Radius Backend SQL BDB Plain-text + script Forum MTA Billing AAA etc. IPv6 ???

Определяющие факторы: сложность хранимых данных (структура данных); объем хранимых данных; поддержка как IPv4, так и IPv6 одинаковыми функциями; простота миграции. Backends Plaintext files Berkeley DBSQL

Простота использования # 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.

#!/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

Тесная интеграция в приложение Сложность (непривычность) управления Применения: Хранение древовидных структур; Хранение именованных списков. Хранение любых типов данных Хранение до 256 TБ в одной БД

MySQL Простота использования Распространенность Применения: Сложные структуры данных (почтовые сервера, биллинговые системы) Большие объемы данных Поддержка большинством frontendов Отсутствие инструментария IPv6 SQLitePostgreSQL Простота использования Отсутствие инструментария IPv6 Не все frontendы поддерживают Ограниченный набор типов данных, отсутствие unsigned Поддержка большинством frontendов Unsigned-типы данных Инструментарий IPv4+IPv6 Отсутствие unsigned-типов данных Относительно малая распространенность

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 ' '

test=> SELECT prefix FROM networks WHERE ' '

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)

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

Количество писем отправленных по IPv6 за последние 90 дней Процентное соотношение IPv6/IPv4 отправок за последние 90 дней

Топ-5 известных серверов, принимающих почту по IPv6