สวิตช์เรียนรู้ที่อยู่ MAC ได้อย่างไรในตารางการค้นหา


12

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

จะเกิดอะไรขึ้น? มันออกอากาศ (ที่อยู่ MAC ff:ff:ff:ff:ff:ff) และรับคำตอบจากอุปกรณ์ที่เชื่อมต่อหรือมีโปรโตคอลเฉพาะสำหรับสิ่งที่ใช้หรือไม่ ฉันไม่คิดว่าสวิตช์ใช้ ARP (Address Resolution Protocol) หรือไม่


1
หากคุณคิดเกี่ยวกับมันเมื่อสวิตช์ไม่สามารถสลับเฟรมจริง ๆ (เพราะมันไม่มีที่อยู่ที่จำเป็นในตารางของมัน) แล้วมันมักจะต้องปฏิบัติกับเฟรมนั้นเป็นฮับด้วยเหตุผลที่เข้ากันได้
Todd Wilcox

ขอบคุณทุกคนจริงๆสำหรับคำตอบ

คำตอบ:


28

คำถามที่ดี. ฉันจะตอบด้วยภาพเคลื่อนไหว:

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อ Host A ส่งเฟรมสวิตช์จะไม่มีอะไรในตารางที่อยู่ MAC ของมัน เมื่อได้รับกรอบจะบันทึกการเป็นเจ้าภาพของMAC Address ที่จะเปลี่ยนพอร์ตการทำแผนที่ เนื่องจากไม่ทราบว่าปลายทางที่อยู่ MAC คือมันน้ำท่วมกรอบออกทุกพอร์ต

นี่เป็นการยืนยันว่าหากโฮสต์ B มีอยู่ (ซึ่ง ณ จุดนี้สวิตช์ยังไม่ทราบ) ว่าจะได้รับสวิตช์ หวังว่าเมื่อได้รับเฟรมแล้ว Host B จะสร้างเฟรมการตอบกลับซึ่งจะช่วยให้สวิทช์เรียนรู้การแมปที่อยู่ MAC จากเฟรมที่ส่งคืน

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

หนึ่งบันทึกล่าสุดเกี่ยวกับคำว่าน้ำท่วม VS ออกอากาศ สวิตช์ไม่เคยออกอากาศเฟรมการออกอากาศไม่ใช่การกระทำที่สวิตช์สามารถทำได้ สวิตช์สามารถทำให้เฟรมเต็มได้ ออกอากาศเป็นเพียงกรอบที่มีปลายทางอยู่ MAC ffff.ffff.ffffของ นี้มักจะสับสนเพราะผลที่ได้คือเหมือนกัน แต่พวกเขามีความแตกต่างกันจริง


ข้อแตกต่างที่สำคัญระหว่างการเกิดน้ำท่วมและการแพร่ภาพคือวิธีการที่โหนดถัดไปจะตอบสนอง
Ferrybig

2
@Ferrybig ถูกต้อง แต่ฉันจะวลีมันแตกต่างกันเล็กน้อย ... ความแตกต่างที่สำคัญระหว่างสวิทช์น้ำท่วมunicastกรอบและสวิทช์น้ำท่วมออกอากาศกรอบเป็นวิธีการที่โหนดถัดไป (s) จะตอบสนอง ไม่มีสิ่งใดเช่นสวิตช์ที่แพร่ภาพเฟรม (ความคิดเห็นนี้และคำตอบของฉันคือการพูดของการจราจรการขนส่งไม่ได้เข้าชมการจัดการไป / กลับจากสวิทช์)
เอ็ดดี้

5

สวิตช์ไม่ได้ใช้ ARP แต่ ARP สามารถช่วยป้องกันไม่ให้สถานการณ์นี้เกิดขึ้นตั้งแต่แรกด้วยเหตุผลสองประการ:

  1. หากโหนด A กำลังส่งแพ็กเก็ต IP ไปยังโหนด B ซึ่งไม่ได้อยู่ในแคช ARP มันจะส่งคำขอ ARP เป็นอันดับแรก (ซึ่งเป็นแพ็กเก็ตออกอากาศและจะถูกน้ำท่วมโดยอัตโนมัติไปยังพอร์ตทั้งหมดโดยสวิตช์) เมื่อโหนด B ส่งการตอบกลับ ARP สวิตช์จะเรียนรู้ที่อยู่ MAC ของมัน ดังนั้นเมื่อถึงเวลาการถ่ายโอนข้อมูลจริงสวิตช์จะรู้ที่อยู่ MAC ของผู้เข้าร่วมแล้วและไม่จำเป็นต้องทำให้แพ็กเก็ตข้อมูลท่วมตัว

  2. อุปกรณ์จำนวนมากเมื่อลิงค์ของพวกเขาขึ้นไปจะส่งแพ็คเก็ตARP ฟรี นอกเหนือจากการอัปเดตแคช ARP ของโหนดอื่น ๆ บนเครือข่าย GARP จะเติมตารางที่อยู่ MAC ของสวิตช์

IPv6 ไม่ได้ใช้ ARP แต่NDPตอบสนองวัตถุประสงค์ที่คล้ายกัน

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


4

เมื่อสวิตช์รับเฟรมเฟรมจะอัพเดทตารางที่อยู่ MAC ด้วยที่อยู่ MAC ต้นทางและพอร์ตที่ได้รับเฟรม หากที่อยู่ MAC ปลายทางไม่ได้อยู่ในตารางที่อยู่ MAC ของมัน (ไม่รู้จัก unicast) จะทำให้เฟรมเต็มทุกพอร์ตยกเว้นพอร์ตที่ได้รับเฟรม


ยกเว้นเมื่อเกิดน้ำท่วมมันไม่ทำให้เฟรมท่วมกลับไปยังพอร์ตที่รับเฟรมใช่มั้ย
Todd Wilcox

1
ขวา. ไม่ส่งไปยังพอร์ตที่เฟรมได้รับ
Ron Maupin

3
ฉันจะเพิ่มว่าสวิตช์ไม่ได้เรียนรู้ที่อยู่ MAC ใหม่ (ปลายทาง) จนกว่าอุปกรณ์จะตอบกลับ
Ron Trunk

ด้วยการทำให้เฟรมไปยังพอร์ตทั้งหมดมีความเสี่ยงด้านความปลอดภัยหรือไม่

3
มันสามารถ และนั่นเป็นสาเหตุที่สวิตช์บางตัว / หลายตัวรองรับการปิดใช้งาน unicast ที่ไม่รู้จัก unicast (รวมถึง multicast) ในระบบเครือข่ายสามทศวรรษที่ผ่านมาฉันไม่จำเป็นต้องใช้มันเลย
Ricky Beam
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.