หากคอมพิวเตอร์ของฉันมีที่อยู่ IP เหตุใดจึงต้องมีที่อยู่ MAC
หากคอมพิวเตอร์ของฉันมีที่อยู่ IP เหตุใดจึงต้องมีที่อยู่ MAC
คำตอบ:
โดยไม่ต้องเข้าสู่โมเดล OSI, เลเยอร์ TCP, ฯลฯ :
ย้อนเวลากลับไปเครือข่ายถูกสร้างขึ้น: คอมพิวเตอร์บางเครื่องจะสื่อสารกันเพื่อแบ่งปันบางสิ่ง ในการทำเช่นนั้นพวกเขาจำเป็นต้องรู้ว่าใครกำลังพูดอยู่และใครกำลังคุยอยู่ ดังนั้นแทนที่จะให้ชื่อคอมพิวเตอร์แต่ละเครื่องเราได้ให้ ID พวกเขา ID นี้เรียกว่าที่อยู่ MAC ควรเป็นข้อมูลเฉพาะตัวของคอมพิวเตอร์แต่ละเครื่อง
(ตกลงระบุการ์ดเครือข่ายแต่ละใบ แต่เมื่อถึงเวลานั้นคุณอาจคิดว่าที่อยู่ MAC หนึ่งรายการสำหรับคอมพิวเตอร์แต่ละเครื่อง)
ไม่มีข้อกำหนดเฉพาะเกี่ยวกับวิธีที่คอมพิวเตอร์จะพูดคุยกัน: โปรโตคอลจำนวนมากปรากฏขึ้น: TCP / IP, IPX / SPX และอื่น ๆ แต่ละโปรโตคอลจะระบุสิ่งต่าง ๆ ตามที่พวกเขาคิดว่าใช้ได้ ตัวอย่างเช่น IPX / SPX จะระบุคอมพิวเตอร์แต่ละเครื่องโดยใช้ที่อยู่ MAC และข้อมูลเพิ่มเติม
แต่โปรโตคอล TCP / IP ได้รับการออกแบบแตกต่างกันเล็กน้อยพวกเขาตัดสินใจว่ามีที่อยู่เสมือนประกอบด้วย 4 ไบต์ (0.0.0.0 ถึง 255.255.255.255) ก็เพียงพอแล้วและจัดการได้ง่ายกว่า: ไม่สำคัญว่า การ์ดเครือข่ายของคุณทั้งหมดมีที่อยู่ MAC ที่คล้ายกันหรือไม่เราจะจัดกลุ่มคอมพิวเตอร์ของเราเพื่อให้ที่อยู่ TCP / IP ทั้งหมดที่เริ่มต้นด้วย 10.0.xx เป็นส่วนหนึ่งของกลุ่มวิศวกรรมและที่ 10.1.xx เป็นเครื่องพิมพ์และ ..
ดังนั้นหากที่อยู่ TCP / IP ต้องการเชื่อมต่อกับที่อยู่อื่นเพียงแค่ใช้ที่อยู่ TCP / IP แต่อุปกรณ์เครือข่ายจำเป็นต้องรู้ว่าการ์ดเครือข่ายใดที่ข้อความนั้นกำลังดำเนินอยู่ดังนั้นพวกเขาจึงแปลที่อยู่ TCP / IP ไปเป็นที่อยู่ MAC
ทำไมไม่กำจัด MAC และใช้ TCP / IP แทน?
เหตุผลบางอย่าง:
ที่อยู่ MAC และที่อยู่ IP ทำงานบนชั้นที่แตกต่างของชุดโปรโตคอลอินเทอร์เน็ต ที่อยู่ MAC ใช้เพื่อระบุเครื่องภายในเครือข่ายบรอดคาสต์เดียวกันบนเลเยอร์ 2 ในขณะที่ใช้ที่อยู่ IP ในเลเยอร์ 3 เพื่อระบุเครื่องทั่วทั้งเครือข่ายที่แตกต่างกัน
แม้ว่าคอมพิวเตอร์ของคุณมีที่อยู่ IP แต่ก็ยังต้องการที่อยู่ MAC เพื่อค้นหาเครื่องอื่น ๆ ในเครือข่ายเดียวกัน (โดยเฉพาะเราเตอร์ / เกตเวย์ไปยังส่วนที่เหลือของเครือข่าย / อินเทอร์เน็ต) เนื่องจากทุกชั้นใช้เลเยอร์พื้นฐาน ในหน้าดังกล่าวก่อนหน้านี้คุณจะพบไดอะแกรมที่สวยงามซึ่งอธิบายเกี่ยวกับชุดโปรโตคอลโดยละเอียด
เมื่อคุณเข้าใจว่าการสื่อสาร IP-to-IP นั้นเป็นเพียงแค่ชุดการสื่อสาร MAC-to-MAC ที่เกิดขึ้นที่เราเตอร์กระโดดแต่ละครั้งคุณจะเห็นว่าทำไมทั้งคู่จึงมีความจำเป็น
ส่วนหัว IP ของแพ็กเก็ตออกจากเวิร์กสเตชันของคุณที่กำหนดไว้กับ IP ในซับเน็ตที่แตกต่างกันจะรักษา IP ต้นทางและ IP ปลายทางโดยลืม NAT ในขณะนั้น [ต่อมาฉันจะพูดถึงสิ่งที่เกิดขึ้นเมื่อปลายทางอยู่ในซับเน็ตเดียวกัน] ส่วนหัวอีเธอร์เน็ตประกอบด้วย MAC ต้นทางของคุณและ MAC ปลายทางของเกตเวย์เริ่มต้นของคุณ ไม่มีความรู้เกี่ยวกับ MAC ปลายทางสุดท้ายจากมุมมองของคุณ เราเตอร์แรกนั้นจะเขียน MAC ต้นทางใหม่ให้กับตัวเองและปลายทาง MAC ไปยังเราเตอร์กระโดดต่อไปเรื่อย ๆ จนกระทั่งแพ็กเก็ตมาถึงเราเตอร์สุดท้ายที่เชื่อมต่อโดยตรงกับซับเน็ตปลายทาง
ในการลองภาพประกอบง่าย ๆ ให้พิจารณาส่วนหัว L2 / L3 เป็นแพ็กเก็ตย้ายจาก IP ต้นทาง (sIP) ไปยัง IP ปลายทาง (dIP) และ MAC ต้นทางและปลายทางจะถูกเขียนใหม่ตลอดทาง - fs = first-source และ ld = ปลายทางสุดท้ายและ r1-r3 เป็นเราเตอร์:
fsMAC-r1MAC / sIP-dIP
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP
สวิตช์ L2 ใด ๆ ที่เกี่ยวข้องจะไม่แก้ไขที่อยู่ MAC
ตอนนี้สำหรับการสื่อสารกับ IP อื่นภายในเครือข่ายย่อยของคุณจำเป็นต้องมีการสื่อสาร MAC โดยตรง แต่เพื่อให้ได้ที่ MAC addr ต้องใช้โปรโตคอล ARP ที่ใช้การออกอากาศในซับเน็ตเพื่อค้นหา นี่เป็นวิธีที่เวิร์กสเตชันของคุณรับที่อยู่ MAC ของเกตเวย์เริ่มต้นของคุณที่ต้องมีอยู่ในซับเน็ตเดียวกัน
MAC
คือสิ่งที่ได้รับข้อความจากที่หนึ่งไปยังอีกที่หนึ่งในขณะที่ IP ติดตามแหล่งที่มาและปลายทางเดิม ดูเหมือนว่าจะคล้ายกับที่ทำการไปรษณีย์ที่ฉันส่งจดหมายถึงคุณยายในฟินิกซ์ แต่บุรุษไปรษณีย์ที่หยิบมันขึ้นมาจากกล่องจดหมายเพียง แต่ใส่ใจที่จะนำมันไปที่ที่ทำการไปรษณีย์และที่ทำการไปรษณีย์เท่านั้นที่ใส่ใจเกี่ยวกับการนำมาเรียงลำดับ ศูนย์ ฯลฯ ...
ไม่มีอะไรจะหยุดคุณจากการออกแบบเครือข่ายที่มีเพียงที่อยู่ IP สำหรับ L2 และ L3 จากนั้น 'สวิตช์อีเธอร์เน็ต' จะเรียนรู้ที่อยู่ SIP ของแพ็กเก็ตที่เข้ามาและน้ำท่วมหรือส่งต่อไปยังที่อยู่ DIP
อย่างไรก็ตามเครือข่ายนี้จะรองรับเฉพาะ IP เท่านั้นเมื่อยุคต่อไปของ IPvX มาถึงมันจะไม่ทำงานเนื่องจาก 'อีเธอร์เน็ตสวิตช์' ไม่รองรับโปรโตคอลนั้น คุณยังไม่สามารถเรียกใช้โปรโตคอลอื่น ๆ เช่น IPX และ AppleTalk หรือโปรโตคอลใหม่ที่คุณกำลังพัฒนาและทดสอบในบ้านของคุณ
Abstraction layer เพิ่มความเร็วในการพัฒนาและกระตุ้นให้เกิดนวัตกรรมเนื่องจากคุณไม่จำเป็นต้องสร้างบ้านทั้งหลังเพื่อเปลี่ยนหน้าต่าง
ตอนนี้คุณสามารถใช้สวิตช์อีเธอร์เน็ตเดียวกันและย้ายเครือข่ายของคุณระหว่างจาก IPX เป็น IPv4 เป็น IPv6 โดยไม่ต้องแตะ LAN ของคุณเลย
ที่อยู่ IP และที่อยู่ MAC นั้นมีจุดประสงค์ที่แตกต่างกัน (แต่สำคัญ):
ที่อยู่ MAC ได้รับเฟรมจาก NIC หนึ่งไปยังอีก ที่อยู่ IP จะได้รับแพ็คเก็ตจากคอมพิวเตอร์เครื่องหนึ่งไปยังเซิร์ฟเวอร์
ดังนั้นได้รับดังต่อไปนี้:
Source Computer <---> RouterA <---> RouterB <---> Destination Server
สิ่งที่นำแพ็คเก็ตไปยังจาก "ที่มา" ไปยัง "ปลายทาง" คือที่อยู่ IP แต่สิ่งที่ได้รับแพ็คเก็ตจากคอมพิวเตอร์ต้นทางไปยังเราเตอร์และจากเราเตอร์ไปยังเราเตอร์แล้วจากเราเตอร์ไปยังปลายทางคือที่อยู่ MAC
คุณสามารถเห็นความสัมพันธ์ในภาพประกอบนี้ :
โปรโตคอล IP จัดเตรียมรากฐานเพื่อรองรับแนวคิดของซับเน็ตและการเราต์ ซึ่งหมายความว่า IP ไม่ถือว่าปลายทางของคุณอยู่ในเครือข่ายเดียวกัน - หากไม่ใช่การรับส่งข้อมูลของคุณจะต้องถูกส่งต่อผ่านอุปกรณ์ตัวกลางเช่นเราเตอร์ IP มีเขตข้อมูล TTL / Hop Limit และสนับสนุนสิ่งนี้
อีเธอร์เน็ตสันนิษฐานว่า MAC ปลายทางสามารถเข้าถึงได้โดยตรงเมื่อส่งข้อมูลจากส่วนต่อประสาน เดิมทีอีเธอร์เน็ตได้รับการออกแบบเมื่อวิธีที่ใช้กันมากที่สุดในการเชื่อมต่อคอมพิวเตอร์ในเครือข่ายคือผ่านโทโพโลยีบัสแบบฟิสิคัล แม้ว่าการรับส่งข้อมูลผ่านสายอีเธอร์เน็ตเกือบทั้งหมดจะถูกปิดใช้งานในตอนนี้ แต่ยังคงใช้งานได้เหมือนโทโพโลยีบัส ดังนั้นข้อสันนิษฐานพื้นฐานกับอีเธอร์เน็ตก็คือโหนดที่มีปลายทาง MAC นั้นจะอยู่ในเครือข่ายเดียวกัน ไม่มีสมมติฐานดังกล่าวกับ IP
ฉันเดาว่าคุณสามารถ "แฮ็ค" อีเทอร์เน็ตเพื่อทำซับเน็ตและการกำหนดเส้นทาง แต่คุณอาจสร้างโปรโตคอลที่ไม่พึ่งพารายละเอียดและสมมติฐานระดับต่ำของอีเธอร์เน็ตและนั่นคือเหตุผลที่เรามี IP
เพื่อให้ง่ายที่สุด:
Mac ที่อยู่เป็นที่อยู่ทางกายภาพหรือเสมือนบัตรหรือเครือข่ายอินเตอร์เฟซ NIC ของคุณ จากคอมพิวเตอร์บนจุดยืนของเครือข่ายเป็นที่อยู่จริงของการ์ด NIC ของคอมพิวเตอร์เครื่องนั้น มันถูกใช้เพื่อนำข้อมูลไปยังคอมพิวเตอร์เครื่องนั้นในเลเยอร์ 2 ของรุ่น OSI
ที่อยู่ IPเป็นสิ่งจำเป็นในชั้น 3. คุณจำเป็นต้องใช้ในการติดต่อสื่อสารกับคอมพิวเตอร์บนเครือข่ายย่อยที่แตกต่างกันและ devices.The IP Addressจะตรวจสอบ "ที่" อุปกรณ์ที่ตั้งอยู่ภายในเครือข่าย
ที่อยู่ IPและที่อยู่ Macจะถูกใช้ควบคู่ โปรโตคอลการแก้ไขที่อยู่ใช้เพื่อเชื่อมโยงทั้งสองเข้าด้วยกันโดยการแก้ไข ที่อยู่ IPเป็นMac Addressesภายใน Link Layer ภายในเครือข่ายเดียว
คุณอาจต้องการตรวจสอบที่นี่สำหรับคำอธิบายเพิ่มเติมในเชิงลึก
ที่อยู่ MAC แสดงถึงฮาร์ดแวร์ที่ประกอบเข้าด้วยกันเป็นระบบที่คงที่และแตกต่างในเครือข่ายของเราที่ทำโดยผู้จำหน่ายที่ต่างกันมีอุปกรณ์เสริมที่หลากหลายของ Mac เพื่อให้พวกเขายากที่จะจัดให้เป็นเครือข่าย แต่ใช้ที่อยู่ IP เครือข่ายใน arange ที่อยู่พร้อมกันดังนั้นเราจึงไม่สามารถส่งเครื่อง Mac ของเราไปยังเครือข่ายภายนอก
เริ่มต้นด้วยนี่เป็นคำถามที่ดีมากซึ่งสัมผัสกับพื้นฐานเครือข่ายพื้นฐาน บรรทัดล่างสำหรับคำถามของคุณคือเราไม่จำเป็นต้องมีที่อยู่ MAC เพื่อให้สามารถเชื่อมต่อได้ ในทางทฤษฎีเครือข่ายสามารถสร้างขึ้นโดยใช้ที่อยู่ IP เพียงอย่างเดียว! อย่างไรก็ตามความยากลำบากบางอย่างในทางปฏิบัติอาจเกิดขึ้นจากการใช้รูปแบบ หากคุณคาดว่าจะกำหนดที่อยู่ IP ให้กับอุปกรณ์เครือข่ายแต่ละเครื่องด้วยตนเองคุณอาจหลีกเลี่ยงข้อผิดพลาดที่สำคัญ อย่างไรก็ตามหากคุณต้องการกำหนดที่อยู่ IP โดยอัตโนมัติราวกับว่ามีโหนดเครือข่ายมากเกินไปที่จะจัดการด้วยตนเองดังนั้นจึงไม่มีวิธีที่จะตรวจสอบให้แน่ใจว่าแต่ละโหนดได้รับการจัดสรรที่อยู่ IP เดียวหรือจำนวนที่กำหนดไว้ล่วงหน้าเพราะคุณ ไม่สามารถบอกจากที่อื่นได้เว้นแต่นิติบุคคลที่อยู่จะสามารถระบุอุปกรณ์ที่ร้องขอได้อย่างชัดเจนและไม่ซ้ำกันเช่น โดยที่อยู่ MAC ซึ่งถือว่าไม่ซ้ำกันสำหรับอุปกรณ์ใด ๆ ใน LAN อุปกรณ์ที่ไม่สามารถพิสูจน์ได้ดังกล่าวอาจขอซ้ำอีกครั้งสำหรับที่อยู่ IP เพิ่มเติมและในที่สุดก็สร้างความเสียหายต่อความมีชีวิตของเครือข่าย กลับไปที่หัวข้อทั้งหมดที่คุณต้องสร้างเครือข่าย IP เท่านั้นคือให้ Data Link Layer ของการ์ดเชื่อมต่ออะแดปเตอร์เครือข่ายผ่านกรอบข้อมูลใด ๆ ที่ได้รับโดยตรงไปยัง Network Layer โดยไม่คำนึงถึงประเภทที่อยู่ MAC ที่เทียบเคียงกันได้ ถูกกรองตามที่อยู่ IP ปลายทางแทนที่จะถูกกรองที่ชั้นข้อมูล เพียงเพื่อแสดงให้เห็นถึงแนวคิดสมมติว่ามีการสร้างเครือข่ายโดยการเชื่อมต่อพอร์ต RS-232 UART: อุปกรณ์ UART ไม่มีที่อยู่ MAC หรือตัวระบุเฉพาะอื่น ๆ สำหรับเรื่องนั้น แต่คุณสามารถสร้างเครือข่ายท้องถิ่นโดยใช้ UART และที่อยู่ IP เพียงอย่างเดียว ให้คุณติดตั้งไดรเวอร์ UART ที่เหมาะสม หวังว่าข้อความนี้จะช่วยให้คุณมีความรู้ความเข้าใจในเรื่องนี้