P.pw - Shorten urls and earn money!

Network Address Translation(NAT)


NAT คืออะไร ?
           Network Address Translation (NAT) คือวิธีการทางเครือข่ายที่จะเปลี่ยนค่า Network Address จากหมายเลขหนึ่งไปเป็นอีกหมายเลขหนึ่ง ซึ่งทำให้เกิดการเชื่อมต่อไปยังเครื่องปลายทางได้ โดยเครื่องต้นทางไม่จำเป็นต้องเปลี่ยนแปลงค่าทางเครือข่าย การทำ NAT ช่วยให้การใช้งานเครือข่ายทำได้อย่างมีประสิทธิภาพมากขึ้นกว่าที่เป็นอยู่ รวมทั้งมีส่วนในการรักษาความปลอดภัยในเครือข่ายได้ด้วย
จุดประสงค์ของการทำ NAT
ที่มาของการทำ NAT นั้นเกิดจากความคิดที่จะนำ Private IP ซึ่งเป็นหมายเลขไอพีแอดเดรสที่ใช้สำหรับเครือข่ายเฉพาะ ซึ่งไม่มีการใช้งานข้ามเครือข่ายได้ (ไม่มีการ route ไปยังเครือข่ายอื่นๆ ) และนำมาใช้เพื่อแก้ปัญหาการขาดแคลนหมายเลขไอพีแอดเดรสในอนาคตด้วย ซึ่งภายหลัง การทำงานของ NAT สามารถเพิ่มความสามารถในการรักษาความปลอดภัย และนำมาใช้ในการแก้ปัญหาในกรณีที่หมายเลขไอพีแอดเดรสในองค์กรมีจำนวนจำกัด
Private IP Address
เนื่องจากการใช้งานระบบเครือข่ายนั้น ในบางครั้งก็ไม่จำเป็นที่จะต้องเชื่อมต่อกับเครือข่ายอื่นๆ เลย ยกตัวอย่างเช่นเครือข่ายภายในบริษัท ซึ่งจะติดต่อสื่อสารกันเฉพาะภายในบริษัทเท่านั้น ไม่จำเป็นต้องติดต่อกับบริษัทอื่นๆ หรือเครือข่ายอินเทอร์เน็ต แต่การติดต่อสื่อสารเพื่อใช้งานแอปพลิเคชั่นต่างๆ ก็ยังจำเป็นต้องใช้หมายเลขไอพีแอดเดรสเช่นเดียวกัน ปัญหาที่เกิดขึ้นก็คือถ้ามีการจัดแบ่งหมายเลขไอดีแอดเดรสที่มีอยู่ให้กับ เครือข่ายในลักษณะนี้ จะทำให้เกิดปัญหาหมายเลขไอดีแอดเดรสไม่เพียงพอ การตรวจสอบและจัดสรรทำได้ยาก รวมถึงการรักษาความปลอดภัยในเครือข่ายจะทำได้ยากขึ้นด้วย
จากปัญหาดังกล่าวองค์กรที่มีชื่อว่า Internet Assigned Number Authority (IANA) ซึ่งเป็นผู้รับผิดชอบ ดูแลในการจัดสรรหมายเลขไอพีแอดเดรสให้กับผู้ใช้งานทั่วโลก ได้กำหนดช่วงของหมายเลขไอพีแอดเดรสที่ ทุกๆ คนสามารถนำไปใช้ได้โดยไม่จำเป็นต้องขึ้นทะเบียนก่อนเรียกว่าช่วง Private IP ซึ่งหมายเลขไอพีแอดเดรสในช่วงนี้จะไม่สามารถนำมาเชื่อมต่อกับเครือข่ายอื่นๆ ได้โดยตรง
ช่วงของหมายเลขไอพีแอดเดรสที่เป็น Private IP นั้น จะแบ่งเป็น 3 กลุ่มด้วยกันคือ
1. ช่วงหมายเลข 10.0.0.0 – 10.255.255.255 ( 10 / 8 )
2. ช่วงหมายเลข 172.16.0.0 – 172.32.255.255 ( 172.16 / 12 )
3. ช่วงหมายเลข 192.168.0.0 – 192.168. 255.255 ( 192.168 / 16 )
คุณสมบัติของอุปกรณ์ NAT
อุปกรณ์เครือข่าย หรือโปรแกรมที่ใช้ในการทำ NAT จะต้องมีความสามารถในการทำงานต่างๆ เหล่านี้คือ
1. สามารถกำหนดหมายเลขไอพีแอดเดรสได้ (Transparent address assignment)
2. สามารถส่งผ่านแพ็กเก็ตของข้อมูลที่มีการเปลี่ยนแปลงแอดเดรสได้ (Transparent address routing through address transition)
3. สามารถเปลี่ยนแปลงข้อมูลของ ICMP payload ได้ (ICMP error message payload translation)
สามารถกำหนดหมายเลขไอพีแอดเดรสได้ (Transparent address assignment)
อุปกรณ์ที่จะทำ NAT นั้นจะต้องสามารถเปลี่ยนค่าหมายเลขไอพีแอดเดรสของข้อมูลในเครือข่าย ซึ่งเป็นหมายเลขไอพีเอดเดรสในกลุ่มของ Private IP ให้กลายเป็นหมายเลขไอพีแอดเดรสที่ใช้ในเครือข่ายอินเทอร์เน็ต และสามารถเปลี่ยนหมายเลขไอพีแอดเดรสที่ใช้ในเครือข่ายอินเทอร์เน็ตให้กลาย เป็นหมายเลขไอพีแอดเดรสในช่วย Private IP ได้อย่างถูกต้อง ซึ่งในบางกรณีอาจจำเป็นต้องเปลี่ยนแปลงค่าข้อมูลในชั้น Transport บางส่วนด้วยเช่นหมายเลขพอร์ตของ TCP และ UDP ในการเปลี่ยนแปลงค่าไอพีแอดเดรสนั้นสามารถทำได้ 2 แบบคือแบบ Static และแบบ Dynamic
a. static address assignment
เป็นการเปลี่ยนแปลงค่าหมายเลขไอพีแอดเดรสโดยมีการจับคู่กันของหมายเลขไอพี แอดเดรสตลอดการทำงานของอุปกรณ์ ซึ่งจะเปลี่ยนแปลงค่าไอพีแอดเดรสจาก Private IP เป็นหมายเลขไอพีภายนอก และเปลี่ยนจากหมายเลขไอพีแอดเดรสภายนอกเป็น Private IP แบบหนึ่งต่อหนึ่งไปตลอด
b. dynamic address assignment
เป็นการเปลี่ยนแปลงค่าหมายเลขไอพีแอดเดรสโดยมีการจับคู่กันของหมายเลขไอพี แอดเดรสที่เป็น Private IP กับหมายเลขไอพีแอดเดรสภายนอกเพียงชั่วคราวเท่านั้น โดยอุปกรณ์ NAT จะจับคู่หมายเลขไอพีแอดเดรสในช่วงเวลาที่ session มีการเชื่อมต่อกันอยู่เท่านั้น หลังจากที่ใช้งาน session เสร็จเรียบร้อยแล้วจะไม่เก็บข้อมูลการจับคู่นั้นไว้อีก เมื่อมีการเชื่อมต่อกับเครือข่ายภายนอกอีกครั้ง อุปกรณ์ NAT จะเลือกหมายเลขไอพีแอดเดรสภายนอกใหม่อีกครั้งหนึ่ง ซึ่งไม่จำเป็นต้องซ้ำกับหมายเลขเดิม
ลักษณะการทำงานของ NAT

1. Static NAT (static assignment and basic NAT)
เป็นการทำ NAT ที่ช่วยให้เครื่องคอมพิวเตอร์ที่มีหมายเลขไอพีแอดเดรสอยู่ในช่วง private IP หรือหมายเลขไอพีแอดเดรสที่ไม่ได้จดทะเบียนอย่างถูกต้อง สามารถติดต่อกับเครือข่ายอื่นๆ ได้ โดยการทำงานของ Static NAT นั้นจะจับคู่ระหว่างหมายเลขไอพีแอดเดรสภายในเครือข่าย กับหมายเลขไอพีแอดเดรสที่ได้รับการจดทะเบียนแบบหนึ่งต่อหนึ่ง ในการทำงานลักษณะนี้มีประโยชน์เพื่อความสะดวกในการจัดการหมายเลขไอพีแอดเดรส ในเครือข่ายที่มักจะมีการปรับเปลี่ยนบ่อยๆ และทำให้เครื่องคอมพิวเตอร์ภายนอกเครือข่ายสามารถติดต่อเข้ามาในเครือข่าย ได้ด้วย
2. Dynamic NAT (dynamic assignment and basic NAT)
เป็นการทำ NAT ที่ใช้วิธีการเปลี่ยนแปลงหมายเลขไอพีแอดเดรสที่ใช้ในเครือข่าย ให้กลายเป็นหมายเลขไอพีแอดเดสรที่จดทะเบียนแล้ว โดยการสุ่มเลือกหมายเลขไอดีแอดเดรสซึ่งการทำงานลักษณะนี้จะช่วยให้เครือข่าย ที่มีหมายเลขไอพีแอดเดรสในช่วง private IP หรือเป็นเครือข่ายที่มีการตั้งค่าหมายเลขไอพีแอดเดรสเองโดยไม่ได้จดทะเบียน สามารถติดต่อไปยังเครือข่ายอื่นๆ ได้ แต่การทำ Dynamic NAT นี้เครื่องคอมพิวเตอร์จากภายนอกเครือข่ายจะไม่สามารถติดต่อเข้ามายังเครื่อง คอมพิวเตอร์ภายในเครือข่ายได้ เนื่องจากเครื่องคอมพิวเตอร์ภายนอกจะไม่สามารถทราบได้เลยว่าหมายเลขไอพีแอด เดรสของเครื่องที่จะเชื่อมต่อด้วยนั้นคือหมายเลขอะไร ซึ่งการทำ Dynamic NAT ก็สามารถนำมาใช้เพื่อรักษาความปลอดภัยในเครือข่ายได้
3. Overloading (NAPT)
จากการทำงานของ Static NAT และ Dynamic NAT นั้นจะเห็นได้ว่าจำนวนของหมายเลขไอพีแอดเดรสที่จดทะเบียน จะต้องเท่ากับจำนวนหมายเลขไอพีแอดเดรสภายในเครือข่าย ซึ่งทำให้ยังจำเป็นต้องใช้จำนวนไอพีแอดเดรสจำนวนมากอยู่เช่นเดิม วิธีการหนึ่งที่ช่วยให้ประหยัดหมายเลขไอพีแอดเดรสคือการนำเอาวิธีการของ NAPT มาใช้ โดยเครื่องคอมพิวเตอร์ในเครือข่ายที่เป็น Private IP เมื่อติดต่อไปยังเครือข่ายอื่นๆ จะถูกเปลี่ยนเป็นหมายเลขไอพีแอดเดรสเพียงหมายเลขเดียวแต่มีการเปลี่ยนแปลง หมายเลขพอร์ตต้นทางในการเชื่อมต่อแทน เมื่อมีการตอบกลับจากเครื่องภายนอกเครือข่ายแล้ว ที่อุปกรณ์ NAT จะดูหมายเลขพอร์ตปลายทางในส่วนหัวของข้อมูลว่าเป็นหมายเลขอะไร แล้วจึงเปลี่ยนข้อมูลส่วนหัวให้ตรงกับเครื่องคอมพิวเตอร์ที่ทำการร้องขออีก ครั้ง
Overload NAT จะเห็นว่า Public IP มีหมายเลขเดียว ซึ่งเราจำเป็นต้องขยับขยายหมายเลขไอพี แต่เนื่องด้วย Public IP ไม่พอเครื่องคอมพิวเตอร์จึงต้อง มี Private IP ด้านในของเครือข่าย แต่วิธีหนึ่งจะเหมือนอ้างอิงโดย ใช้ Public IP เดียว และ Private IP หลายๆไอพี แต่ Private IP จะออกไปข้างต้องอ้าง Public IP ซึ่งมันก็มี IP เดียว โดย Public IP(200.200.200.1) จะอ้างอิงพอร์ตที่เชื่อมต่อกับ Public IP ที่จะได้แปลง และส่ง packet ไปให้ Private IP ที่อยู่ภายในได้ถูกต้อง อาศัยการอ้าง port ด้านหลัง เช่น 200.200.200.200 : 2536 และ Public IP
ขณะที่เราจะ ping หลายเครื่องพร้อมกัน ซึ่ง Public IP มี IP เดียว แต่จะอ้างอิงเครื่องข้างในโดยใช้พอร์ต และแปลงกลับส่งไปให้ยังส่วน Private IP
กำลัง ping ไป หา 200.200.200.200 โดยใช้ สองเครื่องนั้น ping ไปหา คือ เครื่อง 192.168.1.2 และ เครื่อง 192.168.1.4
และ show overload NAT พิมพ์คำสั่ง show ip nat translation ดูเพื่อว่า มี client ไหนออไปจากเร้าเตอร์ก็จะดูได้ตาม Inside local
Router#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 200.200.200.1:5 192.168.1.2:5 200.200.200.200:5 200.200.200.200:5
icmp 200.200.200.1:6 192.168.1.2:6 200.200.200.200:6 200.200.200.200:6
icmp 200.200.200.1:7 192.168.1.2:7 200.200.200.200:7 200.200.200.200:7
icmp 200.200.200.1:8 192.168.1.2:8 200.200.200.200:8 200.200.200.200:8
icmp 200.200.200.1:1 192.168.1.4:1 200.200.200.200:1 200.200.200.200:1
icmp 200.200.200.1:2 192.168.1.4:2 200.200.200.200:2 200.200.200.200:2
icmp 200.200.200.1:3 192.168.1.4:3 200.200.200.200:3 200.200.200.200:3
icmp 200.200.200.1:4 192.168.1.4:4 200.200.200.200:4 200.200.200.200:4
เช่น icmp 200.200.200.1:5 192.168.1.2:5 200.200.200.200:5 200.200.200.200:5
host 192.168.1.2 port inside local 5 ส่วนก็จะเป็น หมายเลขและพอร์ตที่ Outside local and Outside Global

วิธิีการ config ใน โปรแกรม simulator ของ cisco เรื่อง แบบ overload nat
ดาวน์โหลดวิดีโอการทำ NAT

0 ความคิดเห็น:

แสดงความคิดเห็น

Loading

แบ่งปัน/แชร์ใหักับเพื่อนๆ

Twitter Delicious Facebook Digg Stumbleupon Favorites More