IP Address Classes (Some are Obsolete) 15-441 Computer Networking. Important Concepts. Subnetting 15-441 15-641. Lecture 8 IP Addressing & Packets



Similar documents
Review: Internet Protocol (IP) Computer Networking. IP Address Problem (1991) Review: IP Protocol. IPv6 and NATs

Overview Computer Networking. IP Address Classes (Some are Obsolete) Outline. Lecture 9 IP Packets. CIDR IP addressing. Forwarding examples

Network layer: Overview. Network layer functions IP Routing and forwarding

Internet Protocols Fall Lectures 7-8 Andreas Terzis

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

IP addressing and forwarding Network layer

Internetworking. Problem: There is more than one network (heterogeneity & scale)

Lecture Computer Networks

8.2 The Internet Protocol

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

Technical Support Information Belkin internal use only

Computer Networks. Lecture 3: IP Protocol. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Internet Protocol: IP packet headers. vendredi 18 octobre 13

CS 43: Computer Networks IP. Kevin Webb Swarthmore College November 5, 2013

Introduction to IP v6

Network layer" 1DT066! Distributed Information Systems!! Chapter 4" Network Layer!! goals: "

IP address format: Dotted decimal notation:

IP Subnetting and Addressing

Chapter 4 Network Layer

IP addressing. Interface: Connection between host, router and physical link. IP address: 32-bit identifier for host, router interface

Scaling the Network: Subnetting and Other Protocols. Networking CS 3470, Section 1

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

Internet Control Protocols Reading: Chapter 3

(Refer Slide Time: 02:17)

IP Addressing Introductory material.

Gary Hecht Computer Networking (IP Addressing, Subnet Masks, and Packets)

IPv6 Fundamentals Ch t ap 1 er I : ntroducti ti t on I o P IPv6 Copyright Cisco Academy Yannis Xydas

IP Addressing. IP Addresses. Introductory material.

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Ref: A. Leon Garcia and I. Widjaja, Communication Networks, 2 nd Ed. McGraw Hill, 2006 Latest update of this lecture was on

Ethernet. Ethernet. Network Devices

We Are HERE! Subne\ng

DHCP, ICMP, IPv6. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley DHCP. DHCP UDP IP Eth Phy

Lecture 15. IP address space managed by Internet Assigned Numbers Authority (IANA)

Technology Brief IPv6 White Paper.

Internet Protocol (IP) IP - Network Layer. IP Routing. Advantages of Connectionless. CSCE 515: Computer Network Programming IP routing

Interconnection of Heterogeneous Networks. Internetworking. Service model. Addressing Address mapping Automatic host configuration

Subnetting,Supernetting, VLSM & CIDR

IP - The Internet Protocol

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

NETWORK LAYER/INTERNET PROTOCOLS

Internet Protocols Fall Outline

Компјутерски Мрежи NAT & ICMP

Firewalls und IPv6 worauf Sie achten müssen!

RARP: Reverse Address Resolution Protocol

The Internet/Network Layer

Chapter 3: Review of Important Networking Concepts. Magda El Zarki Dept. of CS UC Irvine

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

VLAN und MPLS, Firewall und NAT,

Network Security. Chapter 3. Cornelius Diekmann. Version: October 21, Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik

Classful IP Addressing. Classless Addressing: CIDR. Routing & Forwarding: Logical View of a Router. IP Addressing: Basics

Network Layer IPv4. Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS. School of Computing, UNF

04 Internet Protocol (IP)

Internet Peering, IPv6, and NATs. Mike Freedman V Networks

IP Addressing A Simplified Tutorial

Dynamic Host Configuration Protocol (DHCP) 02 NAT and DHCP Tópicos Avançados de Redes

Future Internet Technologies

Unix System Administration

Lecture 8. IP Fundamentals

IPv6 Fundamentals: A Straightforward Approach

Overview. Lecture 16: IP variations: IPv6, multicast, anycast. I think we have a problem. IPv6. IPv6 Key Features

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Proxy Server, Network Address Translator, Firewall. Proxy Server

Layer Four Traceroute (and related tools) A modern, flexible path-discovery solution with advanced features for network (reverse) engineers

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Auxiliary Protocols

Chapter 12 Supporting Network Address Translation (NAT)

IPv4 and IPv6 Integration. Formation IPv6 Workshop Location, Date

EECS 489 Winter 2010 Midterm Exam

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Networking Overview. (as usual, thanks to Dave Wagner and Vern Paxson)

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

- IPv4 Addressing and Subnetting -

IPv6 Advantages. Yanick Pouffary.

Chapter 9. IP Secure

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

CHAPTER 3 STATIC ROUTING

TCP/IP Basis. OSI Model

Network Security TCP/IP Refresher

Introduction to LAN/WAN. Network Layer (part II)

Transport and Network Layer

ProCurve Networking IPv6 The Next Generation of Networking

Internet Addresses (You should read Chapter 4 in Forouzan)

Networking Test 4 Study Guide

(Refer Slide Time: 01:38 01:37)

Internetworking and Internet-1. Global Addresses

Internet Protocol Version 6 (IPv6)

IP Routing Features. Contents

Telematics. 9th Tutorial - IP Model, IPv6, Routing

IP and Mobility. Requirements to a Mobile IP. Terminology in Mobile IP

The Internet. Internet Technologies and Applications

Troubleshooting Tools

Instructor Notes for Lab 3

What communication protocols are used to discover Tesira servers on a network?

Firewall Implementation

PART IV. Network Layer

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

PPS Internet-Praktikum. Prof. Bernhard Plattner Institut für Technische Informatik und Kommunikationsnetze (TIK)

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Themen der Praktikumsnachmittage. PPS Internet-Praktikum. Zielsetzung. Infrastruktur im ETF B5

Industry Automation White Paper Januar 2013 IPv6 in automation technology

Transcription:

Address Classes (Some are Obsolete) 15-441 15-441 Computer Networking 15-641 Class A 0 Network ID Network ID 8 16 Host ID Host ID 24 32 Lecture 8 Addressing & Packets Peter Steenkiste Fall 2013 www.cs.cmu.edu/~prs/15-441-f13 Class B 10 Class C 110 Class D 1110 Class E 1111 Multicast Addresses Reserved for experiments 2 Subnetting Add another layer to hierarchy Variable length subnet masks Could subnet a class B into several chunks Network Network Subnet Host Host 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Subnet Mask Important Concepts Hierarchical addressing critical for scalable system Don t require everyone to know everyone else Reduces number of updates when something changes Interaction with routing tables Sub-netting simplifies network management Break up the network into smaller chunks Managed internally in network 3 4 1

Outline CIDR addressing protocol v6 NATs Address Problem (1991) Address space depletion Suppose you need 2 16 + 1 addresses? In danger of running out of classes A and B Class C too small for most domains Very few class A very careful about using them Class B greatest problem Class B sparsely populated But people refuse to give it back Large forwarding tables 2 Million possible class C groups 5 6 Address Utilization ( 97) Classless Inter-Domain Routing (CIDR) RFC1338 Arbitrary split between network & part of address more efficient use of address space Do not use classes to determine network ID Use common part of address as network identifier E.g., addresses 192.4.16-192.4.31 have the first 20 bits in common. Thus, we use these 20 bits as the network number 192.4.16/20 Merge forwarding entries smaller tables Use single entry for range in forwarding tables Combined forwarding entries when possible Adjacent in address space and same egress 7 8 2

CIDR Example Network is allocated 8 class C chunks, 200.10.0.0 to 200.10.7.255 Move 3 bits of class C address to address Network address is 21 bits: 201.10.0.0/21 Replaces 8 class C routing entries with 1 entry 8 times But how do s know size of network address? Routing protocols must carry prefix length with address 3 bits Addresses: How to Get One? Network (network portion): Get allocated portion of ISP s address space: ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 9 10 Addresses: How to Get One? How does an ISP get block of addresses? From Regional Internet Registries (RIRs) ARIN (North America, Southern Africa), APNIC (Asia-Pacific), RE (Europe, Northern Africa), LACNIC (South America) How about a single? Hard-coded by system admin in a file DHCP: Dynamic Host Configuration Protocol: dynamically get address: plug-and-play Host broadcasts DHCP discover msg DHCP server responds with DHCP offer msg Host requests address: DHCP request msg DHCP server sends address: DHCP ack msg CIDR Illustration Provider is given 201.10.0.0/21 Provider 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 11 12 3

CIDR Implications Outline Longest prefix match!! CIDR addressing Forwarding example Advertise 201.10.0.0/21 201.10.6.0/23 protocol Provider 1 Provider 2 v6 201.10.0.0/22 201.10.4.0/24 201.10.5.0/24 201.10.6.0/23 or Provider 2 address NATs 13 14 Host Routing Table Example Routing to the Network Destination Gateway Genmask Iface 128.2.209.100 0.0.0.0 255.255.255.255 eth0 128.2.0.0 0.0.0.0 255.255.0.0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 lo 0.0.0.0 128.2.254.36 0.0.0.0 eth0 From netstat rn Host 128.2.209.100 when plugged into CS ethernet Dest 128.2.209.100 routing to same machine Dest 128.2.0.0 other s on same ethernet Dest 127.0.0.0 special loopback address Dest 0.0.0.0 default route to rest of Internet Main CS : gig.net.cs.cmu.edu (128.2.254.36) Packet to 10.1.1.3 arrives Path is R2 R1 H1 H2 Provider 10.1.0.1 10.1.1.1 10.1.2.2 10.1/16 R1 10.1.1.2 10.1.1.4 H1 10.1.2/23 R2 10.1.8.1 10.1.2.1 10.1.16.1 10.1.0.2 H3 H4 10.1.1.3 H2 10.1.1/24 10.1.8.4 10.1.0/24 10.1.8/24 15 16 4

Routing Within the Subnet Routing Within the Subnet Packet to 10.1.1.3 Matches 10.1.0.0/23 Routing table at R2 Destination Next Hop Interface 127.0.0.1 127.0.0.1 lo0 Default or 0/0 provider 10.1.16.1 10.1.8.0/24 10.1.8.1 10.1.8.1 10.1.2.0/23 10.1.2.1 10.1.2.1 10.1.0.0/23 10.1.2.2 10.1.2.1 10.1.0.1 10.1.1.1 10.1.2.2 10.1/16 R1 10.1.2/23 R2 10.1.8.1 10.1.2.1 10.1.16.1 10.1.1.2 10.1.1.4 H1 10.1.1.3 H2 10.1.1/24 10.1.0.2 H3 10.1.0/24 10.1.8/24 H4 10.1.8.4 Packet to 10.1.1.3 Matches 10.1.1.1/31 Longest prefix match Routing table at R1 Destination Next Hop Interface 127.0.0.1 127.0.0.1 lo0 Default or 0/0 10.1.2.1 10.1.2.2 10.1.0.0/24 10.1.0.1 10.1.0.1 10.1.1.0/24 10.1.1.1 10.1.1.1 10.1.2.0/23 10.1.2.2 10.1.2.2 10.1.0.1 10.1.1.1 10.1.2.2 10.1/16 R1 10.1.2/23 R2 10.1.8.1 10.1.2.1 10.1.16.1 10.1.1.2 10.1.1.4 H1 10.1.0.2 H3 H4 10.1.1.3 H2 10.1.1/24 10.1.8.4 10.1.0/24 10.1.8/24 10.1.1.2/31 10.1.1.2 10.1.1.1 17 18 Outline Service Model CIDR addressing protocol Low-level communication model provided by Internet Datagram Each packet self-contained All information needed to get to destination No advance setup or connection maintenance Analogous to letter or telegram 0 4 8 12 16 19 24 28 31 v6 NATs v4 Packet Format version HLen TOS Length Identifier Flag Offset TTL Protocol Checksum Source Address Destination Address Header Options (if any) Data 20 21 5

v4 Header Fields v4 Header Fields 3 Version: Version 0 4 8 12 16 19 24 28 versio TOS Length 1 HLe n n Fl 4 for v4 Identifier ag Offset s TTL Protocol Checksum Source Address HLen: Header Length Destination Address Options (if any) 32-bit words (typically 5) Data TOS: Type of Service Priority information Length: Packet Length Bytes (including header) Header format can change with versions First byte identifies version Length field limits packets to 65,535 bytes In practice, break into much smaller packets for network performance considerations Identifier, flags, fragment offset used for fragmentation Time to live Must be decremented at each Packets with TTL=0 are thrown away Ensure packets exit the network Protocol versio TOS HLe n n Demultiplexing to higher layer protocols Identifier TCP = 6, ICMP = 1, UDP = 17 Header checksum Ensures some degree of header integrity Relatively weak 16 bit Source and destination addresses Options E.g. Source routing, record route, etc. Performance issues Poorly supported 0 4 8 12 16 19 24 28 Length Fl ag Offset s TTL Protocol Checksum Source Address Destination Address Options (if any) Data 3 1 22 23 Delivery Model Fragmentation Best effort service Network will do its best to get packet to destination Does NOT guarantee: Any maximum latency or even ultimate success Sender will be informed if packet doesn t make it Packets will arrive in same order sent Just one copy of packet will arrive Implications Scales very well Higher level protocols must make up for shortcomings Reliably delivering ordered sequence of bytes TCP Some services not feasible Latency or bandwidth guarantees MTU = 4000 MTU = 2000 MTU = 1500 Every network has own Maximum Transmission Unit (MTU) Largest datagram it can carry within its own packet frame E.g., Ethernet is 1500 bytes Don t know MTUs of all intermediate networks in advance Solution When hit network with small MTU, fragments packet Destination reassembles the paper why? 24 25 6

Fragmentation Related Fields Fragmentation Example #1 Length Length of fragment Identification To match up with other fragments Flags Don t fragment flag More fragments flag Fragment offset Where this fragment lies in entire datagram Measured in 8 octet units (13 bit field) MTU = 4000 Length = 3820, M=0 Header Data 26 27 Fragmentation Example #2 Fragmentation is Harmful Length = 3820, M=0 Header Data MTU = 2000 Length = 2000, M=1, Offset = 0 Header Data Uses resources poorly Forwarding costs per packet Best if we can send large chunks of data Worst case: packet just bigger than MTU Poor end-to-end performance Loss of a fragment 3800 bytes 1980 bytes Length = 1840, M=0, Offset = 1980 Header Data 1820 bytes Path MTU discovery protocol determines minimum MTU along route Uses ICMP error messages Common theme in system design Assure correctness by implementing complete protocol Optimize common cases to avoid full complexity 28 29 7

Internet Control Message Protocol (ICMP) MTU Discovery with ICMP Short messages used to send error & other control information Examples Ping request / response Can use to check whether remote reachable Destination unreachable Indicates how packet got & why couldn t go further Flow control Slow down packet delivery rate Redirect Suggest alternate routing path for future messages Router solicitation / advertisement Helps newly connected discover local Timeout Packet exceeded maximum hop limit MTU = 2000 MTU = 1500 MTU = 4000 Typically send series of packets from one to another Typically, all will follow same route Routes remain stable for minutes at a time Makes sense to determine path MTU before sending real packets Operation Send max-sized packet with do not fragment flag set If encounters problem, ICMP message will be returned Destination unreachable: Fragmentation needed Usually indicates MTU problem encountered 30 31 MTU Discovery with ICMP MTU Discovery with ICMP ICMP Frag. Needed MTU = 2000 MTU = 2000 MTU = 1500 ICMP Frag. Needed MTU = 1500 MTU = 2000 MTU = 1500 MTU = 4000 MTU = 4000 Length = 4000, Don t Fragment Packet Length = 2000, Don t Fragment Packet 32 33 8

MTU Discovery with ICMP Important Concepts Packet MTU = 4000 Length = 1500, Don t Fragment MTU = 2000 MTU = 1500 When successful, no reply at level No news is good news Higher level protocol might have some form of acknowledgement Base-level protocol () provides minimal service level Allows highly decentralized implementation Each step involves determining next hop Most of the work at the endpoints ICMP provides low-level error reporting forwarding global addressing, alternatives, lookup tables addressing hierarchical, CIDR service best effort, simplicity of s packets header fields, fragmentation, ICMP 34 35 Outline CIDR addressing protocol v6 NATs v6 Next generation. Most urgent issue: increasing address space. 128 bit addresses Simplified header for faster processing: No checksum (why not?) No fragmentation (?) Support for guaranteed services: priority and flow id Options handled as next header reduces overhead of handling options V/Pr Length Flow label Next Source address Destination address Hop L 36 37 9

v6 Addressing Do we need more addresses? Probably, long term Big panic in 90s: We re running out of addresses! Big worry: Devices. Small devices. Cell phones, toasters, everything. 128 bit addresses provide space for structure (good!) Hierarchical addressing is much easier Assign an entire 48-bit sized chunk per LAN use Ethernet addresses Different chunks for geographical addressing, the v4 address space, Perhaps help clean up the routing tables - just use one huge chunk per ISP and one huge chunk per customer. Sub 010 Registry Provider Subscriber Host Net v6 Autoconfiguration Serverless ( Stateless ). No manual config at all. Only configures addressing items, NOT other things If you want that, use DHCP. Link-local address 1111 1110 10 :: 64 bit interface ID (usually from Ethernet addr) (fe80::/64 prefix) Uniqueness test ( anyone using this address? ) Router contact (solicit, or wait for announcement) Contains globally unique prefix Usually: Concatenate this prefix with local ID globally unique v6 ID DHCP took some of the wind out of this, but nice for zero-conf (many OSes now do this for both v4 and v6) 38 39 Fast Path versus Slow Path Common case: Switched in silicon ( fast path ) Almost everything Weird cases: Handed to CPU ( slow path, or process switched ) Fragmentation TTL expiration (traceroute) option handling Slow path is evil in today s environment Christmas Tree attack sets weird options, bits, and overloads. Developers can t (really) use things on the slow path for data flow Slows down their traffic If it became popular, they d be in the soup! v6 Header Cleanup Different options handling v4 options: Variable length header field. 32 different options. Rarely used No development / many s/s do not support Worse than useless: Packets w/options often even get dropped! Processed in slow path. v6 options: Next header pointer Combines protocol and options handling Next header: TCP, UDP, etc. Extensions header: Chained together Makes it easy to implement -based options One value hop-by-hop examined by intermediate s Things like source route implemented only at intermediate hops 40 41 10

v6 Header Cleanup No checksum Why checksum just the header? Efficiency: If packet corrupted at hop 1, don t waste b/w transmitting on hops 2..N. Useful when corruption frequent, b/w expensive Today: Corruption rare, b/w cheap v6 Fragmentation Cleanup v4: Large MTU Small MTU Router must fragment v6: Discard packets, send ICMP Packet Too Big Similar to v4 Don t Fragment bit handling Sender must support Path MTU discovery Receive Packet too Big messages and send smaller packets Increased minimum packet size Link must support 1280 bytes; 1500 bytes if link supports variable sizes Reduced packet processing and network complexity. Increased MTU a boon to application writers Hosts can still fragment - using fragmentation header. Routers don t deal with it any more. 42 43 Migration from v4 to v6 Outline Interoperability with v4 is necessary for gradual deployment. Alternative mechanisms: Dual stack operation: v6 nodes support both address types Translation: Use form of NAT to connect to the outside world NAT must not only translate addresses but also translate between v4 and v6 protocols Tunneling: tunnel v6 packets through v4 clouds CIDR addressing protocol v6 NATs 44 45 11

Altering the Addressing Model Original Model: Every has unique address Implications Any can communicate with any other Any can act as a server Just need to know ID and port number No secrecy or authentication complicates security Packet traffic observable by s and by LANconnected s Possible to forge packets Use invalid source address Easy to address s Private Network Accessing Public Internet W: Workstation S: Server Machine W W Corporation X W S NAT Internet Don t have enough addresses for every in organization Security Don t want every machine in organization known to outside world Want to control or monitor traffic in / out of organization 46 47 Reducing Addresses Network Address Translation (NAT) W: Workstation S: Server Machine W S Corporation X NAT Internet C: Client 10.1.1.1 C NAT W W C Corporation X 10.3.3.3 10.2.2.2 C Most machines within organization are used by individuals For most applications, act as clients Small number of machines act as servers for entire organization E.g., mail server, web,.. All traffic to outside passes through firewall (Most) machines within organization don t need actual addresses! Within Organization Assign every an unregistered address addresses 10/8 & 192.168/16 unassigned Route within organization by protocol, can do subnetting, Firewall Does not let any packets from internal node escape Outside world does not need to know about internal addresses 48 49 12

NAT: Opening Client Connection NAT: Client Request C: Client S: Server C Firewall has valid address 243.4.4.4 Corporation X NAT 10.2.2.2:1000 Internet 198.2.4.5:80 S C: Client S: Server C 10.5.5.5 243.4.4.4 Corporation X NAT 10.2.2.2:1000 Internet 198.2.4.5:80 S Client 10.2.2.2 wants to connect to server 198.2.4.5:80 OS assigns ephemeral port (1000) Connection request intercepted by Int Addr Int Port NAT Port firewall 10.2.2.2 1000 5000 Maps client to port of firewall (5000) Creates NAT table entry 50 source: 10.2.2.2 dest: 198.2.4.5 src port: 1000 dest port: 80 source: 243.4.4.4 dest: 198.2.4.5 src port: 5000 dest port: 80 Int Addr Int Port NAT Port Firewall acts as proxy for client 10.2.2.2 1000 5000 Intercepts message from client and marks itself as sender 51 NAT: Server Response NAT: Enabling Servers C: Client S: Server C 10.5.5.5 243.4.4.4 Corporation X NAT 10.2.2.2:1000 Internet 198.2.4.5:80 S C: Remote Client S: Server Firewall has valid address 10.3.3.3 243.4.4.4 S Corporation X NAT Internet 198.2.4.5 C source: 198.2.4.5 dest: 10.2.2.2 src port: 80 dest port: 1000 source: 198.2.4.5 dest: 243.4.4.4 src port: 80 dest port: 5000 Int Addr Int Port NAT Port Firewall acts as proxy for client 10.2.2.2 1000 5000 Acts as destination for server messages Relabels destination to local addresses 52 Use port mapping to make servers available Int Addr Int Port NAT Port 10.3.3.3 80 80 Manually configure NAT table to include entry for well-known port External users give address 243.4.4.4:80 Requests forwarded to server 53 13

NAT Considerations NAT has to be consistent during a session. Set up mapping at the beginning of a session and maintain it during the session Recall 2nd level goal 1 of Internet: Continue despite loss of networks or gateways What happens if your NAT reboots? Recycle the mapping that the end of the session May be hard to detect NAT only works for certain applications. Some applications (e.g. ftp) pass information in payload Need application level gateways to do a matching translation Breaks a lot of applications. Example: Let s look at FTP NAT is loved and hated - Breaks many apps (FTP) - Inhibits deployment of new applications like p2p (but so do firewalls!) + Little NAT boxes make home networking simple. + Saves addresses. Makes allocation simple. 54 14