เหตุใดจึงไม่เปลี่ยนที่อยู่ mac-rewrite


10

มีเหตุผลใดบ้างที่สวิตช์ Ethernet ไม่เปลี่ยนที่อยู่ MAC ของแพ็กเก็ต

ใช้สำหรับการระบุโฮสต์ปลายทางโดยใช้ที่อยู่ MAC หรืออย่างอื่นหรือไม่


5
สมมติว่าชื่อของคุณคือ Kumar คุณต้องการมันไหมถ้ามีคนเริ่มเรียกคุณว่า "เจสสิก้า"?
Mike Pennington

1
สวิตช์ไม่ได้เขียนแพ็กเก็ตใหม่ (เฟรม) พวกเขาเพียงแค่ย้ายจากส่วนต่อประสานไปยังส่วนต่อประสาน (ในกรณีของการออกอากาศ / มัลติคาสต์รวมถึงการคัดลอกไปยังหลายพอร์ต)
Ricky Beam

4
คุณนึกถึงเหตุผลที่ถูกต้องว่าทำไมสวิตช์ควรเปลี่ยนที่อยู่ MAC หรือไม่
Teun Vink

คำตอบใดช่วยคุณได้บ้าง ถ้าเป็นเช่นนั้นคุณควรยอมรับคำตอบเพื่อที่คำถามจะไม่โผล่ขึ้นมาเรื่อย ๆ โดยมองหาคำตอบ หรือคุณสามารถให้และยอมรับคำตอบของคุณเอง
Ron Maupin

คำตอบ:


10

หากสวิตช์เปลี่ยนที่อยู่ MAC สิ่งนี้จะทำให้เครือข่ายหยุดชะงัก

ที่อยู่ MAC เป็นตัวระบุที่ไม่ซ้ำกันซึ่งโฮสต์ใช้ในเครือข่ายท้องถิ่น

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

หากสวิตช์เปลี่ยนที่อยู่ MAC ต้นทางโฮสต์ปลายทางจะใช้ที่อยู่ MAC นี้สำหรับการตอบกลับใด ๆ (รวมถึงการอัปเดตรายการ ARP ด้วยข้อมูลที่ไม่ถูกต้อง) นี่จะส่งผลในสถานการณ์เดียวกันกับที่ฉันได้อธิบายไปแล้วสำหรับการรับส่งคืนทั้งหมด

สิ่งนี้สามารถสร้างปัญหาเพิ่มเติมกับสิ่งต่างๆเช่น 802.1X และกลไกอื่น ๆ ที่ใช้ที่อยู่ MAC เพื่อระบุ / จำแนกอุปกรณ์

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


4

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

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

ในเลเยอร์สามกรณีที่มี NAT NAT จะแก้ปัญหาจำนวนหนึ่ง:

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

ดังนั้นถ้าเรายึดติดกับตัวอย่าง NAT จริง ๆ ไม่จำเป็นต้องมีชั้นสองของ NAT

  • ที่อยู่ MAC ไม่ได้ใช้ทั่วโลกสำหรับการระบุที่อยู่ของดาตาแกรมบนอินเทอร์เน็ตพวกเขาจะใช้สำหรับการส่งเฟรมไปยังโฮสต์ที่เหมาะสมบนซับเน็ตท้องถิ่น เนื่องจากเครือข่ายย่อยในท้องถิ่นมีขนาดค่อนข้างเล็กและจำนวนที่อยู่ MAC ที่เป็นไปได้นั้นมีขนาดใหญ่มากจึงไม่มี "ที่อยู่ MAC" ที่มีอยู่หมดในระดับชั้นที่ 2 (ตัวเลือกในการกำหนดค่าที่อยู่ MAC ของ NIC ด้วยตนเองเป็นค่าที่กำหนดเองจะไม่เปลี่ยนแปลงสิ่งนี้)
  • และเพื่อประโยชน์ด้านความปลอดภัยที่ถกเถียงกันของการเขียนที่อยู่ดาตาแกรมใหม่เมื่อส่งต่อ: เนื่องจากที่อยู่ MAC ถูกใช้ภายในเครือข่ายย่อยในท้องถิ่นเท่านั้นโดยปกติแล้วหนึ่งในนั้นจะมีการควบคุมที่ดีกว่ามากจากมุมมองด้านความปลอดภัย อุปกรณ์ที่เกี่ยวข้อง) เมื่อเปรียบเทียบกับกรณีในเลเยอร์ 3 ซึ่งเป็นอินเทอร์เน็ตทั้งหมด (ซึ่งเราในฐานะผู้ใช้ที่เชื่อมต่อและวิศวกรเครือข่ายในทางปฏิบัติไม่มีการควบคุมความปลอดภัย)

หวังว่านี่จะทำให้เกิดแสงน้อยกว่าสาเหตุที่สวิตช์ไม่ได้เขียนที่อยู่ MAC อีกครั้ง เลเยอร์ 3 เท่านั้นที่ฉันเห็นจากด้านบนของหัวของฉันคือ NAT คนอื่น ๆ สามารถให้ตัวอย่างของเลเยอร์ 3 อื่น ๆ ที่รับประกันการเขียน IP (และทำไมเทคโนโลยีเหล่านั้นไม่สมเหตุสมผลในเลเยอร์ 2) .


3
แต่ฉันมีคำพูดเล็ก ๆ น้อย ๆ หนึ่งคำตอบของคุณ คุณพูดว่า "ไม่จำเป็นต้องมี NAT สองเลเยอร์ของ NAT" ... ในขณะที่ฉันไม่ได้เห็น MAC NAT ฉันได้เห็นการขุดอุโมงค์ระดับ mac ในบางสถานการณ์การสลับไปใช้ที่อยู่ mac เป็น "ช่องทาง" ในที่อยู่ mac อื่น สถานการณ์ทันทีที่มาถึงใจคือIEEE 802.1ah ของผู้ให้บริการตาม Bridging (PBB) โดยทั่วไปจะใช้เพื่อขยาย vlans ที่มีอยู่ / ลดการเรียนรู้ mac ในผู้ให้บริการรถไฟใต้ดินวงแหวน
Mike Pennington

1
@IllvilJa: พูดดี .. ! คุณแก้ไขข้อสงสัยซึ่งทำให้ฉันสับสนในสองสามสัปดาห์ที่ผ่านมา ไม่กี่สัปดาห์ที่ผ่านมาฉันคิดว่า ... "เราเตอร์เมื่อมันเกี่ยวข้องกับ WAN มักจะใส่ที่อยู่ MAC ของมันแทนที่อยู่ MAC ของผู้ส่ง (ในแต่ละแพ็คเก็ต) และส่งแพ็คเก็ตไปยังผู้รับ แต่ในกรณีของ LAN เราเตอร์ไม่ได้ใส่ที่อยู่ MAC แทนที่อยู่ MAC ของผู้ส่ง (ในแต่ละแพ็คเก็ต) แต่เพิ่งส่งแพ็กเก็ตระหว่างผู้ส่งและผู้รับ "แต่หลังจากคำอธิบายของคุณฉันชัดเจนพอที่จะแยกความแตกต่างระหว่าง 'เราเตอร์' & ' สวิตช์ ' ขอบคุณอีกครั้ง..!
Maharan

0

การเขียนซ้ำที่อยู่ MAC จะเพิ่มความซับซ้อนมาก (สวิตช์จะต้องรู้เกี่ยวกับโปรโตคอลระดับสูงกว่าเช่น arp ดังนั้นจึงสามารถเขียนการแก้ไขที่อยู่ใหม่ได้) ทำให้การแก้ไขปัญหาหนักขึ้นจะป้องกันโปรโตคอลเช่น STP จากการทำงานและโดยทั่วไปจะเป็น PITA มันก็ไม่จำเป็นตามปกติ

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

http://ebtables.netfilter.org/examples/example1.html

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