Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE 526 – Network Processing Systems Design Network Address Translator.

Similar presentations


Presentation on theme: "ECE 526 – Network Processing Systems Design Network Address Translator."— Presentation transcript:

1 ECE 526 – Network Processing Systems Design Network Address Translator

2 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

3 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

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

5 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

6 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?

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

8 Ning WengECE 5268 Packet Field Change Cross NAT

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

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

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

12 Ning WengECE 52612 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

13 Ning WengECE 52613 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

14 Ning WengECE 52614 NAT IXP Implementation

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

16 Ning WengECE 52616 NAT Microblock Organization

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


Download ppt "ECE 526 – Network Processing Systems Design Network Address Translator."

Similar presentations


Ads by Google