เราเตอร์จัดการกับการออกอากาศที่ จำกัด และกำกับโดยตรงอย่างไร
สิ่งแรกที่คุณต้องเข้าใจเพื่อตอบคำถามของคุณคือเฟรมการออกอากาศที่ จำกัด ไม่ได้ถูกกำหนดเส้นทาง ตามค่าเริ่มต้นเมื่อเราเตอร์ได้รับเฟรมที่มีที่อยู่ปลายทางที่ออกอากาศที่เลเยอร์ 2 หรือเลเยอร์ 3 เราเตอร์จะลดขนาดเฟรมลง นั่นเป็นสาเหตุที่เราเตอร์ถูกกล่าวว่าเป็นขอบเขตของโดเมนการออกอากาศ
ตัวอย่างบางส่วนของสิ่งเหล่านี้คือ:
ff-ff-ff-ff-ff-ff
(ออกอากาศเลเยอร์ 2)
255.255.255.255
(ออกอากาศชั้นที่ 3 จำกัด )
เมื่อคิดถึงเรื่องนี้มันก็สมเหตุสมผลแล้ว หากเราเตอร์ส่งต่อการออกอากาศคำขอ arp เดียวจะไปถึงโฮสต์ที่เข้าถึงได้ทุกเดียวบนอินเทอร์เน็ตซึ่งจะไม่มีประสิทธิภาพมากและค่อนข้างโง่
การออกอากาศที่กำกับในทางกลับกันบางครั้งก็เป็นเส้นทาง (IE 192.168.1.255/24
) โดยปกติแล้วฟังก์ชั่นนี้จะปิดการใช้งาน แต่สามารถเปิดใช้งานได้โดยการออกip directed-broadcast
คำสั่งบนเราเตอร์ สิ่งนี้จะช่วยให้สามารถส่งต่อการออกอากาศได้โดยตรงตามตารางการจัดเส้นทางราวกับว่าเป็นแพ็กเก็ตปกติ อย่างไรก็ตามสิ่งนี้ไม่อนุญาตให้เราเตอร์ส่งต่อการออกอากาศแบบ จำกัด แต่ก็ยังคงถูกบล็อกโดยค่าเริ่มต้น นอกจากนี้ยังเป็นการปิดหัวข้อเล็กน้อยสำหรับคำถามต้นฉบับของคุณดูที่หน้าแบบฟอร์มของซิสโก้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้
การออกอากาศของเลเยอร์ 3 แต่ไม่ใช่เลเยอร์ 2
เพื่อตอบคำถามที่สองของคุณมันไม่มีเหตุผลที่จะมีเฟรมที่มีการออกอากาศเลเยอร์ 3 โดยไม่มีการออกอากาศเลเยอร์ 2 สิ่งนี้จะเอาชนะจุดประสงค์ทั้งหมดของการเป็นเฟรมออกอากาศและไม่ทำงานทันที การมีที่อยู่ปลายทางแบบ unicast เลเยอร์ 2 จะไม่เปลี่ยนพฤติกรรมของเราเตอร์เลยเนื่องจากเราเตอร์ทำการตัดสินใจที่เลเยอร์ 3 เราเตอร์ที่ใส่ใจทั้งหมดคือที่255.255.255.255
อยู่ปลายทางนั้นและส่งแพ็กเก็ตทิ้ง
สิ่งนี้จะเกิดขึ้นกับสวิตช์ซึ่งไม่สนใจที่อยู่เลเยอร์ 3 เลย สวิตช์จะเห็นที่อยู่ unicast layer 2 เท่านั้น แทนที่จะส่งแพ็คเก็ตออกอินเตอร์เฟสทั้งหมดบน vlan เดียวกันมันจะใช้ตารางที่อยู่แหล่งที่มา (SAT) เหมือนที่มันทำกับที่อยู่ปลายทางปลายทางแบบอื่น ผลโดยการกำหนดแอดเดรส unicast เลเยอร์ 2 เฟรมจะไม่เป็นเฟรมบรอดคาสต์อีกต่อไปแม้ว่าจะมี255.255.255.255
แอดเดรสอยู่ที่เลเยอร์ 3
DHCP Relay ทำงานอย่างไรในทางปฏิบัติ
สำหรับคำถามสุดท้ายของคุณการถ่ายทอด DHCP เป็นวิธีการ "โกง" ของเราเตอร์รอบกฎเกี่ยวกับการไม่ส่งต่อแพ็กเก็ตออกอากาศ ลองดูที่แพ็กเก็ต DHCP Discover:
- Source MAC: [unicast mac ของต้นทาง]
- ปลายทาง MAC:
ff-ff-ff-ff-ff-ff
- IP ที่มา:
0.0.0.0
- IP ปลายทาง:
255.255.255.255
- พอร์ตต้นทาง: UDP 68
- พอร์ตปลายทาง: UDP 67
เมื่อเราเตอร์เห็นแพ็คเก็ตมาถึงบนอินเตอร์เฟสด้วยip helper-address
คำสั่งที่กำหนดค่ามันจะตรวจสอบเพื่อดูว่ามันตรงกับโปรโตคอลใด ๆ ที่ "ช่วย" โดยค่าเริ่มต้นหรือกำหนดค่าด้วยip forward-protocol
คำสั่งทั่วโลก ในกรณีนี้เพราะเป็น DHCP เราเตอร์จะเห็นว่าพอร์ตปลายทางตรงกับ UDP 67 และอนุญาตให้แพ็คเก็ต "ช่วย" จากนั้นเราเตอร์จะเปลี่ยนที่อยู่ IP ปลายทางจาก255.255.255.255
เป็นที่อยู่ IP ที่กำหนดค่าโดยip helper-address
คำสั่งเช่นเดียวกับการเปลี่ยนที่อยู่ต้นทางเป็นที่อยู่ของอินเทอร์เฟซเราเตอร์ที่แพ็กเก็ตมาถึงและส่งแพ็กเก็ตไปยังส่วนที่เหลือของตรรกะการกำหนดเส้นทาง
ตอนนี้แพ็กเก็ตมีที่อยู่ปลายทางแบบ unicast แล้วเราเตอร์จะจัดการกับมันเหมือนกับแพ็กเก็ตอื่น ๆ arps สำหรับที่อยู่ IP ปลายทาง (ซึ่งตอนนี้เป็นที่อยู่ของผู้ช่วย) จากนั้นแทนที่ที่อยู่เลเยอร์ 2 ก่อนที่จะส่งแพ็กเก็ตออกไปยังส่วนต่อประสานที่เหมาะสม
รับกลับมาอีกครั้ง
เราเตอร์ใช้กระบวนการเดียวกันในการย้อนกลับสำหรับข้อเสนอ DHCP ที่ส่งกลับไปยังลูกค้า เซิร์ฟเวอร์ DHCP ส่งข้อเสนอไปยังที่อยู่ IP ที่ระบุไว้เป็นแหล่งที่มาของแพ็กเก็ต DHCP Discover ดังนั้นแพ็กเก็ตที่ออกจากเซิร์ฟเวอร์ DHCP จะมีลักษณะดังนี้:
- Source MAC: unicast mac ของเซิร์ฟเวอร์ DHCP
- Dest MAC: ที่อยู่ mac ของเราเตอร์หรือเกตเวย์เริ่มต้นของเซิร์ฟเวอร์ DHCP
- IP ต้นทาง: ที่อยู่ IP เดียวของเซิร์ฟเวอร์ DHCP
- IP ปลายทาง: ที่อยู่ ip ของเราเตอร์อินเตอร์เฟสแรกที่แพ็กเก็ต DHCP Discover เข้าถึง
- พอร์ตต้นทาง: UDP 67
- พอร์ตปลายทาง: UDP 68
เนื่องจากแพ็กเก็ตนี้มีเราเตอร์แอดเดรสปลายทางแบบ unicast เลเยอร์ 3 จะส่งต่อแพ็กเก็ตตามปกติจนกว่าจะถึงเราเตอร์ด้วยอินเทอร์เฟซที่มีที่อยู่ IP ที่ตรงกับ IP ปลายทางของแพ็กเก็ต โปรดจำไว้ว่าก่อนหน้านี้ว่าเราเตอร์นี้ยังมีการip helper-address
กำหนดค่าบนอินเทอร์เฟซนั้น เราเตอร์จะตรวจสอบว่าแพ็กเก็ตนั้นเป็นข้อเสนอ DHCP หรือไม่จากนั้นให้เขียนแพ็กเก็ตใหม่เพื่อให้เป็นแพ็กเก็ตออกอากาศและส่งกลับไปที่อินเทอร์เฟซที่รู้ว่าไคลเอ็นต์ DHCP นั้นอยู่ที่ไหนสักแห่งในส่วนเครือข่ายนั้น แพ็กเก็ตที่ออกจากเราเตอร์จะมีลักษณะเช่นนี้
- Source MAC: unicast mac ของเราเตอร์อินเตอร์เฟส
- ปลายทาง MAC:
ff-ff-ff-ff-ff-ff
- IP ต้นทาง: ที่อยู่ IP เดียวของเซิร์ฟเวอร์ DHCP
- IP ปลายทาง:
255.255.255.255
- พอร์ตต้นทาง: UDP 67
- พอร์ตปลายทาง: UDP 68
TL: DR; DHCP relay โดยใช้คำip helper-address
สั่งย่อย interface "cheats" รอบกฎที่เราเตอร์ไม่สามารถส่งต่อการออกอากาศแบบ จำกัด ได้โดยเปลี่ยนที่อยู่ IP ปลายทางของแพ็คเก็ตเป็นที่อยู่ IP แบบ unicast ของเซิร์ฟเวอร์ DHCP ก่อนกำหนดเส้นทาง สิ่งนี้จะช่วยให้เราเตอร์ทุกเส้นสามารถส่งแพ็กเก็ตไปยังเซิร์ฟเวอร์ DHCP ได้อย่างเหมาะสม เมื่อตอบเซิร์ฟเวอร์ DHCP จะส่งแพ็กเก็ตกลับไปยังที่อยู่ IP แบบ unicast ของเราเตอร์อินเตอร์เฟสที่ได้รับแพ็กเก็ต DHCP Discover ครั้งแรก (อันที่มีip helper-interface
คำสั่ง) เมื่อเราเตอร์ได้รับข้อเสนอคืนมันจะแปลงกลับไปเป็นแพ็กเก็ตบรอดคาสต์และส่งอินเตอร์เฟซกับลูกค้าในโดเมนบรอดคาสต์