IPv6-трафик в сетях IPv4

Содержание

Слайд 2

Celebrating New Year 2016 with 10% IPv6!

Projection of IPv6 %-age of IPv6-Enabled

Celebrating New Year 2016 with 10% IPv6! Projection of IPv6 %-age of
Web Browsers (courtesy Google) in World Wide

World Wide Projection ~15% (April 11, 2017)

Слайд 3

Celebrating New Year 2016 with 10% IPv6!

Celebrating New Year 2016 with 10% IPv6!

Слайд 4

Internet Peering Ecosystem

Internet Peering Ecosystem

Слайд 5

Internet Peering Ecosystem

Internet Peering Ecosystem

Слайд 6

Runet Peering Ecosystem

Runet Peering Ecosystem

Слайд 7

Каким образом IPv6-трафик присутствует в IPv4-сетях?

IPv4 Header

IPv6 Header

Field’s Name Kept from IPv4

Каким образом IPv6-трафик присутствует в IPv4-сетях? IPv4 Header IPv6 Header Field’s Name
to IPv6
Fields Not Kept in IPv6
Name and Position Changed in IPv6
New Field in IPv6

Legend

Слайд 8

Каким образом IPv6-трафик присутствует в IPv4-сетях?
Dual-stack

Идеальный мир

Реальный мир

Еще более реальный мир

Каким образом IPv6-трафик присутствует в IPv4-сетях? Dual-stack Идеальный мир Реальный мир Еще более реальный мир

Слайд 9

Каким образом IPv6-трафик присутствует в IPv4-сетях?

Каким образом IPv6-трафик присутствует в IPv4-сетях?

Слайд 10

Многообразие механизмов перехода

Dual-stack

Tunneling

Translation

6in4
6to4
6a44
GRE tunneling
ISATAP
Teredo
6rd
LISP
IPv6 over MPLS
и другие

Dual-stack
Dual-stack lite

NAT64

Некоторые из этих механизмов инкапсулируют

Многообразие механизмов перехода Dual-stack Tunneling Translation 6in4 6to4 6a44 GRE tunneling ISATAP
IPv6-пакеты внутрь IPv4-пакетов.
Есть желание посмотреть, что на самом деле передается внутри IPv4-пакета (вложенный внутрь IPv6-пакет – тоже часть IPv6-трафика, который необходимо учитывать при анализе). Каким образом может быть инкапсулирован IPv6 в IPv4?

Слайд 11

Каким образом IPv6-трафик присутствует в IPv4-сетях?
Tunneling

IPv4 tunnel
connecting IPv6 routers

IPv4

IPv4

Каким образом IPv6-трафик присутствует в IPv4-сетях? Tunneling IPv4 tunnel connecting IPv6 routers IPv4 IPv4

Слайд 12

Обзор Dual-stack lite (DS-lite)

2001::1/64
192.168.1.1/24

4in6 encapsulation

NAT

2222::1/64
1.1.1.1/24

Заполняется таблица трансляции на NAT:
192.168.1.1:XXXX == 1.1.1.1:YYYY (классический

Обзор Dual-stack lite (DS-lite) 2001::1/64 192.168.1.1/24 4in6 encapsulation NAT 2222::1/64 1.1.1.1/24 Заполняется
NAT44)
IPv4-пакет с IP 192.168.1.1 пришел от 2001::1

Source IPv4: 192.168.1.1

Source IPv4: 1.1.1.1

Слайд 13

Обзор 6to4

192.88.99.1/24

192.88.99.1/24

178.49.90.4/26
2002:b231:5a04::1/64

V6 anycast

V6 anycast

Анонсирует маршрут до 2002::/16

2001::1/64

1

2

3

4

Обзор 6to4 192.88.99.1/24 192.88.99.1/24 178.49.90.4/26 2002:b231:5a04::1/64 V6 anycast V6 anycast Анонсирует маршрут

Слайд 14

Обзор 6in4

216.66.80.162

178.49.90.4/26
2001:470:71:9b8::2/64

Анонсирует маршрут до 2001:470:71:9b8::/64

2001::1/64

1

2

3

4

Обзор 6in4 216.66.80.162 178.49.90.4/26 2001:470:71:9b8::2/64 Анонсирует маршрут до 2001:470:71:9b8::/64 2001::1/64 1 2 3 4

Слайд 15

Способы инкапсуляции IPv6 в IPv4

Protocol 41
6to4, 6in4, ISATAP
Easily filtered

UDP
Teredo, 6a44
Less susceptible to

Способы инкапсуляции IPv6 в IPv4 Protocol 41 6to4, 6in4, ISATAP Easily filtered
filtering

IPv4 source address

IPv4 destination address

TTL


Protocol: 41

IPv6 source address

IPv6 destination address


Payload

IPv4 header

IPv6 head

IPv6 data

IPv4 packet

IPv4 source address

IPv4 destination address

TTL


Protocol: 17

IPv6 source address

IPv6 destination address


Payload

IPv4 header

UDP head

IPv6 head

IPv4 packet

UDP Source port

UDP Destination port


I6 D

Слайд 16

Каким образом IPv6-трафик присутствует в IPv4-сетях?
Translation

6-4 translation

4-6 translation

Каким образом IPv6-трафик присутствует в IPv4-сетях? Translation 6-4 translation 4-6 translation

Слайд 17

Обзор NAT64

2001::1/64

example.com
2.2.2.2/24

1.1.1.1/24

DNS64 ask IPv4 DNS:
example.com A: 2.2.2.2
example.com AAAA: none

DNS64 answer IPv6 host:
example.com

Обзор NAT64 2001::1/64 example.com 2.2.2.2/24 1.1.1.1/24 DNS64 ask IPv4 DNS: example.com A:
A: 2.2.2.2
example.com AAAA: 64:ff9b::2:2:2:2

1

2

IPv6 host 2001::1 отправляет пакет для example.com:

ISP IPv6 ONLY

Слайд 18

Обзор NAT64

2001::1/64

example.com
2.2.2.2/24

1.1.1.1/24

3

4

Заполняется таблица трансляции на NAT64:
[2001::1]:8080 == 1.1.1.1:8080

Согласно RFC6145 заголовок IPv6 конвертируется

Обзор NAT64 2001::1/64 example.com 2.2.2.2/24 1.1.1.1/24 3 4 Заполняется таблица трансляции на
в IPv4.
Пакет IPv6 превращается в IPv4 и высылается через IPv4 интерфейс NAT64:

ISP IPv6 ONLY

Слайд 19

Обзор статьи

Monitoring of Tunneled IPv6 Traffic
Using Packet Decapsulation and IPFIX
By Martin

Обзор статьи Monitoring of Tunneled IPv6 Traffic Using Packet Decapsulation and IPFIX
Elich, Matej Gregr and Pavel Celeda

Слайд 20

Кратко о IPFIX

Internet Protocol Flow Information Export
Протокол IETF, определяющий стандарт экспорта информации

Кратко о IPFIX Internet Protocol Flow Information Export Протокол IETF, определяющий стандарт
о потоках данных с различных сетевых устройств.
Основан на протоколе Cisco NetFlow v9.
Информация о потоках данных может использоваться в таких задачах, как:
Мониторинг трафика, учет использования сетевых ресурсов
Анализ трафика
Обнаружение/предотвращение вторжений

Flow 1:
IPv4 host 192.168.1.1 to IPv4 host 8.8.8.8
TCP src port: 1234, TCP dest port 3333

Flow 2:
IPv4 host 192.168.1.1 to IPv4 host 8.8.8.8
Protocol number = 41 (IPv6 inside)

Слайд 21


Traffic copy

IP traffic

Кратко о IPFIX

Observation point

Metering process

Filtering

FLOW 1


FLOW N

Exporter process

IPFIX
protocol

IPFIX

Traffic copy IP traffic Кратко о IPFIX Observation point Metering process Filtering
Collector

Analyzer,
Vizualizer

Слайд 22

IPv6 statistics

Суть статьи

10Gbps NIC (FPGA-based) with load-balancing
(HW accelerated NIC/HANIC)

IPv4 packets

libsze2 (software

IPv6 statistics Суть статьи 10Gbps NIC (FPGA-based) with load-balancing (HW accelerated NIC/HANIC)
interface)

В сети практически нет информации по библиотеке
Скорее всего, с ее помощью делается zero-copy

Для каждого принятого пакета ставит timestamp
Некоторым образом получает хэш заголовка пакета
Далее согласно хэшу пакеты распределяются по обработчикам

Flowmon exporter #1

Flowmon exporter #n

Input plugin

Input plugin


IPFIX protocol

Flowmon
collector

CPU core 1

CPU core n

Пакеты распределяются по обработчикам
На каждом ядре сидит экспортер с самописным плагином для обнаружения IPv6 в v4
(реализовано обнаружение Teredo, ISATAP, 6to4)

При обнаружении IPv6-пакета внутри IPv4, IPv6-пакет декапсулируется из IPv4, на основании информации в заголовке IPv6 пакет сопоставляется определенному потоку.

Информация о потоке передается сборщику при помощи протокола IPFIX.

Сборщик IPFIX (в данном случае Flowmon) собирает итоговую статистику по потокам со всех экспортеров и презентует ее пользователю в том или ином виде

Получение статистики по IPv6-трафику, инкапсулированному в IPv4 (разбор некоторых туннелей)

Слайд 23

Варианты новой высокопроизводительной архитектуры

40-100Gb/s
NIC
with GPUDirect

IPv4 parser 1

GPU core 1

GPU
with GPU Direct

Packets

Варианты новой высокопроизводительной архитектуры 40-100Gb/s NIC with GPUDirect IPv4 parser 1 GPU
over DMA


IPv4 parser n

GPU core 1

Application interaction layer (zero-copy)

Flowmon exporter #1

Flowmon exporter #n

Input plugin

Input plugin


CPU core 1

CPU core n

IPv6 statistics

IPFIX protocol

Flowmon
collector

IPv4
packets

Mellanox ConnectX-4 LX

Nvidia Tesla Kepler GPU

+

Слайд 24

Варианты новой высокопроизводительной архитектуры

40-100Gb/s
intelligent NIC

Application interaction layer (zero-copy)
NIC API

Flowmon exporter #1

Flowmon

Варианты новой высокопроизводительной архитектуры 40-100Gb/s intelligent NIC Application interaction layer (zero-copy) NIC
exporter #n

Input plugin

Input plugin


CPU core 1

CPU core n

IPv6 statistics

IPFIX protocol

Flowmon
collector

IPv4
packets

Packet parser

Napatech NT100-E3-1-PTP

Accolade ANIC-100K

Слайд 25

Основные RFC

RFC 7059 - A Comparison of IPv6-over-IPv4 Tunnel Mechanisms
RFC 4213 -

Основные RFC RFC 7059 - A Comparison of IPv6-over-IPv4 Tunnel Mechanisms RFC
Basic Transition Mechanisms for IPv6 Hosts and Routers
RFC 6145 - IP/ICMP Translation Algorithm
RFC 6146 - Stateful NAT64
RFC6147 - DNS64