ทำไมสวิตช์จำเป็นต้องใช้ตาราง ARP เมื่อทำการแปลเสร็จด้านเครื่อง?


12

เนื่องจากเป็นที่ชัดเจนจากชื่อเรื่องเหตุใดสวิตช์จึงจำเป็นต้องใช้ตาราง ARP เมื่อการแปลเสร็จด้านเครื่อง?

ทำไมพูดถึง ARP สองตารางบนเครื่องและสวิตช์? สวิตช์บนสวิตช์ไม่เพียงพอหรือไม่


ฉันคิดว่าคำตอบในหน้านี้ถูกต้อง ฉันพบผู้วิจารณ์คนอื่น ๆ ในหน้าอื่น ๆ ที่กล่าวว่าสวิตช์ L2 บรรจุตาราง ARP มันไม่สมเหตุสมผล เฉพาะอุปกรณ์ L3 เท่านั้นที่มีตาราง ARP
Stephen Gibbons

คำตอบ:


23

นี่เป็นความเข้าใจผิดที่พบบ่อยหรือโดยเฉพาะอย่างยิ่งปัญหาคำศัพท์ ในสวิตช์เลเยอร์สองไม่มีตาราง ARP เพียงตารางส่งต่อ สวิตช์จะบันทึกที่อยู่ MAC แต่ละ src ที่เห็นขาเข้าในตารางการส่งต่อและแอตทริบิวต์ไปยังพอร์ตเพื่อให้เฟรมกับ dst MAC จะถูกส่งไปยังพอร์ตที่รู้จักสำหรับ MAC นั้นเท่านั้น หลายคนเรียกสิ่งนี้ว่า "arp table" หรือ "arp cache" แม้ว่ามันจะไม่ใช่ก็ตาม

ในสวิตช์เลเยอร์สองที่ได้รับการจัดการจะมีตารางการส่งต่อบวกตาราง ARP แต่ส่วนหลังจะใช้สำหรับอินเตอร์เฟสการจัดการเพื่อพูดคุยกับโฮสต์ที่สนใจเท่านั้น (เช่นพีซีที่คุณใช้เพื่อกำหนดค่าสวิตช์) ในสวิตช์เลเยอร์ 3 ที่มีการจัดการ จะมีตารางการส่งต่อรวมทั้งตาราง ARP เนื่องจากมันต้องการสำหรับอินเทอร์เฟซการจัดการและฟังก์ชันการทำงานของเราเตอร์ที่มีอยู่เพื่อดำเนินการส่งต่อระหว่างเครือข่ายย่อย


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

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

จากนั้น: โมเดลจะสลับเป็นคู่ของคิว (แพ็คเก็ตอีเทอร์เน็ต) (เข้า, ออก) เนื่องจากอ่านคิวอินพุตแล้วตรวจสอบให้แน่ใจว่า src mac ของแพ็กเก็ตนั้นถูกแม็พกับหมายเลขพอร์ตของคิวอินพุต แพ็คเก็ตนั้นจะต้องอยู่ในคิวออกที่สอดคล้องกับ dst mac ถ้าพอร์ตไม่ถูกแม็พแพ็กเก็ตจะถูกจัดคิวเข้าสู่คิวทั้งหมดนอกเหนือจากของมันเอง (ไม่แน่ใจว่าความแตกต่างของการออกอากาศ / น้ำท่วมคืออะไรเพราะฉันคิดว่ามันส่งสัญญาณเดียวกันกับสายไฟทั้งหมดที่ระดับฮาร์ดแวร์หรือบางทีมันอาจจะเคลื่อนที่รอบ ๆ ผ่านพอร์ตหรือไม่?)
Rob

อ่า ... ฉันคิดว่าฉันเห็นการคัดค้านการสร้างแบบจำลองสวิตช์เป็นคิวแพ็กเก็ต สวิตช์อาจทำงานบนข้อมูลขนาดเล็กกว่าแพ็กเก็ตทั้งหมด Ie: ทันทีที่เรารู้ว่าพอร์ตใดควรรับแพ็คเก็ตที่เราได้รับเป็นไบต์เราสามารถส่งไบต์เหล่านั้นได้ เช่น: รอคิวเพียงพอที่จะจัดการส่วนหัวอีเธอร์เน็ต; อย่าถือแพ็คเก็ตทั้งหมด
Rob

@Rob เฟรมที่มีน้ำท่วมเป็นเฟรมยูนิคาสต์ที่มีปลายทางที่ไม่รู้จักซึ่งถูกน้ำท่วมออกจากพอร์ตแต่ละพอร์ตนอกเหนือจากพอร์ตที่รับ การออกอากาศเป็นเฟรมปลายทางทั้งหมดที่ส่งออกพอร์ตทั้งหมดนอกเหนือจากพอร์ตที่รับ แต่จะยังคงได้รับการปฏิบัติต่อในลักษณะนี้โดยสวิตช์ทั้งหมดที่ได้รับในโดเมนการออกอากาศ L2 ในขณะที่มีผลคล้ายกับสวิตช์เดียวผลกระทบบนเครือข่ายทั้งหมดนั้นแตกต่างกันอย่างมาก
YLearn

6

อุปกรณ์ทุกตัวที่ใช้โปรโตคอล IP จะมีตาราง ARP เนื่องจาก IP เป็นโปรโตคอล L3 และต้องการโปรโตคอล L2 ที่จำเป็นนี่เป็นข้อกำหนดสำหรับอุปกรณ์ที่จะสามารถแปลที่อยู่ IP L3 เป็นที่อยู่ L2 ที่สอดคล้องกัน

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

หากสวิตช์ไม่ได้ใช้โปรโตคอล IP เลย (กล่าวคือมันไม่ได้ให้การจัดการใด ๆ กับ IP ไม่มีฟังก์ชัน L3 ฯลฯ ) ดังนั้นมันไม่จำเป็นต้องมีตาราง ARP

อย่างไรก็ตามฉันไม่ทราบถึงแพลตฟอร์มสวิตช์ระดับองค์กรที่ไม่ได้ใช้โปรโตคอล IP Telnet, SSH, HTTP, HTTPS และ SNMP เป็นเพียงตัวอย่างเล็ก ๆ น้อย ๆ ของบริการสนับสนุนทั่วไปของสวิตช์ระดับองค์กรที่ต้องใช้การเข้าถึง IP


2

อย่างที่คุณอาจทราบแล้วจุดประสงค์ของตาราง ARP คือการแปลที่อยู่เลเยอร์เครือข่ายเป็นที่อยู่เลเยอร์ลิงก์ เช่นที่อยู่ IP ไปยังที่อยู่ MAC

ตารางที่คุณอ้างถึงยังไม่สมบูรณ์ สวิตช์ของเลเยอร์ 2 ยังมีตารางสองชนิด:

  • ตาราง ARP ที่ใช้สื่อสารกับสวิตช์ "เป็นคอมพิวเตอร์" เพื่อเชื่อมต่อกับส่วนควบคุม มันจะมีสิ่งนี้ถ้าเป็นสวิตช์ที่มีการจัดการ

  • ตารางที่เกี่ยวข้องกับการสลับพอร์ตไปยังที่อยู่ MAC

ตัวอย่างที่ 1: หากพีซีเปิดตัวแพ็คเก็ตพีซีนั้นจะใช้ที่อยู่ MAC หากที่อยู่ IP เป็นท้องถิ่น (จากตาราง ARP) เมื่อแพ็กเก็ตนั้นมาถึงสวิตช์สวิตช์จะย้ายแพ็กเก็ตไปยังพอร์ตที่เหมาะสมตามที่อยู่ MAC (จากตารางสวิตช์ / พอร์ต MAC)

ตัวอย่างที่ 2: ถ้าสวิตช์เปิดแพ็คเก็ตจากอินเทอร์เฟซการจัดการมันจะทำสิ่งเดียวกันกับที่พีซีใช้ตาราง ARP แต่ถ้าสวิตช์เปิดแพ็คเก็ตจากฟังก์ชั่นสวิตชิ่งมันก็จะย้ายแพ็คเก็ตนั้นจากพอร์ตหนึ่งไปยังอีกพอร์ตหนึ่งตามตารางพอร์ต / MAC


ขอบใจจ้ะที่รัก. ตัวอย่างที่ดีและเป็นประโยชน์ โปรดอย่าสับสนระหว่างแพ็กเก็ตและเฟรม
Mohamad-Jaafar NEHME

-2

สวิตช์มีตารางที่อยู่ mac
จุดสิ้นสุดเช่นพีซีมีตาราง arp


สวิตช์เท่านั้นมีตารางที่อยู่ mac? และจุดสิ้นสุดเท่านั้นที่มีตาราง ARP
YLearn

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