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


48

ฉันเข้าใจว่าซับมาสก์ถูกใช้เพื่อแบ่งเครือข่ายออกเป็นเครือข่ายย่อย แต่ทำไมคอมพิวเตอร์ทุกเครื่องในเครือข่ายจึงจำเป็นต้องรู้ซับเน็ตมาสก์ไม่ใช่แค่เราเตอร์

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

Let 's พูดว่าผมมีคอมพิวเตอร์บนเครือข่าย192.168.0.0/255.255.255.0ซึ่งมี 192.168.0.1IP

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


31
คอมพิวเตอร์ไม่จำเป็นต้องผ่านเราเตอร์เพื่อสร้างเครือข่าย
Overmind

1
@Overmind: ทรู แต่พวกเขาสามารถ Netmasks นั้นไม่จำเป็นอย่างยิ่งพวกเขากำลังปรับให้เหมาะกับงานของเราเตอร์
MSalters

3
if each computer were physically connected to each other with a wire- คุณต้องจำไว้ว่า tcp / ip ถูกประดิษฐ์ขึ้นในเวลาที่เป็นกรณีนี้ 10-base-2Google มีโปรโตคอลอื่นที่ทำงานแตกต่างจาก tcp / ip แต่ในช่วง 20 ปีที่ผ่านมา IPv4 ชนะการต่อสู้ของโปรโตคอล
slebetman

คุณดูเหมือนจะเข้าใจผิดว่าเครือข่ายคอมพิวเตอร์ทำงานอย่างไร ฉันแนะนำให้คุณดูวิดีโอนี้: youtube.com/watch?v=6i777lddg8s
InterLinked

@InterLinked กับผู้บรรยายด้วยเสียงที่น่าขนลุกหรือไม่? ไม่เคย
กลืน elysium

คำตอบ:


78

สมมติฐานดั้งเดิมของคุณไม่ถูกต้องทั้งหมด สิ่งที่คุณเรียกว่า "เราเตอร์" เป็นอุปกรณ์ทั้งสองในหนึ่ง - เราเตอร์สองพอร์ตเชื่อมต่อภายในเพื่อหลายพอร์ตสวิตช์อีเธอร์เน็ต (นี่คือแผนภาพตัวอย่าง)

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

ดังนั้นหากคุณดูแพ็กเก็ตโดยใช้ Wireshark คุณจะเห็นว่าพวกเขาใช้ที่อยู่ MAC ของกันและกันโดยตรงในขณะที่แพ็กเก็ต "ภายนอก" จะมี MAC ของเราเตอร์เป็นปลายทางเสมอ

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

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


ความคิดเห็นที่:

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

นั่นไม่ถูกต้องอีกครั้ง สวิตช์ไม่มีความรู้นี้ แกนสวิตชิ่งของพวกเขาทำงานที่เลเยอร์ 2 และไม่รู้อะไรเลยเกี่ยวกับ IP - มันจะส่งต่อเฟรม Ethernet อย่างหมดจดตามฟิลด์ 'ที่อยู่ MAC ปลายทาง'

ดังนั้นโฮสต์จำเป็นต้องมีซับเน็ตมาสก์เพื่อค้นหาว่าที่อยู่ MAC ใดที่จะใช้เป็นปลายทาง:

  • ถ้าเพียร์อยู่ในซับเน็ตเดียวกันมันจะถือว่าเป็นการเชื่อมโยงโดยการกำหนดดังนั้นเฟรม Ethernet จะมี MAC ของเพื่อนเป็นปลายทาง

  • สำหรับเพียร์นอกเครือข่ายย่อยเฟรม Ethernet จะมีMAC ของเกตเวย์เป็นปลายทาง

(สิ่งนี้ใช้กับการกำหนดค่าเริ่มต้นเครือข่ายเกล็ดหิมะพิเศษบางตัวเปลี่ยนแปลงสิ่งนี้ - เช่นระบบปฏิบัติการส่วนใหญ่อนุญาตให้เพิ่มเส้นทาง "on-link" พิเศษสำหรับเครือข่ายย่อยเพิ่มเติมตรงกันข้ามในทางกลับกันสวิตช์บางตัวอาจถูกกำหนดค่าการตอบสนอง ARP ปลอมแปลง "ทราฟฟิกถูกบังคับผ่านเกตเวย์)


ขอบคุณในขณะที่แผนภาพเชื่อมโยงไม่ชัดเจนสำหรับฉันคำอธิบายของคุณสมเหตุสมผลและฉันได้เรียนรู้สิ่งใหม่
Sir Adelaide

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

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

2
@Orpedo Switches คือ "เราเตอร์อีเธอร์เน็ต" พวกเขาใช้ที่อยู่อีเทอร์เน็ต (ที่อยู่ MAC) เพื่อค้นหาตำแหน่งที่จะส่งแพ็กเก็ตอีเทอร์เน็ต ตรงข้ามกับเราเตอร์ IP ที่ใช้ที่อยู่ IP เพื่อค้นหาตำแหน่งที่จะส่งแพ็กเก็ต IP
user253751

1
@Orpedo ด้วยเหตุผลทางประวัติศาสตร์เรามักจะเรียกใช้ IP ผ่านอีเธอร์เน็ตดังนั้นแพ็คเก็ตอีเธอร์เน็ตของอีเธอร์เน็ตจึงเป็นแพ็กเก็ต IP และที่อยู่ปลายทางของแพ็กเก็ตอีเทอร์เน็ตคือที่อยู่อีเทอร์เน็ตของเราเตอร์ IP ถัดไป มันเพิ่มขึ้นไปอีกเช่นกัน หากคุณเรียกใช้ Tor over IP ข้อมูลของแพ็กเก็ต IP จะเป็นแพ็กเก็ต Tor * และที่อยู่ปลายทางของแพ็กเก็ต IP ของเราเตอร์ Tor ตัวถัดไป (* สำหรับการเปรียบเทียบในการทำงานคุณต้องนับ TCP และ Tor ด้วยกัน)
user253751

32

คอมพิวเตอร์จะทราบได้อย่างไรว่าที่อยู่ปลายทางอยู่ในซับเน็ตเดียวกันหรือไม่?

การตรวจสอบที่อยู่อีเมลแล้วในท้องถิ่นและมาสก์

ตรวจสอบตัวอย่างสองตัวอย่าง:

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

แต่ถ้าคอมพิวเตอร์ของฉันมี IP 192.168.0.1และมาสก์คือ255.255.255.128คอมพิวเตอร์ในเครือข่ายย่อยเดียวกันนั้นมาจากที่อยู่ IP 192.168.0.0เพื่อ192.168.0.127เท่านั้น สามารถเข้าถึงได้โดยตรง (ส่ง ARP ค้นหาที่อยู่ MAC และอื่น ๆ ) ตัวอย่างเช่นที่อยู่อื่น ๆ192.168.0.200จะต้องผ่านเราเตอร์


1
แต่ทำไมมันจำเป็นต้องรู้ว่ามันอยู่ในซับเน็ตเดียวกันหรือไม่ นั่นเป็นคำถามจริงที่นี่
grawity

3
หากปลายทางอยู่ในซับเน็ตเดียวกันคอมพิวเตอร์จะส่งแพ็คเก็ตโดยตรงมิฉะนั้นจะส่งไปยังเราเตอร์ นั่นคือทั้งหมด !!!!
jcbermu

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

11

บางสิ่งบางอย่างที่ไม่ชัดเจนเกี่ยวกับทรัพย์สินทางปัญญาคือทุกอุปกรณ์ IP ตัวเองเป็นเราเตอร์

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

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

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


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

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

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

1
การตั้งค่า "iprouting": คุณสามารถปิดการส่งต่อแต่คุณต้องมีตารางเส้นทางเพื่อทราบว่าอินเตอร์เฟสใดที่จะใช้สำหรับแพ็กเก็ตขาออกแม้ว่าตัวเลือกจะเป็น "lo" และ "eth0" เท่านั้น เรื่อง "ส่งทุกอย่างไปยังเราเตอร์" ข้อดีของการไม่ทำอย่างนั้นชัดเจนกว่าด้วยเครือข่าย layer2 ที่ใช้ร่วมกัน แต่ไม่มีใครใช้ 10base2 อีกต่อไป
pjc50

1
@Barmar: "อุปกรณ์ที่ไม่ใช่เราเตอร์ทั้งหมดสามารถส่งทุกอย่างไปยังเราเตอร์และมันจะส่งต่อไปยังเป้าหมายแม้ว่าจะอยู่ในเครือข่ายเดียวกันกับผู้ส่ง" ไม่ผิด. มันไม่ทำงานอย่างนั้น ในทางทฤษฎีมันสามารถ ในทางปฏิบัติมันไม่ได้ เราเตอร์อาจพยายามเพิ่มประสิทธิภาพทรัพยากรของพวกเขาโดยเพียงละเว้นการรับส่งข้อมูลที่ไปยังซับเน็ตเดียวกันกับที่การรับส่งข้อมูลอาจมาจาก เนื่องจากเป็นวิธีการทำงานของเราเตอร์ (อย่างน้อยบางส่วน) อุปกรณ์อื่น ๆ จะต้องมีความซับซ้อนพอที่จะรู้ได้ว่าการส่งทราฟฟิกไปยังเราเตอร์อาจเสียเวลาไม่เช่นนั้นอุปกรณ์อื่น ๆ จะไม่สื่อสารอย่างถูกต้อง
TOOGAM

7

ฉันเห็นสิ่งนี้พูดถึงในคำตอบอื่น ๆ ที่นี่ แต่ฉันคิดว่ามันชัดเจนกว่า: ในคอมพิวเตอร์ที่มีอินเตอร์เฟสเครือข่ายหลายเครือข่าย subnet mask อาจถูกใช้เพื่อกำหนดอินเทอร์เฟซทางกายภาพที่จะส่งปริมาณข้อมูล IP โดยอัตโนมัติตามที่อยู่ IP ปลายทาง

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

ด้วยวิธีนี้ถ้าคุณมีเช่น:

  • อินเตอร์เฟส A พร้อม 192.168.1.42/24
  • อินเตอร์เฟส B ที่มี 10.0.0.15/24
  • อินเตอร์เฟส C พร้อม 192.168.2.97/24

และคุณส่งแพ็คเก็ตที่จะ 192.168.2.123 และไม่ได้มีเส้นทางการตั้งค่าก็สามารถที่จะระบุว่าอินเตอร์เฟซ C ควรใช้เพราะ255.255.255.0 และ 192.168.2.123 == 255.255.255.0 & 192.168.2.97

สิ่งนี้จะเป็นไปไม่ได้หากไม่รู้จัก subnet mask ดังนั้นคุณต้องกำหนดเส้นทางสำหรับที่อยู่ IP ทุกอันที่คุณส่งข้อมูลไป


6

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

แต่นี่จะไม่ใช่การออกแบบที่ดีที่สุดด้วยเหตุผลสองประการ:

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

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

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

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


ในขณะเดียวกันฉันคิดว่าเครือข่าย ATM ได้รับการออกแบบในลักษณะนี้ (อาจเป็นผลมาจากการมุ่งเน้นวงจร) - ไม่มีการออกอากาศและไม่มีความแตกต่างระหว่างเราเตอร์และสวิตช์ ทอพอโลยีต้นไม้ / ดาวตลอดทาง
grawity

@grawity อันที่จริงในยุค 70 และ 80 มีความแตกต่างอย่างมากในปรัชญาระหว่าง telcos และนักวิชาการเมื่อออกแบบเครือข่ายของพวกเขา Telcos ถูกนำมาใช้กับเครือข่ายอัจฉริยะที่มีโหนดปิดเสียง (เช่นโทรศัพท์) และพวกเขาออกแบบเครือข่ายของพวกเขาด้วยการสลับวงจรที่จัดการโดยแกน
Barmar

5

หากเราดูตารางเส้นทาง (นี่เป็นเครื่องเดสก์ท็อปของฉัน):

เส้นทาง ip

default via 172.20.25.1 dev eth1 
172.20.25.0/24 dev eth1 proto kernel scope link src 172.20.25.33 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.1

เส้นทาง

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.20.25.1     0.0.0.0         UG    0      0        0 eth1
172.20.25.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

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

โดยหลักการแล้วคุณสามารถส่งทุกอย่างผ่านเกตเวย์โฮสต์ของคุณ ที่จะมีลักษณะ

default via 172.20.25.1 dev eth1 
172.20.25.1 dev eth1 proto kernel scope link src 172.20.25.33 

หรือ

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.20.25.1     0.0.0.0         UG    0      0        0 eth1
172.20.25.1     0.0.0.0         255.255.255.255 U     0      0      

ฉันไม่ได้พยายามที่ แต่ก็สามารถนำมาใช้สำหรับการส่งต่อ MAC-บังคับ


บางครั้งใช้วิธีหลังโดยเจตนา ดูMAC บังคับส่งต่อ
grawity

2

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

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

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

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

ฉันสามารถเข้าใจได้ถ้าคอมพิวเตอร์แต่ละเครื่องเชื่อมต่อกันด้วยสายไฟ

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

แต่แพ็กเก็ตทั้งหมดต้องผ่านเราเตอร์อยู่ดี

ดังนั้นคุณหมายถึงการทิ้งความคิดของคอมพิวเตอร์ทุกเครื่องที่เชื่อมต่อด้วยสายที่ไม่มีเราเตอร์

และไม่แม้แต่ในบ้านของคุณก็ยังไม่ผ่านเราเตอร์ทุกครั้ง แม้จะมี "เราเตอร์ในบ้าน" ของคุณเรียกมันว่ากล่องอินเทอร์เน็ต พวกเขาไปที่สวิตช์ในนั้น

ให้บอกว่าฉันมีคอมพิวเตอร์ในเครือข่าย 192.168.0.0/255.255.255.0 ซึ่งมี IP 192.168.0.1

หากคอมพิวเตอร์เครื่องนั้นพยายามเข้าถึงคอมพิวเตอร์นอกเครือข่ายย่อยให้บอกว่า 192.168.1.1 เครื่องจะส่งข้อความไปยังเราเตอร์

ไปที่สวิตช์จากนั้นสลับไปที่เราเตอร์

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

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

และประโยคสุดท้ายของคุณคือ

มันส่งข้อความไปยังเราเตอร์

แล้วอะไรล่ะคุณจึงตัดสินใจหยุดเขียนทันใด?

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

ฉันจะไม่พูดอย่างนั้น แต่ละอินเตอร์เฟสบนเราเตอร์มีช่วง IP ที่แตกต่างกัน

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

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

คอมพิวเตอร์ที่ส่งแพ็คเก็ตจะตรวจสอบว่า IP ปลายทางของแพ็กเก็ตนั้นอยู่ในเครือข่ายของตัวเองหรือเครือข่ายเดียวกันและจากนั้นเลือกที่อยู่ MAC ที่เกี่ยวข้อง อาจเป็นที่อยู่ MAC ของคอมพิวเตอร์ที่ถูกกำหนดไว้ (นั่นคือถ้าคอมพิวเตอร์อยู่ในเครือข่ายเดียวกัน) หรือ (หากคอมพิวเตอร์อยู่ในอินเทอร์เฟซอื่นของเราเตอร์) จากนั้นจะเป็นที่อยู่ MAC ของเราเตอร์ ฉันเดาว่าอาจตอบคำถามของคุณได้ค่อนข้างตรงเหตุใดคอมพิวเตอร์จึงจำเป็นต้องรู้ subnet mask .. ในระบบ TCP / IP ตามที่ .. มันเป็นวิธีการทำงานคอมพิวเตอร์เลือกเลเยอร์ที่เกี่ยวข้อง 2 ที่อยู่เช่นสำหรับอีเธอร์เน็ต, ที่อยู่ MAC


1
ค่อนข้างจะเป็นการตอบรับที่ดี แต่ก็โอเค หากคุณคิดว่านั่นเป็นประโยคสุดท้ายของฉันเบราว์เซอร์ของคุณไม่โหลดทั้งหน้า
Orpedo

@ Orpedo ตกลงฉันไม่ได้สังเกตว่า ฉันได้ลบบรรทัดนั้นเพื่อถามว่าคุณหยุดเขียนหรือไม่และฉันได้รวมและตอบกลับไปยังส่วนที่เหลือของย่อหน้านั้น ที่จริงแล้วเป็นย่อหน้าที่สำคัญค่อนข้างสนุกพอที่จะตอบคำถามของคุณได้
barlop

Re: สลับกับสะพาน โดยทั่วไปแล้วสวิตช์จะใช้สำหรับบริดจ์โปร่งใสเช่นบริดจ์ที่มีฐานข้อมูล (Forwarding Information Base IIRC) ที่เชื่อมโยง MAC และพอร์ตและเติม FIB โดยการเรียนรู้ MAC จาก MAC ต้นทางในเฟรมอีเธอร์เน็ต ตรงข้ามกับบริดจ์ชนิดอื่นเช่น proxy-ARP bridge อีกความหมายของสวิตช์เป็นเรื่องทั่วไปมันอาจหมายถึงอุปกรณ์ที่เลเยอร์ใด ๆ เช่น L7- สวิตช์เส้นทางเชื่อมต่อตามข้อมูลเมตาระดับ - โปรแกรมเราเตอร์ก็อาจเรียกได้ว่าเป็นสวิตช์ L3- ... </ lexicographic rant>
ninjalj

Re: เราเตอร์ไม่ได้ส่งอะไรบางอย่างกับเครือข่ายเดียวกันมันมาจาก: แน่นอนมันสามารถและก็ยังจะส่ง ICMP มีเปลี่ยนเส้นทางบอกแหล่งที่มา: "เดี๋ยวก่อนเป้าหมายที่อยู่ในเครือข่ายของคุณคุณสามารถสื่อสารกับมันโดยตรง"
ninjalj

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

1

แต่ทำไม subnet-mask จึงถูกมอบให้กับ cuputer / อุปกรณ์เมื่อมันไม่ต้องการอะไร? - Orpedo 22 มีนาคมเวลา 13:45 น

คอมพิวเตอร์ / อุปกรณ์ที่ไม่ใช้มาสก์ในการสั่งซื้อในการคำนวณที่ออกอากาศ IP

IP interfaces ไม่ได้อยู่ในโหมด promiscuous ได้รับการกำหนดค่าให้ตอบกลับไปยังที่อยู่ IP ที่ออกอากาศรวมถึงที่อยู่ IP ของตนเอง


ทำเครื่องหมายคำตอบไว้แล้ว แต่นี่เป็นคำตอบที่สั้นและมีประโยชน์
Orpedo

1
ฉันเชื่อว่านี่เกือบผิดทั้งหมด อินเทอร์เฟซเครือข่ายไม่รู้อะไรเกี่ยวกับ IP พวกเขาตอบกลับที่อยู่ MAC (และนำไปใช้โดยอัตโนมัติ) นั่นเป็นเหตุผลที่เรามี ARP: ดังนั้นถ้าฉันรู้ที่อยู่ IP ของเครื่องในเครือข่ายท้องถิ่นของฉันฉันสามารถเรียนรู้ที่อยู่ MAC ของมันและใช้สิ่งนั้นเพื่อสื่อสารกับเครื่อง มีการออกอากาศที่อยู่ MAC ซึ่งใช้ในการออกอากาศทั้งหมด ที่อยู่ IP ที่ออกอากาศมีอยู่เพื่อความสม่ำเสมอ
G-Man กล่าวว่า 'Reinstate Monica'

-1

สร้างบัญชีเพื่อตอบคำถามนี้เนื่องจากฉันคิดว่าคนอื่น ๆ กำลังสับสนกับบทบาทของซับเน็ตมาสก์

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

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


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

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