Network Address Translation (NAT) วัตถุประสงค์หลักของการทำ NAT ในเบื้องต้นเพื่อแก้ปัญหาการขาดแคลน IP Address เป็นการเปิดโอกาสให้ Private Network สามารถเชื่อมต่อเข้ากับอินเตอร์เน็ตได้ เป็นกระบวนการแปลง IP ปลอม (Private IP Address) ไปเป็น IP จริง (Registered IP Address) และกลับกัน สามารถทำ NAT ได้ทั้งบน Router หรือ บน Firewall ประโยชน์ที่ได้ : สามารถประหยัด IP จริง เป็น Firewall ไปในตัว
ประเภทของ NAT แบ่งตามทิศทางของข้อมูล Outbound NAT Inbound NAT Outbound Inbound
Private IP Address 10.0.0.0 – 10.255.255.255 (A) (/8) 255.0.0.0 172.16.0.0 – 172.31.255.255 (B) (/12) 255.240.0.0 192.168.0.0 – 192.168.255.255 (C) (/16) 255.255.0.0
Basic Outbound NAT Pig. >> Outgoing Packet on Basic Outbound NAT
Basic Outbound NAT (continued) Source = 203.142.50.55 Destination = 192.168.1.12 Source = 203.142.50.55 Destination = 203.155.30.55 Pig. >> Reply Packet ของ Basic Outbound NAT
ตัวอย่างการใช้ Basic Outbound NAT
ข้อเสียของ Outbound NAT เป็นการ NAT ที่ใช้ Registered IP ต่อ Private IP เป็น 1:1 จึงสิ้นเปลือง IP ไม่ช่วยปิดบังโฮสต์ที่อยู่ใน Internal Network เพราะการจับคู่ระหว่าง Registered IP กับ Private IP เป็นแบบตายตัว อาจทำให้บุคคลภายนอกสามารถตรวจสอบร่องรอยการใช้งานของโฮสต์ภายในได้
Outbound NAT ด้วย Dynamic Table โดยอาศัยการจับคู่ระหว่าง Registered IP กับ Private IP แบบหมุนเวียนไม่ซ้ำกัน (Dynamic) จึงทำเป็นการปิดบังโฮสต์ภายในจากบุคคลภายนอกได้
Network Address Port Translation (NAPT) เป็นวิธีการเปลี่ยนพอร์ตของระบบ TCP/IP ระหว่าง Internal Network กับ External Network ให้ต่างกัน เพื่อจุดประสงค์ที่จะสามารถลดจำนวน Registered IP ลงได้ ข้อมูลสำคัญในแพ็คเก็ต TCP/IP นอกจาก IP Address แล้วยังประกอบด้วยพอร์ตอีกฟีลด์หนึ่งที่เป็นตัวบ่งชี้สถานะการเชื่อมต่อในแต่ละครั้ง ในการสื่อสารใด ๆ ของ TCP/IP จะต้องประกอบด้วย Source IP, Source Port, Destination IP, Destination Port ซึ่งรวมเรียกว่า Socket
Basic TCP/IP Connection Source IP, Source Port, Dest IP, Dest Port เรียกรวมว่า Socket
Basic TCP/IP Connection ที่มีการ NAT
Logical Connections ในการ NAT
Basic TCP/IP Connection ของการ NAPT
Many-to-One NAPT โดยใช้ Port Multiplexing
Logical View ของ NAPT แบบ Many-to-One
Logical View ของ NAPT แบบ Many-to-Many