ECE 526 – Network Processing Systems Design Network Address Translator.

Slides:



Advertisements
Similar presentations
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Advertisements

CST Computer Networks NAT CST 415 4/10/2017 CST Computer Networks.
CSC458 Programming Assignment II: NAT Nov 7, 2014.
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
CS 457 – Lecture 16 Global Internet - BGP Spring 2012.
1 Internet Networking Spring 2004 Tutorial 13 LSNAT - Load Sharing NAT (RFC 2391)
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
COS 420 Day 18. Agenda Assignment 4 Posted Chap Due April 6 Group project program requirements Submitted but Needs lots of work Individual Project.
Chapter 5 The Network Layer.
1 Network Address Translation (NAT) Relates to Lab 7. Module about private networks and NAT.
CS335 Networking & Network Administration Tuesday, May 11, 2010.
COS 420 Day 20. Agenda Group Project Discussion Protocol Definition Due April 12 Paperwork Due April 29 Assignment 3 Due Assignment 4 is posted Last Assignment.
Chapter 19 Binding Protocol Addresses (ARP) Chapter 20 IP Datagrams and Datagram Forwarding.
Chapter 3 Review of Protocols And Packet Formats
ECE 526 – Network Processing Systems Design Packet Processing II: algorithms and data structures Chapter 5: D. E. Comer.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #12 LSNAT - Load Sharing NAT (RFC 2391)
Support Protocols and Technologies. Topics Filling in the gaps we need to make for IP forwarding work in practice – Getting IP addresses (DHCP) – Mapping.
TELE202 Lecture 10 Internet Protocols (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Internet Protocols (1) »Source: chapter 15 ¥This Lecture »Internet.
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
1 IP: putting it all together Part 2 G53ACC Chris Greenhalgh.
Examining TCP/IP.
Computer Networks (CS 132/EECS148) General Networking Example Karim El Defrawy Donald Bren School of Information and Computer Science University of California.
Private Network Interconnection Chapter 20. Introduction Privacy in an internet is a major concern –Contents of datagrams that travel across the Internet.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
ECE 526 – Network Processing Systems Design Packet Processing I: algorithms and data structures Chapter 5: D. E. Comer.
Chapter 81 Internet Protocol (IP) Our greatest glory is not in never failing, but in rising up every time we fail. - Ralph Waldo Emerson.
CS4550 Computer Networks II IP : internet protocol, part 2 : packet formats, routing, routing tables, ICMP read feit chapter 6.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Private Network Addresses IP addresses in a private network can be assigned arbitrarily. – Not registered and not guaranteed to be globally unique Generally,
Chapter 19 Binding Protocol Addresses (ARP) A frame transmitted across a physical network must contain the hardware address of the destination. Before.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Chapter 13 The Internet.
Presented by Rebecca Meinhold But How Does the Internet Work?
1 Introduction to TCP/IP. 2 OSI and Protocol Stack OSI: Open Systems Interconnect OSI ModelTCP/IP HierarchyProtocols 7 th Application Layer 6 th Presentation.
1 Network Address Translation (NAT) and Dynamic Host Configuration Protocol (DHCP) Relates to Lab 7. Module about private networks and NAT.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Network Address Translation. 2 Network Address Translation (NAT) Extension of original addressing scheme Motivated by exhaustion of IP address space.
ARP ‘n RARP. The Address Resolution Protocol (ARP) is a request sent out by a computer to find another computer’s MAC address. It already knows the IP.
ECE 526 – Network Processing Systems Design Network Address Translator II.
- 1 - DPNM Review of Important Networking Concepts J. Won-Ki Hong Dept. of Computer Science and Engineering POSTECH Tel:
COMPUTER NETWORKS CS610 Lecture-30 Hammad Khalid Khan.
Kittiphan Techakittiroj (25/06/59 19:10 น. 25/06/59 19:10 น. 25/06/59 19:10 น.) Network Address Translation Kittiphan Techakittiroj
Network Address Translation Sandip Chakraborty. NAT PRIVATE NETWORK PUBLIC NETWORK IP: Port: 8123 IP: Port: 9678 IP:
Datagram Forwarding.
CSC458 Programming Assignment II: NAT
Network Address Translation
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Introduction to TCP/IP
Chapter 4 Introduction to Network Layer
Network Architecture Introductory material
CS 457 – Lecture 10 Internetworking and IP
Internet Control Message Protocol (ICMP)
Review of Important Networking Concepts
Chapter 4 Introduction to Network Layer
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
CSCI {4,6}900: Ubiquitous Computing
Transport Protocols An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Network Layer: Control/data plane, addressing, routers
CS4470 Computer Networking Protocols
Ch 17 - Binding Protocol Addresses
COMPUTER NETWORKS CS610 Lecture-37 Hammad Khalid Khan.
COMPUTER NETWORKS CS610 Lecture-29 Hammad Khalid Khan.
16EC Computer networks unit II Mr.M.Jagadesh
Review of Internet Protocols Network Layer
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

ECE 526 – Network Processing Systems Design Network Address Translator

Ning WengECE 5262 Overview What is Network Address Translation (NAT) Conceptually Implementation ─ Complexity and simplifying assumptions ─ TCP/UDP packet processing ─ ARP packet processing ─ NAT table creation and management ─ Head lookup and field changes IXP Implementation ─ Software components and structure ─ NAT microblock implementation ─ Header caching, alignment

Ning WengECE 5263 What is NAT? System allowing multiple computers share single global IP address Changing packet header: address, port number, IDs and etc Located between a set of computers at a site and rest of the Internet

Ning WengECE 5264 NAT Example ISP Router Local Area Network: ─ /8: net 10 prefix ─ Nonroutable ─ each computer has unique IP address NAT ─ Global IP ─ Local IP: ─ Router for Local Area Network

Ning WengECE 5265 How does NAT Work Rewrite packet header as packet pass through Questions ─ 1. Which fields should be changed ─ 2. Are these change independent of packet types, packet flow direction ─ 3. How should they be changed ─ 4. What is the complexity

Ning WengECE 5266 Packet Type TCP/UDP ─ IP address: global unique identify of IP network, looked by router Source and destination ─ Port number: application dependent Source Destination ARP (address resolution protocol) ─ IP address ─ MAC address Any other fields?

Ning WengECE 5267 Packet Flow Direction Outgoing: to the internet ─ SIP, DIP ─ Sport, Dport ─ IP Proto filed Incoming: from internet ─ Is same as outgoing?

Ning WengECE 5268 Packet Field Change Cross NAT

Ning WengECE 5269 NAT Table Example *.2 and *.3 access web server at *.4 ping

Ning WengECE NAT Table Lookup Incoming and outgoing different Two independent hash tables used

Ning WengECE NAT Table Implementation Packet direction: f_nat or r_nat Extract fields, computer hash value and bucket value

Ning WengECE NAT Complexity Fragmentation causes header of encapsulated protocol are only present in first fragment ─ E.g., no port number available for later fragments IP datagram with options Memory requirement for NAT table

Ning WengECE NAT Table Management Creation ─ Automatically ─ Add one entry when it is first packet for new flow Table entry lifetime ─ Based on packet header E.g., Fin or reset for TCP ─ Aging Counter down timer –Reset to maximum value once used –Decrease one every cycle Table entry update ─ Least recent used ─ Priority heuristic TCP > UDP > ARP >others

Ning WengECE NAT IXP Implementation

Ning WengECE NAT Overall Structure What are implementation ideas to improve throughput?

Ning WengECE NAT Microblock Organization

Ning WengECE Reminder Example System on IXP2400 II: chapter 25 Example of other commercial NPs: chapter 15