คำตอบสั้นๆ: การติดตามการเชื่อมต่อ NAT
สิ่งหนึ่งที่ต้องจำไว้คือเราเตอร์ส่วนใหญ่บนอินเทอร์เน็ต IPv4 คือเราเตอร์ NAT
การใช้งาน NAT ส่วนใหญ่จะติดตามอย่างชาญฉลาด เมื่อคุณส่ง UDP จากไคลเอ็นต์ภายในไปยังที่ใดที่หนึ่ง คุณจะมีพอร์ตปลายทางและพอร์ตต้นทาง
หากทราฟฟิกเข้ามาโดยที่พอร์ตกลับด้าน ทราฟฟิกนั้นจะถูกส่งกลับไปยังไคลเอนต์ของคุณ และอนุญาตในไฟร์วอลล์ส่วนใหญ่
NAT/ไฟร์วอลล์ที่มีการติดตามจะตรวจจับแพ็กเก็ตเหล่านี้ว่าเกี่ยวข้องกันและส่งต่อกลับ
ตัวอย่างตามความเห็นด้วย เซิร์ฟเวอร์
บนพอร์ต 5000
กปปส
- ลูกค้าส่งแพ็คเก็ตสำหรับ
เซิร์ฟเวอร์:5000
, แหล่งที่มา ลูกค้า:5001
- เราเตอร์ NAT แรกจะเห็นแพ็คเก็ตที่มี ip ต้นทางและพอร์ตของ
ลูกค้า:5001
และปลายทาง เซิร์ฟเวอร์:5000
.
- เราเตอร์ส่งสิ่งนี้มาและจะมี
NATip:พอร์ต NAT
- เซิร์ฟเวอร์ได้รับสิ่งนี้และสร้างการตอบกลับ
NATip:พอร์ต NAT
ที่มีที่มาจาก เซิร์ฟเวอร์:5000
- NAT ได้รับสิ่งนี้และมีแหล่งที่มา
เซิร์ฟเวอร์:5000
ปลายทาง NATip:พอร์ต NAT
ซึ่งตรงกับแพ็กเก็ตที่ส่งออกไป (แต่มีการกลับต้นทางและปลายทาง)
- NAT ส่งสิ่งนี้ไปที่
ลูกค้า:5001
ยังคงมีแหล่งที่มา เซิร์ฟเวอร์:5000
ip+port ต้นทางและ ip+port ปลายทางสร้างชุดค่าผสมที่สามารถติดตามได้ (มีรายละเอียดมากกว่านี้แต่เป็นพื้นฐาน)
อ่านเพิ่มเติม แต่ฉันควรขุดค้นเอกสารที่ดีกว่าเกี่ยวกับเรื่องนี้และไม่ใช่แค่อ้างอิงถึงหลักฐานโดยสังเขปจากสิ่งที่ฉันเคยเห็นมา