เราเตอร์รู้ได้อย่างไรว่าอุปกรณ์ใดที่จะส่งแพ็คเก็ตไป? [ซ้ำ]


15

คำถามของฉันไม่เกี่ยวกับว่ามันจะเคลื่อนผ่านทางอินเทอร์เน็ตอย่างไร แต่จะเคลื่อนที่ผ่านเราเตอร์ไปยังอุปกรณ์บางอย่าง อุปกรณ์ทั้งหมดที่เชื่อมต่อกับเราเตอร์ในเครือข่ายในบ้านมี IP ภายนอกเดียวกัน สมมติว่าอุปกรณ์ A กำลังโหลดหน้าและแพ็คเก็ตจะถูกส่งจากแหล่งภายนอกไปยังเราเตอร์เนื่องจากแพ็กเก็ตจะรู้ IP ภายนอกของอุปกรณ์ A และพวกเขาสามารถไปที่เราเตอร์ได้ แต่ตอนนี้จะไปยังอุปกรณ์ A ได้อย่างไร เราเตอร์รู้ได้อย่างไรว่าส่งไปยังอุปกรณ์ A แทนที่จะเป็นอุปกรณ์ B

ฉันคิดว่ามันเกี่ยวข้องกับ NAT แต่ฉันแค่มองหาคำอธิบายเชิงตรรกะว่า NAT ทำอะไรเพื่อให้สิ่งนี้สำเร็จ


ฉันไม่สามารถให้คำตอบที่เฉพาะเจาะจงแก่คุณมากนักได้ แต่เราเตอร์จะคอยติดตามว่าคำขอจะไปที่ไหนและใครเป็นผู้ส่ง เมื่อแหล่งภายนอกตอบสนองเราเตอร์จะตรวจสอบเพื่อดูว่าอุปกรณ์ใดพยายามติดต่อแหล่งภายนอกในตอนแรกและส่งต่อการตอบกลับไปยังอุปกรณ์นั้น หากคุณต้องการข้อมูลเพิ่มเติมให้ดูที่ NAT
แจ็คฮัมฟรีส์

คำถามนี้เป็นของ Superuser.com
TimothyP

คำตอบ:


11

เมื่อคุณเริ่มต้นการเชื่อมต่อกับไซต์ภายนอกเราเตอร์กำลังใช้หมายเลขพอร์ตต้นทางที่แตกต่างกันในแต่ละครั้ง ... จากนั้นจะใช้หมายเลขพอร์ตต้นทาง (ซึ่งเป็นที่ที่ข้อมูลส่งกลับไป) เป็นกุญแจสำคัญในการค้นหาเครื่องที่ เครือข่ายภายในของคุณมีการร้องขอมา สิ่งนี้เรียกว่าการแปลที่อยู่ PORT (ตรงข้ามกับการแปลที่อยู่เครือข่ายซึ่งเมื่อคุณมีที่อยู่เครือข่ายหลายแห่งสำหรับเราเตอร์ของคุณ)


1
นี่จะอธิบายสิ่งต่าง ๆ เช่นการเชื่อมต่อ TCP แต่บางแอพพลิเคชั่นไม่มีการเชื่อมต่อ แล้วแพ็คเก็ต UDP ล่ะ จะเกิดอะไรขึ้นถ้าคุณโฮสต์เซิร์ฟเวอร์บนอุปกรณ์ 1 แม้ว่าจะใช้ TCP สำหรับการเชื่อมต่อมันจะไม่สามารถเริ่มต้นการเชื่อมต่อโดยที่เราเตอร์รู้ว่าอุปกรณ์ใดอยู่บนเซิร์ฟเวอร์

1
สำหรับการเชื่อมต่อ UDP คุณจะต้องกำหนดพอร์ตล่วงหน้าบนเราเตอร์ของคุณซึ่งสามารถใช้เพื่อกำหนดเส้นทางไปยังอุปกรณ์เฉพาะได้ นี่คือคุณสมบัติ "การส่งต่อพอร์ต" ของเราเตอร์และสามารถใช้สำหรับแพ็คเก็ต UDP ขาเข้า (ไม่ว่าจะเป็นการตอบกลับข้อความขาออกหรือแพ็กเก็ตขาเข้าใหม่) เช่นเดียวกับแพ็กเก็ต TCP ขาเข้า (เช่นที่เริ่มต้นโดยไคลเอนต์ระยะไกลแทน ของพีซีของคุณเอง)
Michael Bray

1

โดยปกติอุปกรณ์ทั้งหมดจากเครือข่ายภายในบ้านจะมีที่อยู่ภายในที่แตกต่างกัน (ที่อยู่ส่วนตัวเสมอ 192.168.0.1 ~ 192.168.0.255)

เมื่อแพ็กเก็ตถูกส่งจากเครือข่ายภายในบ้าน (สมมติว่าอุปกรณ์ A: 192.168.0.123) เมื่อมันผ่านเราเตอร์เราเตอร์จะแปลที่อยู่ส่วนตัวเป็นที่อยู่ภายนอกของเราเตอร์ (สมมติว่าเป็น 140.191.2.5) และเราเตอร์ยังบันทึกสิ่งนี้ การทำแผนที่ในมัน NAT

เมื่อการตอบสนองกลับมาเราเตอร์จะทำการแมป NAT และค้นหาแหล่งต้นฉบับคืออุปกรณ์ A

ดังนั้นอุปกรณ์ A จึงได้รับแพ็คเก็ตในที่สุด

นี่เป็นเพียงแนวคิดสำหรับรายละเอียดเพิ่มเติมโปรดอ้างอิง wiki: NAT

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.