CIDR จริง ๆ "ทำไป" กับคลาสที่อยู่ IP หรือไม่


20

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

  1. มันไม่มีประสิทธิภาพอย่างน่าขัน (และเป็นไปไม่ได้เช่นกัน) ในการมอบหมายให้ทุกองค์กรที่ต้องการที่อยู่มากกว่า 255 โฮสต์ที่อยู่คลาส B ซึ่งในทางเทคนิคสามารถระบุโฮสต์ 65535 ในทางเทคนิค

  2. อย่างไรก็ตามหากองค์กรดังกล่าวต้องการที่อยู่พูดได้ว่ามีโฮสต์ประมาณ 700 โฮสต์หนึ่งองค์กรสามารถกำหนดที่อยู่เครือข่ายคลาส C (ที่อยู่ติดกัน) สามเครือข่ายให้กับองค์กรนั้น เช่น:

    192.42.42
    192.42.43
    192.42.44
    
  3. ปัญหา: สำหรับหนึ่งองค์กรนั้นเราเตอร์จะต้องเก็บสามรายการในตารางการส่งต่อซึ่งจะไม่ขยาย

  4. CIDR แก้ปัญหานี้โดยแนะนำการสรุปเส้นทาง / การรวมตัวทำให้ ISP ที่กำหนดเครือข่ายคลาส C สามระดับให้กับองค์กรเพื่อโฆษณาคำนำหน้าเพียงคำเดียวให้กับส่วนที่เหลือของโลก เช่น,

    192.42.42.0/21
    

จนถึงตอนนี้ดีมาก อย่างไรก็ตามฉันไม่สามารถเข้าใจได้ว่าทำไมทุกแหล่งข้อมูลที่ฉันสัมผัสอ้างว่าการกำหนดที่อยู่อย่างมีระดับคือ "เรื่องของอดีต" หลังจากที่ทุก ISP ที่เป็นค่าใช้จ่ายในการพูด, ที่อยู่เครือข่ายคลาส C และไม่กำหนดเหล่านี้ให้กับลูกค้าของ CIDR เพียงแก้ไขปัญหาของหลายรายการในตารางการส่งต่อใช่มั้ย ดังนั้นคลาสไอพีแอดเดรสยังคงอยู่ใช่ไหม?

การสอบกำลังจะมาถึงดังนั้นการช่วยเหลือจะได้รับการชื่นชมมาก : P


2
/ 21 เป็นเครือข่ายแปด "คลาส c"
ปีเตอร์

5
ฉันอยากจะบอกว่ามันเป็นเรื่องของอดีตเพราะมันหมายถึง IPv4
Hagen von Eitzen

@ HagenvonEitzen ฉันอยากจะชี้ให้เห็นว่ามันไม่จริงในความเป็นจริงในทางปฏิบัติ
Lightness Races กับโมนิก้า

2
มันเป็นเรื่องของอดีตเพราะ 1993 เป็น 22 ปีที่แล้ว ดู RFC 1517, 1518, 1519 อย่าเชื่อถือทรัพยากรใด ๆ ที่อ้างว่าที่อยู่ที่มีระดับมีความเกี่ยวข้องในทุกวันนี้
Michael Hampton

คำตอบ:


22

การมอบหมายที่อยู่ที่เคยเกิดขึ้นจริงในสามขนาด: คลาส A, B และ C การมอบหมายคลาส A จะได้รับจากช่วงที่อยู่ที่แน่นอนการมอบหมายคลาส B จากช่วงที่แตกต่างกันเป็นต้นเนื่องจากคลาสที่แตกต่างกันใช้ช่วงที่อยู่ต่างกัน ชั้นเรียนโดยดูที่ส่วนแรกของที่อยู่ และสิ่งนี้ถูกสร้างขึ้นในโปรโตคอลการเราต์

  • การมอบหมายคลาส A มี 16777216 ที่อยู่แต่ละรายการ
  • การมอบหมายคลาส B มี 65536 ที่อยู่แต่ละรายการ
  • การมอบหมายคลาส C มี 256 ที่อยู่แต่ละรายการ

สิ่งนี้ไม่มีประสิทธิภาพมากสำหรับเครือข่ายที่ไม่พอดีกับขนาดเหล่านี้ เครือข่ายที่ต้องการที่อยู่ 4096 จะได้รับการมอบหมาย Class C สิบหก (ซึ่งจะไม่ดีสำหรับตารางเส้นทางทั่วโลกเพราะแต่ละพวกเขาจะต้องกำหนดเส้นทางแยกต่างหาก: ขนาดคลาสที่ถูกสร้างขึ้นในโปรโตคอล) หรือพวกเขาจะได้หนึ่ง Class B การมอบหมาย (ซึ่งจะเปลืองที่อยู่จำนวนมาก)

ในปี 1993 CIDR ได้รับการแนะนำ โปรโตคอลได้รับการปรับเพื่อให้สามารถจัดการกับส่วนนำหน้าที่มีขนาดต่างกันและเป็นไปได้ที่จะกำหนดเส้นทาง (ทั้งภายในและภายนอก) คำนำหน้าเช่น / 30 หรือ a / 21 หรือ a / 15 ฯลฯ ฯลฯ อะไรก็ตามระหว่าง / 0 และ / 32 กลายเป็น เป็นไปได้ องค์กรที่ต้องการที่อยู่ 2048 สามารถรับ a / 21: สิ่งที่พวกเขาต้องการ

วิธีที่คุณสามารถแบ่งที่อยู่เหล่านั้นภายในได้ก็มี จำกัด เช่นกัน มีกฎเกี่ยวกับวิธีที่คุณสามารถ subnet เดิมทีแต่ละซับเน็ตภายในเครือข่ายที่มีระดับของคุณต้องมีขนาดเท่ากัน คุณต้องการเครือข่ายย่อยหนึ่งที่มีที่อยู่ 128 แห่งและเครือข่ายย่อยอีกหนึ่งที่อยู่ 16 แห่ง: แย่มาก

กำบัง Subnet Length Variable (VLSM) นั้นเทียบเท่ากับเครือข่ายภายในของ CIDR VLSM มีอยู่นานกว่า CIDR มันถูกกล่าวถึงแล้วในปี 1985 ดังนั้น CIDR จึงขยาย VLSM ไปยัง inter-domain routing ด้วย VLSM ซับเน็ตของคุณไม่จำเป็นต้องมีขนาดเท่ากันอีกต่อไป คุณสามารถกำหนดจำนวนที่อยู่ที่แตกต่างกันสำหรับแต่ละเครือข่ายย่อยทั้งนี้ขึ้นอยู่กับความต้องการของคุณ

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

การกล่าวว่า ISP ที่รับผิดชอบเครือข่าย Class C นั้นล้าสมัยในทำนองเดียวกัน ที่อยู่ถูกแจกจ่ายอย่างไร้คลาสโดย RIRs ( Registries อินเทอร์เน็ตระดับภูมิภาคองค์กรที่รับผิดชอบในการมอบหมายที่อยู่แก่ ISP และธุรกิจด้วยที่อยู่อิสระของตนเอง)

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


1
"กฎ" เหล่านี้เป็นข้อ จำกัด ของโปรโตคอลการกำหนดเส้นทาง เครือข่ายทั้งหมดของคุณต้องมีขนาดเท่ากันเนื่องจากโปรโตคอลการกำหนดเส้นทางไม่ได้พกเน็ตมาสก์ (เช่น RIPv1, IGRP)
Ricky Beam

1
ใช่นั่นคือสิ่งที่ฉันพูด แบกความยาวคำนำในการกำหนดเส้นทางโปรโตคอลคือวิธี VLSM และ CIDR จะดำเนินการ
ซานเดอร์ Steffann

พวกเขาไม่ได้ "คาดเดาจากที่อยู่" พวกเขากำลังใช้ netmask อินเตอร์เฟสท้องถิ่นกับทั้งคลาส เช่น. หากคุณมีส่วนต่อประสาน 10.0.0.5/24 ทุกอย่างใน 10/8 จะเป็น / 24
Ricky Beam

1
นั่นคือบิต VLSM บิตที่ดีงามคือพวกเขาจะสมมติว่าที่อยู่ทั้งหมดที่ขึ้นต้นด้วย 10 อยู่ด้วยกัน บิต pre-VLSM จะถือว่าเนื่องจากอินเตอร์เฟสโลคัลคือ a / 24 ทุก subnet ใน 10/8 จะเป็น / 24 ทั้ง / 24 และ / 8 เป็นข้อสมมติในทุกวันนี้ ทุกเครือข่ายย่อยสามารถมีขนาดแตกต่างกันและไม่มีวิธีการกำหนดว่าขอบเขตรวมเป็นอย่างไร
Sander Steffann

1
เมื่อเพิ่มสิ่งที่กล่าวไปแล้วบิตแรกของที่อยู่ IP จะกำหนดคลาสของที่อยู่ บิตแรก 0 = คลาส A, สองบิตแรก 10 = คลาส B, สามบิตแรก 110 = คลาส C, ฯลฯ ดูen.wikipedia.org/wiki/…
CVN

29

การพูดอย่างมีระดับคือ "เรื่องของอดีต"

นี่คือความจริงเพราะไม่มีอะไรในอินเทอร์เน็ตที่ทันสมัยไม่ classful อยู่[1] ด้วยการกำหนดแอดเดรสแบบคลาสเน็ต netmask เป็นค่าคงที่ตามที่อยู่ ในตัวอย่างของคุณคุณไม่สามารถ "ผสาน" สามคลาส C ช่วงที่มี 700 โฮสต์ใน LAN เดียว netmask สำหรับแต่ละช่วงจะเป็น24 บิตโดยอัตโนมัติ

CIDR แก้ไขสิ่งนี้โดยการยกเลิกกฎโดยที่อยู่จะบอกให้สวมหน้ากาก ดังนั้น LAN สามารถมีขนาดใดก็ได้

คุณ (และคนอื่น ๆ จำนวนมาก) ยังคงแขวนคำว่า "Class C", "Class B" และ "Class A" โครงสร้างเหล่านั้นไม่มีอยู่อีกต่อไป; และไม่ได้มีมานานหลายทศวรรษ ความหมายของผู้คนเมื่อใช้คำนี้คือขนาด netmask เท่ากับ 24, 16 และ 8 ตามลำดับ พวกเขาไม่ได้หมายถึงการใช้ความหมายของชั้นเรียน

[1] 10.0.0.1/24 เป็นการกำหนดค่าที่ไม่ถูกต้องในระบบที่มีระดับ


1
ฉันคิดว่า Windows ยังคงใช้คลาส IP ของที่อยู่เป็นรูปแบบเริ่มต้น
Taemyr

2
ใช่ แต่มันไม่ได้มีระดับโดยเฉพาะ มันเป็นเพียงการใช้ CIDR เริ่มต้น Microsoft ไม่ต้องการหรือระบุระดับที่อยู่ IP '
Mike McMahon

@Taemyr มันไม่ได้เป็นเพียง Windows Linux ได้รับมาสก์เริ่มต้นจากบิตแรกของที่อยู่เป็นเวลาหลายปี ยังคงเป็นกรณีของ Ubuntu 14.04 แต่มันเป็นเพียงค่าเริ่มต้นซึ่งส่วนใหญ่ต้องแทนที่ด้วยค่าที่แตกต่างกัน
kasperd

15

การกำหนดแอดเดรสแบบคลาสสิกรองรับเฉพาะมาสก์ 3 ตัวสำหรับ unicast: / 8, / 16 /, / 24

CIDR อนุญาตให้มาสก์เป็นค่าใด ๆ จาก / 0 ถึง / 32

ลองนึกถึงอนุกรมจากจุดต่อจุด: ซึ่งอาจทำให้คลาส C / 24 (256 xIPs) เสียไปด้วยการตั้งค่าแบบคลาสซี่มาก่อน ด้วย CIDR ต้องการเพียง / 30 (4 xIPs) หรือ / 31 (2 xIPs)

ISP ส่วนใหญ่ในขณะนี้จะกำหนด / 28 ให้กับลูกค้าที่ให้บริการ 14 IP หรือน้อยกว่านั้น

โหมดการทำงานสองโหมดไม่สามารถใช้งานร่วมกันได้เนื่องจากหนึ่ง (classful) คาดเดามาสก์จาก IP และอีกโหมด (CIDR) ระบุอย่างแม่นยำ

ดูบทความวิกิพีเดีย“classful เครือข่าย”


ขอบคุณที่สละเวลาเขียนคำตอบ อย่างไรก็ตามฉันไม่เห็นว่าคำตอบของคุณเกี่ยวข้องกับคำถามของฉันอย่างไร

5
คำตอบของเขาตรงประเด็น เมื่อคุณเข้าใจความแตกต่างระหว่าง classless และ classful คำตอบจะสมเหตุสมผล
Ricky Beam

@ Baerenfaenger นี่คือคำถามของคุณตามที่ฉันเข้าใจ "ฉันไม่สามารถเข้าใจว่าทำไม ... ที่อยู่ที่ดีงามคือ" สิ่งที่ผ่านมา "... CIDR เพิ่งแก้ไขปัญหาของหลายรายการในตารางการส่งต่อขวา ดังนั้นคลาสของที่อยู่ IP จะยังคงอยู่หรือไม่
Pieter

อย่างไรก็ตามในเครือข่ายย่อย IPv4 a / 31 net ไม่สามารถมีที่อยู่ IP ใด ๆ ได้ 0 คือทั้งคู่ถูกสงวนไว้สำหรับ ID ของตัวเองสุทธิและการออกอากาศไปยังเน็ต
วงล้อประหลาด

2
@ ratchet freak ยกเว้น ptp links คุณไม่จำเป็นต้องมี ip ออกอากาศและสามารถทำได้โดยใช้ / 31 ดู tools.ietf.org/html/rfc3021
Pieter

5

เนื่องจากมีคำตอบมากมายที่อธิบายไว้แล้วคลาสเป็นเรื่องของอดีตเพราะไม่อนุญาตให้ใช้ซับเน็ตมาสก์อื่นที่ไม่ใช่ / 8, / 16 และ / 24

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

นี่คือเหตุผลที่คำศัพท์คลาส A, B และ C ติดอยู่พวกเขายังคงสอดคล้องกับมาสก์เครือข่ายย่อยทั่วไป แต่พวกเขาไม่สมเหตุสมผลอีกต่อไปและการบอกว่า 10.11.12.0/24 เป็นคลาส C นั้นผิดปกติ octet แรกของคลาส C คือตามคำนิยามระหว่าง 192 และ 223


2

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

องค์กรสมมุติของคุณที่มีเครือข่าย 3 คลาส C จะต้องให้ความสนใจว่าคอมพิวเตอร์ใดมีที่อยู่ใน 3 เครือข่าย ด้วยการจัดเส้นทาง CIDR พวกเขาสามารถใช้ netmask ที่อนุญาตให้คอมพิวเตอร์ทั้งหมดของพวกเขาอยู่ในซับเน็ตเดียวกัน


1

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

เมื่อไคลเอ็นต์เชื่อมต่อกับเซิร์ฟเวอร์ช่องสัญญาณจะรับเส้นทางเริ่มต้นหรือเส้นทางไปยังเครือข่ายที่มีระดับของเซิร์ฟเวอร์ https://technet.microsoft.com/en-us/library/cc779919%28v=ws.10%29.aspx

มีเครือข่ายไม่กี่แห่งที่นี่เป็นปัญหาจริงเมื่อไม่นานมานี้ในปี 2559

ฉันเชื่อว่ามีวิธีแก้ปัญหาด้วย DHCP และสคริปต์เสริมและสำหรับเส้นทางในทิศทางอื่น หากเป็นไปได้ให้ใช้โปรโตคอลการอุโมงค์ที่แตกต่างกันซึ่งรองรับเส้นทางได้ดีขึ้น

ขอแสดงความนับถือ,

โจนาธาน


0

ตามที่คุณอธิบายไว้อย่างถูกต้องการระบุที่อยู่แบบ classfull นั้นไม่มีประสิทธิภาพเมื่อเทียบกับการกำหนดที่อยู่แบบ classless เนื่องจากที่อยู่ IP จำนวนมากยังคงอยู่ภายในซับเน็ตที่มีการระบุที่อยู่แบบ classfull

ฉันไม่สามารถเข้าใจได้ว่าทำไมทุกแหล่งข้อมูลที่ฉันแตะอ้างว่าการระบุที่อยู่อย่างมีระดับคือ "เรื่องของอดีต"

เป็นความจริงที่ว่า IP อาจจัดการเครือข่าย C-class ได้ แต่นี่ไม่เป็นความจริงสำหรับ ISP ทั้งหมด นอกจากนี้ในยุคก่อนหน้าการกำหนดแอดเดรส classfull ถูกใช้ในเครือข่ายย่อยทั้งหมด (แม้แต่สำหรับเครือข่ายย่อยภายในบ้านหรือเครือข่ายย่อยขององค์กร) ซึ่งปัจจุบันใช้เพียงการจำแนกที่อยู่แบบไร้ชั้นเท่านั้น (หากไม่ใช่ NAT)

นี่คือเหตุผลที่ classfull ที่อยู่เป็นสิ่งที่ผ่านมา

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