วันอังคารที่ 24 มกราคม พ.ศ. 2555

หลักการทำงานของ NAT

NAT คือ
    ในอดีตการเชื่อมต่อกับอินเทอร์เน็ตนั้น จำเป็นต้องมี Public IP address เป็นการเฉพาะจึงจะสามารถเชื่อมต่อและใช้งานได้ แต่เนื่องจากการเติบโตอย่างรวดเร็วของอินเทอร์เน็ตทำให้ IP ไม่เพียงพอต่อการใช้งาน ดังนั้น NAT จึงเป็นทางออกหนึ่งสำหรับการแก้ไขปัญหานี้ โดยการทำ NAT นั้นทำให้สามารถใช้ private IP เชื่อมต่อและใช้งานอินเทอร์เน็ตได้ และยังเพิ่มความปลอดภัยทางเครือข่าย (network security) อีกด้วย
NAT เป็นมาตรฐานหนึ่งของ RFC ถูกเขียนขึ้นในปี 1994 โดยสามารถแปลง (translation) IP หลายๆ ตัวที่ใช้ภายในเครือข่ายให้ติดต่อกับเครือข่ายอื่นโดยใช้ IP เดียวกัน ซึ่งถ้าดูจากภาพแล้วจะเข้าใจได้ชัดเจนยิ่งขึ้น
    จากภาพจะเห็นว่าตัว NAT device มี IP address เป็น 192.168.1.1 สำหรับเครือข่ายภายใน (inside network) และมี IP address เป็น 203.154.207.76 สำหรับเครือข่ายภายนอก (outside network) เมื่อเครื่อง 192.168.1.20 ต้องการสร้างการติดต่อออกไปภายนอก (เช่น อินเทอร์เน็ต) ตัว NAT device ก็จะแปลง IP จาก 192.168.1.20 ไปเป็น 203.154.207.76 ซึ่งถ้ามองจากเครือข่ายภายในแล้วจะเห็นว่า เครื่องในเครือข่ายภายในสามารถ access ออกไปยัง external network ได้โดยตรง ในขณะที่เครื่องจากภายนอกจะไม่สามารถติดต่อเข้ามาได้ถ้าเครื่องจากเครือข่ายภายในไม่ได้เป็นฝ่ายเริ่มต้นการติดต่อก่อน และข้อมูลขาออกที่ออกไปยัง external network นั้นจะเป็นข้อมูลที่มี source IP address เป็น outside IP address ของ NAT device
NAT มีขั้นตอนการทำงานอย่างไร
    เมื่อ NAT เริ่มทำงาน มันจะสร้างตารางภายในซึ่งมีไว้สำหรับบรรจุข้อมูล IP address ของเครื่องในเครือข่ายภายในที่ส่ง packet ผ่าน NAT device และจากนั้นมันก็จะสร้างตารางไว้สำหรับเก็บข้อมูลหมายเลขพอร์ต (port number) ที่ถูกใช้ไปโดย outside IP address จะมีกระบวนการทำงานดังนี้
1.มัน จะบันทึกข้อมูล source IP adress และ source port number ไว้ใน Log File
2.มัน จะแทนที่ IP ของ packet ด้วย IP ขาออกของ NAT device เอง
และเมื่อ NAT device ได้รับ packet ย้อนกลับมาจาก external network มันจะตรวจสอบ destination port number ของ packet นั้นๆ แล้วนำมาเปรียบเทียบกับข้อมูล source port number ใน Log File ถ้าเจอข้อมูลที่ตรงกันมันก็จะเขียนทับ destination port number, destination IP address ของ pakcet นั้นๆ แล้วจึงส่ง packet นั้นไปยังเครื่องอยู่ภายในเครือข่ายภายใน

ไม่มีความคิดเห็น:

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