ECE 526 – Network Processing Systems Design Network Address Translator II.

Slides:



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

Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
,< 資 管 Lee 附錄 A0 IGMP vs Multicast Listener Discovery.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies A Little More on Chapter 7 And Start Chapter 8 TCP/IP.
Review of Important Networking Concepts
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Internetworking.
CSCI 4550/8556 Computer Networks Comer, Chapter 21: IP Encapsulation, Fragmentation, and Reassembly.
ECE Department: University of Massachusetts, Amherst ECE 354 Spring 2009 Lab 3: Transmitting and Receiving Ethernet Packets.
CSE331: Introduction to Networks and Security Lecture 7 Fall 2002.
CS335 Networking & Network Administration Tuesday, May 11, 2010.
Performance Evaluation of IPv6 Packet Classification with Caching Author: Kai-Yuan Ho, Yaw-Chung Chen Publisher: ChinaCom 2008 Presenter: Chen-Yu Chaug.
CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim
1 Application TCPUDP IPICMPARPRARP Physical network Application TCP/IP Protocol Suite.
Source Port # (16)Destination Port # (16) Sequence Number (32 bits) Acknowledgement Number (32 bits) Hdr Len (4) Flags (6)Window Size (16) Options (if.
Oct 19, 2004CS573: Network Protocols and Standards1 IP: Datagram and Addressing Network Protocols and Standards Autumn
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
ECE 526 – Network Processing Systems Design Packet Processing II: algorithms and data structures Chapter 5: D. E. Comer.
Chapter 9 Classification And Forwarding. Outline.
TELE202 Lecture 10 Internet Protocols (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Internet Protocols (1) »Source: chapter 15 ¥This Lecture »Internet.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_a
1 IP: putting it all together Part 2 G53ACC Chris Greenhalgh.
© MMII JW RyderCS 428 Computer Networking1 Private Network Interconnection  VPN - Virtual Private Networks  NAT - Network Address Translation  Describe.
Examining TCP/IP.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 15 Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv6.
CDPA 網管訓練 駭客任務 2 Ethernet Switching ARP, IP, LAN, Subnet IP Header, Routing ICMP
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
ECE 526 – Network Processing Systems Design Packet Processing I: algorithms and data structures Chapter 5: D. E. Comer.
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
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.
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
Chapter 13 The Internet.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
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.
1 Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
1 Computer Communication & Networks Lecture 19 Network Layer: IP and Address Mapping Waleed Ejaz.
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
1 CSE 5346 Spring Network Simulator Project.
1 ECE 526 – Network Processing Systems Design System Implementation Principles I Varghese Chapter 3.
1 Network Address Translation. 2 Network Address Translation (NAT) Extension of original addressing scheme Motivated by exhaustion of IP address space.
ECE 526 – Network Processing Systems Design Network Address Translator.
1 Internetworking: IP Packet Switching Reading: (except Implementation; pp )
1 Binding Protocol Addresses (ARP ). 2 Resolving Addresses Hardware only recognizes MAC addresses IP only uses IP addresses Consequence: software needed.
COMPUTER NETWORKS CS610 Lecture-30 Hammad Khalid Khan.
Internet Protocol Version 6 Specifications
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
MAC Address Tables on Connected Switches
Scaling the Network: The Internet Protocol
Network Architecture Introductory material
Internet Control Message Protocol (ICMP)
Review of Important Networking Concepts
IP - The Internet Protocol
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.
Internetworking Outline Best Effort Service Model
Review of Important Networking Concepts
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.
IP - The Internet Protocol
CS4470 Computer Networking Protocols
Scaling the Network: The Internet Protocol
ITIS 6167/8167: Network and Information Security
IP - The Internet Protocol
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 II

Ning WengECE 5262 Overview Review ─ Network Address Translation Basic ─ Conceptually Implementation Today ─ IXP Implementation ─ IXP Optimization Header caching Alignment ARP Checksum

Ning WengECE 5263 NAT Basic 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 Mechanism: header modification ─ Source/destination IP address, source/destination port, checksum

Ning WengECE 5264 Conceptual Implementation Simplifying assumptions ─ No fragmentation (why) ─ No packet with IP option (why) ─ Flows initiated from local computer only (why) NAT table ─ Creation: automatic ─ Updating policy: LRU and priority heuristic ─ Optimization Bucket hashing Independent tables

Ning WengECE 5265 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 5266 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 5267 NAT IXP Implementation

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

Ning WengECE 5269 NAT Microblock Organization

Ning WengECE IXP Optimization Header caching Byte alignment ARP lookup: Checksum computation: incremental modification

Ning WengECE Header caching NAT need access multiple header fields External DRAM access is very slow Read packet header from buffer in DRAM to local memory Modify headers using local memory copy Write back from local memory to DRAM after processing

Ning WengECE Byte alignment Local memory is organized 4-byte words Ethernet frame header is 14 byte Simply copy: IP source/destination spanned into two entries Use byte_align_be or byte_align_le to read and write local memory

Ning WengECE ARP Lookup ( IP address, MAC address) 16 bytes each entry: IP address in one entry of LM; easily convert index to address by shifting Checksum computation: incremental modification

Ning WengECE Reminder Read Chapter 10