Реализация технологии “Операторский nat” в продуктах...

89
Реализация технологии “Операторский NAT” в продуктах Cisco Денис Коденцев Системный инженер [email protected] Version 1.0

Upload: cisco-russia

Post on 27-May-2015

3.913 views

Category:

Technology


15 download

TRANSCRIPT

Page 1: Реализация технологии “Операторский NAT” в продуктах Cisco

Реализация технологии “Операторский NAT” в продуктах Cisco

Денис КоденцевСистемный инженер[email protected]

Version 1.0

Page 2: Реализация технологии “Операторский NAT” в продуктах Cisco

3.02.2011 у IANA закончились Ipv4 адреса

RIR Pool

IANA Pool

Feb 3, 2011

Source: http://www.potaroo.net/tools/ipv4/index.html

*

Уже в 2012 году RIPE перестал выдавать оставшиеся IPv4 адреса

Page 3: Реализация технологии “Операторский NAT” в продуктах Cisco

Вероятные шаги оператора связи1. Оценить реальный эффект на сервисы и сеть оператора2. Выбрать путь «выживания» в переходный от IPv4 к IPv6 период 3. Определить когда и как начать внедрять IPv6

1.

IPv4 адреса закончились

2011/2012Что дальше?

IPv4

IPv6

Obtain IPv4 Addresses

6rd 6rd+

CGN

DualStack

2.

3.

DualStack

+CGN

IPv4 Address SharingSolutions (e.g. CGN)

Page 4: Реализация технологии “Операторский NAT” в продуктах Cisco

Последовательный и постепенный переход к IPv6

4

Сохранение IPv4

Готовность

Процветание

Везде IPv6Сегодня Private IP 6-over-4 Transitional 4-over-6

= IPv4 = Private IP = IPv6

CGN(NAT44) Dual stack6rd, GRE, IPv6inIPv4, 6PE/6VPE

DS-Lite

XLAT(AFT)

Page 5: Реализация технологии “Операторский NAT” в продуктах Cisco

Почему IPv6 не внедряется повсеместно?

Page 6: Реализация технологии “Операторский NAT” в продуктах Cisco

Network Address & Port TranslationПостановка задачи

• NATВпервые описан в 1991 (draft-

tsuchiya-addrtrans), RFC16311:1 трансляция: не уменьшает

количество используемых IPPer-flow statelessВ наши дни используется в основном

в корпоративных сетяхConnect overlapping RFC1918 address

space

• NAPTОписан в 2001 (RFC3022)1:N ТрансляцияУменьшает количество использованных

IPv4 адресовПозволяет использовать один IPv4

несколькими абонентамиТолько для TCP, UDP, ICMPИнициатор соединения должен

находится в “Inside”Per-flow statefulЧасто используется в домашних CPE

Когда говорят “NAT”, обычно подразумевают “NAPT”

Термин “NAT44” используют чтобы отличить IPv4-IPv4 NAPT отAddress Family Translation, обычно обозначаемым как NAT64 and NAT46”

Page 7: Реализация технологии “Операторский NAT” в продуктах Cisco

Carrier Grade NAT (CGN)• Разработано для операторов

связи• Фокус на масштабируемость,

производительность и пропускную способность (1 Million conns/sec rate, 20 Million concurrent connections)

• «Облегченное» протоколирование Netflow v9

• OTT приложения просто работают (e.g. YouTube, Skype, Bitorrent, etc)

• Низкий CAPEX / OPEX на абонента

• Легко масштабируется

Классический Enterprise NAT• Для корпоративных клиентов• Фокус на ALG• Дорогое протоколирование через

Syslog• Некоторые распространненые

приложения не поддерживаются (например SunRPC, NetBIOS, итд)

• Ограниченная масштабируемость и производительность

• Высокие расходы CAPEX / OPEX в пересчете на абонента

Классический NAT vs CGN

Page 8: Реализация технологии “Операторский NAT” в продуктах Cisco

Основные требования CGN (NAT44)Любая CGN-NAT44 платформа должна поддерживать:

Соответствие NAT RFC (RFC4787, RFC5382, RFC5508)

• Endpoint Independent Mapping/Filtering• Paired IP address pooling behavior• Port Parity preservation for UDP• Hairpinning behavior• Static Port Forwarding• Active FTP ALGУправление

• Port Limit per subscriber• Mapping Refresh• NAT logging Отказоустойчивость (Intra-box Active/Standby, Inter-box Active/Active)

Page 9: Реализация технологии “Операторский NAT” в продуктах Cisco

Application Layer Gateway (ALG)

• Осведомленность NAT механизма о транслируемом трафике приложений

• Функции ALG:1. Модификация IP адресов и портов внутри передаваемых

данных приложений2. Создание NAT соответствий

• Каждое приложение требует отдельного ALG алгоритма– FTP, SIP, RTSP, RealAudio,…

m/c=10.1.1.1/1234

Internet

m/c=161.44.1.1/5678

NAT с SIP ALG

Page 10: Реализация технологии “Операторский NAT” в продуктах Cisco

CGN. Как выглядят трансляции?• Default

show ip nat translation

Pro Inside global Inside local Outside local Outside global

tcp 26.1.1.6:1024 27.1.1.10:29439 26.1.1.2:23 26.1.1.2:23

Total number of translations: 1

• CGN show ip nat translation

Pro Inside global Inside local Outside local Outside global

tcp 26.1.1.6:1024 27.1.1.10:11806 --- ---

Total number of translations: 1

Page 11: Реализация технологии “Операторский NAT” в продуктах Cisco

Netflow v9 логирование NAT

Field ID Attribute Value

234 Incoming VRF ID 32 bit ID

235 Outgoing VRF ID 32 bit ID

8 Source IP Address IPv4 Address

225 Translated Source IP Address IPv4 Address

7 Source Port 16 bit port

227 Translated Source Port 16 bit port

4 Protocol 8bit value

Template 256 (создание соединения)

Field ID Attribute Value234 Incoming VRF ID 32 bit ID

8 Source IP Address IPv4 Address

7 Source Port 16 bit port

4 Protocol 8bit value

Template 257 (удаление)

Page 12: Реализация технологии “Операторский NAT” в продуктах Cisco

CGN: Netflow v9 или Syslog

Netflow v9• Binary формат• Основан на шаблонах

(template)• Транспорт на основе UDP • Контроль через Sequence #

в заголовке• 21B для каждого NAT44

события (Add/delete)

Syslog• ASCII формат• RFC5424 соответствие• Транспорт на основе UDP• 113B для каждого NAT44

события• Для масштабирования

требуется bulk-port-allocation

Page 13: Реализация технологии “Операторский NAT” в продуктах Cisco

Размышления о NATГде в сети размещать NAT устройство?

PGWeNB

IPv4

private IPv4

IPv4Public

public IPv4

SGW

NAT44

PGWeNB

IPv4 IPv4

private IPv4 private IPv4

IPv4Public

public IPv4

CGN/CGv6SGW

NAT

NAT44

NAT

Вариант 1: NAT на шлюзе (Распределенная модель)

Варинт 2: NAT на границе AS (Централизованная)

Преимущества:• Subscriber aware NAT

- per subscriber управление- per subscriber accounting

• Масштабируемость (за счет распреленной модели)

• Высокая доступность(включая географическоерезервирование)

Преимущества:• Единый NAT для различныхадминистративных доменов

(разделение ответственности)• Масштабируемость

Page 14: Реализация технологии “Операторский NAT” в продуктах Cisco

Где в сети размещать NAT устройство?Сравнительная таблица

Характеристика NAT на шлюзе NAT на границе AS

Масштабируемость > 120M трансляций> 1M/sec setup-rate

~240M трансляций (CRS-16)> 1M/sec setup-rate

Точность управления NAT Per-Subscriber;Per System

Per System

Протоколирование NAT Per-Subscriber;Блоками (Bulk)

Блоками (Bulk)

Отказоустойчивость 1:1 Intrabox HA1:1 Interbox HA

1:1 Intra-box hot standby(Будущее: 1:1 Interbox HA)

Сходимость(FMC)

Зависит от шлюза и модели сервисов

NAT может использоваться для различных сегментов

Управлениераспределением IPv4

Распределенное Централизованное

Исчерпание Private IPv4 адресов

Сегментирование сети:Per-Gateway назначение локальных пулов

Сегментирование сети:- Per VPN назначение пуловБудущее: GI-DS-lite

Page 15: Реализация технологии “Операторский NAT” в продуктах Cisco

Размышления о NATБудущее... Port Control Protocol

• Обеспечивает port forwarding при использовании LSN– Аналогично функции CPE устройств

• Резервирует порты по запросу приложения/хоста –возможность отказаться от ALG

• draft-ietf-pcp-base

Option 1: Handset/Host with PCP Client

Option 2: PCP Client,UPnP IGD proxy;NAT-PMP proxy

PCP Server

NAT-PMP

UPnP IGDOption 2:PCP clienton CPE

PCP

Page 16: Реализация технологии “Операторский NAT” в продуктах Cisco

Продолжая использовать IPv4Варианты помимо NAT

• IP-on-demand оптимизация– Предполагает автоматическое

освобождение пула IPv4 адресов по истечении некоторого периода неиспользования

• Возможно в существующей3GPP Архитектуре

• Торговля– Необходимо установить правила

и механизмы торговли– Требует улучшения Anti IP

spoofing/hijacking технологий и технологий междоменногороутинга

Page 17: Реализация технологии “Операторский NAT” в продуктах Cisco

Торговля адресами IPv4Уже происходит…

• Март 23, 2011:$11.25 за каждый IPv4

• http://blog.internetgovernance.org/blog/_archives/2011/3/23/4778509.html

Page 18: Реализация технологии “Операторский NAT” в продуктах Cisco

А если завтра IPv6?

Page 19: Реализация технологии “Операторский NAT” в продуктах Cisco

IPv4/IPv6 Address Family TranslationСценарии

IPv4Network

IPv6Network

IPv6Network

IPv4Internet

IPv4Internet

IPv6Network

IPv6Internet

IPv4Network

IPv4Network

IPv6Internet

IPv4Network

IPv6Network

Stateful Stateless

Неприменимо.Слишком мало IPv4

Page 20: Реализация технологии “Операторский NAT” в продуктах Cisco

Address Family Translation (AFT)

• Stateful AFT64–Для каждого потока/ flowсоздается отдельное состояние;–Поддерживаются только IPv6 инициируемые соединения;–Количество состояний -O(# трансляций);–N:1 соответствие (как и в случае NAPT для NAT44) (1:1 соответствие также безусловно возможно)

• Stateless AFT64–Поток/ flow не создает никаких состояний;–Алгоритмическая операция, проводимая над заголовком пакетов;–1:1 соответствие (один IPv4 адрес используется для каждого IPv6 хоста) ;–Поддерживаются как IPv6, так и IPv4 инициируемые соединения

draft-ietf-behave-v6v4-xlate-stateful draft-ietf-behave-v6v4-xlate

Page 21: Реализация технологии “Операторский NAT” в продуктах Cisco

6rd (IPv6 Rapid Deployment)Используем IPv6 пространство

21

6rd BR

CPE

NAT44IPv4Private IPv4

IPv4 Internet

NAT44(CGN/LSN)

6rd CE Encap/Decap

Обеспечивает работу IPv6 клиента через IPv4 сеть оператора

Автоматический “Stateless” механизм туннелирования IPv6 трафика

Не требуется развертывание DHCPv6, Neighbor Discovery, и т.п. в сети доступа

6rd Border Relay (6rd BR) обеспечивает доступ к IPv6 интернет

IPv6-in-IPv4 инкапсуляция/декапсуляция происходит на 6rd CE

Private IPv4 адресPublic IPv4 адресIPv6 адрес

IPv6IPv6

Page 22: Реализация технологии “Операторский NAT” в продуктах Cisco

DS-Lite

22

• Обеспечивает туннелирование IPv4 трафика клиента через Ipv6-only сеть оператора - draf-ieft-softwire-dual-stack-lite

• Поддержка Bulk Port Range и протоколирование syslog в добавление к NetFlow (CGSE)

• Производительность/масштабируемость – 64 DS-Lite instances, 20Gbps, 20М сессий

Page 23: Реализация технологии “Операторский NAT” в продуктах Cisco

Сводная таблица стратегий «выживания»

23

CGN NAT44

DS-Lite 6RD NAT64 SL NAT64 SF

CPE Без

изменений

Требуется

замена

Требуется

замена

IPv4/IPv6

hosts

Only IPv6

hosts

IPv4 сохранение ○ ○ Наличие LSN

необязательно

- -

Переход IPv6 IPv6 можно

внедрять

постепенно

○ Still requires

IPv4 address.

○ ○

Требования к

доступу

IPv4/v6 IPv6 IPv4 IPv6 IPv6

Stateful /Stateless Stateful Stateful Stateless Stateful Stateful

См. draft-wing-nat-pt-replacement-comparison

Page 24: Реализация технологии “Операторский NAT” в продуктах Cisco

CGN на CRS (CGSE)

Page 25: Реализация технологии “Операторский NAT” в продуктах Cisco

Carrier Grade Services Engine (CGSE) -введение

25

Платформа операторского класса: CGv6, CCN, NPS, DDoS, etc

• Создан в соответствии с высокими стандартами Cisco CRS-1/CRS-3

Cisco CRS

Cisco CGSE

• CGv6: Трансляция (NAT44, NAT64), Туннелирование (6rd, DS-Lite, 4rd)

• 20+ миллионов активных трансляций• Сотни тысяч абонентов• 1+ миллион соединений в секунду• 20Gb/s производительность одного

модуля

Page 26: Реализация технологии “Операторский NAT” в продуктах Cisco

CGN на CGSE: Сохраняем IPv4 с NAT44 Трансляция адресов Private IPv4 Public IPv4

Соответствие CGN RFC RFC4787, RFC5382, RFC5508

CGv6 Bypass Netflow9 протоколирование Управление трафиком на основе

VRF Static Port Forwarding

26

TCP/UDP/ICMP настраиваемые таймеры

1 + 1 Warm Standby

Active FTP ALG

Lawful Intercept

Page 27: Реализация технологии “Операторский NAT” в продуктах Cisco

CGSE функции / размещение в сети

• Пример типового использования CGSE в сценарии сохранения IPv4 в сети мобильного оператора

27

Page 28: Реализация технологии “Операторский NAT” в продуктах Cisco

Резервирование и отказоустойчивость (HA)Выводы для CGSE

• Резервирование Intra-chassis – 1:1 warm standby– Модель Active/Active с несколькими CGSE

• Резервирование Inter-chassis– HSRP, IGPs, BGP, IPSLA, etc

• Управление отказами и отказоустойчивость (HA)– Несколько встроенных точек мониторинга:– - MSC CPU -> Octeon CPU– - Data Path (Octeon CPU -> Fabric -> Octeon CPU)– Для стандартных keep-alive таймеров отказы обнаруживаются в

интервале 500 мс

28

Page 29: Реализация технологии “Операторский NAT” в продуктах Cisco

Резервирование active-active - Inter-chassis

Page 30: Реализация технологии “Операторский NAT” в продуктах Cisco

Настоящее и будущее CGSE

NAT44( Dest Based Timers)NAT44 (Dynamic Port Configuration)

NAT44 (ALG RTSP)

FP 40 Support (4.1.1)

6RD BR(3.9.3)

NAT64Stateless(3.9.3)NAT64 Stateful (4.1.2)

DS Lite (4.2.1)

Syslog for NAT44

CCN –SR(Phase 1)

NPS

3.9.1 & 4.0.X

Сохранение IPv4 Сохранение IPv4IPv4/IPv6 Сосуществование

NAT44 (TCP/UDP/ICMP)End-point Independent MappingCGN Bypass

CLI – Statistics

CLI – TCP/UDP timers

CLI – Static Port Forwarding

5 > Roddicks per System

1+1 Warm StandbyExternal Logging (NetflowV9)20M Translations

10G PPS (IMIX)

1M Translation/sec.

4.1.X 4.2.x

Page 31: Реализация технологии “Операторский NAT” в продуктах Cisco

CGSE ссылки

• Домашняя страница CGSE – http://www.cisco.com/en/US/prod/collateral/iosswrel/

ps6537/ps6553/brochure_c02-560497_ns1017_Networking_Solutions_Brochure.html

• Домашняя страница Cisco CGv6 – http://www.cisco.com/go/CGv6

• Домашняя страница Cisco Ipv6 – http://www.cisco.com/go/ipv6

• Домашняя страница Cisco CRS http://www.cisco.com/go/crs

31

Page 32: Реализация технологии “Операторский NAT” в продуктах Cisco

CGN на ASR9000.Integrated Services Module

Page 33: Реализация технологии “Операторский NAT” в продуктах Cisco

CGv6 NAT44 – Характеристики ISM

Характеристики для одного модуля

Количество CGN instance 1

Количество интерфейсов service infra 1

Количество интерфейсов service app 244 (на систему)

Поддерживаемый размер IP пулов /16 to /30

Максимально Static Port forwarding 6 K

Максимальное кол-во абонентов NAT 256 K

Количество NAT44 трансляций 20М трансляций

Пропускная способность (In2Out + Out2in) 10 Gbps (I-MIX и 4 ServiceApp)

Пропускная способность (In2out / Out2In) 2.5Gbps (per ServiceApp)

Скорость создания трансляций NAT44 1 M/ секунду

Page 34: Реализация технологии “Операторский NAT” в продуктах Cisco

ASR9000: CGNДвойной NAT44

• Соответствует CGN RFC (RFC4787, RFC5382, RFC5508)• Протоколирование Netflow v9

PrivateIPv4

CGNNAT44

NAT44Edge

ASR9k

Public IPv4Internet

= public IPv4

= private IPv4

IPv4private

CPE с приватными адресамиIPv4 address on WAN

Page 35: Реализация технологии “Операторский NAT” в продуктах Cisco

ASR 1000 в ролиCarrier Grade NAT (CGN)

Page 36: Реализация технологии “Операторский NAT” в продуктах Cisco

ASR 1000 CGN. Реализация По умолчанию система функционирует как классический NAT

Создается 5-tuple трансляция

Для активации CGN требуется настройка в CLI

В CGN режиме увеличена масштабируемость, так как нет необходимости отслеживать Destination IP:port

CGN NAT может использоваться для Per-session NAT или в stand alone режиме

Вообще говоря, наличие PPPoX/LNS терминации не требуется

Другие таймеры по-умолчанию

Улучшенная масштабируемость

Поддержка высокой доступности (Intra & Inter-box)

Page 37: Реализация технологии “Операторский NAT” в продуктах Cisco

Резервирование ASR 1000 поддерживает NAT Intra-box

отказоустойчивость: Вся обработка пакетов осуществляется на ESP,

включая полный анализ от L4 до L7 (ALG). NAT клиент и RP не участвуют в функционировании

CGN Между активным и резервным ESP происходит

синхронизация состояний в SSO режиме ASR 1000 поддерживает Stateful NAT Inter-Chassis

Redundancy

Page 38: Реализация технологии “Операторский NAT” в продуктах Cisco

Новые команды CLI для CGN ASR1000 <no> ip nat settings mode {cgn | default}

Для включения/выключения CGN режима – "Default" для классического NAT

<no> ip nat settings support mapping outside

Отключение outside mappings

Обязательно при активации CGN режима

Автоматически удаляет outside настройки NAT

Не восстанавливает outside настройки при активации «default»режима NAT

Page 39: Реализация технологии “Операторский NAT” в продуктах Cisco

Интеграция CGN и BNGна ASR 1000

Page 40: Реализация технологии “Операторский NAT” в продуктах Cisco

Per-PPP Session NATОсновные элементы

• Поддерживает CGN для PTA/LNS сессий• NAT inside активируется на virtual template interface• NAT outside активируется на внешних (интернет-) интерфейсах • Virtual-Access интерфейсы автоматически наследуют конфигурацию NAT

Internet/Core

10.0.0.1

10.0.0.2

10.0.0.3

200.1.1.1 port <x>

200.1.1.1 port <y>

200.1.1.1 port <z>

PTA or LNS

Page 41: Реализация технологии “Операторский NAT” в продуктах Cisco

Взаимодействие с ISG• CGN и L4-Redirect

Необходимо следить через какой интерфейс происходит redirect,особенно, если на этом интерфейсе активировать nat outside

• CGN и PBHKВ случае активации PBHK трансляция не будет осуществляться итрафик будет отправляться с корректным Source IP

Page 42: Реализация технологии “Операторский NAT” в продуктах Cisco

Протоколирование и аккаунтинг Аккаунтинг PPP сессий и трафик-классов не зависит от

протоколирования CGN (High Speed Logging) HSL не содержит типичную для аккаунтинга

информацию, как например, session-id или username

Page 43: Реализация технологии “Операторский NAT” в продуктах Cisco

Отказоустойчивость• Поддерживается высокая доступность в режиме intra-box для

отдельных PPP сессий – в случае переключения RP/ESP, сессия не будет прервана, состояние сессий синхронизировано между активными-резервными RP/ESP, а таблица трансляций NAT синхронизирована между ESP

• Наличие режима высокой доступности не влияет на существующий HA функционал на ASR 1000

Page 44: Реализация технологии “Операторский NAT” в продуктах Cisco

Ключевые выводы и вопросы

• Основная задача оператора – выбор стратегии «выживания»

• Какой NAT вам нужен?• Когда и как внедрять IPv6?• Cisco поддерживает любой выбранный Вами

сценарий!

44

Page 45: Реализация технологии “Операторский NAT” в продуктах Cisco

Вопросы?

Page 46: Реализация технологии “Операторский NAT” в продуктах Cisco

• Инновационные решения Cisco для операторов мобильной связи. Современное пакетное ядро и монетизация трафика.

• Обзор решений Cisco Prime для управления сетью оператора связи.

• Открытая дискуссия по технологиям для операторов связи– 21 ноября, среда, 18 часов, Конгресс-зал Правый– Готовьте свои вопросы !

• Демо-стенд «Решения для операторов связи» (демо-зона, комната 5)– ASR 9000 с интерфейсами 100GigabitEthernet– технология сетевой виртуализации ASR 9000 nV– Carrier Grade v6 на базе маршрутизатора Cisco ASR 9000 с модулем ISM– И многое другое !

Также рекомендуем посетить

Page 47: Реализация технологии “Операторский NAT” в продуктах Cisco

Спасибо!

Заполняйте анкеты он-лайн и получайте подарки вCisco Shop: http://ciscoexpo.ru/expo2012/questВаше мнение очень важно для нас!

Page 48: Реализация технологии “Операторский NAT” в продуктах Cisco

Endpoint-Independent Mapping

• Requirement: The NAT reuses the port mapping for subsequent packets sent from the same internal IP address and port (X:x) to any external IP address and port. *

• Use Case: This is for Session Traversal Utilities for NAT (STUN) and is used by P2P apps to advertise themselves such that others can contact from outside-in

* source: RFC4787, RFC5382, RFC5508

QFP

NATNAT

QFP

NATNAT

STUN Server

1) User-A connects to STUN Server

1) User-B connects to STUN Server

2) STUN Serv returns User-A’s translated (src-ip, src-port) to User-B

2) STUN Serv returns User-B’s translated (src-ip, src-port) to User-A

3) User-A and User-B can communicate with each other directly.

Page 49: Реализация технологии “Операторский NAT” в продуктах Cisco

Endpoint-Independent Filtering

• Requirement: The NAT filters out only packets not destined to the internal address and port X:x, regardless of the external IP address and port source (Z:z). The NAT forwards any packets destined to X:x. In other words, sending packets from the internal side of the NAT to any external IP address is sufficient to allow any packets back to the internal endpoint.*

• Use Case: This is aimed at maximizing application transparency; in particular, for applications that receive media simultaneously from multiple locations (e.g., gaming), or applications that use rendezvous techniques

* source: RFC4787, RFC5382, RFC5508

QFP

NATNAT

192.168.0.1:100020.0.0.1:1000

30.0.0.1:2000(Any:Any)

Pro Inside global Inside local Outside local Outside globaltcp 20.0.0.1:1000 192.168.0.1:1000 3.3.3.3:23 3.3.3.3:23tcp 20.0.0.1:1000 192.168.0.1:1000 --- ---

Pro Inside global Inside local Outside local Outside globaludp 20.0.0.1:1000 192.168.0.1:1000 3.3.3.3:23 3.3.3.3:23udp 20.0.0.1:1000 192.168.0.1:1000 --- ---

If TCP mapping is created

If UDP mapping is created

2) The session coming from 192.168.0.1:1000 to Y1 is mapped to 20.0.0.1:1000.

3) NAPT device creates NAT entry which has outside local and outside global as ANY.

4) With the mapping, ANY external host, such as Y2, can send UDP (TCP) packets to internal host X.

1) Internal host X has 192.168.0.1.Host X sends UDP (TCP) packets to external host Y1 using the 192.168.0.1:1000.

Page 50: Реализация технологии “Операторский NAT” в продуктах Cisco

Paired IP Address Pooling Behavior

• Requirement: NATs use the same external IP address mapping for all sessions associated with the same internal IP address. These NATs have an "IP address pooling" behavior of "Paired.*

• Use Case: This is for apps that use multiple ports originating from same internal IP to also have same external IP. This is important for P2P apps that are not able to negotiate the IP address for RTP and RTCP separately.

* source: RFC4787

Page 51: Реализация технологии “Операторский NAT” в продуктах Cisco

No Port Overloading

• Requirement: A NAT MUST NOT have a "Port assignment" behavior of "Port overloading". Some NATs use "Port overloading", i.e., they always use port preservation even in the case of collision (i.e., X1'=X2' and x1=x2=x1'=x2'). Most applications will fail if the NAT uses "Port overloading".

• Use Case: This requirement must be met in order to enable two applications on the internal side of the NAT both to use the same port to try to communicate with the same destination

* source: RFC4787, RFC5382

Page 52: Реализация технологии “Операторский NAT” в продуктах Cisco

Port Parity Preservation for UDP

• Requirement: It is RECOMMENDED that a NAT have a "Port parity preservation" behavior of "Yes". Such as preserve the parity of the UDP port, i.e., an even port will be mapped to an even port, and an odd port will be mapped to an odd port.

• Use Case: This behavior respects the [RFC3550] rule that RTP use even ports, and RTCP use odd ports.

* source: RFC4787

Page 53: Реализация технологии “Операторский NAT” в продуктах Cisco

Hairpinning Behavior

• Requirement: A NAT MUST support "Hairpinning“.*• Use Case: Allow communications between two endpoints behind the same NAT when they are trying

each other's external IP addresses• Not supported on ASR 1000 , but can be workaround via VASI on ASR 1000 (next slide)

* source: RFC4787, RFC5382, RFC5508

QFP10.1.1.1:1000

Hairpinning behavior 10.2.1.1:2000

NATNAT

Page 54: Реализация технологии “Операторский NAT” в продуктах Cisco

CGv6 Solution Space: How are we doing?

IPv4Exhaustion

CG NAT44

DS-Lite

IPv4 & IPv6 Coexistence

Dual Stack

NAT64*

IPv4 over IPv6

Network

DS-Lite

MAP/dIVI*

IPv6 over IPv4

Network

6rd BR*

Page 55: Реализация технологии “Операторский NAT” в продуктах Cisco

STUN, ICE, TURN

• Request/response protocol, used by:STUN itself (to learn IP address)ICE (for connectivity checks)TURN (to configure TURN server)

• The response contains IP address and port of requestRuns over UDP (typical) or TCP, port 3478

• Think http://whatismyip.com

RFC5389

Session Traversal Utilities for NAT

Page 56: Реализация технологии “Операторский NAT” в продуктах Cisco

STUN, ICE, TURN

• Procedure for Optimizing Media Flows• Defines SDP syntax to indicate ‘candidate addresses’• Uses STUN messages for connectivity checks

Sent to RTP peer, using same ports as RTP• First best path wins• Basic steps:

1. Gather all my IP addresses2. Send them to my peer3. Do connectivity checks

draft-ietf-mmusic-ice

Interactive Connectivity Establishment

Page 57: Реализация технологии “Операторский NAT” в продуктах Cisco

STUN, ICE, TURN

• Media Relay Protocol and Media Relay Server• Only used when:

Both endpoints are behind ‘Address and Port-Dependent Filtering’ NATs (rare, about 25% of NATs), orOne endpoint doesn’t implement ICE, and is behind a ‘Address and Port-Dependent Filtering’ NAT

draft-ietf-behave-turn

Traversal Using Relay NAT

Page 58: Реализация технологии “Операторский NAT” в продуктах Cisco

Number of Sessionsfor Some Applications

•Courtesy of NTT, See Also:Hiroshi Esaki: www2.jp.apan.net/meetings/kaohsiung2009/presentations/ipv6/esaki.ppt

Some examples of major Web siteApplication # of TCP sessions

No operation 5~10Yahoo top page 10~20Google image search 30~60ニコニコ動画 50~80OCN photo friend 170~200+iTunes 230~270iGoogle 80~100楽天(Rakuten) 50~60Amazon 90HMV 100YouTube 90

Some examples of major Web siteApplication # of TCP sessions

No operation 5~10Yahoo top page 10~20Google image search 30~60ニコニコ動画 50~80OCN photo friend 170~200+iTunes 230~270iGoogle 80~100楽天(Rakuten) 50~60Amazon 90HMV 100YouTube 90

Page 59: Реализация технологии “Операторский NAT” в продуктах Cisco

No. of Ports and Sessions consumed by popular applications

Source: Application behaviours in in terms of port/session consumptions on NAThttp://opensourceaplusp.weebly.com/experiments-results.html

Page 60: Реализация технологии “Операторский NAT” в продуктах Cisco

Port Consumption Comparison Between Mobile and PC for Chrome

Source: Application behaviours in in terms of port/session consumptions on NAThttp://opensourceaplusp.weebly.com/experiments-results.html

Page 61: Реализация технологии “Операторский NAT” в продуктах Cisco

Characteristics of CPE/Home-RoutersMax. Bindings

Source: “An Experimental Study of Home Gateway Characteristics”https://fit.nokia.com/lars/papers/2010-imc-hgw-study.pdfhttp://www.ietf.org/proceedings/78/slides/behave-8.pdf

Page 62: Реализация технологии “Операторский NAT” в продуктах Cisco

IsarFlow Example

Page 63: Реализация технологии “Операторский NAT” в продуктах Cisco

Traffic: Inside > Outside

Slot 1ISM

Slot 0GigE

PVT NW

10.10.10.210.10.10.2

PUB NW

5.5.5.25.5.5.2

s: 10.10.10.2 : 5000d: 5.5.5.2 : 5000

s: 100.2.0.192 : 23156d: 5.5.5.2 : 5000

App_

N: S

RCIP

/Por

t: 10

.10.

10.2

: 50

00->

(afte

r NAT

)100

.2.0

.192

: 23

156

Viking with 2 or 3 LCs (ingess and egress GE LCs could be different)

Default static route (VRF: ivrf1) to send traffic to ServiceApp1

s: 10.10.10.2 : 5000d: 5.5.5.2 : 5000

s: 100.2.0.192 : 23156d: 5.5.5.2 : 5000

Via FIB look-up (VRF: [ovrf1]), sends traffic to egress port on Slot 1 GE LC

TG0/0/0/0.110.10.10.1/24TG0/0/0/0.110.10.10.1/24

ServiceApp1ipv4 addr 1.1.1.1/24ServiceApp1ipv4 addr 1.1.1.1/24

ServiceApp2ipv4 addr 2.2.2.2/24ServiceApp2ipv4 addr 2.2.2.2/24

TG0/0/0/1.15.5.5.1/24TG0/0/0/1.15.5.5.1/24

Page 64: Реализация технологии “Операторский NAT” в продуктах Cisco

Traffic: Outside > Inside

Slot 1ISM

Slot 0GigE

PVT NW

10.10.10.210.10.10.2

PUB NW

5.5.5.25.5.5.2

s: 5.5.5.2:5000d: 10.10.10.2 : 5000

s: 5.5.5.2:5000d: 100.2.0.192 : 23156

APP_

N:

DST

IP: 1

00.2

.0.1

92 :

2351

6->

(Rev

erse

NAT

) eth

1:10

.10.

10.2

:500

0

Viking with 2 or 3 LCs (ingess and egress GE LCs could be different)

Via FIB lookup (VRF: ivrf1), sends traffic to Slot 1 GE port

s: 5.5.5.2:5000d: 10.10.10.2:5000

s: 5.5.5.2 : 5000d: 100.2.0.192 : 23516

Static route (VRF: [ovrf1]) sends traffic to ServiceApp2

TG0/0/0/0.110.10.10.1/24TG0/0/0/0.110.10.10.1/24

ServiceApp1ipv4 addr 1.1.1.1/24ServiceApp1ipv4 addr 1.1.1.1/24

ServiceApp2ipv4 addr 2.2.2.2/24ServiceApp2ipv4 addr 2.2.2.2/24

TG0/0/0/1.15.5.5.1/24TG0/0/0/1.15.5.5.1/24

Page 65: Реализация технологии “Операторский NAT” в продуктах Cisco

CGN: Problem Statement for Logging

• Any Stateful NAT technology (NAT44, NAT64, DS-Lite AFTR,…) requires logging• The entries in the NAT table are of temporary nature• Logging preserves the information when which internal subscriber was mapped to an external resource

• The # of events to log and the event rate in a SP network is relatively high• In average in a SP network each subscriber generates 0.5 – 1 session per sec, which need to be logged

• System needs to cope with peak load (Network events or Failover), i.e.• 1 Million connections / sec• 1 Million NAT records per sec• 176 Mbps towards collector (using Netflow v9)• 15kpps towards collector (using Netflow v9)

Page 66: Реализация технологии “Операторский NAT” в продуктах Cisco

CGN: What about syslog?

• Syslog logs translation using ASCII• Message needs to comply to RFC5424 format• Example:

• 1 2011 May 31 10:30:45 192.168.2.3 - - NAT44 – [UserbasedA - 10.1.32.45 INVRFA – 100.1.1.28 – 12544 12671]• Compare 113 (251) byte for syslog and 21 byte for Netflow v9.• Logging of individual NAT sessions create huge amounts of data• Bulk port allocation (4.2.1) may be used to alleviate this

• When subscriber create first session, N contiguous outside ports are pre-allocated (security risk?)• New pool created only if subscriber exceeds N sessions.• We only need to log per N ports allocated instead of per port.

Page 67: Реализация технологии “Операторский NAT” в продуктах Cisco

CGSE обзор

• CGv6 function resides on CGSE PLIM• Paired with CRS-MSC-40G-B, CRS-MSC-20G-B,

CRS-MSC and FP-40 ( R4.1.1 Onwards), • Does not Support Pairing with MSC-140, or FP-140• No external interfaces• Four 16-core Octeon MIPs CPUs, 64 CPU cores• Standard interface to MSC, 20 Gbps of throughput

(per CGSE)• IOS XR on MSC, Linux on Octeon CPUs

67

Page 68: Реализация технологии “Операторский NAT” в продуктах Cisco

Вариант 1 – Базовый

• An IPv6 network to IPv4 Internet & vice-versa• IPv6 network to IPv4 network & vice-versa

68

CGSE

IPv6 InternetIPv4 Internet

IPv4 Server

IPv4 Client

IPv6 Server

IPv6 Client

CRS-1/CRS-3

Page 69: Реализация технологии “Операторский NAT” в продуктах Cisco

Вариант 2 – CGSE neighboring (IGP/BGP)

• An IPv6 network to IPv4 Internet & vice-versa• OSPFv2/IS-IS between CGSE & R1• OSPFv3/IS-IS between CGSE & R2

69

CGSE

IPv4 Network IPv6 Network

OSPFv2 /IS-IS/BGP

OSPFv3/IS-IS/BGP

IPv4 Client/Server

IPv6 Client/Server

R1 R2CRS-1/CRS-3

Page 70: Реализация технологии “Операторский NAT” в продуктах Cisco

Вариант 3 – Резервирование CGSEs ( Одно шасси)

• An IPv6 network to IPv4 Internet & vice-versa• Subscriber traffic follows best IP path.• Static routes to IPv4 /IPv6 destination with metric assigned for Serviceapp

interfaces• Same NSP Prefix for both CGSEs

70

CGSE

IPv4 Network IPv6 Network

Standby

ebgp

IPv4Client/Server

IPv6Client/Server

R1 R2CGSE

Active

Page 71: Реализация технологии “Операторский NAT” в продуктах Cisco

Вариант 4 – Резервирование CGSEs ( несколько шасси)

• An IPv6 network to IPv4 Internet & vice-versa• Subscriber traffic follows best IP path.• Same NSP prefix needs to be configured, since it is stateless synchronization is

not required.

71

CGSE

IPv4 Network IPv6 Network

Active ebgp

IPv4 Client/Server

IPv6 Client/Server

R1 R2

CGSE

Standby

Page 72: Реализация технологии “Операторский NAT” в продуктах Cisco

Вариант 5 – Резервирование CGSEs ( несколько шасси)

• An IPv6 network to IPv4 Internet & vice-versa• Subscriber traffic follows best IP path.• Same NSP prefix needs to be configured, since it is stateless synchronization is

not required.

72

CGSE

IPv4 Network IPv6 Network

Active/Standby ebgp

IPv4 Client/Server

IPv6 Client/Server

R1 R2

CGSE

CGSE

CGSE

Active/Standby

Page 73: Реализация технологии “Операторский NAT” в продуктах Cisco

ПодключениеIPv6 сети к IPv4 Internet

IPv6/IPv4 Translator

(“NAT64”)IPv6-only клиенты

DNS64

IPv6 сеть Internet

IPv4Internet

IPv6Internet

Page 74: Реализация технологии “Операторский NAT” в продуктах Cisco

DNS64• Синтезирует записи AAAA в случае, когда ответ не получен или пуст• Используется IPv6 префикс NAT64 устройства

Internet

AAAA?

IPv6-only host

AAAA?

Empty answer

A?

192.0.2.12001:0DB8:ABCD::192.0.2.1

(sent simultaneously)

DNS64

Page 75: Реализация технологии “Операторский NAT” в продуктах Cisco

DNS64

• Подходит для приложений использующих DNShttp://www.example.comБолее 80%!

• Не применимо для приложения использующих IP адреса

http://1.2.3.4SIP, RTSP, H.323, etc. – IP address literals

• Варианты решения:Application-level proxy for IP address literals (HTTP proxy)IPv6 application learns NAT64’s prefix

Page 76: Реализация технологии “Операторский NAT” в продуктах Cisco

Доступ IPv6 клиентов в IPv4 ЦОД

IPv6 клиенты IPv4 ЦОД

Private IPv4

IPv6 Stateful NAT64

Public IPv4

Page 77: Реализация технологии “Операторский NAT” в продуктах Cisco

Вопросы к NAT64 в сценарии IPv4 ЦОД

• IPv4 сервера ЦОД становятся доступны для IPv6 Internet

• Требует stateful translationТак как IPv6 Internet «больше» чем IPv4

(невозможно транслировать все возможные IPv6 в IPv4)

• Все соединения формируются от имени IPv4 адреса NAT64Излишнее логирование

Lack of X-Forwarded-For: header

• Возможно прокси для приложений более эффективен?например, lighthttpd

But has poor TLS interaction

Page 78: Реализация технологии “Операторский NAT” в продуктах Cisco

Протоколирование NAT High Speed Logging (HSL)

• ASR 1000 support high speed logging of all NAT translations or only translations for specific VPNs

• Logging can be export to external device in Netflow v9 format

• Support logging at rate of 40K sessions creations/deletions per second.

• See ASR 1000 NAT monitoring and maintaining for HSL template

• IsarFlow is the official certified HSL collector for ASR 1000• IsarFlow Whitepaper on CEC

Page 79: Реализация технологии “Операторский NAT” в продуктах Cisco

Stateful Application Inter-chassis Redundancy

• 2 ASR 1000 chassis with single RP / single ESP–Co-existence of inter-chassis and intra-chassis redundancy currently NOT supported–Clusters with more than 2 members currently NOT supported

• Physical connectivity to both member systems from adjacent routers / switches

–Need a mechanism to direct traffic to either member system in case of failover

• L1/L2 Connectivity between the two member systems for RG control traffic

–Used by the 2 RG instances to exchange control traffic (RG hellos, RG state, fail-over signaling etc.)–Need guaranteed communication between the two member systems to avoid split-brain condition

• L1/L2 Connectivity between the two member systems for Application state data

–Synchronization of NAT/Firewall/SBC state tables–NOTE: FIBs are NOT synchronized by RG Infra

• Possible a user data cross-connect for asymmetric routing cases

Control

App. State

RGact RGsby

Control

App. State

User data

RGact RGsby

WAN-LAN

LAN-LAN

Page 80: Реализация технологии “Операторский NAT” в продуктах Cisco

The Toolbox for IPv4 Exhaustion and IPv6 Introduction

InternetPrivate IP

IPv4IPv6

IPv4

Large Scale IPv4 NAT IPv6/IPv4 Translation, BEHAVE working group

IPv6 over IPv4, and IPv4 over IPv6, Softwire Working Group

IPv6IPv6

Translation and Tunneling

Page 81: Реализация технологии “Операторский NAT” в продуктах Cisco

Flow and Translation In overload configuration, there is 1 translation/flow. In non-overload

(Static & dynamic), there is 1 translation entry for the actual host and 1 entry for each unique flow.

In traditional NAT, a basic flow is defined by the following 6 tuples: {SrcAddr, SrcPort, DstAddr, DstPort, Proto, VRFID}

In CGN NAT, a basic flow is defined by the following 4 tuples: {SrcAddr, SrcPort, Proto, VRFID}

Per-PPP Session NAT is only supported in CGN mode If any one of the tuple is changed, it is considered a new flow and a new

NAT entry is created. Default TCP translation entry timeout is: 15 min. Default UDP translation entry timeout is: 5 min.

Page 82: Реализация технологии “Операторский NAT” в продуктах Cisco

Dual-stack For dual-stack PPP session, if NAT is applied, only

v4 traffic is subject to NAT rule, v6 traffic is transparent from NAT point of view.

NAT64 is not supported for per-PPP session.

Page 83: Реализация технологии “Операторский NAT” в продуктах Cisco

Сравнение NAT44 (CGSE) и NAT44 (ISM)

Параметр CGSE ISMNAT44 CLIs Совпадает Совпадает

Использование SVI Да Да

Сетевой процессор Да (Metro) Нет

Распределение нагрузки Один уровень (NAT44 load-balancing наeMetro)

Два уровня –a) На ingress LC используя VQI, b) NAT44 балансировка через Dispatcher

Egress FIB Lookup На iMetro Приложение CGv6 App

Количество CGv6контекстов

64 (4 octeon) 8 (2 Westmere)

Пропускная способность 20 Gbps (I2O + O2I) 10 Gbps (I2O + O2I)

Max. Количество трансляций

20M 20M

Скорость установки новых трансляций

1M/сек 1M/сек

Page 84: Реализация технологии “Операторский NAT” в продуктах Cisco

NAT64

LSN64

NAT

NAT64

LSN64

NATNAT

AFT64 Stateful Translators

• *Note: ALGs for NAT64 and NAT44 are not necessarily the same (think FTP)

IPv4Public

IPv6

IPv6UE

Any IPv6 address

IPv6 addresses representing IPv4 hosts

“IPv4 Mapped” IPv6 AddressesFormatPREFIX (/96):IPv4 Portion:(optional Suffix)

PREFIX:: announced in IPv6 IGP

N:1 Multiple IPv6 addresses map to single IPv4

LSN IPv4 addressannounced

DNS64

Responsible for SynthesisingIPv4-Mapped IPv6 addresses

“A” Records with IPv4 address

“AAAA” Records with synthesised Address: PREFIX:IPv4 Portion

Stateful AFT64• AFT keeps binding state between inner IPv6 address and outer IPv4+port

• Application dependent,ALGs might be required*

AFT64

AFT64

Page 85: Реализация технологии “Операторский NAT” в продуктах Cisco

AFT64 Stateless Translators

• *Note: ALGs for NAT64 and NAT44 Not Necessarily the Same (Think FTP)

IPv6

IPv6 addresses assigned to IPv6 hosts“IPv4 Translatable” IPv6 addresses

FormatPREFIX:IPv4 Portion:(SUFFIX)

IPv6 addresses representing IPv4 hosts

“IPv4 Mapped” IPv6 Addresses

FormatPREFIX:IPv4 Portion:(SUFFIX)

0::0 announced in IPv6 IGP

1:1 Single IPv6 addresses map to single IPv4

ISP’s IPv4 LIR addressannounced

DNS64

Responsible for SynthesisingIPv4-Mapped IPv6 addresses

Incoming Responses: “A” Records with IPv4 address“AAAA” Records with synthesisedAddress: PREFIX:IPv4 Portion:(SUFFIX)

NAT64

StatelessLSN64

NATNAT

Outgoing Responses: “A” Records with IPv4 Portion

Stateless AFT64• AFT keeps no binding state• IPv6 <-> IPv4 mapping

computed algorithmically

• Application dependent,ALGs might be required*

AFT64

AFT64

IPv4Public

IPv6UE

Page 86: Реализация технологии “Операторский NAT” в продуктах Cisco

6rd vs 6to4Атрибут 6rd 6to4

IPv6 адрес IPv6 префикс оператора связи

2002::/16

SP-managed service Да НетМаршрут через сеть

оператораДа (BR

управляется оператором)

Необязательно (AnycastRelay)

Поддержка Private IPv4

Да Нет

Поддержка Border Relay Support

Under development(ASR1k, CRS-1)

Supported (IOS)

CE Support Under Development(ASR1k, IOS and

Linksys)

Supported (IOS)

Doc draft-ietf-softwire-ipv6-6rd

RFC3056

86

Page 87: Реализация технологии “Операторский NAT” в продуктах Cisco

ASR 1000 CGN

CGN is just a large scale NAT – deployed typically in SP networks

Functionally is very similar to traditional NAT Defined in IETF as LSN (large scale NAT)

http://tools.ietf.org/html/draft-ietf-behave-lsn-requirements-05

ASR 1000 begin to support CGN in XE3.6.0, but still not 100% compliant with the above draft Paired address pooling is not supported Bulk port logging are not supported

Page 88: Реализация технологии “Операторский NAT” в продуктах Cisco

NAT44 on ISM

Page 89: Реализация технологии “Операторский NAT” в продуктах Cisco

Реализация NAT44 на модуле ISM

Inside OutsideEntry1 10.12.0.29 : 3341 100.2.0.192 : 18808

Entry2 10.12.0.29 : 8562 100.2.0.192 : 40582

Entry3 10.12.1.56 : 9167 100.2.0.65 : 17649

Entry.. … …

OutsideVRF

InterfaceVLAN

Private IPv4Subscribers

Public IPv4

• VRFs to Separate the Private and Public Routing Table. • Interfaces are associated with a VRF.• Service Application SVI is used to send packets to/from ISM

InsideVRF

AppSVI ISM on ASR9K

AppSVI

InterfaceVLANVLAN