ฉันเข้าใจว่า CIDR คืออะไรและใช้เพื่ออะไร แต่ฉันยังไม่สามารถหาวิธีคำนวณได้ในหัวของฉัน ใครสามารถให้คำอธิบายประเภท "สำหรับหุ่น" กับตัวอย่าง?
ฉันเข้าใจว่า CIDR คืออะไรและใช้เพื่ออะไร แต่ฉันยังไม่สามารถหาวิธีคำนวณได้ในหัวของฉัน ใครสามารถให้คำอธิบายประเภท "สำหรับหุ่น" กับตัวอย่าง?
คำตอบ:
CIDR (Classless Inter-Domain Routing, ออกเสียง "kidder" หรือ "ไซเดอร์" - เพิ่มตัวแปรท้องถิ่นของคุณในการแสดงความคิดเห็น!) เป็นระบบในการกำหนดส่วนเครือข่ายของที่อยู่ IP (โดยปกติคนมักคิดว่านี่เป็น subnet mask) . เหตุผลที่ "classless" คือมันช่วยให้วิธีการแบ่งเครือข่าย IP ลงมีความยืดหยุ่นมากกว่าชั้นฐานของพวกเขา
เมื่อเครือข่าย IP ถูกกำหนดเป็นครั้งแรก IP มีคลาสที่ใช้คำนำหน้าไบนารีของพวกเขา:
Class Binary Prefix Range Network Bits
A 0* 0.0.0.0-127.255.255.255 8
B 10* 128.0.0.0-191.255.255.255 16
C 110* 192.0.0.0-223.255.255.255 24
D 1110* 224.0.0.0-239.255.255.255
E 1111* 240.0.0.0-255.255.255.255
(โปรดทราบว่านี่เป็นแหล่งที่มาของคนที่อ้างถึง / 24 ว่าเป็น "คลาส C" แม้ว่าจะไม่ใช่การเปรียบเทียบที่แท้จริงอย่างเข้มงวดเพราะคลาส C จำเป็นต้องมีคำนำหน้าเฉพาะ)
คำนำหน้าไบนารีเหล่านี้ใช้สำหรับการกำหนดเส้นทางพื้นที่ขนาดใหญ่ของ IP เรื่องนี้ไม่มีประสิทธิภาพเพราะมันส่งผลให้บล็อกขนาดใหญ่ถูกกำหนดให้กับองค์กรที่ไม่จำเป็นต้องใช้พวกเขาและเพราะ Class C สามารถกำหนดได้เพียงเพิ่มขึ้น 24 บิตหมายความว่าตารางเส้นทางอาจมีขนาดใหญ่เกินความจำเป็นเนื่องจาก Class C หลายตัวถูกกำหนดเส้นทาง สถานที่เดียวกัน
CIDR ถูกกำหนดเพื่ออนุญาตให้ใช้ซับเน็ตมาสก์ความยาวผันแปร (VLSM) กับเครือข่าย ตามชื่อที่ใช้กลุ่มที่อยู่หรือเครือข่ายสามารถแบ่งออกเป็นกลุ่มที่ไม่มีความสัมพันธ์โดยตรงกับ "คลาส" ธรรมชาติที่พวกเขาอยู่
หลักฐานพื้นฐานของ VLSM คือการจัดให้มีการนับจำนวนบิตเครือข่ายในเครือข่าย เนื่องจากที่อยู่ IPv4 เป็นจำนวนเต็ม 32 บิต VLSM จะอยู่ระหว่าง 0 ถึง 32 เสมอ (ถึงแม้ว่าฉันไม่แน่ใจว่าอินสแตนซ์ใดของคุณอาจมีหน้ากากยาว 0)
วิธีที่ง่ายที่สุดในการเริ่มต้นคำนวณ VLSM / CIDR ในหัวของคุณคือการเข้าใจขอบเขต 8 บิตที่เป็น "ธรรมชาติ":
CIDR Dotted Quad
/8 255.0.0.0
/16 255.255.0.0
/24 255.255.255.0
/32 255.255.255.255
(โดยวิธีการที่ถูกกฎหมายและค่อนข้างธรรมดาใน ACLs ที่จะใช้หน้ากาก / 32 มันก็หมายความว่าคุณหมายถึง IP เดียว)
เมื่อคุณเข้าใจสิ่งเหล่านี้มันเป็นเลขฐานสองแบบง่าย ๆ ที่จะเลื่อนขึ้นหรือลงเพื่อรับจำนวนโฮสต์ ตัวอย่างเช่นถ้า a / 24 มี 256 IP (ลองละเครือข่ายและที่อยู่การออกอากาศตอนนี้นั่นเป็นคำถามทฤษฎีเครือข่ายที่แตกต่างกัน) การเพิ่มซับเน็ตโดยหนึ่งบิต (ถึง / 25) จะลดพื้นที่โฮสต์ลงหนึ่งบิต (เป็น 7) ความหมายจะมี 128 IP
นี่คือตารางของออคเต็ตสุดท้าย ตารางนี้สามารถเลื่อนไปยัง octet ใดก็ได้เพื่อให้ได้รูปสี่เหลี่ยมที่มีจุดเทียบเท่า
CIDR Dotted Quad
/24 255.255.255.0
/25 255.255.255.128
/26 255.255.255.192
/27 255.255.255.224
/28 255.255.255.240
/29 255.255.255.248
/30 255.255.255.252
/31 255.255.255.254
/32 255.255.255.255
เป็นตัวอย่างของการย้ายสิ่งเหล่านี้ไปยัง octet อื่น / 18 (ซึ่ง / 26 ลบ 8 บิตดังนั้นเลื่อน octet) จะเป็น 255.255.192.0
แต่ละ octet มีค่า 8
ดังนั้นคุณสามารถ จำกัด เครือข่ายย่อยของคุณได้อย่างรวดเร็วและจากนั้นคุณก็กังวลเกี่ยวกับ 8 บิตสุดท้าย
128, 192, 224, 240, 248, 252, 254, 255
+1 , +2 , +3 , +4 , +5 , +6 , +7 , +8
หวังว่าชัดเจนพอ
ดึกวันหนึ่ง (sic) หวังว่าจะไม่สั้น CIDR คือจำนวนบิตต่อเนื่องหนึ่งบิตในหน้ากาก IPv4 (32 บิต) เริ่มต้นที่บิตที่สำคัญที่สุด
10,000,000 00000000 00000000 00000000 โดยที่ 1 = บิตที่สำคัญที่สุด
รูปแบบทั่วไปคือ / 8, / 16, / 24 ซึ่งทั้งหมดอยู่ในขอบเขต 8 บิต (octet)
11111111 00000000 00000000 00000000 = / 8 = 255.0.0.0
11111111 11111111 00000000 00000000 = / 16 = 255.255.0.0
11111111 11111111 11111111 00000000 = / 24 = 255.255.255.0
มันไม่ยากจริง ๆ เมื่อไม่มีการจัดแนวของออคเต็ต แต่จำเป็นต้องใช้คณิตศาสตร์อย่างง่ายและเข้าใจว่าออคเต็ตคืออะไร
11111111 11111111 11100000 00000000 = / 19
octet สองตัวแรกของหน้ากากคือ 255.255 (/ 16 น้อยกว่า / 19) octet สุดท้ายคือ 0 (/ 19 น้อยกว่า / 24) จนถึงตอนนี้เราก็รู้
11111111 11111111 11100000 00000000 = / 19 = 255.255.?.0
เมื่อดูที่แต่ละ octet โปรดจำไว้ว่ามันคือค่า 8 บิต 0 - 255
0 0 0 0 0 0 0 0
1
2 6 3 1
8 4 2 6 8 4 2 1
ดังนั้นออคเต็ตที่สาม (?) 11100000 คือ 128 + 64 + 32 = 224 นั่นหมายความว่า
11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0
มันเป็นข้อผิดพลาดอย่างมากที่มีแนวโน้มที่จะคำนวณเครือข่ายที่ไม่สำคัญด้วยมือ ลองใช้เครื่องคิดเลข CIDRแทน
ipcalc
และเลือกsipcalc
ได้ดีกว่า แต่อย่างไรก็ตาม +1
ในทางตรงกันข้ามฉันคิดว่าเป็นการดีที่จะเข้าใจCIDRอย่างสมบูรณ์และสามารถทำการคำนวณในสมองของคุณ ... แต่บางครั้งคุณต้องการตรวจสอบการคำนวณของคุณอีกครั้ง ฉันชอบใช้PHP Subnet Calculator : http://share-foo.com/SubnetCalc.php
เอกสารที่ดีอีกประการหนึ่งที่จะมีถ้าคุณเพียงต้องการอ้างอิงโต๊ะเขียนหนังสือ, เป็น RFC 1878 - ตัวแปรความยาว Subnet ตารางสำหรับ IPv4