การใช้ที่อยู่ MAC ที่แน่นอนคืออะไร


126

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

ฉันไม่คิดว่ามันจะอยู่ที่นั่นโดยไม่มีเหตุผล ดังนั้นคำถามของฉันคือที่อยู่ MAC มาเล่นในระหว่างการถ่ายโอนแพ็คเก็ตที่ไหน?

คำตอบ:


57

TL; DR> ที่อยู่ MAC เป็นส่วนประกอบระดับต่ำของเครือข่ายอีเธอร์เน็ต (และมาตรฐานอื่นที่คล้ายคลึงกันเช่น WiFi) พวกเขาอนุญาตให้อุปกรณ์สื่อสารกับเครื่องบนเครือข่ายทางกายภาพในพื้นที่ (LAN) และไม่สามารถกำหนดเส้นทางผ่านอินเทอร์เน็ตได้ - เนื่องจากฮาร์ดแวร์ทางกายภาพอาจเชื่อมต่อกับที่ใดก็ได้ในโลก

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

หากเราเคยพบมาตรฐานที่ดีกว่าอีเธอร์เน็ตมันอาจไม่ใช้ที่อยู่ MAC แต่การรับส่งข้อมูล IP จากอินเทอร์เน็ตยังคงไหลผ่านแม้ว่าคนอื่น ๆ บนอินเทอร์เน็ตไม่เคยได้ยินมาก่อนก็ตาม

หากเราพบมาตรฐานที่ดีกว่า IP (เช่น IPv6 หากที่อยู่ IPv4 หมด) ฮาร์ดแวร์อีเธอร์เน็ตส่วนใหญ่สามารถรับส่งข้อมูลแบบใหม่โดยไม่มีการดัดแปลง - และการอัพเดตซอฟต์แวร์ / เฟิร์มแวร์ที่ง่ายจะแก้ไขส่วนที่เหลือให้หมด

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

จริงๆเข้าใจคำตอบของคำถามนี้คุณต้องเข้าใจOSI (บางครั้งเรียกว่า 7 ชั้น) รุ่น

เพื่อการสื่อสารที่จะเกิดขึ้นระหว่าง 2 แอปพลิเคชันที่ทำงานบนเครื่องแยกต่างหากซึ่งไม่มีการเชื่อมต่อทางกายภาพโดยตรงจำเป็นต้องมีการทำงานจำนวนมาก

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

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

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

ชั้นล่างชั้นที่1เป็นชั้นกายภาพ นี่คือเลเยอร์ของสายไฟและทรานซิสเตอร์และคลื่นวิทยุและในชั้นนี้การสื่อสารส่วนใหญ่เป็นเพียงกระแสของคลื่นและคลื่น ข้อมูลไปทุกที่ที่เชื่อมต่อทางร่างกาย คุณเสียบพอร์ตเครือข่ายของคอมพิวเตอร์เข้ากับสวิตช์โดยใช้สายเคเบิล CAT-5

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

ชั้นที่ 3เป็นชั้นเครือข่าย นี่คือเลเยอร์ที่ IP ใช้งานได้ (แม้ว่าจะไม่ใช่โปรโตคอลเลเยอร์เครือข่ายเท่านั้น) และเป็นสิ่งนี้ที่อนุญาตให้คอมพิวเตอร์ส่งข้อความที่สามารถไปยังเครื่องใดก็ได้ใน "เครือข่าย" ไม่จำเป็นต้องมีการเชื่อมต่อโดยตรงระหว่างเครื่องที่มีปัญหา

เลเยอร์ 4-7เป็นโปรโตคอลระดับสูงกว่า พวกเขาอยู่ห่างไกลจากฮาร์ดแวร์และใกล้กับแอปพลิเคชันมากขึ้น ตัวอย่างเช่น TCP ตั้งอยู่บนสุดของ IP และมีกลไกที่ส่งข้อความโดยอัตโนมัติเมื่อพวกเขาหายไป

ดังนั้นที่อยู่ MAC จะทำงานที่ชั้น 2 และอนุญาตให้เครื่อง 2 เครื่องที่เชื่อมต่อกันทางกายภาพเพื่อส่งข้อความที่จะถูกละเว้นโดยเครื่องอื่น ๆ ที่ใช้การเชื่อมต่อทางกายภาพเดียวกัน

สมมติว่าฉันมีแอปพลิเคชันที่ต้องการส่งข้อมูลบางอย่างไปยังเครื่องด้วยที่อยู่ IP 8.8.8.8

เลเยอร์ 3 รวบรวมข้อมูลในซองจดหมายที่มีที่อยู่ IP 8.8.8.8 และมอบให้กับเลเยอร์ 2

เลเยอร์ 2 ดูที่ที่อยู่ IP นี้และตัดสินใจว่าเครื่องใดที่เชื่อมต่อโดยตรงกับสามารถจัดการกับข้อความนี้ได้ มันจะมีตารางการค้นหาของการเลือกที่อยู่ IP ที่เชื่อมต่อโดยตรงพร้อมกับที่อยู่ MAC ที่สอดคล้องกันของการ์ดเครือข่ายในเครื่องนั้น ตารางการค้นหานี้สร้างขึ้นโดยใช้โปรโตคอลชื่อ ARP ซึ่งช่วยให้การ์ดเครือข่ายถามคำถามของอุปกรณ์ที่เชื่อมต่อโดยตรงอื่น ๆ อีเธอร์เน็ตขอสงวนที่อยู่ MAC พิเศษคือ FF: FF: FF: FF: FF: FF ซึ่งทำให้อุปกรณ์สามารถพูดคุยกับอุปกรณ์ที่เชื่อมต่อทางกายภาพทั้งหมด

หากที่อยู่ IP อยู่ในตาราง (หรือสามารถแก้ไขได้ผ่าน ARP) มันจะห่อหุ้มเลเยอร์ 3 ในซองจดหมายเลเยอร์ 2 พร้อมกับที่อยู่ MAC ในส่วนหัวใหม่แล้วส่งชุดข้อมูลทั้งหมดไปยังฮาร์ดแวร์ที่ชั้น 1 การ์ดเครือข่ายที่มีที่อยู่ MAC ที่ตรงกันจะได้รับข้อความและไดรเวอร์เครือข่ายจะเปิดซองจดหมายชั้นที่ 2 และส่งเนื้อหาไปยังส่วนใดส่วนหนึ่งของระบบปฏิบัติการที่คาดว่าจะได้รับข้อความที่อยู่ IP ที่ระบุ

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

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

กระบวนการของการลบซองจดหมายด้านนอกและห่อเนื้อหาในซองจดหมายใหม่ที่ส่งไปยังขั้นตอนต่อไปในห่วงโซ่จะดำเนินการต่อไปจนกว่าข้อความจะถึงเครื่องปลายทาง

จากนั้นซองจดหมายจะถูกดึงออกมาอย่างต่อเนื่องในขณะที่ข้อความเดินกลับไปที่เลเยอร์จนกว่าจะถึงผู้รับที่ตั้งใจไว้ซึ่งจะเป็นแอปพลิเคชั่นที่หวังว่าจะรู้ว่าจะทำอย่างไรกับข้อความ - แต่ไม่รู้ว่าจะทำอย่างไร มีข้อความหรือขั้นตอนทั้งหมดที่จำเป็นเพื่อรับการตอบกลับกลับไปที่เครื่องเดิม

แต่มันก็ใช้งานได้ดีเกือบจะเหมือนเวทย์มนตร์!

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


Hi! ขอบคุณสำหรับคำตอบ. เท่าที่ฉันอ่านคำตอบของคุณดีที่สุด มันจะยอดเยี่ยมถ้าคุณสามารถใส่แนวคิดเพิ่มเติมเช่น ARP และ NAT ในสถานการณ์ของคุณ
วิษณุ Vivek

1
เพิ่มการอ้างอิงถึง ARP และสวิตช์เครือข่าย ฉันไม่คิดว่า NAT มีอะไรจะทำอย่างไรกับการที่อยู่ MAC เป็นฟังก์ชั่นชั้น 3 ...
บิลมิเชลล์

@BillMichell: ใน IPv6 สามารถใช้ ID MAC หรือโลคอลท้องถิ่น ('ฮาร์ดแวร์') เพื่อเขียน IP
Luciano

คำตอบคือ Wiki ชุมชน คุณอาจแก้ไขเพื่อรวมข้อมูลเพิ่มเติมนี้หากคุณคิดว่ามันจะช่วยตอบคำถามของ OP
Bill Michell

สิ่งนี้ต้องการ TL; DR
AJMansfield

113

ใช้ที่อยู่ MAC อะไร

ที่อยู่ MAC นั้นเป็นข้อมูลพื้นฐานระดับต่ำที่ทำให้เครือข่ายอีเธอร์เน็ตของคุณใช้งานได้ Local หมายถึงอุปกรณ์เครือข่ายเชื่อมต่อโดยตรงผ่านสายเคเบิลหรือโดย WiFi หรือผ่านฮับเครือข่ายหรือสวิตช์เครือข่าย

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

มีที่อยู่ MAC พิเศษตัวอย่างหนึ่งคือ ff: ff: ff: ff: ff: ff ซึ่งเป็นที่อยู่การออกอากาศและที่อยู่ทุก ๆ อะแดปเตอร์เครือข่ายในเครือข่าย

ที่อยู่ IP และที่อยู่ MAC ทำงานร่วมกันได้อย่างไร

IP เป็นโปรโตคอลที่ใช้กับเลเยอร์ด้านบนอีเธอร์เน็ต โปรโตคอลอื่นตัวอย่างเช่นจะเป็น IPX IP อนุญาตให้เชื่อมต่อเครือข่ายท้องถิ่นที่แตกต่างกันและสร้างเครือข่ายองค์กรหรืออินเทอร์เน็ตทั่วโลก

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

จนถึงตอนนี้สิ่งต่าง ๆ ดูเหมือนจะแย่ลงเพราะตอนนี้เรามีที่อยู่ IP สองอัน: อันหนึ่งคือที่อยู่ปลายทางของแพ็กเก็ต IP ดั้งเดิมอีกที่หนึ่งคือ IP ของอุปกรณ์ที่เราควรส่งแพ็คเก็ต ปลายทางหรือเราเตอร์)

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

ARP ทำงานอย่างไร

ARP นั้นเป็นโปรโตคอลด้านบนอีเธอร์เน็ตเช่น IP หรือ IPX เมื่ออุปกรณ์ต้องการทราบที่อยู่ MAC สำหรับที่อยู่ IP ที่กำหนดอุปกรณ์จะส่งแพ็คเก็ตไปยังที่อยู่ MAC ที่ออกอากาศซึ่งถามว่า "ใครมีที่อยู่ IP yyyy" อุปกรณ์ทั้งหมดได้รับแพ็คเก็ตนั้น แต่เฉพาะที่มีที่อยู่ IP yyyy เท่านั้นที่จะตอบสนองด้วยแพ็คเก็ต "มันฉัน" อุปกรณ์ที่ขอได้รับคำตอบและตอนนี้รู้ว่าแหล่งที่อยู่ MAC ของแพ็คเก็ต ARP เป็นที่อยู่ MAC ที่เหมาะสมที่จะใช้ แน่นอนผลลัพธ์จะถูกแคชดังนั้นอุปกรณ์ไม่จำเป็นต้องแก้ไขที่อยู่ MAC ทุกครั้ง

สายงานการผลิต

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

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

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

กรณีการใช้งานอื่น ๆ สำหรับที่อยู่ MAC

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

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

  3. เซิร์ฟเวอร์ DHCP ใช้ที่อยู่ MAC เพื่อระบุอุปกรณ์และมอบที่อยู่ IP คงที่ให้กับอุปกรณ์บางตัว


16
+1 สำหรับการตอบคำถามในลักษณะที่คนที่ยังไม่รู้คำตอบสามารถเข้าใจได้
ปุย

ฉันอดไม่ได้ที่จะรู้สึกว่าอยากสร้างอินโฟกราฟิก / แผนภาพที่ยอดเยี่ยมวิธีการโต้ตอบของ MAC / IP นั้นน่าสนใจทีเดียว!
NRGdallas

1
คำตอบที่ดีเพียงรายละเอียด: ที่อยู่ MAC ยังใช้สำหรับอุปกรณ์ที่ไม่ใช่ Ethernet และคุณอธิบายโดยทั่วไปแล้วว่าเป็นชั้นเชื่อมโยงข้อมูลใด ๆ ที่ใช้กับสแต็ค IP
kriss

น่าสังเกตเกี่ยวกับ Wi-Fi MACs: แม้ว่าโดยทั่วไปแล้วจะไม่เหมือนใครและสามารถใช้เพื่อระบุอุปกรณ์ แต่พวกเขาก็ง่ายต่อการปลอมแปลงและส่งไปในอากาศที่ชัดเจน หากไม่มีการเข้ารหัส / การตรวจสอบความถูกต้องอื่น ๆ ที่ใช้ในการเชื่อมต่อหรือถ้ากลไกการเข้ารหัส / การตรวจสอบความถูกต้องอื่น ๆ อ่อนแอ (เช่น: WEP) มันเป็นเรื่องเล็กน้อยที่ผู้โจมตีจะปลอมตัวเป็นอุปกรณ์ที่ได้รับอนุญาตและเข้าร่วมเครือข่าย
Iszi

1
@Rick คุณถูกต้อง IP ปลายทางสำหรับการเชื่อมต่อจะไม่เปลี่ยนแปลง แต่ในย่อหน้าที่อ้างถึงฉันกำลังพูดถึงปลายทางโดยตรงของแพ็กเก็ต - ซึ่งอาจเป็นเราเตอร์และเราเตอร์อาจเปลี่ยนไปในระหว่างการเชื่อมต่อ เกี่ยวกับความคิดเห็นที่สองของคุณฉันเปลี่ยนข้อความเป็น "แหล่งที่อยู่ MAC ของแพ็คเก็ต ARP" ฉันหวังว่าชัดเจนมากขึ้น
เวอร์เนอร์ Henze

47

โดยทั่วไปที่อยู่ MAC (ที่อยู่การควบคุมการเข้าถึงสื่อ) โดยทั่วไปคือตัวระบุอุปกรณ์ในเครือข่าย ดังนั้น NIC ทุกตัว (ส่วนต่อประสานเครือข่ายที่พบในเราเตอร์พีซีเครื่องพิมพ์เครือข่ายเซิร์ฟเวอร์ ฯลฯ ) จึงมีที่อยู่ MAC เซิร์ฟเวอร์บางตัวมีการ์ดเครือข่ายมากกว่าหนึ่งตัวในตัวจึงมีที่อยู่ MAC หลายรายการ ที่อยู่ MAC มีความยาว 6 ไบต์ (6 octets) ด้านซ้ายเป็นไบต์ที่สำคัญที่สุดและขวาเป็นไบต์ที่สำคัญที่สุด ขณะที่คุณสามารถเห็นในภาพด้านล่าง 3 ไบต์แรกเป็นOrganizationally Unique Identifier สิ่งนี้บ่งชี้ว่าผู้ผลิตที่ทำอุปกรณ์นี้

นี่คือรายการของตัวระบุที่ไม่ซ้ำกันขององค์กร : Standards.ieee.org

นี่คือทางเลือกข้างต้น: MAC-Vendor-Lookup

ตัวอย่างของผู้ผลิตที่รู้จักทั่วไป:

  • 00-05-5D (D-Link Systems Inc. )
  • 00-09-5B (Netgear Inc. )
  • 00-E0-4C (Realtek Semiconductor Corp. )
  • 00-E0-4F (Cisco Systems Inc. )
  • 00-E0-64 (Samsung Electronics)

3 ไบต์สุดท้าย (3 octets) ได้รับการสุ่มเลือกโดยผู้ผลิต

ตามที่ pjc50 ระบุไว้อย่างถูกต้องที่อยู่ MAC ในเครือข่ายอีเธอร์เน็ตจะช่วยให้สวิทช์ตัดสินใจเลือกแพ็กเก็ตที่จะส่ง นอกจากนี้ยังมี Broadcast-MAC-Address ff: ff: ff: ff: ff: ff ใช้สำหรับ Broadcast-MAC-Address โปรดทราบว่าสามารถเปลี่ยนที่อยู่ MAC ได้โปรดใช้ความระมัดระวังเป็นตัวระบุอุปกรณ์ที่แน่นอน! MAC-Address ยังใช้กับโปรโตคอล ARP (Address Resolution Protocol) ดังนั้นวิธีการทำงานคือ PC A ส่ง ARP-Request ไปยัง PC B ด้วยที่อยู่ IP ของตัวเอง, ที่อยู่ MAC, ที่อยู่ IP ของผู้รับและที่อยู่การออกอากาศที่กล่าวถึงข้างต้น (ff: ff: ff: ff: ff : ff) หลังจากนั้น PC B จะตรวจสอบว่า Packet นั้นถูกส่งไปยังเขาหรือไม่ ถ้าใช่ PC B จะส่งที่อยู่ MAC ของตัวเอง, ที่อยู่ IP, ที่อยู่ MAC ของผู้รับและที่อยู่ IP ของผู้รับกลับมา อุปกรณ์อื่นทิ้งแพ็คเก็ต

ทั้งพีซี A และ B มักจะบันทึกการเชื่อมต่อที่สำเร็จใน ARP-Cache วิธีที่พีซีบันทึกการเชื่อมต่อแตกต่างกันไปในแต่ละอุปกรณ์ หากคุณไม่ทราบที่อยู่ IP คุณสามารถรับที่อยู่ IP ได้ด้วย Reverse Address Resolution Protocol (RARP) ด้วย RARP อุปกรณ์จะติดต่อกับไคลเอ็นต์กลางและขอ IP-Address แต่วิธีนี้แทบจะไม่เคยใช้มาก่อน

เทคโนโลยีต่อไปนี้ใช้รูปแบบตัวระบุ MAC-48:

  • อีเธอร์เน็ต
  • เครือข่ายไร้สาย 802.11
  • บลูทู ธ
  • แหวนโทเค็น IEEE 802.5
  • เครือข่าย IEEE 802 อื่น ๆ ส่วนใหญ่
  • FDDI
  • ATM (เปลี่ยนการเชื่อมต่อเสมือนเท่านั้นซึ่งเป็นส่วนหนึ่งของที่อยู่ NSAP) Fibre Channel และ SCSI ที่แนบมาแบบอนุกรม (เป็นส่วนหนึ่งของ World Wide Name)

4
แม่นยำมากขึ้นกว่า "ทุกอุปกรณ์ ( ... ) มี MAC-อยู่." ทุก NICมีอยู่ MAC (ไม่คำนึงถึงความสามารถในการตั้งค่าที่อยู่ MAC ที่กำหนดเองไว้ในบัญชี) เครื่องพิมพ์บางเครื่องอาจมีการ์ดเครือข่ายในตัวและเซิร์ฟเวอร์จำนวนมากมีการ์ดเครือข่ายมากกว่าหนึ่งการ์ดและทำให้ที่อยู่ MAC มากกว่าหนึ่งรายการ
CVn

2
Lets Say PC-1 ส่ง Packet ไปที่ PC-2 ตอนนี้สวิตช์จะอ่านเฉพาะที่อยู่ MAC ของ PC-1 และบันทึกลงในตาราง หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานอ่าน: วิธีช์ LAN ทำงาน :)
Meintjes

3
อีกประเด็นหนึ่งคือที่อยู่ MAC คือวิธีที่ NIC ตัดสินใจว่าจะทิ้งสิ่งใดและส่งไปยังหน่วยประมวลผลเพื่อจัดการอย่างไร เฟรม Ethernet ที่พบบน wire นั้นมีที่อยู่ MAC ปลายทาง XOR ที่มี NIC MAC address และหากผลลัพธ์เป็น 0 ทั้งหมดแสดงว่าเป็นเฟรมสำหรับ NIC นี้
bbayles

7
-1: คำถามที่ถามว่าใช้ที่อยู่ MAC ได้อย่างไรไม่ใช่ที่อยู่ MAC ส่วนเดียวของคำตอบของคุณที่ตอบคำถามคือรายการหัวข้อย่อยที่ส่วนท้ายและไม่ได้ลงรายละเอียดมากนัก
Kevin

4
รูปภาพนี้นำมาจากวิกิพีเดีย: en.wikipedia.org/wiki/File:MAC-48_Address.svgรูปภาพที่ได้รับอนุญาตภายใต้ครีเอทีฟคอมมอนส์จะต้องนำมาประกอบกับผู้แต่งเมื่อใช้
Étienne

24

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


5
อาจน่าสนใจที่จะทราบว่าเดิมทีอีเธอร์เน็ตเป็นสื่อกลางบัสซึ่งทุกเครื่องใช้สื่อร่วมกันทางกายภาพ (ซึ่งยังคงเป็นจริงสำหรับเครือข่ายไร้สาย) ดังนั้นเหตุผลมันทำงานเช่นนั้น
LawrenceC

และยังคงเป็นจริงสำหรับเครือข่ายที่ยังคงใช้ฮับ :)
Doon

ต่อจากนี้ไปสวิตช์จะเป็นเพียงเครื่องมือ (กลายเป็นวงกว้างด้วย RJ-45 LANs) เราสามารถและมีเครือข่าย IP โดยไม่มีพวกเขา (ใช้ฮับหรือ 802.11)
kriss

7

ลืมลำดับชั้นในกรณีนี้ไม่ใช่ปัญหาสำคัญมาก

ที่อยู่ MAC คือที่อยู่สำหรับเลเยอร์ 2 (ลิงค์เลเยอร์) ในรุ่น ISO / OSI หรือ TCP / IP ที่อยู่ IP นั้นมาจากเลเยอร์ 3 (เลเยอร์เครือข่าย) ในรุ่นเดียวกัน

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

แพ็คเก็ตเป็นข้อมูลหน่วยของเลเยอร์ 3 ซึ่งโดยทั่วไปคือแพ็คเก็ต IP พวกเขาเดินทางผ่านหนึ่งหรือมากกว่าหนึ่งโดเมนการปะทะกัน ที่อยู่ IP คือที่อยู่ในโดเมนนี้

สวิตช์เป็นอุปกรณ์เลเยอร์ 2 และเฟรมส่งต่อโดยใช้ตารางที่อยู่ MAC เราเตอร์เป็นอุปกรณ์เลเยอร์ 3 และส่งต่อแพ็กเก็ตโดยใช้ตารางที่อยู่ IP


6

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

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

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


ย่อหน้าแรกคือคำตอบที่สมบูรณ์แบบ! แสงสว่าง!
Milind R

6

ที่อยู่ MAC จะใช้ในการถ่ายโอนทางกายภาพ อะแดปเตอร์อีเธอร์เน็ตไม่ทราบอะไรเกี่ยวกับ IP ดังนั้นอะแดปเตอร์อีเธอร์เน็ตจึงใช้ที่อยู่ MAC เพื่อระบุตัวรับของแพ็กเก็ตข้อมูล

หากอะแดปเตอร์อีเธอร์เน็ตรู้อะไรเกี่ยวกับ IP เราต้องอัปเกรดเฟิร์มแวร์ทั้งหมดของเราเพื่อเปลี่ยนเป็นโปรโตคอลใหม่ (เช่น IPv4 เป็น IPV6)

ที่อยู่ MAC ยังมีข้อมูลบางอย่างเกี่ยวกับผู้ผลิตอยู่ด้วย


3
เราเตอร์ไม่ได้ใช้ที่อยู่ MAC เพื่อกำหนดเส้นทางอะไร พวกเขาใช้ที่อยู่ IP ฮับคัดลอกปริมาณข้อมูลที่ไม่ได้แก้ไขจากพอร์ต แต่จะเรียกว่าการเชื่อมต่อเนื่องจากการรับส่งข้อมูลไม่ได้ข้ามผ่านเครือข่ายอื่น แต่ใช้เครือข่ายเดียวกัน
LawrenceC

5

มันถูกใช้เมื่อ ARP (Address Resolution Protocol) สำหรับ IPv4 หรือ NDP (Neighbor Discovery Protocol) สำหรับ IPv6 แปลที่อยู่ IP เป็นที่อยู่ MAC เพื่อกำหนดโฮสต์ที่ไม่ซ้ำกันที่เฟรมควรส่งไป


มันค่อนข้างใกล้ แต่ไม่ครอบคลุมการใช้งานทั้งหมด นั่นคือวิธีที่ MAC เกี่ยวข้องกับ TCP / IP แต่ MAC นั้นถูกใช้งานมากกว่านั้น นี่เป็นคำตอบแรกที่ฉันไม่ได้ให้ -1 ถึง (ทำงานจากด้านล่างของหน้าขึ้น)
Mark Henderson

@ Mark Henderson ขอบคุณสำหรับคำวิจารณ์ ฉันแค่พยายามตอบคำถามHow MAC addresses were used in packet transferแล้วฉันคิดว่ามันอยู่ในระดับอีเธอร์เน็ต และใช่ว่าจะเป็นคำตอบที่ง่าย แต่ฉันตอบในระดับที่เหมาะสมกับระดับของตัวเอง :)
Jesper เซ่น

3

เพื่อให้คำตอบของผู้อื่นให้สมบูรณ์ฉันจะเพิ่มว่าที่อยู่ MAC นั้นสำคัญยิ่งสำหรับเราเตอร์มากกว่าสวิตช์ สิ่งที่ฉันหมายถึงยิ่งมีความสำคัญคือสวิตช์ไม่จำเป็นสำหรับการมีอยู่ของเครือข่าย IP คุณมองย้อนหลังไป 20 ปี (ก่อน RJ-45) เครือข่าย IP ท้องถิ่นทำงานได้อย่างสมบูรณ์แบบโดยไม่ต้องใช้สวิตช์เครือข่ายอีเทอร์เน็ตที่ไม่ได้กำหนดเส้นทางเพียงแค่เชื่อมต่ออุปกรณ์ด้วยสายเดียวกัน (ดูที่เทคโนโลยี X base-T Ethernet)

ในอีกด้านหนึ่งเครือข่าย IP นั้นถูกคิดค้นขึ้นเพื่อรองรับการจัดเส้นทางและอาศัย MAC และ IP

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

ในแง่ของส่วนหัวของแพ็กเก็ตเครือข่ายหมายความว่าแพ็กเก็ตที่ส่งไปยังเกตเวย์จะเป็นเป้าหมายในส่วนหัวระดับอีเธอร์เน็ตซึ่งเป็นที่อยู่ MAC ของเกตเวย์ส่วนหัวระดับ IP นั้นจะไม่มีการเปลี่ยนแปลง

คุณควรสังเกตว่าที่อยู่ MACมักจะหมายถึงวันนี้ทั้ง MAC-48 (ที่อยู่อุปกรณ์ทางกายภาพ) หรือ EUI-48 (ที่อยู่อุปกรณ์แบบโลจิคัล) หรือแม้แต่ที่อยู่ EUI-64 ขนาด 8 ไบต์ที่ใช้ในเครือข่ายขนาดใหญ่ ประวัติศาสตร์ MAC ถูกคิดค้นโดย Xerox สำหรับเทคโนโลยี Ethernet และนำกลับมาใช้ใหม่สำหรับเทคโนโลยีการส่งผ่านเครือข่ายอื่น ๆ (802.11, Bluetooth, FibreChannel, BlueTooth) ซึ่งจำเป็นต้องระบุอุปกรณ์

อย่างที่ฉันบอกว่าคุณสามารถใช้เลเยอร์อื่น 2 แทนอีเธอร์เน็ต แต่ส่วนใหญ่ใช้ที่อยู่ MAC เป็นตัวระบุเครือข่ายและการรองรับ MAC / IP พื้นฐานและคุณยังสามารถใช้ ARP ได้ เท่าที่ฉันรู้ว่า IP สแต็คทั้งหมดอาศัยตารางการติดต่อระหว่างที่อยู่ MAC และที่อยู่ IP

มีตัวระบุโหนดอุปกรณ์ประเภทอื่น ๆ บางอย่างสำหรับ IP Stacks ที่ไม่ใช่ ตัวอย่างเช่น X.25 ไม่ได้อาศัยที่อยู่ MAC แต่จะใช้ช่องทางเสมือนที่สร้างขึ้นตามการเชื่อมต่อหรือระบุอุปกรณ์ ATM ในเครือข่าย ATM โดยใช้ SNPA แต่ไม่ใช่ X.25 หรือ ATM เป็น IP ที่ซ้อนกัน (และแม้แต่ ATM ใช้รูปแบบที่อยู่ MAC เป็นส่วนหนึ่งของ SNA ซึ่งเทียบเท่ากับที่อยู่ IP สำหรับ ATM)


เราเตอร์ไม่สนใจที่อยู่ MAC พวกเขาสนใจเกี่ยวกับการมอบหมายเครือข่ายย่อยให้กับ NICs อย่างน้อย 2 แห่ง แต่ไม่เกี่ยวกับที่อยู่ MAC ส่งต่อการรับส่งข้อมูล (เช่นคัดลอก) จาก IP หนึ่งไปยังอีกเครื่องหนึ่งไม่ใช่จาก IP ไปยัง MAC หรืออะไรทำนองนั้น
LawrenceC

4
@ultrasawblade คำสั่งของคุณเป็นเรื่องเหลวไหล หากเราเตอร์เชื่อมต่อกับเครือข่ายอีเธอร์เน็ตต้องทำการสื่อสารโดยใช้โปรโตคอลอีเธอร์เน็ต แพ็กเก็ต IP จะถูกห่อหุ้มใน Ethernet Frame ซึ่งหมายความว่าการทราบที่อยู่ mac ของ ** ทุกโฮสต์อีเทอร์เน็ตโดยตรง ** เป็นสิ่งที่จำเป็นอย่างยิ่ง อุปกรณ์เลเยอร์ 3 ไม่เพียงแค่สื่อสารอย่างน่าอัศจรรย์บนโปรโตคอลเลเยอร์ 3 เท่านั้น แต่ต้องห่อหุ้มโพรโทคอลเลเยอร์ 3 ภายในโปรโตคอลเลเยอร์ 2 ซึ่งจะส่งผ่านไปยังสื่อเลเยอร์ 1
Zoredache

3
ฉันไม่เห็นด้วยกับประโยคแรกของคุณ - พวกเขาไม่ "สำคัญยิ่งกว่า" สำหรับเราเตอร์มากกว่าสวิตช์ - พวกเขามีความสำคัญเท่าเทียมกันทั่วทั้งเครือข่ายอีเธอร์เน็ต
Mark Henderson

1
คุณสามารถแทนที่เลเยอร์พื้นฐาน 2 ด้วยบางสิ่งที่แตกต่างอย่างสิ้นเชิง (แม้ว่าฉันไม่รู้) และ IP จะยังคงทำงานเหมือนเดิม โพรโทคอล IP (เลเยอร์ 3) ไม่สนใจว่าโฮสต์แต่ละรายการจะได้รับการแก้ไขภายใต้ MAC หรือรูปแบบอื่น ๆ แน่นอนว่าจำเป็นต้องบำรุงรักษาการจับคู่ IP กับ MAC - แต่มันยากที่จะรู้ว่า ARP "เป็น" จริง ๆ กับเลเยอร์ 3 หรือเลเยอร์ 2 ประเด็นคือโปรโตคอลเลเยอร์ 2 ไม่จำเป็นต้องเป็นอีเทอร์เน็ตและ IP / ต้องการทราบว่าโปรโตคอล Layer 2 คืออะไร
LawrenceC

2
@ มาร์คเฮนเดอร์สัน: เมื่อฉันแก่ตัวฉันจำได้ครั้งหนึ่งว่าไม่มีสวิตช์รอบ ๆ พวกเขาไม่ใช่ชิ้นส่วนสำคัญของอุปกรณ์เครือข่าย IP สามารถทำงานได้โดยไม่ต้องใช้สวิตช์ สวิตช์ใช้โครงร่างเครือข่ายข้อมูลที่มีอยู่แล้วเท่านั้น หากเรามีพวกเขาอยู่ทั่วไปแพร่หลายเป็นผลมาจากเทคโนโลยีแบบจุดต่อจุด RJ แทนรถเก่า กล่าวอีกนัยหนึ่ง: ที่อยู่ MAC ไม่ได้ถูกประดิษฐ์ขึ้นเพื่อให้สวิตช์ทำงาน ในอีกด้านหนึ่งเครือข่าย IP นั้นถูกคิดค้นเพื่อวัตถุประสงค์ในการกำหนดเส้นทางดังนั้นความสัมพันธ์ระหว่าง MAC กับ IP จึงเป็นสิ่งสำคัญ
kriss

2

ลองย้อนกลับไปดูวันก่อนล่วงหน้า (ฮับ)

หากคนเป็นคอมพิวเตอร์ดังนั้นที่อยู่ MAC คือชื่อของพวกเขา

แกล้งคนจำนวนมาก (คอมพิวเตอร์) อยู่ในสายโทรศัพท์เดียวกัน ทุกคนกำลังพูดในเวลาเดียวกัน

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

"FRED, THERE IS ICE CREAM!"

แน่นอนคุณยังฟังประโยคที่ส่งไปยังที่อยู่ออกอากาศ แค่คิดว่าเป็นคนที่ตะโกน

"EVERYONE, THERE IS ICE CREAM!"

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

IP คล้ายกันมากในการเปรียบเทียบพื้นฐาน แต่มีคุณสมบัติและเลเยอร์มากกว่าด้านบนของที่อยู่ MAC เลเยอร์ 2 และ 3 ในOSI Modelตามลำดับ


คุณไม่จำเป็นต้องคิดย้อนกลับไปถึงวันก่อนเปลี่ยน ที่อยู่ MAC นั้นยังมีชีวิตอยู่และใช้งานได้ดีในทุก ๆ แพ็คเก็ตซึ่งจะทิ้งอะแดปเตอร์อีเธอร์เน็ตของคุณวันนี้
Mark Henderson

จริงแท้แน่นอน. แต่มันช่วยด้วยการเปรียบเทียบ และนิคส์ยังคงทำงานในลักษณะเดียวกัน
แรนดี้เจมส์

2

ที่อยู่ MAC เป็นสิ่งที่จำเป็นเนื่องจากมีหลายที่อยู่ที่ต่ออยู่กับ "บัส" (เครือข่ายอีเธอร์เน็ต) ผู้ส่งต้องสามารถระบุตัวรับได้รวมถึงระบุตัวตนของผู้รับ

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

I2C, PCI, Ethernet, คุณตั้งชื่อมัน

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


1

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

ซอฟต์แวร์ระบบเครือข่ายนั้นง่ายกว่า อุปกรณ์ทุกเครื่องมีที่อยู่ MAC ซึ่งรับประกันว่าไม่ซ้ำใคร มันไม่จำเป็นต้องเป็นอย่างอื่น - ทั้งหมดที่ทำก็คือตรวจสอบให้แน่ใจว่าไม่มีอุปกรณ์สองเครื่องในเครือข่ายเดียวกันที่มีที่อยู่เดียวกัน

หากอุปกรณ์ของคุณต้องการคุยกับอุปกรณ์อื่นมันจะส่งแพ็กเก็ตด้วยที่อยู่ MAC ของผู้รับและผู้รับจะเลือกออกจากเครือข่าย อุปกรณ์อื่น ๆ ทั้งหมดจะไม่สนใจ - ไม่ได้ระบุที่อยู่ MAC ของพวกเขา

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

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

อย่างไรก็ตามมันไม่ได้แก้ปัญหาทั้งหมดและประสบข้อเสียอย่างใหญ่หลวงอย่างหนึ่ง - เมื่อสวิทช์ตารางมีขนาดใหญ่ขึ้นเครือข่ายชะลอตัวลง หากคุณเชื่อมต่อเครื่อง 5,000 เครื่องกับ 50 เครือข่ายที่แตกต่างกันทั้งหมดที่เชื่อมต่อด้วยสวิตช์แต่ละสวิตช์จะต้องเรียนรู้ที่อยู่ MAC ทั้งหมด 5,000 ชุดและเส้นทางแพ็คเก็ตตามนั้น

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

วิธีแก้ปัญหาคือไปที่เครือข่าย IP และใช้เราเตอร์ สิ่งนี้ถูกสร้างขึ้นที่ด้านบนของที่อยู่ MAC ที่อิงกับเครือข่ายแพ็คเก็ตแบบสวิตช์ แทนที่จะเป็นข้อมูลดิบตอนนี้แพ็คเก็ตมี IP แพ็คเก็ต - แพ็คเก็ตภายในแพ็คเก็ต

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

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

เครื่องของฉันมีอัลกอริธึมและโปรโตคอลที่หลากหลายเพื่อให้รู้ว่าตั้งค่าเครือข่ายอย่างไร

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

หากฉันส่งแพ็กเก็ต IP ที่มีไว้สำหรับเครื่องที่อื่นบนอินเทอร์เน็ตเครื่องของฉันรู้ที่จะส่งไปยังเราเตอร์ดังนั้นมันจึงใส่ไว้ในแพ็กเก็ตด้วยที่อยู่ MAC ของเราเตอร์ มันเปิดอีกครั้งในเครื่องในเครือข่ายของฉันจนกว่าจะเปิดเครือข่ายที่เราเตอร์เปิดอยู่จากนั้นเราเตอร์ก็ดึง IP แพ็กเก็ตออกตรวจสอบแพ็กเก็ต IP และตามความรู้ของอินเทอร์เน็ตมันจะส่งไปยังเราเตอร์อื่น อีกเครือข่ายหนึ่งห่อในแพ็คเก็ตที่มีที่อยู่ MAC สำหรับเราเตอร์หรือคอมพิวเตอร์ปลายทาง

มีรายละเอียดเล็ก ๆ น้อย ๆ มากมายที่ฉันได้คัดสรรและมีอัลกอริทึมและโปรโตคอลที่น่าสนใจอย่างแท้จริงที่ทำให้ทุกอย่างทำงาน แต่นั่นเป็นเรื่องราวพื้นฐานของที่อยู่ MAC ทำเพื่อเราแม้กระทั่งทุกวันนี้


1
คุณเริ่มต้นได้ดี แต่คุณทำมันหายไปในระหว่างที่คุณเริ่มพูดคุยเกี่ยวกับเครือข่ายที่เชื่อมต่อกัน สวิทช์ไม่ธรรมดาจนกระทั่ง 90's แต่มีการกำหนดเส้นทาง 20 ปีก่อนหน้านั้น
Mark Henderson

-1

ความแตกต่างหลักคือ MAC ได้รับมอบหมายจากผู้ผลิต ณ เวลาผลิตในขณะที่ที่อยู่ IP ถูกกำหนดในเวลาเชื่อมต่อ

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

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

แน่นอนว่า MAC ยังใช้สำหรับส่วนอื่น ๆ ของการส่งแพ็คเก็ต แต่การใช้งานส่วนใหญ่นั้นค่อนข้างบังเอิญและสามารถ (อย่างน้อยก็ในทางทฤษฎี) สามารถแทนที่ด้วยหมายเลขที่กำหนดแบบไดนามิก (เช่นที่อยู่ IP)


+1 สำหรับสาเหตุที่เราไม่เพียง แต่ใช้ที่อยู่ MAC ต่อไป
deed02392

3
ย่อหน้าแรกนั้นถูกต้องทางเทคนิค แต่นั่นไม่ใช่ความแตกต่างของรูท ความแตกต่างรูทคือ MAC เป็นของอีเธอร์เน็ตและ IP เป็นของ TCP / IP คุณสามารถเรียกใช้ TCP / IP ผ่านหลายเลเยอร์โปรโตคอล (ATM) และมีมากกว่า TCP / IP ที่ทำงานบน Etherhet ไม่มีสิ่งเช่น "ก่อนที่จะเชื่อมต่อกับเครือข่าย" แต่มี "ก่อนที่จะรับที่อยู่ IP จาก DHCP" แต่ MAC ยังคงใช้งานอยู่หลังจากนั้น - เนื่องจากมันตั้งอยู่บนเลเยอร์ที่แตกต่างกันในรุ่น OSI ย่อหน้าสุดท้ายนั้นผิดอย่างสิ้นเชิง - ไม่มีการแทนที่ที่อยู่ MAC ในระบบเครือข่าย
Mark Henderson

@ MarkHenderson: จุดของฉันคือ MAC ที่เป็นของ Ethernet และ IP กับ TCP / IP นั้นค่อนข้างเป็นอุบัติเหตุทางประวัติศาสตร์ ในทางทฤษฎีถ้าเราออกแบบสแต็กอินเทอร์เน็ตใหม่ทั้งหมดตั้งแต่เริ่มต้น (และไม่สนใจ OSI และความเข้ากันได้กับเครือข่ายอื่น) มันจะเป็นไปได้ที่จะแทนที่การใช้งานส่วนใหญ่ของหมายเลขที่กำหนดจากโรงงาน (เช่น MAC) ด้วยหมายเลขที่กำหนดแบบไดนามิก มีจำนวนแพ็กเก็ตที่จำเป็นต้องส่ง / รับก่อนที่จะได้รับหมายเลขที่กำหนดแบบไดนามิกซึ่งเป็นสาเหตุที่จำเป็นต้องมีตัวระบุเฉพาะทั่วโลกที่ได้รับมอบหมายจากโรงงาน
โกหกไรอัน

@ MarkHenderson: IMO บอกว่าเราต้องการ MAC และ IP เพราะ MAC คือเลเยอร์ 2 และ IP คือเลเยอร์ 3 ก็เหมือนกับว่า "เราต้องการเพราะเราได้ออกแบบอินเทอร์เน็ตให้เป็นแบบนั้น" มันพลาดจุดและไม่ให้ข้อมูลที่เป็นประโยชน์ ใด ๆ สิ่งที่ฉันกำลังตอบอยู่ที่นี่คือเหตุผลว่าทำไมทั้งตัวกำหนดที่ได้รับมอบหมายจากโรงงานและตัวระบุที่กำหนดแบบไดนามิกมีความจำเป็นเนื่องจากลักษณะของปัญหาและสิ่งที่เกี่ยวข้องจากสแต็กอินเทอร์เน็ตโดยไม่มี (การสูญเสียประสิทธิภาพการกำหนดเส้นทาง การกำหนดแอดเดรสของอุปกรณ์โดยเฉพาะก่อนการกำหนด ID แบบไดนามิกสำหรับไม่มี ID ที่กำหนดจากโรงงาน)
โกหกไรอัน

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