เชื่อมต่อโดยตรงกับคอมพิวเตอร์เครื่องอื่นที่รู้เพียงที่อยู่ MAC?


13

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

หากฉันรู้ที่อยู่ MAC ของคอมพิวเตอร์ที่ฉันต้องการเชื่อมต่ออยู่จะสามารถเชื่อมต่อโดยตรงได้หรือไม่ (โดยไม่ต้องมีเราเตอร์) มีตัวอย่างของสิ่งนี้หรือไม่?


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

คำตอบ:


12

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

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

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

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


1
ขอบคุณ อินเทอร์เฟซเครือข่ายทราบได้อย่างไรว่าจะเชื่อมต่อกับส่วนต่อประสานอื่น ๆ ได้อย่างไร อินเตอร์เฟสส่งสัญญาณบีคอนเหมือนเราเตอร์ไร้สายทำหรือไม่
โคลิน

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

1
@Colin: ในระดับ MAC อินเทอร์เฟซเครือข่ายสามารถเชื่อมต่อกับอินเทอร์เฟซในเครือข่ายเดียวกัน (ย่อย) เท่านั้น ในการสื่อสารกับเครื่องที่อยู่นอกเครือข่ายท้องถิ่นเราเตอร์จะใช้ในการถ่ายโอนแพ็คเก็ตจากเครือข่ายหนึ่งไปยังอีกเครื่องหนึ่งและไปถึงปลายทางเราเตอร์หลายเครื่องสามารถนั่งระหว่างคุณกับเครื่องระยะไกล
Bart van Ingen Schenau

1
ขวา. ดังนั้นเครือข่าย (ย่อย) จะสร้างหรือกำหนดอย่างไร? คอมพิวเตอร์ทุกเครื่องต้องเชื่อมต่อกับฮับ / สวิตช์ / เราเตอร์ตัวเดียวกันหรือไม่ หรือมีวิธีการสร้างเครือข่ายโดยไม่มีพวกเขา?
โคลิน

@Colin ขึ้นอยู่กับเลเยอร์ทางกายภาพ - บางครั้งเครื่องทั้งหมดจะเชื่อมต่อกับฮับเดียวเช่นเดียวกับใน 10baseT และที่คล้ายกัน บางครั้งพวกเขาทั้งหมดเชื่อมต่อกับสายกายภาพเดียวกันเช่นใน 10base2 หรือที่เรียกว่า "thin-net" บางครั้งพวกเขาไม่ได้เชื่อมต่อเลย แต่ทุกคนจะพูดคุยกับฮับเดียวกันเช่นเดียวกับใน WiFi แต่มีเทคโนโลยีเครือข่ายที่แตกต่างกันมากมายและรายละเอียดแตกต่างกันไปในอนาคตดังนั้นแม้ว่าอีเธอร์เน็ตจะเป็นแบบอย่างที่ดีที่มีอยู่ในหัวของคุณอย่าคิดว่ามันเป็นวิธีเดียวที่จะทำสิ่งต่างๆ
Caleb

3

เรียงจาก

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

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

บทคัดย่อแพ็คเก็ตที่กำหนดไว้สำหรับเว็บพอร์ตนั้นมีลักษณะดังนี้:

[ethernet header] [ip header] [header tcp] [payload]

ส่วนหัวของอีเธอร์เน็ตประกอบด้วยข้อมูลการควบคุมที่หลากหลายรวมถึงที่อยู่ MAC ต้นทางและปลายทางบน LAN

ส่วนหัวของ IP ประกอบด้วยข้อมูลการควบคุมต่าง ๆ เช่น IP ต้นทางและปลายทางและโปรโตคอลห่อหุ้ม (TCP ในตัวอย่างนี้)

ส่วนหัวของ TCP ประกอบด้วยข้อมูลการควบคุมต่าง ๆ การตั้งค่าสถานะต่าง ๆ (ส่วนใดของเซสชันคือสิ่งนี้หมายเลขลำดับพอร์ต TCP ต้นทางและปลายทาง ... )

เพย์โหลดถูกส่งโดย TCP เท่านั้นและ "เฉพาะแอปพลิเคชันที่ใส่ใจ"

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

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

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


0

โพสต์นี้ค่อนข้างเก่า แต่ฉันไม่รู้สึกว่ามันได้คำตอบที่ถูกต้อง

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

ระบบ Microsoft Windows Windows ต้องการขีด "-" อักขระระหว่างแต่ละหลักของที่อยู่ MAC (ที่อยู่อีเทอร์เน็ต)

arp -s 192.168.1.2 00-80-77-31-01-07
ping 192.168.1.2

UNIX / Linux ระบบ UNIX และ Linux ต้องการเครื่องหมายโคลอน ":" อักขระระหว่างแต่ละหลักของที่อยู่ MAC (ที่อยู่ Ethernet)

arp -s 192.168.1.2 00:80:77:31:01:07
ping 192.168.1.2

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

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