ilab
play

iLab NAT / DHCP Florian Wohlfart wohlfart@in.tum.de Lehrstuhl fr - PowerPoint PPT Presentation

iLab NAT / DHCP Florian Wohlfart wohlfart@in.tum.de Lehrstuhl fr Netzarchitekturen und Netzdienste Fakultt fr Informatik Technische Universitt Mnchen Lab 6 14ws 1 Outline IPv4 Address Allocation NAT DHCP 2 Outline IPv4


  1. iLab NAT / DHCP Florian Wohlfart wohlfart@in.tum.de Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München Lab 6 – 14ws 1

  2. Outline IPv4 Address Allocation NAT DHCP 2

  3. Outline IPv4 Address Allocation NAT DHCP 3

  4. Internet Growth: IPv4 Address Allocation source: www.potaroo.net/tools/ipv4 4

  5. IPv4 Address Allocation in 1996 source: xkcd.com/195 5

  6. IPv4 Address Depletion since 1996 source: By Mro, CC-BY-SA, commons.wikimedia.org/wiki/File:Ipv4-exhaust.svg 6

  7. Private IPv4 Address Space RFC 1918 reserves "private" IPv4 address ranges Implications ◮ anyone can use these IP addresses ranges in their own network ◮ addresses are not routed in the public Internet ◮ Internet access through address translation Address Ranges ◮ RFC 1918 reserves the following IPv4 address ranges ◮ 10.0.0.0/8 ◮ 172.16.0.0/12 ◮ 192.168.0.0/16 ◮ RFC 6598 reserves an additional range for ISP networks ◮ 100.64.0.0/10 ◮ RFC 4193 reserves an IPv6 address range ◮ fc00::/7 7

  8. Outline IPv4 Address Allocation NAT DHCP 8

  9. Providing Internet Access for Private IPs Server Private Host 131.159.15.49 192.168.1.42 ◮ outgoing packet: replace source with public endpoint 9

  10. Providing Internet Access for Private IPs Server Private Host 131.159.15.49 192.168.1.42 ◮ outgoing packet: replace source with public endpoint ◮ incoming packet: replace destination with local host 9

  11. Network Address (and Port) Translation (NAT) Private Host 192.168.1.42 Server NAT 131.159.15.49 pub: 1.2.3.4 priv: 192.168.1.1 Private Host 192.168.1.43 10

  12. Network Address (and Port) Translation (NAT) Private Host 192.168.1.42 Server NAT 131.159.15.49 pub: 1.2.3.4 priv: 192.168.1.1 Private Host 192.168.1.43 ◮ replace src IP (and port) in outgoing packets 10

  13. Network Address (and Port) Translation (NAT) Private Host 192.168.1.42 Server NAT 131.159.15.49 pub: 1.2.3.4 priv: 192.168.1.1 Private Host 192.168.1.43 ◮ replace src IP (and port) in outgoing packets ◮ remember mapping of private and public endpoint 10

  14. Network Address (and Port) Translation (NAT) Private Host 192.168.1.42 Server NAT 131.159.15.49 pub: 1.2.3.4 priv: 192.168.1.1 Private Host 192.168.1.43 ◮ replace src IP (and port) in outgoing packets ◮ remember mapping of private and public endpoint ◮ lookup mapping of private and public endpoint 10

  15. Network Address (and Port) Translation (NAT) Private Host 192.168.1.42 Server NAT 131.159.15.49 pub: 1.2.3.4 priv: 192.168.1.1 Private Host 192.168.1.43 ◮ replace src IP (and port) in outgoing packets ◮ remember mapping of private and public endpoint ◮ lookup mapping of private and public endpoint ◮ replace dst IP (and port) in incoming packets 10

  16. NAT Implications Advantages ◮ effectively saves IP addresses: allows ∼ 65,000 simultaneous connections with a single public IP address ◮ address independence: public/private IP addresse can be changed independently ◮ topology hiding: devices inside local network are not explicitly addressable/visible from outside Problems ◮ connections can only be established from the local network ◮ routers should not manipulate packets above layer 2 (end-to-end principle) ◮ ports should not be used to address hosts 11

  17. Protocols Affected by NAT characteristics of protocols that are affected by NAT (RFC 3027): ◮ realm-specific IP address information in payload ◮ e.g. SIP, FTP ◮ bundled session applications ◮ protocols using multiple connections, e.g. active FTP ◮ peer-to-peer applications / server located in local network ◮ any service behind NAT ◮ unsupported protocols ◮ e.g. SCTP, IPsec 12

  18. Session Initiation Protocol (SIP) INVITE message: establish a session (e.g. VoIP call) between peers INVITE s i p : Callee@200 . 3 . 4 . 5 SIP /2.0 Via : SIP /2.0/UDP 192.168.1.5:5060 From : < s i p : Caller@192.168.1.5 > To : <s i p : Callee@200 .3.4.5 > CSeq : 1 INVITE Contact : <s i p : Caller@192 .168.1.5:5060 > Content − Type : a p p l i c a t i o n /sdp v=0 o=A l i c e 214365879 214365879 IN IP4 192.168.1.5 c=IN IP4 192.168.1.5 t= 0 0 m =audio 5200 RTP/AVP 0 9 7 3 a=rtpmap :8 PCMU/8000 a=rtpmap :3 GSM/8000 13

  19. File Transfer Protocol (FTP) FTP uses ◮ a persistent control connection ◮ an on-demand data connection control connection data connection FTP Server FTP Client 14

  20. Solutions ◮ port forwarding ◮ static entry in the NAT state table (manually or via protocol) ◮ application layer gateway (ALG) ◮ NAT analyzes and rewrites application layer protocols, e.g. FTP ◮ hole punching ◮ private hosts try to establish a direct connection to each other ◮ relay ◮ public relay server forwards connections 15

  21. Test your own Connection ◮ NAT Analyzer ◮ web-based test to understand NAT behavior ◮ nattest.net.in.tum.de ◮ Netalyzr ◮ web-based test or Android application ◮ more than 100 tests including NAT behavior ◮ netalyzr.icsi.berkeley.edu 16

  22. The Situation Today full IPv6 deployment is going to take a while ◮ Google currently serves 4% of its users via IPv6 source: www.google.com/intl/en/ipv6/statistics.html ◮ 13.9% of the "Alexa Top 1000" websites are reachable via IPv6 source: www.worldipv6launch.org/measurements/ ISPs are running out of IPv4 adresses ◮ IANA address pool depleted on 03-Feb-2011 source: www.potaroo.net/tools/ipv4 ◮ growing number of subscribers dual-stack for every device is not feasible anymore ⇒ deployment of Large Scale NAT / Carrier Grade NAT 17

  23. NAT 444 18

  24. Dual Stack Lite 19

  25. 464XLAT / SIIT Stateless IP/ICMP Translation (SIIT) ◮ reserved IPv6 address range for IPv4-translated addresses ◮ ::ffff:0:0:0/96 Customer-side translation (CLAT) ◮ private IPv4 is translated into IPv6 using SIIT Provider-side translation (PLAT) ◮ translate IPv4-translated addresses back to IPv4 and perform NAT 20

  26. Outline IPv4 Address Allocation NAT DHCP 21

  27. Dynamic Host Configuration Protocol (DHCP) Design ◮ automated configuration of network configuration e.g. IP addresses, subnets, gateway, DNS server, etc. ◮ UDP based client-server protocol ◮ clients request an IP address ◮ servers lease IP addresses to clients for a certain amount of time Standardization ◮ first specified in RFC 1541 (1993) ◮ DHCPv6 (RFC 3315) is a stateful counterpart to SLAAC ◮ RFC 3633 adds prefix delegation 22

  28. DHCP Process ◮ discover/solicit message : client announces its presence in the network (L2 broadcast) ◮ offer/advertise message : server(s) make a lease offer to the client. ◮ request message : client accepts an offer and requests the offered configuration (L2 broadcast) ◮ implicitly denies offers of other servers ◮ is also used to extend the lease of a currently used configuration ◮ acknowledge/reply message : server leases a configuration to the client 23

  29. DHCPv6 Prefix Delegation ◮ extension enables the DHCPv6 server to assign prefixes ◮ RFC 3177 recommends that ISPs assign a /48 subnet to their customers (/64 in mobile networks) ◮ requesting router at the customer acts as DHCP client and requests to be assigned prefix(es) ◮ delegating router at the ISP acts as a DHCP server and assigns prefix(es) the requesting router 2001:0DB8::/64 delegating router requesting router 2001:DB8::/48 2001:0DB8:0000:0001::/64 24

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend