NAT Tutorial. Dan Wing, dwing@cisco.com. IETF78, Maastricht July 25, 2010



Similar documents
IPv6-only hosts in a dual stack environnment

IPv4 and IPv6 Integration. Formation IPv6 Workshop Location, Date

EXPEDITING ACCESS TO V6 SERVICES: GETTING WEB CONTENT AVAILABLE OVER IPV6 QUICKLY AND AT LOW COST

IPv6 Transition Work in the IETF

Real World IPv6 Migration Solutions. Asoka De Saram Sr. Director of Systems Engineering, A10 Networks

NAT and Firewall Traversal with STUN / TURN / ICE

TR-296 IPv6 Transition Mechanisms Test Plan

Virtual private network. Network security protocols VPN VPN. Instead of a dedicated data link Packets securely sent over a shared network Internet VPN

WHITE PAPER. Best Practices for Deploying IPv6 over Broadband Access

IPv4/IPv6 Transition Mechanisms. Luka Koršič, Matjaž Straus Istenič

Challenges in NetFlow based Event Logging

Securing the Transition Mechanisms

NAT Traversal for VoIP. Ai-Chun Pang Graduate Institute of Networking and Multimedia Dept. of Comp. Sci. and Info. Engr. National Taiwan University

NAT and Firewall Traversal with STUN / TURN / ICE

How will the Migration from IPv4 to IPv6 Impact Voice and Visual Communication?

Ensuring a Smooth Transition to Internet Protocol Version 6 (IPv6)

An Architecture View of Softbank

Carrier Grade NAT. Requirements and Challenges in the Real World. Amir Tabdili Cypress Consulting

NetScaler carriergrade network

Firewalls und IPv6 worauf Sie achten müssen!

464XLAT: Breaking Free of IPv4. APRICOT 2014

Whitepaper IPv6. OpenScape UC Suite IPv6 Transition Strategy

SIIT-DC: IPv4 Service Continuity for IPv6 Data Centres. Tore Anderson Redpill Linpro AS RIPE69, London, November 2014

SIIT-DC: Stateless IP/ICMP Translation for IPv6 Data Centre Environments & SIIT-DC: Dual Translation Mode

VDE Tagung Mobilkommunikation 2014, Osnabruck

What I am going to talk about. NAT IPSec and NAT Proxy, Reverse proxy P2P Firewall

NAT Traversal for VoIP

Transition to IPv6 in Service Providers

Transition to IPv6 for Managed Service Providers: Meet Customer Requirements for IP Addressing

Strategies for Getting Started with IPv6

Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong

Ecdysis: Open-Source DNS64 and NAT64

464XLAT: Breaking Free of IPv4. T-Mobile.com NANOG 61 June 2014

Campus IPv6 connection Campus IPv6 deployment

IPV6 DEPLOYMENT GUIDELINES FOR. ARRIS Group, Inc.

Presentation_ID. 2001, Cisco Systems, Inc. All rights reserved.

Use Domain Name System and IP Version 6

VoIP LAB. 陳 懷 恩 博 士 助 理 教 授 兼 所 長 國 立 宜 蘭 大 學 資 訊 工 程 研 究 所 TEL: # 255

Application Note. Onsight Connect Network Requirements v6.3

Security implications of the Internet transition to IPv6

Ecdysis: Open-Source DNS64 and NAT64

IPv6 TRANSITION TECHNOLOGIES

464XLAT in mobile networks

Application Note. Onsight Connect Network Requirements V6.1

NAT TCP SIP ALG Support

Residential IPv6 IPv6 a t at S wisscom Swisscom a, n an overview overview Martin Gysi

LifeSize Transit Deployment Guide June 2011

IPv6 and DNS. Secure64

DirectAccess in Windows 7 and Windows Server 2008 R2. Aydin Aslaner Senior Support Escalation Engineer Microsoft MEA Networking Team

Peer-to-Peer Systems and Security

Next Generation IPv6 Network Security a Practical Approach Is Your Firewall Ready for Voice over IPv6?

Firewalls P+S Linux Router & Firewall 2013

DEPLOYMENT GUIDE Version 1.2. Deploying the BIG-IP LTM for SIP Traffic Management

SIP: NAT and FIREWALL TRAVERSAL Amit Bir Singh Department of Electrical Engineering George Washington University

A Scalable Multi-Server Cluster VoIP System

Service Provider IPv6 Deployment Strategies

The H.323 NAT/FW Traversal Solution

THE ADOPTION OF IPv6 *

StarLeaf Network Guide

White paper. SIP An introduction

Solving the Firewall/NAT Traversal Issue of SIP:

IPv6 Fundamentals: A Straightforward Approach

Secure64. Use cases for DNS64/NAT64

DEPLOYMENT GUIDE Version 1.4. Configuring IP Address Sharing in a Large Scale Network: DNS64/NAT64

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Network Convergence and the NAT/Firewall Problems

SSL VPN. Virtual Private Networks based on Secure Socket Layer. Mario Baldi. Politecnico di Torino. Dipartimento di Automatica e Informatica

Network Address Translation (NAT) Good Practice Guideline

Internet Protocol: IP packet headers. vendredi 18 octobre 13

MINIMUM NETWORK REQUIREMENTS 1. REQUIREMENTS SUMMARY... 1

TR-242 IPv6 Transition Mechanisms for Broadband Networks Issue: 2 Issue Date: February 2015

How To Understand The Purpose Of A Sip Aware Firewall/Alg (Sip) With An Alg (Sip) And An Algen (S Ip) (Alg) (Siph) (Network) (Ip) (Lib

Application Note. Firewall Requirements for the Onsight Mobile Collaboration System and Hosted Librestream SIP Service v5.0

VoIP and NAT/Firewalls: Issues, Traversal Techniques, and a Real-World Solution

IPv6-Only. Now? Sites. Deutscher IPv6 Kongress June 6/7, 2013 Fr ankfur t /Ger many. Holger.Zuleger@hznet.de

TECHNICAL CHALLENGES OF VoIP BYPASS

Recent work in OpenBSD relayd AsiaBSDCon 2013 Reyk Flöter

Load Balancing. Final Network Exam LSNAT. Sommaire. How works a "traditional" NAT? Un article de Le wiki des TPs RSM.

Interconnecting IPv6 Domains Using Tunnels

An Introduction to VoIP Protocols

Configuring Network Address Translation

How To Connect Ipv4 To Ipv6 On A Ipv2 (Ipv4) On A Network With A Pnet 2.5 (Ipvin4) Or Ipv3 (Ip V6) On An Ipv5

Voice over IP Communications

WAN Traffic Management with PowerLink Pro100

An Examination of the Firewall/NAT Problem, Traversal Methods, and Their Pros and Cons

Voice Over IP Performance Assurance

Chapter 12 Supporting Network Address Translation (NAT)

Chapter 4: Security of the architecture, and lower layer security (network security) 1

Industry Automation White Paper Januar 2013 IPv6 in automation technology

White Paper. Traversing Firewalls with Video over IP: Issues and Solutions

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

Bump In Host a Host-based IPv4 to IPv6 Translation

Transcription:

NAT Tutorial Dan Wing, dwing@cisco.com IETF78, Maastricht July 25, 2010 v3 1

2 Agenda NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN, CGN) IPv6/IPv4 Translation ( NAT64 ) NAT66

3 Agenda NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN, CGN, SP NAT) IPv6/IPv4 Translation ( NAT64 ) NAT66

NAT First described in 1991 1:1 translation Does not conserve IPv4 addresses Per-flow stateless Today s primary use is inside of enterprise networks Connect overlapping RFC1918 address space draft-tsuchiya-addrtrans-00 4

5 NAT Diagram Hosts seem to have multiple IPv4 addresses almost like ghosts 192.168.0.2 192.168.0.1 10.1.1.1 10.1.1.2 192.168.0.3 10.1.1.3

6 NAPT Described in 2001 (RFC3022) 1:N translation Conserves IPv4 addresses Allows multiple hosts to share one IPv4 address Only TCP, UDP, and ICMP Connection has to be initiated from inside Per-flow stateful Commonly used in home gateways and enterprise NAT

7 NAPT Diagram Hosts share an IPv4 address 192.168.0.2 157.55.0.1 192.168.0.3 Internet 192.168.0.1

8 NAPT complications NAPT requires connections initiated from inside Creates state in the network (in the NAPT) This is bad NAPT crashes -> connections break When to discard state? TCP RST? Spoofed RSTs? Timeout?

9 Terminology NAT is spoken/written instead of NAPT Even though NAPT is often more accurate The more accurate PAT never caught on So, it s NAT Now, often called NAT44 to differentiate from NAT64 and NAT46

Types of NAT (old terms) Full Cone Restricted Cone Port Restricted Cone Symmetric Restrictive Permissive RFC3489 (obsoleted) 10

Types of NAT (new terms) Mapping Endpoint-Independent Address-Dependent Address and Port- Dependent Restrictive Permissive Filtering Endpoint-Independent Address-Dependent Address and Port- Dependent RFC4787 11

12 Agenda NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN, CGN, SP NAT) IPv6/IPv4 Translation ( NAT64 ) NAT66

13 NAT Philosophy Be transparent This means NATs are not proxies Applications are generally unaware of a NAT Problem with IP addresses inside the application Generally called a referral Example: SIP Internet my address is 10.1.1.1 Internet sees 161.44.1.1

14 NAPT and servers NAPT: connection initiated from inside Incoming connections are difficult Significant problem for servers Webcam, VoIP, RTSP receivers, etc. Port forwarding ( pinholing, etc.) web or CLI configuration UPnP IGD, NAT-PMP All have drawbacks

15 Application Layer Gateway (ALG) Application awareness inside the NAT ALG modifies IP addresses and ports in application payload, and creates NAT mapping Each application requires a separate ALG FTP, SIP, RTSP, RealAudio, Internet m/c=10.1.1.1/1234 NAT with SIP ALG m/c=161.44.1.1/5678

16 Problems with ALGs Requires ALG for each application Requires ALG that understands this particular application s nuance Proprietary extensions / deviations New standard extensions ALG requires: Un-encrypted signaling (!) Seeing application s signaling and media/data easy with stub network; harder with mesh network

17 Application Solutions Applications cannot successfully rely on ALGs So, Applications have developed their own solutions FTP PASV Data connection always to server. Has security side-effects. RTSP supports interleaved data (RFC2326) Streaming over RTSP s TCP control channel RTSPv2 with ICE-like NAT traversal HTTP delivery Flash (e.g., YouTube) ICE, STUN, TURN Intelligence in endpoint Useful for offer/answer protocols (SIP, XMPP, probably more) Standardized in MMUSIC and BEHAVE (more on next slides)

18 STUN, ICE, TURN Request/response protocol, used by: STUN itself (to learn public IP address) ICE (for connectivity checks) TURN (to configure TURN server) The response contains IP address and port of request Runs over UDP (typical) or TCP, port 3478 Somewhat like http://whatismyip.com

19 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 Think: gather all my IP addresses, send them to my peer, and do connectivity checks

20 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), or one endpoint doesn t implement ICE, and is behind a Address and Port-Dependent Filtering NAT

ICE: 119 Pages

22 ICE Deployments Google chat (XMPP) Microsoft MSN chat Yahoo chat Counterpath softphone Apple Facetime Open source ICE libraries are available

23 Agenda NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN, CGN, SP NAT) IPv6/IPv4 Translation ( NAT64 ) NAT66

24 How It Fits Together Translation NAT44 6rd + NAT44 NAT64 DS-Lite Tunneling 6rd IPv4 IPv6

NAT44 + NAT44 = NAT444 Large-Scale NAT (LSN) IPv4 private IPv4 private IPv4 Internet NAT44 NAT44 Home network ISP network Presentation_ID 2010 Cisco and/or its affiliates. All rights reserved. 25

26 Large Scale NAT (LSN) Essentially, just a big NAPT44 Needs per-subscriber TCP/UDP port limits Prevent DoS If too low, can interfere with applications Classic example: Google maps How to number network between subscriber and LSN? RFC1918 conflicts with user s space, breaks some NATs Using routable IPv4 addresses is wasteful

Insufficient Port Example Source: Shin Miyakawa, NTT Communications

28 LSN and ALG Operationally complex in a LSN Application X works but Application Y breaks. Upgrade ALG?? How long is vendor turn-around for patches? Interfering with competitor s over-the-top application (e.g., SIP, streaming video)

IPv4 Address Sharing Problem most noticed with LSN Reputation and abuse reporting are based on IPv4 address Shared IP address = shared suffering Law Enforcement Which subscriber posted on www.example.com at 8:23pm? Requires LSN log source port numbers Requires web servers log source port numbers Everybody can t get port 80 Breaks geographic location (services and ads) draft-ietf-intarea-shared-addressing-issues 29

Dual-Stack Lite: IPv4 over IPv6 Access Subscribers NAT44 ( AFTR ) Internet IPv4 Private IPv4 IPv6 Private IPv4 IPv6 IPv6 IPv4 IPv6 draft-ietf-softwire-dual-stack-lite Presentation_ID 2010 Cisco and/or its affiliates. All rights reserved. 30

6rd in One Slide Subscriber IPv6 prefix derived from IPv4 address IPv4 + IPv6 IPv4 + IPv6 IPv4 + IPv6 6rd CE One line global config for IPv6 Gateway 6rd 6rd Border Relays Dual Stack Native or 6PE Core 6rd 6rd IPv4 Native dual-stack IP service to the Subscriber Simple, stateless, automatic IPv6-in-IPv4 encapsulation and decapsulation IPv6 traffic automatically follows IPv4 Routing 6rd Border Relay placed at IPv6 edge draft-ietf-softwire-ipv6-6rd Presentation_ID 2010 Cisco and/or its affiliates. All rights reserved. 31

NAT44 with 6rd NAT IPv4 6rd IPv6 NAT44 works with 6rd IPv6 content flows directly IPv6 content does not go through the NAT function Presentation_ID 2010 Cisco and/or its affiliates. All rights reserved. 32

NAT44 + NAT44 = NAT444 Large-Scale NAT (LSN) IPv4 private IPv4 private IPv4 Internet NAT44 NAT44 Home network ISP network Presentation_ID 2010 Cisco and/or its affiliates. All rights reserved. 33

34 Agenda NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN, CGN, SP NAT) IPv6/IPv4 Translation ( NAT64 ) NAT66

35 Purpose of NAT64 IPv6-only host to IPv4-only host Usually not needed Try to use dual-stack with NAPT44 to share IPv4 addresses

36 The Ideal IPv6/IPv4 Translation IPv6 Internet IPv4 Internet

37 Translation versus Tunneling If you have a choice, tunnel 6rd (IPv6 over IPv4) Dual-Stack Lite (IPv4 over IPv6) Translate only when crossing between address families IPv4-only host to IPv6-only host IPv6-only host to IPv4-only host

38 Then, Why Translate? Will exhaust IPv4 addresses in 2011-2012 IPv6-only clients need to access IPv4-only content Long tail of IPv4-only content Children s soccer practice schedule Longer term: need to access IPv6-only servers from IPv4-only clients

NAT-PT NAT-PT combined all scenarios IPv4 to IPv6 is problematic; IPv6 space is bigger Broke DNSSEC RFC4966 said IPv6/IPv4 translation causes other side effects (But some are not solvable!) But: IPv4 addresses running out Effectively no IPv6 Internet access and no IPv6 content anywhere in the world We can t tunnel everywhere RFC2766 39

Translation Evolution S-Curve Dominant Scenario: IPv4 clients to IPv6 servers Mostly IPv6 content RIR IPv4 exhaustion Google/Youtube Content providers realize IPv6 avoids NAT64 The (IPv4) Internet Is Full Mostly IPv4 content Dominant Scenario: IPv6 clients to IPv4 servers 2009 2011-2012 20?? 40

41 BEHAVE s Approach Do first part of S-Curve first Split problem into separate documents Framework Lists all 8 scenarios Address format 6/4 translation (1:1), including fragmentation Stateful translation (1:N) DNS64 FTP64 ALG Later scenarios in S-Curve done later

42 IPv6/IPv4 Translation: some detail Connecting an IPv6 network to the IPv4 Internet You built an IPv6-only network, and want to access servers on the IPv4 Internet Connecting the IPv6 Internet to an IPv4 network You have IPv4 servers, and want them available to the IPv6 Internet Connecting the IPv4 Internet to an IPv6 network You built an IPv6-only network, and want its servers available to the IPv4 Internet

Connecting an IPv6 network to the IPv4 Internet IPv6-only clients DNS64 IPv6/IPv4 Translator ( NAT64 ) IPv6 Internet IPv4 Internet An IPv6 network Internet

DNS64 Synthesizes AAAA records when not present With IPv6 prefix of NAT64 translator DNS64 Internet IPv6-only host AAAA? (sent simultaneously) 2001:DB8:ABCD::192.0.2.1 AAAA? Empty answer A? 192.0.2.1

45 IPv6/IPv4 Translation Stateless 1:1 translation NAT Any protocol No IPv4 address savings Just like dual-stack Stateful 1:N translation NAPT TCP, UDP, ICMP Saves IPv4 addresses

46 IPv6/IPv4 translation issues IPv4 address literals http://1.2.3.4 SIP, RTSP, SAP IP Family sensitive protocols FTP (EPSV, PASV) How to resolve? Application proxies, make application smarter, ALG (FTP64)

47 Connecting the IPv6 Internet to an IPv4 network IPv4-only hosts Stateful IPv6/IPv4 Translator IPv6 Internet An IPv4 network Internet

48 Connecting the IPv6 Internet to an IPv4 network Makes IPv4-only servers accessible on the IPv6 Internet Requires stateful translation Because IPv6 Internet is bigger than IPv4 (can t represent every address in IPv4) All connections come from translator s IPv4 address Problem for abuse logging Lack of X-Forwarded-For: header Maybe application proxy is superior? E.g., lighthttpd But has poor TLS interaction

Later IPv6/IPv4 Scenarios 49

50 Connecting the IPv4 Internet to an IPv6 network IPv6-only servers DNS46 or normal DNS Stateless IPv6/IPv4 Translator IPv4 Internet An IPv6 network Internet

51 Connecting the IPv4 Internet to an IPv6 network Stateless works well, one IPv4 address for each IPv6 server Same IPv4 consumption as dual-stack Just like with NAT64 case, don t use IPv6 address literals IPv4-only client can t understand them!

52 Agenda NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN, CGN, SP NAT) IPv6/IPv4 Translation ( NAT64 ) NAT66

NAT66 Is Not Sharing IP addresses Modifying TCP or modifying UDP ports Stateful NAT66 Is Rewriting IPv6 prefixes draft-mrw-behave-nat66 53

54 Goal Give host multiple IPv6 prefixes Belonging to different networks Host does The Right Thing Not yet achievable

55 Tunnel to Enterprise, IPv4 Contains routing and source address policy, and DNS proxy NAT traffic to Internet NAT Internet Tunnel terminates on router Corporate network Partner networks one IP address: corporate IP address

56 Simplified Tunnel Diagram, IPv4 NAT Internet 10.1.1.1 Policy controller Private IPv4 Single IP address

57 Same Scenario, IPv6 IPv6 Internet Corporate network Partner networks

58 Simplified Tunnel Diagram, IPv6 This works but is not desirable NAT66 Internet Policy controller Private IPv4 Single IPv6 address

59 Simplified Tunnel Diagram, IPv6 Desired NAT66 Internet Policy controller Private IPv4 Single Multiple IPv6 addresses

60 Why Consider NAT66 Host and standards deficiencies: 1. Source Address Selection 2. Next-Hop Route Selection 3. Split-zone DNS 4. (Identifying Supporting Hosts)

61 Problem: Source Address Selection Multiple prefixes on one physical interface Wrong ISP 2001:db8:1000::/36 2001:db8:1000:1::100 2001:db8:8000:1::100 ISP-A ISP-B Internet 2001:db8:8000::/36 Dropped by ingress filter (RFC2827)

Problem: Source Address Selection Multiple prefixes on one physical interface Disconnected network 2001:db8:1000:1::100 2001:db8:1000::/36 ISP-A 2001:db8:a000::1 Internet 2001:db8:8000:1::100 Dropped by ingress filter, and ASP-B is not routing traffic to Internet ASP-B 2001:db8:8000::/36 Video streaming 62

Problem: Next-Hop Route Selection IPv6 Internet Corporate network Provide host with routing information of Partner network so that Address Selection (RFC3484) can choose correct source address. RFC4191 does that (but there is a problem..) Partner network 63

Problem: DNS Server Selection Split DNS Public DNS returns empty answer Private DNS returns IP address Solution: host queries proper DNS server long-existing industry practice Query: cnn.com Query: myasp.com Internet NSP (Interne t) ASP / VPN (myasp.com) 64

65 Problem: Identifying Supporting Hosts Supporting Host: Chooses proper source address Accepts next-hop route information Supports split-zone DNS Network would like to determine: If supporting host, give it two prefixes If non-supporting host, give it one prefix and NAT66 its traffic

66 Scope of New Work Source Address Selection Next-Hop Route Multiple physical interfaces RFC3484 (RFC4191) Multiple prefixes Revise standard (RFC4191) Split-Zone DNS new standard new standard Identify supporting hosts new standard new standard

Actions Accelerate standards and implementations to avoid NAT66 Source address selection Route selection Split-zone DNS IETF: 6MAN IETF: MIF Mechanism to identify supporting hosts draft-fujisaki-dhc-addr-select-opt draft-dec-dhcpv6-route-option draft-savolainen-mif-dns-server-selection 67

BEHAVE Status 68

69 Major Finished Work RFC NAT44 behaviors: TCP, UDP, ICMP STUN, TURN, ICE (MMUSIC)

70 BEHAVE Nearly Finished Work IPv6/IPv4 Translation Scenarios 1: an IPv6 network to the IPv4 Internet 2: the IPv4 Internet to an IPv6 network 3: the IPv6 Internet to an IPv4 network 4: an IPv4 network to the IPv6 Internet 5: an IPv6 network to an IPv4 network 6: an IPv4 network to an IPv6 network

71 BEHAVE Finished 6/4 Translation Documents draft-ietf-behave-address-format draft-ietf-behave-dns64 draft-ietf-behave-v6v4-framework draft-ietf-behave-v6v4-xlate-stateful draft-ietf-behave-v6v4-xlate

72 BEHAVE Outstanding NAT Work draft-ietf-behave-ftp64 draft-ietf-behave-sctpnat

73 Summary NAT and NAPT Types of NATs Application Impact Application Layer Gateway (ALG) STUN, ICE, TURN Large-Scale NATs (LSN, CGN, SP NAT) IPv6/IPv4 Translation ( NAT64 ) NAT66

74 Questions Dan Wing, dwing@cisco.com