คุณคำนวณคำนำหน้าเครือข่ายซับเน็ตและหมายเลขโฮสต์ได้อย่างไร


97

ตัวอย่าง:

IP: 128.42.5.4

ในไบนารี: 10,000000 00101010 00000101 00000100

ซับเน็ต: 255.255.248.0

คุณจะกำหนดหมายเลขนำหน้าเครือข่ายซับเน็ตและหมายเลขโฮสต์ได้อย่างไร

คำตอบ:


164

การคำนวณ Netmask Length (หรือที่เรียกว่าคำนำหน้า):

แปลงการแทนค่าทศนิยมแบบจุดของ netmask เป็นไบนารี จากนั้นนับจำนวนของ 1 บิตที่ต่อเนื่องกันโดยเริ่มจากบิตที่สำคัญที่สุดใน octet แรก (เช่นทางซ้ายมือของหมายเลขไบนารี)

255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           -----------------------------------
                           I counted twenty-one 1s             -------> /21

คำนำหน้าของ 128.42.5.4 กับ 255.255.248.0 netmask คือ / 21

การคำนวณที่อยู่เครือข่าย:

ที่อยู่เครือข่ายเป็นตรรกะและของบิตตามลำดับในการเป็นตัวแทนไบนารีของที่อยู่ IP และเครือข่ายมาสก์ จัดแนวบิตในที่อยู่ทั้งสองและดำเนินการตรรกะและบนแต่ละคู่ของบิตที่เกี่ยวข้อง จากนั้นแปลงค่าออคเต็ตส่วนบุคคลของผลลัพธ์กลับเป็นทศนิยม

ตารางตรรกะและความจริง:

ตรรกะและ

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           ----------------------------------- [Logical AND]
                           10000000 00101010 00000000 00000000 ------> 128.42.0.0

อย่างที่คุณเห็นที่อยู่เครือข่ายของ 128.42.5.4/21 คือ 128.42.0.0

การคำนวณที่อยู่ออกอากาศ:

ที่อยู่การออกอากาศแปลงบิตโฮสต์ทั้งหมดเป็น 1s ...

โปรดจำไว้ว่าที่อยู่ IP ของเราเป็นทศนิยมคือ:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100

หน้ากากเครือข่ายคือ:

255.255.248.0   in binary: 11111111 11111111 11111000 00000000

ซึ่งหมายความว่าบิตโฮสต์ของเราเป็น 11 บิตสุดท้ายของที่อยู่ IP เนื่องจากเราพบโฮสต์รูปแบบโดยการย้อนกลับมาส์กเครือข่าย:

Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh

ในการคำนวณที่อยู่ออกอากาศเราบังคับให้บิตโฮสต์ทั้งหมดเป็น 1 วินาที:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh
                           ----------------------------------- [Force host bits]
                           10000000 00101010 00000111 11111111 ----> 128.42.7.255

กำลังคำนวณซับเน็ต:

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

สมมติว่าเราจะแบ่ง 128.42.0.0/21 ออกเป็น 4 ซับเน็ตที่ต้องมีโฮสต์อย่างน้อย 100 โฮสต์ต่อ ...

subnetting

ในตัวอย่างนี้เรารู้ว่าคุณต้องมีคำนำหน้าอย่างน้อย / 25 เพื่อให้มี 100 โฮสต์ ฉันเลือก / 24 เพราะตรงกับขอบเขตของออคเต็ต ขอให้สังเกตว่าที่อยู่เครือข่ายสำหรับแต่ละเครือข่ายย่อยยืมบิตโฮสต์จากบล็อกเครือข่ายหลัก

การค้นหา subnet masklength หรือ netmask ที่ต้องการ:

ฉันรู้ได้อย่างไรว่าฉันต้องการหน้ากากยาวอย่างน้อย 25 ตัวสำหรับโฮส 100 ตัว? คำนวณคำนำหน้าด้วยการสำรองจำนวนโฮสต์บิตที่ต้องการเพื่อให้มี 100 โฮสต์ หนึ่งต้องการ 7 บิตโฮสต์เพื่อให้มี 100 โฮสต์ คำนวณอย่างเป็นทางการด้วย:

Host bits = Log 2 (จำนวนโฮสต์) = Log 2 (100) = 6.643

เนื่องจากที่อยู่ IPv4 นั้นกว้าง 32 บิตและเราใช้โฮสต์บิต (เช่นบิตที่สำคัญน้อยที่สุด) เพียงแค่ลบ 7 จาก 32 เพื่อคำนวณคำนำหน้าเครือข่ายย่อยขั้นต่ำสำหรับแต่ละเครือข่าย ... 32 - 7 = 25

วิธีขี้เกียจที่จะแบ่ง 128.42.0.0/21 เป็นสี่เครือข่ายย่อยที่เท่ากัน:

เนื่องจากเราต้องการเพียงสี่ซับเน็ตจากทั้ง 128.42.0.0/21 บล็อกเราจึงสามารถใช้ / 23 ซับเน็ต ฉันเลือก / 23 เพราะเราต้องการ 4 เครือข่ายย่อย ... นั่นคือเพิ่มอีกสองบิตใน netmask

นี่คือคำตอบที่ถูกต้องเท่าเทียมกันกับข้อ จำกัด โดยใช้ / 23 subnets 128.42.0.0/21 ...

subnetting ตัวเลือกที่ 2

การคำนวณหมายเลขโฮสต์:

นี่คือสิ่งที่เราได้ทำไปแล้ว ... เพียงนำมาสก์โฮสต์กลับมาจากงานที่เราทำเมื่อเราคำนวณที่อยู่การออกอากาศที่ 128.42.5.4/21 ... ครั้งนี้ฉันจะใช้ 1 วินาทีแทนhเพราะเราต้องการ เพื่อดำเนินการตรรกะและบนที่อยู่เครือข่ายอีกครั้ง

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000111 11111111
                           ----------------------------------- [Logical AND]
                           00000000 00000000 00000101 00000100 -----> 0.0.5.4

การคำนวณจำนวนโฮสต์สูงสุดที่เป็นไปได้ในซับเน็ต:

หากต้องการค้นหาจำนวนโฮสต์สูงสุดให้ดูที่จำนวนบิตบิตในหมายเลขโฮสต์ด้านบน วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการลบความยาว netmask จาก 32 (จำนวนบิตในที่อยู่ IPv4) สิ่งนี้จะให้จำนวนบิตโฮสต์ในที่อยู่ ณ จุดนั้น ...

จำนวนโฮสต์สูงสุด = 2 ** (32 - netmask_length) - 2

สาเหตุที่เราลบ 2 ด้านบนนั้นเป็นเพราะหมายเลขออล - อิกและออล - โฮสจำนวนศูนย์ถูกสงวนไว้ หมายเลขโฮสต์ all-zeros คือหมายเลขเครือข่าย หมายเลขโฮสต์ของทุกคนคือที่อยู่ออกอากาศ

ใช้ subnet ตัวอย่างที่ 128.42.0.0/21 ด้านบนจำนวนโฮสต์คือ ...

จำนวนโฮสต์สูงสุด = 2 ** (32 - 21) - 2 = 2048 - 2 = 2046

การค้นหา netmask สูงสุด (hostmask ขั้นต่ำ) ซึ่งมีที่อยู่ IP สองแห่ง:

สมมติว่ามีใครบางคนให้ที่อยู่ IP ของเราสองรายการและคาดหวังให้เราหา netmask ที่ยาวที่สุดซึ่งมีทั้งคู่ ตัวอย่างเช่นถ้าเรามี:

  • 128.42.5.17
  • 128.42.5.67

สิ่งที่ง่ายที่สุดที่จะทำคือการแปลงทั้งสองเป็นไบนารี่และค้นหาสตริงเครือข่ายบิตที่ยาวที่สุดจากด้านซ้ายมือของที่อยู่

128.42.5.17     in binary: 10000000 00101010 00000101 00010001
128.42.5.67     in binary: 10000000 00101010 00000101 01000011
                           ^                           ^     ^
                           |                           |     |
                           +--------- Network ---------+Host-+
                             (All bits are the same)    Bits

ในกรณีนี้ netmask สูงสุด (hostmask ขั้นต่ำ) จะเป็น / 25

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


15

คำตอบข้างต้นกระทบเล็บบนหัวอย่างสมบูรณ์แบบ อย่างไรก็ตามเมื่อฉันเริ่มต้นครั้งแรกมันเอาฉันตัวอย่างที่แตกต่างกันสองสามแหล่งที่มาเพื่อให้ตีบ้านจริงๆ ดังนั้นหากคุณสนใจตัวอย่างอื่น ๆ ฉันได้เขียนบทความในหัวข้อ - http://www.oznetnerd.com/category/subnetting/

ผู้ดูแลระบบหากโพสต์นี้ถือเป็นสแปมโปรดลบออก

แก้ไข: ตามคำแนะนำของ YLearn ฉันจะพยายามหยิบชิ้นส่วนที่เกี่ยวข้องจากส่วนที่ 1 ของซีรี่ส์ของฉันโดยไม่ต้องแปะรายการทั้งหมดที่นี่

ลองใช้ตัวอย่าง 195.70.16.159/30

เนื่องจากเป็น / 30 เรารู้ว่าส่วนโฮสต์จะอยู่ใน octet ที่สี่ ลองแปลงมันเป็นไบนารี:

128 64 32 16  8  4 2 1
SN  SN SN SN SN SN H H
 1   0  0  1  1  1 1 1

ตอนนี้เพื่อค้นหาที่อยู่เครือข่ายทั้งหมดที่เราทำคือเพิ่มบิต SN ที่มี 1 อยู่ข้างใต้พวกเขาเข้าด้วยกัน (128 + 16 + 8 + 4 = 156)

เมื่อคุณเพิ่ม 156 นี้ในสาม octet แรกของที่อยู่เราจะเหลือที่อยู่เครือข่าย 195.70.16.156

ตอนนี้เรารู้แล้วว่าที่อยู่ที่ใช้งานได้แรกนั้นเป็นที่อยู่เครือข่ายบวกเสมอที่อยู่ทั้งหมดที่เราต้องทำคือทำการคำนวณต่อไปนี้: (156 + 1 = 157)

สิ่งนี้ทำให้เรามีที่อยู่แรกที่สามารถใช้งานได้ 195.70.16.157

ทีนี้ลองข้ามที่อยู่ที่ใช้งานได้สุดท้ายซักครู่แล้วค้นหาที่อยู่ออกอากาศ ในการค้นหาว่ามันคืออะไรสิ่งที่เราต้องทำคือการเพิ่มบิต H ทั้งหมดเข้าด้วยกัน (ไม่ว่าจะเป็น 1 หรือ 0) จากนั้นเพิ่มหมายเลขนี้ไปยังที่อยู่เครือข่าย (2 + 1 + 156 = 159)

สิ่งนี้ทำให้เรามีที่อยู่ออกอากาศ 195.70.16.159

และสุดท้ายเรามาหาที่อยู่ที่ใช้งานได้ล่าสุด กระบวนการนี้คล้ายกับการค้นหาที่อยู่ที่ใช้งานครั้งแรกอย่างไรก็ตามแทนที่จะเพิ่มที่อยู่เครือข่ายเราจะลบหนึ่งที่อยู่จากการออกอากาศที่อยู่ (159 - 1 = 158)

สิ่งนี้ทำให้เรามีที่อยู่ที่ใช้งานได้ครั้งสุดท้ายที่ 195.70.16.158

และที่นั่นเรามีมัน! เทมเพลตของเราเสร็จสมบูรณ์แล้ว เพื่อการอ้างอิงที่ง่ายนี่เป็นอีกครั้ง:

  • ที่อยู่เครือข่าย: 195.70.16.156
  • ที่อยู่ที่ใช้งานได้ครั้งแรก: 195.70.16.157
  • ที่อยู่ที่ใช้งานได้ล่าสุด: 195.70.16.158
  • ที่อยู่ออกอากาศ: 195.70.16.159

เป็นทางลัดคุณสามารถใช้สูตรนี้ มันทำงานบนเครือข่ายย่อยทุกขนาด:

  • ที่อยู่ที่ใช้งานได้ครั้งแรก = ที่อยู่เครือข่าย + 1
  • Broadcast Address = ที่อยู่เครือข่ายถัดไป - 1
  • ที่อยู่ที่ใช้งานได้ล่าสุด = ที่อยู่การออกอากาศ - 1

4
เล็ก ๆ (ที่ไม่มีนัยสำคัญเกือบ) ข้อแม้: สุดท้ายสูตรที่อยู่ใช้สอยในการทำงานด้านล่างสำหรับเครือข่ายย่อยทั้งหมดยกเว้น / 31 ... ดูRFC 3021 เป็นข้อยกเว้นเล็กน้อย แต่มีความเกี่ยวข้องหากมีคนพยายามใช้อัลกอริทึมของคุณเป็นรหัส
Mike Pennington

11

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


ส่วนที่ 1 จาก 2


คณิตศาสตร์ IPv4

ด้วยที่อยู่ IPv4 และมาสก์เครือข่าย IPv4 (มาสก์เครือข่ายสามารถได้มาจากความยาวมาสก์เครือข่ายหรือมาสก์โฮสต์) คุณสามารถกำหนดข้อมูลมากมายเกี่ยวกับเครือข่าย IPv4: ที่อยู่เครือข่ายที่อยู่เครือข่ายออกอากาศที่อยู่โฮสต์ทั้งหมด ที่อยู่โฮสต์, ที่อยู่โฮสต์ที่ใช้งานได้ครั้งแรกและที่อยู่โฮสต์ที่ใช้งานได้ครั้งสุดท้าย

ฉันไม่สามารถเครียดพอที่คุณต้องทำคณิตศาสตร์ IPv4 ในไบนารี ฉันคิดว่าวิศวกรเครือข่ายทุกคน (หรือจะเป็นวิศวกรเครือข่าย) ได้พยายามหาวิธีที่จะทำมันทั้งหมดในรูปแบบทศนิยมเช่นฉันแน่ใจว่าคุณจะ * ปัญหาคือ 10 (ทศนิยม) ไม่ใช่พลังของ 2 (เลขฐานสอง) ดังนั้นทศนิยมและฐานสองจะไม่แปลงโดยธรรมชาติระหว่างวิธีการที่เลขฐานสิบหก (ฐาน 16) ตามธรรมชาติแปลงเป็นและจากไบนารีเนื่องจาก 16 เป็นพลังของ 2 .

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

หากคุณไม่มีเครื่องคิดเลข IP (อาจไม่ได้รับอนุญาตในการสอบระดับเครือข่ายการศึกษาหรือการทดสอบเพื่อรับรอง) มันจะมีประโยชน์ในการทำแผนภูมิค่าของบิตใน octet เนื่องจากนี่คือไบนารีค่าบิตแต่ละค่าจะเป็น 2 เท่าของตัวเลขหลักเดียวกันในตัวเลขที่มีนัยสำคัญน้อยกว่าถัดไป แต่ละหลักคือฐานจำนวนคูณด้วยค่าตัวเลขเดียวกันในตัวเลขที่มีนัยสำคัญน้อยกว่าถัดไป สิ่งนี้ยังเป็นจริงสำหรับฐานตัวเลขอื่น ๆ รวมถึงทศนิยม (ฐาน 10) โดยที่แต่ละค่าหลักคือ 10 เท่าของมูลค่าของตัวเลขหลักเดียวกันในตำแหน่งตัวเลขที่มีความสำคัญน้อยกว่าถัดไป สำหรับเลขฐานสอง (บิต):

---------------------------------------------------------
| Bit # |   7 |   6 |   5 |   4 |   3 |   2 |   1 |   0 |
---------------------------------------------------------
| Value | 128 |  64 |  32 |  16 |   8 |   4 |   2 |   1 |
---------------------------------------------------------

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

For our example IPv4 dotted-decimal address of 198.51.100.223:
1st octet: 198 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 11000110
2nd octet:  51 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 = 00110011
3rd octet: 100 =   0 + 64 + 32 +  0 + 0 + 4 + 0 + 0 = 01100100
4th octet: 223 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 11011111

For our example IPv4 binary address of 11000110001100110110010011011111:
1st octet: 11000110 = 128 + 64 +  0 +  0 + 0 + 4 + 2 + 0 = 198
2nd octet: 00110011 =   0 +  0 + 32 + 16 + 0 + 0 + 2 + 1 =  51
3rd octet: 01100100 =   0 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 100
4th octet: 11011111 = 128 + 64 +  0 + 16 + 8 + 4 + 2 + 1 = 223

คุณจะต้องจดจำความจริงของตารางจากโรงเรียน (ในเลขฐานสองคณิตศาสตร์ 0 เป็นเท็จและ 1 เป็นจริง):

-----------------------------------------
| False AND False = False | 0 AND 0 = 0 |
-----------------------------------------
| False AND True  = False | 0 AND 1 = 0 |
-----------------------------------------
| True  AND False = False | 1 AND 0 = 0 |
-----------------------------------------
| True  AND True  = True  | 1 AND 1 = 1 |
-----------------------------------------

-----------------------------------------
| False OR False = False  | 0 OR 0 = 0  |
-----------------------------------------
| False OR True  = True   | 0 OR 1 = 1  |
-----------------------------------------
| True  OR False = True   | 1 OR 0 = 1  |
-----------------------------------------
| True  OR True  = True   | 1 OR 1 = 1  |
-----------------------------------------

* ถ้าคุณใช้คณิตศาสตร์ IPv4 เป็นเวลาหลายปีคุณอาจไปถึงจุดที่คุณสามารถทำการแปลงเลขฐานสอง / ทศนิยมในหัวของคุณและจากนั้นคุณสามารถปรากฏว่าสามารถทำคณิตศาสตร์ IPv4 เป็นทศนิยมได้ แม้ว่าฉันสามารถทำได้ในหัวของฉันฉันจะตรวจสอบอีกครั้งด้วยเครื่องคิดเลข IP หรือแปลงเป็นเลขฐานสองดำเนินการทางคณิตศาสตร์และแปลงกลับเป็นทศนิยมก่อนที่จะยอมรับการเปลี่ยนแปลงในเครือข่ายการผลิต


ที่อยู่ IPv4

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

ตัวอย่างที่อยู่ IPv4 ของเรา198.51.100.223นั้นแท้จริงแล้ว11000110001100110110010011011111กับอุปกรณ์บนเครือข่ายดังนั้นคุณจะเห็นได้ว่าการแสดงทศนิยมแบบจุดประทำให้ผู้คนง่ายขึ้น แต่ละ octet คือแปดบิตของที่อยู่ 32- บิต (ดังนั้นคำที่ใช้กันทั่วไปคือ "octet") ดังนั้นจึงมีสี่ octets ( 32 address bits / 8 bits per octet = 4 octets) ตัวอย่างที่อยู่ไบนารี 32 บิตของเราถูกแบ่งออกเป็นสี่ octets จากนั้นแต่ละ octet ไบนารีจะถูกแปลงเป็นเลขทศนิยม *:

Binary address: 11000110001100110110010011011111
                ---------------------------------------------
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
Decimal octets: |      198 |       51 |      100 |      223 |
                ---------------------------------------------
Dotted-decimal: 198.51.100.223

เนื่องจากแต่ละ octet มีความยาวแปดบิตแต่ละ octet จะมีค่าระหว่าง0และ255(ค่าใด ๆ ที่มากกว่าค่า255นั้นไม่ถูกต้อง) เหตุผลคือ2^8 = 256: 2(ฐานเลขฐานสอง8) เท่ากับกำลังของ(แปดบิตต่อ octet) เท่ากับ256จำนวนของค่าที่แตกต่างกันที่สามารถแสดงได้โดย octet แปดบิต โปรดจำไว้ว่าค่าแรกคือ0ดังนั้น256ค่า th จะน้อยกว่าค่ารวมที่สามารถแสดง ( 256 – 1 = 255)

ในการดำเนินการคณิตศาสตร์ IPv4 อย่างถูกต้องคุณต้องทำในรูปแบบไบนารีมิฉะนั้นคุณจะทำผิดพลาดที่จะทำให้คุณเกิดปัญหาและความยุ่งยาก นั่นหมายความว่าคุณต้องแปลงสัญกรณ์ทศนิยมแบบจุดเป็นไบนารี่ก่อนที่จะพยายามจัดการมัน:

Dotted-decimal: 198.51.100.223
                ---------------------------------------------
Decimal octets: |      198 |       51 |      100 |      223 |
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
                ---------------------------------------------
Binary address: 11000110001100110110010011011111

* เลขศูนย์นำหน้าในที่อยู่ IPv4 ทศนิยมแบบจุดอาจถูกตีความโดยบางแอปพลิเคชันและภาษาการเขียนโปรแกรมเป็นฐานแปด (ฐาน 8) แทนที่จะเป็นเลขฐานสิบ (ฐาน 10) ทำให้เกิดข้อผิดพลาดและเลขศูนย์นำหน้าควรหลีกเลี่ยง แต่เลขศูนย์นำหน้าเป็นสิ่งจำเป็นสำหรับอ็อกเท็ตแอดเดรส IPv4 แบบไบนารีเนื่องจากมันแสดงตำแหน่งบิตในที่อยู่แบบเต็มและการออกจากตำแหน่งบิตจะทำให้ที่อยู่สั้นลงและเปลี่ยนค่าไบนารี


หน้ากากเครือข่าย IPv4

มาสก์เครือข่าย IPv4 ถูกใช้เพื่อแบ่งที่อยู่ IPv4 ออกเป็นสองส่วนคือส่วนเครือข่ายและส่วนโฮสต์ การหารสามารถอยู่ที่บิตใดก็ได้ดังนั้นจึงอาจอยู่ในออคเต็ตไม่ใช่ในขอบเขตออคเต็ตเนื่องจากมีคนจำนวนมากคิดว่ามันไม่ถูกต้อง มาสก์เครือข่าย IPv4 มีขนาดเดียวกับที่อยู่ IPv4 (32 บิต) และมันจะแสดงเป็นรูปแบบทศนิยมแบบจุดเดียวกับที่คุณจะแสดงที่อยู่ IPv4 ในรูปแบบเลขฐานสิบแปด (แปดแปดบิตแปดบิตคั่นด้วย ระยะเวลา) ตัวอย่างเช่น255.255.248.0.

มาสก์เครือข่าย IPv4 ประกอบด้วยจำนวน1บิตต่อเนื่อง(แทนส่วนเครือข่ายของที่อยู่) ตามด้วยจำนวน0บิต (แสดงถึงส่วนโฮสต์ของที่อยู่) จำนวน1บิตทั้งหมดและจำนวน0บิตรวมเพิ่มขึ้น32จำนวนบิตในที่อยู่ IPv4 หรือหน้ากากเครือข่าย สำหรับตัวอย่างเครือข่ายของเรา:

Dotted-decimal: 255.255.248.0
                ------------------------------------------------
Decimal octets: |      255 |      255 |         248 |        0 |
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------

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

มาสก์เครือข่าย IPv4 มักจะถูกแสดงด้วยจำนวน1บิตต่อเนื่องในรูปแบบ สิ่งนี้เรียกว่าความยาวมาสก์เครือข่ายหรือความยาวส่วนนำหน้าและจะแสดงเป็น/ตามด้วยจำนวน1บิตต่อเนื่องในรูปแบบเครือข่าย สำหรับตัวอย่างของเราการนับจำนวน1บิตต่อเนื่องจะได้รับ21ซึ่งสามารถแทน/21ได้

ด้วยความยาวรูปแบบคุณสามารถคำนวณการแสดงรูปแบบจุดแบบทศนิยม เพียงใส่จำนวน1บิตสำหรับความยาวมาสก์และเพิ่ม0บิตให้เพียงพอที่ส่วนท้ายของจำนวน32บิตทั้งหมด แปลงเลขฐานสองผลลัพธ์เป็นตัวแทนทศนิยมจุด:

Mask length:    /21
                ------------------------------------------------
                | 21 Network bits             | 11 Host bits   |
                ------------------------------------------------
Binary octets:  | 11111111 | 11111111 | 11111 | 000 | 00000000 |
Decimal octets: |      255 |      255 |         248 |        0 |
                ------------------------------------------------
Dotted-decimal: 255.255.248.0

ตัวอย่างที่อาจจะแสดงเป็นประเพณีที่198.51.100.223มีหน้ากากเครือข่าย255.255.248.0หรือมันอาจจะแสดงเป็น CIDR ที่ทันสมัยมากขึ้น (Classless Inter-Domain 198.51.100.223/21Routing)


ที่อยู่เครือข่าย IPv4

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

สำหรับตัวอย่าง IPv4 address 198.51.100.223และ network mask ของเรา255.255.248.0:

Decimal address:        198.51.100.223/21
Binary address octets:  11000110 00110011 01100100 11011111
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.0

ที่คุณสามารถดูที่อยู่เครือข่ายคือ198.51.100.223/21 198.51.96.0ขอให้สังเกตว่าคุณไม่สามารถพึ่งพาออคเต็ตเพื่อบอกคุณว่าส่วนใดของที่อยู่คือเครือข่ายและส่วนใดของที่อยู่สำหรับโฮสต์

คุณสามารถใช้วิธีนี้เพื่อตรวจสอบว่าที่อยู่สองแห่งอยู่บนเครือข่ายเดียวกันหรือต่างกัน * ตัวอย่างเช่นหากคุณต้องการดูว่าที่198.51.100.223/21อยู่ของคุณอยู่ในเครือข่าย IPv4 เดียวกันกับโฮสต์ที่กำหนดที่198.51.102.57อยู่ให้ระบุที่อยู่เครือข่าย IPv4 ของคุณ (ดังที่กล่าวมา) จากนั้นตรวจสอบที่อยู่เครือข่าย IPv4 ของโฮสต์ที่เป็นปัญหาโดยใช้มาสก์เครือข่าย IPv4 ของคุณ (โฮสต์ในเครือข่ายเดียวกันใช้มาสก์เครือข่ายเดียวกันและคุณอาจไม่มีมาส์กเฉพาะที่อยู่ของโฮสต์ปลายทาง):

Decimal address:        198.51.102.57/21
Binary address octets:  11000110 00110011 01100110 00111001
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  11000110 00110011 01100000 00000000
Decimal network octets:      198       51       96        0
Dotted-decimal network: 198.51.96.0

เปรียบเทียบที่อยู่เครือข่าย IPv4 ที่ได้ผลลัพธ์กับที่อยู่เครือข่าย IPv4 ดั้งเดิมและสังเกตว่าที่อยู่เครือข่ายนั้นเท่ากันดังนั้นที่อยู่โฮสต์จึงอยู่ในเครือข่ายเดียวกัน

ตอนนี้มาดูกันว่าคุณอยู่ในเครือข่ายเดียวกับ74.125.69.100ที่อยู่ Google หรือไม่:

Decimal address:        74.125.69.100/21
Binary address octets:  01001010 01111101 01000101 01100100
Binary mask octets:     11111111 11111111 11111000 00000000 AND
                        -----------------------------------
Binary network octets:  01001010 01111101 01000000 00000000
Decimal network octets:       74      125       64        0
Dotted-decimal network: 74.125.64.0

เปรียบเทียบที่อยู่เครือข่าย IPv4 ที่เป็นผลลัพธ์กับที่อยู่เครือข่าย IPv4 ดั้งเดิมและสังเกตว่าที่อยู่เครือข่ายนั้นแตกต่างกันดังนั้นที่อยู่โฮสต์จึงอยู่ในเครือข่ายที่ต่างกัน


* นี่เป็นวิธีที่โฮสต์ต้นทางใช้เพื่อตรวจสอบว่าเป็นโฮสต์ปลายทางในเครือข่ายเดียวกันกับโฮสต์ต้นทางหรือไม่


IPv4 Host Mask

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

Dotted-decimal network mask: 255.255.248.0
Decimal network mask octets:      255      255      248        0
Binary network mask octets:  11111111 11111111 11111000 00000000 invert
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

มีความเป็นไปได้ที่จะสร้างหน้ากากโฮสต์จากหน้ากากเครือข่ายหรือหน้ากากเครือข่ายจากหน้ากากโฮสต์โดยการลบหน้ากากเริ่มต้นจากหน้ากากที่ยาวที่สุด ( /32หรือหน้ากากทั้งหมด)

ที่สามารถทำได้ในไบนารี:

Binary all-ones mask octets: 11111111 11111111 11111111 11111111
Binary network mask octets:  11111111 11111111 11111000 00000000 -
                             -----------------------------------
Binary host mask octets:     00000000 00000000 00000111 11111111
Decimal host mask octets:           0        0        7      255
Dotted-decimal host mask:    0.0.7.255

ที่สามารถทำได้ในรูปทศนิยม (all-ones octet คือ255) แต่ต้องแน่ใจว่าได้แปลงเป็นไบนารี่ก่อนที่จะพยายามใช้มันเพื่อจัดการกับที่อยู่:

Decimal all-ones mask octets: 255 255 255 255
Decimal network mask octets:  255 255 248   0 -
                              ---------------
Decimal host mask octets:       0   0   7 255
Dotted-decimal host mask:     0.0.7.255

ที่อยู่เครือข่าย IPv4

ที่อยู่ออกอากาศเครือข่าย IPv4 เป็นที่อยู่เครือข่าย IPv4 1กับทุกบิตโฮสต์ที่กำหนดให้ มีหลายวิธีในการคำนวณที่อยู่เครือข่ายการออกอากาศ IPv4

สำหรับตัวอย่างที่อยู่ IPv4 198.51.100.223และเครือข่ายของ255.255.248.0เรา

คุณสามารถดำเนินการ bitwise ORด้วยที่อยู่ IPv4 หรือที่อยู่เครือข่ายด้วยหน้ากากโฮสต์:

Decimal address octets:        198       51      100      223
Binary address octets:    11000110 00110011 01100100 11011111
Binary host mask octets:  00000000 00000000 00000111 11111111 OR
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

คุณสามารถเพิ่มมูลค่าของหน้ากากโฮสต์ IPv4 ให้กับค่าของที่อยู่เครือข่าย IPv4:

Binary network octets:    11000110 00110011 01100000 00000000
Binary host mask octets:  00000000 00000000 00000111 11111111 +
                          -----------------------------------
Binary broadcast octets:  11000110 00110011 01100111 11111111
Decimal broadcast octets:      198       51      103      255
Dotted-decimal broadcast: 198.51.103.255

นี่เป็นสิ่งที่คุณสามารถทำได้ในรูปทศนิยม:

Decimal network octets:   198  51  96   0
Decimal host mask octets:   0   0   7 255 +
                          ---------------
Decimal broadcast octets: 198  51 103 255
Dotted-decimal broadcast: 198.51.103.255

ที่อยู่โฮสต์เครือข่าย IPv4 ทั้งหมด

จำนวนที่อยู่โฮสต์ IPv4 ทั้งหมดสำหรับเครือข่ายคือ2กำลังของจำนวนบิตโฮสต์ซึ่ง32ลบด้วยจำนวนบิตเครือข่าย สำหรับตัวอย่างของ/21เครือข่าย (หน้ากาก255.255.248.0เครือข่าย) มี11บิตโฮสต์ ( 32 address bits – 21 network bits = 11 host bits) นั่นหมายความว่ามีที่อยู่2048โฮสต์ทั้งหมดใน/21เครือข่าย IPv4 ( 2^11 = 2048)


ที่อยู่โฮสต์เครือข่าย IPv4 ที่ใช้ได้ทั้งหมด

ยกเว้น/31(เครือข่ายมาสก์255.255.255.254) และ/32(เครือข่ายมาสก์255.255.255.255) จำนวนที่อยู่โฮสต์ที่ใช้งานได้บนเครือข่าย IPv4 คือจำนวนรวมของที่อยู่โฮสต์เครือข่ายลบ2(เนื่องจากเครือข่าย IPv4 และที่อยู่การออกอากาศไม่สามารถใช้งานได้สำหรับที่อยู่โฮสต์บนเครือข่าย ต้องลบออกจากจำนวนที่อยู่โฮสต์ที่ใช้งานได้) สำหรับตัวอย่างของเครือข่าย/21( 255.255.248.0) เรามีที่อยู่2046โฮสต์ที่ใช้งานได้ ( 2^11 - 2 = 2046)


ที่อยู่โฮสต์เครือข่าย IPv4 แรกที่ใช้งานได้

ยกเว้น/31เครือข่าย (มาสก์เครือข่าย255.255.255.254) และ/32(เครือข่ายมาสก์255.255.255.255) ที่อยู่โฮสต์เครือข่าย IPv4 แรกที่ใช้งานได้คือที่อยู่เครือข่าย IPv4 บวก1(ที่อยู่เครือข่าย IPv4 ไม่สามารถใช้งานได้สำหรับที่อยู่โฮสต์เครือข่าย) สำหรับเครือข่ายตัวอย่างของเราที่198.51.96.0/21อยู่โฮสต์เครือข่ายที่ใช้งานได้ครั้งแรกคือ198.51.96.1( 198.51.96.0 + 1 = 198.51.96.1) เพียงตั้งบิตที่อยู่ต่ำสุดของที่อยู่เครือข่าย IPv4 แบบไบนารีให้เป็น1:

Decimal network octets:      198       51       96        0
Binary network octets:  11000110 00110011 01100000 00000000
                        -----------------------------------
Binary address octets:  11000110 00110011 01100000 00000001
Decimal address octets:      198       51       96        1
Dotted-decimal address: 198.51.96.1

ที่อยู่โฮสต์เครือข่าย IPv4 ที่ใช้งานได้ล่าสุด

ยกเว้น/31เครือข่าย (มาสก์เครือข่าย255.255.255.254) และ/32(เครือข่ายมาสก์255.255.255.255) ที่อยู่โฮสต์เครือข่าย IPv4 ที่ใช้งานได้ล่าสุดคือที่อยู่เครือข่าย IPv4 ลบด้วยลบ1(ที่อยู่เครือข่าย IPv4 ออกอากาศไม่สามารถใช้งานได้สำหรับที่อยู่โฮสต์เครือข่าย) สำหรับตัวอย่างเครือข่ายของเราที่อยู่เครือข่าย198.61.96.0/21ที่ใช้งานได้ล่าสุดคือ198.51.103.254( 198.51.103.255 - 1 = 198.51.103.254) เพียงตั้งค่าบิตต่ำของการออกอากาศเครือข่าย IPv4 แบบไบนารีให้เป็น0:

Decimal broadcast octets:      198       51      103      255
Binary broadcast octets:  11000110 00110011 01100111 11111111
                          -----------------------------------
Binary address octets:    11000110 00110011 01100111 11111110
Decimal address octets:        198       51      103      254
Dotted-decimal address:   198.51.103.254

การรวมเครือข่าย IPv4 เข้าด้วยกัน

สำหรับตัวอย่างที่อยู่เครือข่าย198.51.100.223และที่อยู่ IPv4 ของเรา255.255.248.0(หรือ198.51.100.223/21) เราสามารถคำนวณข้อมูลเครือข่ายได้มาก:

Host address:                       198.51.100.223
Network mask:                       255.255.248.0
Network mask length:                21
Host mask:                          0.0.7.255
Host mask length:                   11
*Network address:                   198.51.96.0
*First usable network host address: 198.51.100.1
*Last usable network host address:  198.51.103.254
*Network Broadcast address:         198.51.103.255
Total network host addresses:       2048
Usable network host addresses:      2046

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

  • ที่อยู่เครือข่าย (คำใบ้: เลขคู่)
  • ที่อยู่โฮสต์ที่ใช้งานได้ครั้งแรก (คำใบ้: ที่อยู่เครือข่ายบวก 1, เลขคี่)
  • ที่อยู่โฮสต์ที่ใช้งานได้ล่าสุด (คำใบ้: ที่อยู่การออกอากาศลบ 1, เป็นเลขคู่)
  • ที่อยู่ออกอากาศ (คำใบ้: ที่อยู่เครือข่ายรวมถึง Host Mask จำนวนคี่)

คำแนะนำข้างต้นใช้ไม่ได้กับ/31เครือข่าย (มาสก์เครือข่าย255.255.255.254) หรือ/32(เครือข่ายมาสก์255.255.255.255)

ให้เวลากับการสอบของคุณเพียงพอและปัญหาที่มีหลายวิธีในการตอบคำถามคุณควรใช้หลายวิธีในการตรวจสอบคำตอบอีกครั้ง


อย่างต่อเนื่องในคำตอบต่อไป ...


9

ต่อจากคำตอบก่อนหน้า ...


ส่วนที่ 2 จาก 2


การเลือกที่อยู่เครือข่าย IPv4 (เราเตอร์) ที่อยู่

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


/31เครือข่ายIPv4 (มาสก์255.255.255.254เครือข่าย)

เริ่มแรก/31เครือข่าย (เครือข่ายมาสก์255.255.255.254) ไม่สามารถใช้งานได้เนื่องจากมีเพียงโฮสต์บิตเดียวซึ่งให้ที่อยู่โฮสต์เครือข่ายทั้งหมดสองรายการ แต่จำนวนที่อยู่โฮสต์เครือข่ายที่ใช้งานได้คือจำนวนทั้งหมดของที่อยู่โฮสต์เครือข่ายลบ2( 2 total host addresses - 2 = 0 usable host addresses)

ลิงก์แบบจุดต่อจุดจำเป็นต้องใช้ที่อยู่โฮสต์สองแห่งเท่านั้น (หนึ่งแห่งสำหรับแต่ละจุดสิ้นสุดของลิงก์) วิธีดั้งเดิมในการกำหนดเครือข่าย IPv4 จำเป็นต้องใช้/30เครือข่าย (เครือข่ายมาสก์255.255.255.252) สำหรับการเชื่อมต่อแบบจุดต่อจุด แต่เป็นการสูญเสียที่อยู่โฮสต์เครือข่ายเพียงครึ่งเดียวเนื่องจาก/30เครือข่ายมีที่อยู่เครือข่ายทั้งหมดสี่ที่อยู่ ( 2^2 – 2 = 2)

ด้วยการขาดแคลนที่อยู่ IPv4 ที่สำคัญมาตรฐานถูกสร้างขึ้นเพื่ออนุญาตให้ใช้/31เครือข่ายสำหรับการเชื่อมโยงแบบจุดต่อจุด นั่นทำให้รู้สึกเพราะไม่จำเป็นต้องมีการออกอากาศในเครือข่ายดังกล่าว: แพ็คเก็ตใด ๆ ที่ส่งโดยโฮสต์บนเครือข่ายจะถูกกำหนดสำหรับโฮสต์อื่น ๆ เท่านั้นในเครือข่ายออกอากาศอย่างมีประสิทธิภาพ บน/31เครือข่ายที่อยู่เครือข่ายเป็นที่อยู่โฮสต์ที่ใช้งานได้ครั้งแรกและที่อยู่การออกอากาศเป็นที่อยู่โฮสต์ที่ใช้งานได้ล่าสุด

น่าเสียดายที่ไม่ใช่ผู้จำหน่ายทั้งหมด (โดยเฉพาะ Microsoft) สนับสนุนมาตรฐานการใช้/31เครือข่ายในการเชื่อมโยงแบบจุดต่อจุดและคุณส่วนใหญ่จะเห็นการเชื่อมโยงแบบจุดต่อจุดโดยใช้/30เครือข่าย


/32เครือข่ายIPv4 (มาสก์255.255.255.255เครือข่าย)

/32(หน้ากากเครือข่าย255.255.255.255) เครือข่ายทั้งเครือข่ายที่มีอยู่ไม่มีโฮสต์และที่อยู่โฮสต์ตัวเอง มีที่อยู่เดียวในเครือข่ายและนั่นคือที่อยู่เครือข่าย เนื่องจากไม่มีโฮสต์อื่นอยู่ในเครือข่ายการรับส่งข้อมูลจึงต้องถูกกำหนดเส้นทางไปยังและจากที่อยู่เครือข่าย

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


เครือข่ายย่อยเครือข่าย IPv4

การซับเน็ตเครือข่ายกำลังสร้างเครือข่ายที่ยาวและยาวกว่าจากที่อยู่เครือข่ายและมาสก์ แนวคิดพื้นฐานคือคุณยืมบิตการสั่งซื้อสูงจากส่วนโฮสต์ของเครือข่ายเดิม สมมติว่าคุณต้องการสร้างเครือข่ายย่อยขนาดเท่ากับ 14 จาก198.51.96.0/21เครือข่ายดั้งเดิมของเรา เมื่อคุณยืมบิตลำดับสูงจากส่วนโฮสต์ของเครือข่ายดั้งเดิมคุณจะได้รับหมายเลขที่เป็นกำลัง2แต่14ไม่ได้เป็นขุมกำลัง2ดังนั้นคุณจะต้องได้รับพลังที่สูงกว่าถัดไป2ซึ่งเกิดขึ้นกับ16( 16 = 2^4) พลังของ2ในกรณีนี้4คือจำนวนบิตโฮสต์ระดับสูงที่จำเป็นสำหรับการยืมจำนวนเครือข่ายย่อยที่จะสร้าง คุณยังสามารถใช้สูตรทางคณิตศาสตร์เพื่อกำหนดจำนวนบิตที่ต้องการ:Log2(X subnets) = Y borrowed bitsปัดเศษเป็นค่าจำนวนเต็มถัดไป:

Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits

สำหรับตัวอย่างของเราต้องการเครือข่ายย่อยขนาดเท่ากัน 14 198.51.96.0/21เครือข่ายเริ่มต้นด้วย0s * ทั้งหมดสำหรับเครือข่ายย่อยแรกเพิ่ม1ไปยังส่วนเครือข่ายย่อยเพื่อรับเครือข่ายย่อยถัดไป:

           ----------------------------------------------
Original:  | 21 network bits       | 11 host bits       |
           ----------------------------------------------
Network:   | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/21
Subnet 1:  | 110001100011001101100 | 0000 |  0000000    | = 198.51.96.0/25
Subnet 2:  | 110001100011001101100 | 0001 |  0000000    | = 198.51.96.128/25
Subnet 3:  | 110001100011001101100 | 0010 |  0000000    | = 198.51.97.0/25
Subnet 4:  | 110001100011001101100 | 0011 |  0000000    | = 198.51.97.128/25
Subnet 5:  | 110001100011001101100 | 0100 |  0000000    | = 198.51.97.128/25
Subnet 6:  | 110001100011001101100 | 0101 |  0000000    | = 198.51.98.128/25
Subnet 7:  | 110001100011001101100 | 0110 |  0000000    | = 198.51.99.0/25
Subnet 8:  | 110001100011001101100 | 0111 |  0000000    | = 198.51.99.128/25
Subnet 9:  | 110001100011001101100 | 1000 |  0000000    | = 198.51.100.0/25
Subnet 10: | 110001100011001101100 | 1001 |  0000000    | = 198.51.100.128/25
Subnet 11: | 110001100011001101100 | 1010 |  0000000    | = 198.51.101.0/25
Subnet 12: | 110001100011001101100 | 1011 |  0000000    | = 198.51.101.128/25
Subnet 13: | 110001100011001101100 | 1100 |  0000000    | = 198.51.102.0/25
Subnet 14: | 110001100011001101100 | 1101 |  0000000    | = 198.51.102.128/25
           ----------------------------------------------
Subnetted: | 25 network bits              | 7 host bits |
           ----------------------------------------------

           ----------------------------------------------
Unused:    | 110001100011001101100 | 111  | 00000000    | = 198.51.103.0/24
           ----------------------------------------------

* มีเรื่องเล่าขานที่ติดตาว่าสำหรับซับเน็ตสำหรับที่อยู่โฮสต์ไม่สามารถใช้เครือข่ายย่อยแบบ all-zeros และ all-ones ได้ แต่ตำนานนี้ถูกยกเลิกอย่างชัดเจนเมื่อหลายปีก่อนโดยมาตรฐาน โชคไม่ดีที่ตำนานนี้ขยายไปยังคลาสเครือข่ายการศึกษาบางส่วนและคำตอบที่ถูกต้องสำหรับชั้นเรียน (ไม่ถูกต้อง) จะใช้เครือข่ายย่อยที่ 2 ถึง 15


มีความเป็นไปได้ที่จะ subnet เครือข่ายไปยัง subnets ขนาดต่างๆ (ทุกเครือข่าย IPv4 เป็น subnet ของที่0.0.0.0/0อยู่เครือข่าย), ในตัวอย่างของเราด้านบน, ที่ subnet ที่ไม่ได้ใช้เป็น/24subnet, แต่สิ่งนี้ต้องมีการวางแผนอย่างระมัดระวัง บิตที่ถูกต้อง

ตัวอย่างเช่นสมมติว่าเราต้องการทั้ง a /26และ/27subnet จาก198.51.96.0/21เครือข่ายของเรา มีสองวิธีในการทำเช่นนั้น: เริ่มต้นด้วย/26ซับเน็ตหรือเริ่มต้นด้วย/27ซับเน็ต

เริ่มต้นด้วย/26ซับเน็ต:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26

เพิ่ม1ในส่วนเครือข่ายย่อยเพื่อรับตำแหน่งเริ่มต้นของเครือข่ายย่อยถัดไป:

Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26

จากนั้นขยายเครือข่ายย่อยที่สองเป็น/27:

Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27

ขอให้สังเกตว่าเราเป็นจริง subnetting ที่สอง/26เครือข่ายย่อยเป็น/27เครือข่ายย่อยและที่ทำงานได้ดีเพราะมีขนาดใหญ่กว่า2726

เริ่มต้นด้วย/27ซับเน็ต:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27

เพิ่ม1ในส่วนเครือข่ายย่อยเพื่อรับตำแหน่งเริ่มต้นของเครือข่ายย่อยถัดไป:

Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27

ขอให้สังเกตว่ามีบิตเหลืออยู่ไม่เพียงพอในส่วนโฮสต์ (ห้าโฮสต์บิต) เพื่อรองรับ/26เครือข่ายซึ่งต้องใช้โฮสต์หกบิต ( 32 address bits – 26 network bits = 6 host bits) หากเราใช้สิ่งนี้เป็นตำแหน่งเริ่มต้นสำหรับ/26เครือข่ายย่อยเราจะทับซ้อน/26เครือข่ายก่อนหน้าและเครือข่ายถัดไป เราต้องเว้นช่องว่างขนาดของ/27เครือข่ายสำหรับตำแหน่งเริ่มต้นของ/26เครือข่าย:

Original: | 110001100011001101100 | 00000000000     | /21
Subnet 1: | 110001100011001101100 | 000000 |  00000 | /27
Unused:   | 110001100011001101100 | 000001 |  00000 | /27
Subnet 2: | 110001100011001101100 | 00001  | 000000 | /26

/26เครือข่ายย่อยมักจะต้องเริ่มต้นใน/26เขตแดน: ทุกครั้งที่ 2 /27ขอบเขตเครือข่ายย่อยทุก 4 /28เขตแดนทุก 8 /29เขตแดน ฯลฯ กฎนี้สำหรับขนาดเครือข่ายย่อย ๆ : เครือข่ายย่อยที่จะต้องเริ่มต้นบนขอบของเครือข่ายย่อยอีกต่อไปว่าจะมีค่าเท่ากับ2สู่อำนาจ ของขนาดเครือข่ายย่อยที่ยาวกว่าลบด้วยขนาดเครือข่ายย่อย ตัวอย่างเช่น/23ซับเน็ตต้องเริ่มต้นในทุก/25เครือข่ายที่4 ( 2^(25 - 23) = 2^2 = 4)

การพยายามกำหนดค่าอุปกรณ์ด้วยที่อยู่เครือข่ายที่เริ่มต้นบนขอบเขตบิตที่ไม่ถูกต้องอาจทำให้เกิดปัญหาแปลก ๆ ยากที่จะแก้ไขปัญหาหรืออุปกรณ์จะให้ข้อผิดพลาดเกี่ยวกับเครือข่ายที่ทับซ้อนกัน บางคนพยายามทำเช่นนี้ด้วยทศนิยมประและนี่อาจทำให้เกิดข้อผิดพลาดได้ ยกตัวอย่างเช่น198.51.96.0/27ที่อยู่โฮสต์เครือข่ายผ่าน198.51.96.0 198.51.96.31หากคุณรู้และลองใช้198.51.96.32/26เครือข่ายคุณจะพบปัญหาเนื่องจากเครือข่ายนั้นเริ่มต้นในขอบเขตบิตที่ไม่ถูกต้องและทับซ้อนกับ/27เครือข่าย (ตรวจสอบโดยใช้ bitwise ANDพร้อมที่อยู่และมาสก์เครือข่าย) มันเห็นได้ชัดในระบบเลขฐานสอง แต่ก็ไม่ชัดเจนในจุดทศนิยม คุณสามารถเรียนรู้ว่า/26เครือข่ายจะต้องเริ่มต้นด้วยทศนิยมหลายเท่า64 ขอบเขต แต่การเห็นในรูปแบบไบนารี่สามารถบอกคุณได้อย่างแน่นอนว่าคุณทำผิดพลาดหรือไม่


การปรับขนาด Subnet ตามจำนวนโฮสต์

คำถามสอบทั่วไปจะให้เครือข่ายแก่คุณและขอให้คุณสร้างเครือข่ายย่อยขนาดต่างๆหลายขนาดตามจำนวนโฮสต์สำหรับแต่ละเครือข่ายย่อย หากคุณสามารถทำได้คุณจะต้องชี้แจงว่าจำนวนโฮสต์นั้นขึ้นอยู่กับจำนวนที่อยู่โฮสต์ทั้งหมดในเครือข่ายหรือหากขึ้นอยู่กับจำนวนโฮสต์ที่ใช้งานได้บนเครือข่าย (ตัวอย่างเช่นหากคำถามขอ subnet ที่มี256หรือ255โฮสต์/24เครือข่ายจะให้256ที่อยู่โฮสต์ทั้งหมดแก่คุณแต่มีเพียง254ที่อยู่ของโฮสต์ที่ใช้งานได้คำถามดังกล่าวอาจเป็นคำถามที่หลอกลวงและคำตอบที่ถูกต้องจะขึ้นอยู่กับว่า คำถามหมายถึงที่อยู่โฮสต์ทั้งหมดหรือที่อยู่โฮสต์ที่ใช้งานได้)

ตัวอย่างคำถาม:

Given the 198.51.96.0/21 network, subnet it for the following departments:
    Department 1:  500 hosts
    Department 2:  100 hosts
    Department 3:  200 hosts
    Department 4: 1000 hosts

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

Department 4: 1000 hosts
Department 1:  500 hosts
Department 3:  200 hosts
Department 2:  100 hosts

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

Department 4: 1024 total host addresses = 2^10 = 10 host bits
Department 1:  512 total host addresses = 2^9  =  9 host bits
Department 3:  256 total host addresses = 2^8  =  8 host bits
Department 2:  128 total host addresses = 2^7  =  7 host bits

คุณยังสามารถแก้ไขสูตรก่อนหน้านี้สำหรับการค้นหาจำนวนบิตที่จำเป็นสำหรับจำนวนเฉพาะของซับเน็ตขนาดเท่ากันเพื่อกำหนดจำนวนบิตโฮสต์ที่จำเป็นสำหรับแต่ละเครือข่ายย่อย: Log2(X hosts) = Y host bits, ปัดเศษขึ้นเป็นค่าจำนวนเต็มถัดไป:

Department 4: Log2(1000 hosts) = 9.96578428466209, rounded up = 10 host bits
Department 1: Log2( 500 hosts) = 8.96578428466209, rounded up =  9 host bits
Department 3: Log2( 200 hosts) = 7.64385618977472, rounded up =  8 host bits
Department 2: Log2( 100 hosts) = 6.64385618977473, rounded up =  7 host bits

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

Original:     | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Department 4: | 110001100011001101100 | 0 | 0000000000 | = 198.51.96.0/22
Department 1: | 110001100011001101100 | 10 | 000000000 | = 198.51.100.0/23
Department 3: | 110001100011001101100 | 110 | 00000000 | = 198.51.102.0/24
Department 2: | 110001100011001101100 | 1110 | 0000000 | = 198.51.103.0/25
Unused:       | 110001100011001101100 | 1111 | 0000000 | = 198.51.103.128/25

การค้นหา Subnet เฉพาะ

คุณอาจถูกขอให้มอบข้อมูลเครือข่ายสำหรับซับเน็ตเฉพาะของเครือข่ายที่กำหนด ตัวอย่างเช่นคุณอาจถูกขอให้ให้ข้อมูลเครือข่ายสำหรับ/26ซับเน็ต23 ของ198.51.96.0/21เครือข่าย เนื่องจากคุณต้องเครือข่ายย่อยวันที่ 23 คุณสามารถแปลง22(จำ0เป็นเครือข่ายย่อยเป็นครั้งแรกเพื่อให้เครือข่ายย่อยวันที่ 23 จะเป็น22*) เพื่อไบนารี: สิบ22= 10110ไบนารี ใช้เลขฐานสองที่แปลงแล้วในส่วนเครือข่ายย่อยของที่อยู่:

Original:  | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26

เมื่อคุณระบุที่อยู่เครือข่าย 23 198.51.101.128/26แล้วคุณสามารถคำนวณข้อมูลเครือข่ายอื่น ๆ (ดังอธิบายในส่วนก่อนหน้า):

Network address:                   198.51.101.128
Network mask length:               26
Network mask:                      255.255.255.192
Host mask length:                  6
Host mask:                         0.0.0.63
First usable network host address: 198.51.101.1
Last usable network host address:  198.51.101.62
Broadcast address:                 198.51.101.63
Total network host addresses:      64
Usable network host addresses:     62

* มีเรื่องเล่าขานที่ติดตาว่าสำหรับซับเน็ตสำหรับที่อยู่โฮสต์ไม่สามารถใช้เครือข่ายย่อยแบบ all-zeros และ all-ones ได้ แต่ตำนานนี้ถูกยกเลิกอย่างชัดเจนเมื่อหลายปีก่อนโดยมาตรฐาน แต่น่าเสียดายที่ตำนานนี้ขยายไปบางชั้นเรียนการศึกษาของเครือข่ายและคำตอบที่ถูกต้องสำหรับผู้ (ไม่ถูกต้อง) ชั้นเรียนจะใช้วันที่ 24 ( 23ทศนิยม10111binary) เครือข่ายย่อยในตัวอย่างของเครือข่ายย่อยที่มีขนาดเท่ากันของเรามากกว่า 23 จริง ( 22ทศนิยม10110ไบนารี) ซับเน็ต


การค้นหาโฮสต์เครือข่ายเฉพาะ

คุณอาจถูกขอให้ค้นหาที่อยู่โฮสต์สำหรับโฮสต์เฉพาะของเครือข่ายที่กำหนด ตัวอย่างเช่นคุณอาจถูกขอให้ระบุที่อยู่โฮสต์สำหรับโฮสต์ 923 ของ198.51.96.0/21เครือข่าย เนื่องจากคุณจะต้องเป็นเจ้าภาพ 923 คุณสามารถแปลง923ไบนารี: สิบ923= 1110011011ไบนารี เพิ่มเลขฐานสองที่แปลงแล้วไปยังที่อยู่เครือข่าย:

Binary network: | 110001100011001101100 | 00000000000 |
Binary 923:     | 000000000000000000000 | 01110011011 | +
                  -----------------------------------
Host address:   | 110001100011001101100 | 01110011011 | = 198.51.99.155

เครือข่ายร่วมที่ใหญ่ที่สุดสำหรับสองโฮสต์ *

คุณอาจได้รับที่อยู่โฮสต์ที่แตกต่างกันสอง (หรือมากกว่า) และขอให้มากับเครือข่ายที่ใหญ่ที่สุด (จำนวนโฮสต์ที่น้อยที่สุด) ที่มีทั้งที่อยู่ของโฮสต์ ยกตัวอย่างเช่นการหาเครือข่ายร่วมกันที่ใหญ่ที่สุดของและ198.51.100.223198.51.101.76

ก่อนอื่นให้แปลงที่อยู่ทศนิยมแบบจุดเป็นไบนารี:

198.51.100.223 = 11000110001100110110010011011111
198.51.101.76  = 11000110001100110110010101001100

ถัดไปเริ่มต้นจากบิตลำดับสูงสุด (ซ้ายสุด) เปรียบเทียบที่อยู่ไบนารีที่ตำแหน่งบิตแต่ละบิตจนกว่าบิตในตำแหน่งเดียวกันจะไม่ตรงกัน:

198.51.100.223 = | 11000110001100110110010 | 011011111 |
198.51.101.76  = | 11000110001100110110010 | 101001100 |

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

198.51.100.223  = 11000110001100110110010011011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

198.51.101.76   = 11000110001100110110010111011111
/23 mask length = 11111111111111111111111000000000 AND
                  --------------------------------
Binary network:   11000110001100110110010000000000 = 198.51.100.0/23

ขอให้สังเกตว่าที่อยู่เครือข่ายสองที่ตรงกัน นั่นหมายความว่าเครือข่ายร่วมกันที่ใหญ่ที่สุดสำหรับทั้งสองที่อยู่โฮสต์198.51.100.0/23(รูปแบบ CIDR) หรือ (ดั้งเดิม) กับหน้ากากของ198.51.100.0255.255.254.0


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


สาธารณะกับที่อยู่ส่วนตัว

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

มีช่วงที่อยู่สามช่วงที่กำหนดที่อยู่ส่วนตัวของ IPv4:

  1. 10.0.0.0/8
  2. 172.16.0.0/12
  3. 192.168.0.0/16

ที่อยู่เครือข่าย Classful

เดิมทีที่อยู่ IPv4 ถูกแบ่งออกเป็นคลาสเครือข่าย การระบุที่อยู่แบบคลาสสิกถูกเลิกใช้มานานหลายทศวรรษแล้วและระบบเครือข่ายที่ทันสมัยนั้นใช้ CIDR (การกำหนดเส้นทาง Inter-Domain Classless) แต่น่าเสียดายที่คลาสการศึกษาเครือข่ายจำนวนมากและการสอบรับรองรับรองยืนยันในการทดสอบความรู้ โปรดเรียนรู้และคุ้นเคยกับคณิตศาสตร์ IPv4 ก่อนหน้าทั้งหมดในเอกสารนี้ก่อนที่คุณจะเรียนรู้เกี่ยวกับการระบุที่อยู่อย่างมีระดับ

คลาสแอดเดรส IPv4 นั้นขึ้นอยู่กับบิตแรกของแอดเดรส:

Class   Address Starts With      Address Range                 Default Size*
  A     First one bit    = 0       0.0.0.0 to 127.255.255.255        /8
  B     First two bits   = 10    128.0.0.0 to 191.255.255.255       /16
  C     First three bits = 110   192.0.0.0 to 223.255.255.255       /24
  D     First four bits  = 1110  224.0.0.0 to 239.255.255.255       N/A
  E     First four bits  = 1111  240.0.0.0 to 255.255.255.255       N/A
  • เครือข่าย Class A มีเน็ตเวิร์กมาสก์เริ่มต้นเป็น255.0.0.0( /8) และมาสก์โฮสต์เริ่มต้นที่0.255.255.255ให้16,777,216ที่อยู่โฮสต์ทั้งหมดต่อเครือข่าย
  • เครือข่ายคลาส B มีเน็ตเวิร์กมาสก์เริ่มต้นเป็น255.255.0.0( /16) และมาสก์โฮสต์เริ่มต้นที่0.0.255.255ให้65,536ที่อยู่โฮสต์ทั้งหมดต่อเครือข่าย
  • เครือข่ายคลาส C มีเน็ตเวิร์กมาสก์เริ่มต้นเป็น255.255.255.0( /24) และมาสก์โฮสต์เริ่มต้นที่0.0.0.255ให้256ที่อยู่โฮสต์ทั้งหมดต่อเครือข่าย
  • ที่อยู่คลาส D ใช้สำหรับมัลติคาสต์โดยที่แต่ละแอดเดรสใช้เป็นรายบุคคลเพื่อแสดงกลุ่มของโฮสต์ที่สมัครใช้งานมัลติคาสต์แอดเดรส ซึ่งหมายความว่าที่อยู่ Class D ปกติแล้วจะไม่มีแนวคิดเกี่ยวกับมาสก์เครือข่าย
  • สงวนคลาส E และไม่สามารถใช้กับสิ่งใดได้ มีข้อยกเว้นหนึ่งข้อสำหรับสิ่งนี้และนั่นคือที่อยู่การออกอากาศ จำกัด ของ255.255.255.255ซึ่งเป็นที่อยู่ส่วนบุคคลที่ทุก ๆ โฮสต์ในเครือข่ายจะปฏิบัติต่อเป็นของตัวเอง นั่นหมายความว่าทุกสิ่งที่ส่งไป255.255.255.255จะได้รับและประมวลผลโดยทุกโฮสต์ในเครือข่าย

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

Binary: 11000110 00110011 01100100 11011111

ขอให้สังเกตว่าครั้งแรกที่สามบิตที่อยู่จะ110มีความหมายว่านี่คือที่อยู่ใน Class C และขาดหน้ากากหน้ากากหรือใด ๆ ความยาวหน้ากากเครือข่ายมีการสันนิษฐานว่าจะเป็น255.255.255.0( /24) 198.51.100.0ทำให้อยู่เครือข่าย


* อย่าทำผิดพลาดโดยทั่วไปเมื่อคิดว่าเน็ตเวิร์กมาส์กเป็นตัวกำหนดคลาสของเครือข่าย ตัวอย่างเช่นหลายคนคิดว่า/24เครือข่ายใด ๆ เป็นเครือข่าย Class C แต่นั่นไม่ได้เป็นความจริงจากระยะไกล ยกตัวอย่างเช่น10.11.12.0/24เครือข่ายหลายคนเรียกว่าเครือข่าย Class C ไม่ถูกต้องเนื่องจากรูปแบบเครือข่ายแม้ว่าที่อยู่บิตแรกจะ0ทำให้เป็นเครือข่าย Class A แม้ว่าจะมีเครือข่ายที่ยาวกว่าค่าเริ่มต้นก็ตาม มาสก์เครือข่าย Class A หมายถึงเครือข่ายย่อยของเครือข่าย Class A ไม่ใช่เครือข่าย Class C


6

(ในความพยายามที่จะรักษาคำตอบ netmask ทั้งหมดไว้ในที่เดียวหลังจากคำตอบที่ยอดเยี่ยมอื่น ๆ ฉันได้เพิ่มอันนี้เกี่ยวกับวิธีการทางสายตา)

การปรับขนาด Subnet ตามจำนวนโฮสต์

นี่เป็นคำถามที่พบบ่อย "ฉันจะตัดขนาดเครือข่ายที่กำหนดเป็นnส่วนที่อนุญาตให้โฮสต์x 1ในเครือข่าย 1, โฮสต์x 2ในเครือข่าย 2, ฯลฯ ... " ได้อย่างไร สามารถแก้ไขได้อย่างแน่นอนโดยทำงานผ่านวิธีการที่อธิบายไว้ในคำตอบที่ยอดเยี่ยมอื่น ๆ

อย่างไรก็ตามบางคนอาจชอบวิธีการแสดงภาพมากกว่าและเคล็ดลับทั่วไปบางอย่าง

วิธีการ "Glasscutter" ภาพ

วิธีที่ฉันมักจะสอนความเข้าใจที่มองเห็นได้ด้วยวิธีต่อไปนี้:

ก่อนอื่นให้นึกถึงกระดาษกิโยตินเช่นนี้:

เลื่อนกระดาษกิโยติน

( ภาพจาก Wikipedia โดย Nathan CC BY-SA 3.0)

คุณสมบัติของเครื่องตัดชนิดนี้คือมันตัดเฉพาะเส้นตรงมันตัดตลอดทางตลอดกระดาษและตัดตั้งฉากกับด้านข้าง กิโยตินเฉพาะของเรานั้นยุ่งเหยิง: มันจะตัดกระดาษเพียงครึ่งเดียวและเราไม่สามารถตัดได้ใกล้กว่า 1 ซม. จากขอบ

  • จำนวนที่อยู่ทั้งหมดสำหรับบล็อกเริ่มต้นของคุณมีเท่าใด
  • สมมติว่าแบ่ง a / 22 มี 1024 ที่อยู่
  • รับกระดาษหนึ่งแผ่นที่มีหลายตารางเซนติเมตร (และอัตราส่วนสี่เหลี่ยมหรือ 2x1)
  • ดังนั้นฉันได้ชิ้นส่วน 32 ซม. คูณ 32 ซม. ซึ่งมี 1024 ตารางซม
  • ซ้ำแล้วซ้ำเล่า
    1. เลือกชิ้น (ถ้ามีมากกว่าหนึ่ง)
    2. ตัดครึ่ง (ภายในข้อ จำกัด : ตัดเป็นรูปสี่เหลี่ยมผืนผ้าเพียงครึ่งไม่มีอะไรต่ำกว่า 1 ซม.)
  • บ่อยครั้งมีการตัดต่าง ๆ ที่คุณสามารถทำได้และคุณต้องเลือก
  • ในการรับเครือข่ายnคุณต้องทำการตัดn-1
  • บางครั้งคุณก็จบลงด้วยชิ้นพิเศษ (ขึ้นอยู่กับวิธีที่คุณต้องการกระจาย "ขยะ")

นี่คือภาพประกอบของกระบวนการ คุณจะเห็นว่ามีเพียงการตัดประเภทเดียวที่ตัด 1 และตัด 2 แต่เมื่อตัด 3 เราเลือก: ตัดชิ้นเล็ก (สีแดง) หรือชิ้นใหญ่ (สีน้ำเงิน) ให้ความเป็นไปได้สองแบบ

ภาพวาดของฉันเอง

นี่คือสิ่งที่มักจะเรียกว่าปัญหากิโยตินซึ่งฉันได้เรียนรู้ว่าเป็นปัญหา "ช่างตัดแก้ว" เนื่องจากแผ่นกระจกต้องตัดให้ทั่วจริง ๆ และสิ่งพิเศษนี้อาจเรียกว่า "ช่างตัดแก้วไบนารี" เนื่องจากมันตัดเป็นครึ่ง

เมื่อฉันทำสิ่งนี้ในชีวิตจริงฉันจะทำสิ่งที่เหลืออยู่ในใจขณะมองดูกริดแบบนี้ ฉันจำได้ว่า / 26 จะต้องเริ่มต้นที่ 0, .64, 128 หรือ .192; ฉันอาจจะรู้ว่าบรรทัดที่เจ็ดที่เช่าต้องการในวันที่เจ็ด / 30 ในไตรมาสแรก แต่ฉันจำไม่ได้ว่านั่นคือ. 216

เห็นได้ชัดว่าสามารถใช้กริดเพื่อเป็นตัวแทนของออคเต็ตที่สามได้เช่นกันและแต่ละสแควร์จะแสดง a / 24 ตอนนี้มันบอกว่า / 18 เริ่มต้นที่. 0, .64, .128 หรือ. 192

ป้อนคำอธิบายรูปภาพที่นี่

เคล็ดลับเทคนิคทั่วไป

ขั้นตอนทั่วไปคือ:

  • ปัดขนาดที่ต้องการแต่ละอันลงในบล็อกที่เล็กที่สุดซึ่งใหญ่พอ
  • ตรวจสอบให้แน่ใจว่าคุณทำตามกฎสากล (มักจะ "เพิ่มที่อยู่ที่มีอยู่ให้มากที่สุด" บางครั้งก็เป็น "อนุญาตการเติบโตเป็นสองเท่า" หรือ "ทำให้การกำหนดเส้นทางง่าย")
  • จัดสรรเครือข่ายย่อยไปยังที่อยู่ที่เริ่มต้นด้วยที่ใหญ่ที่สุดและลงไปที่เล็กที่สุด ( นี่คือส่วนที่พวกเขามักจะลืมบอกคุณ )
  • ปฏิบัติตามกฎเฉพาะใด ๆ(คำถามทดสอบมักจะมีกฎพิเศษบางครั้งก็ผิดกฎหมายว่า "ไม่มีที่อยู่เครือข่ายอาจมี 7 อยู่ในนั้น")
  • ตรวจสอบว่ามีที่ว่างสำหรับที่อยู่โดยนัยใด ๆ(การออกอากาศเราเตอร์)
  • หากเครือข่ายใด ๆ มีขนาดเล็ก (/ 30, / 31 หรือ / 32) ให้ความสนใจเป็นพิเศษเนื่องจากมีบางกรณีที่ขอบสำหรับเครือข่ายที่มี 4, 2, และ 1 โฮสต์และรายละเอียดขึ้นอยู่กับปัญหาที่แน่นอนที่คุณกำลังแก้ไข

5

ตัวอย่าง:

IP: 128.42.5.4

ในไบนารี: 10,000000 00101010 00000101 00000100

ซับเน็ต: 255.255.248.0

คุณจะกำหนดหมายเลขนำหน้าเครือข่ายซับเน็ตและหมายเลขโฮสต์ได้อย่างไร

      32768     16384  8192  4096  2048  1024   512   256  ----> Binary
        128       192   224   240   248   252   254   255  ----> Sunet Mask
        /17       /18   /19   /20   /21   /22   /23   /24  ----> CIDR  
      32766     16382  8190  3094  2046  1022   510   254  ----> Host


      128     64    32     16     8     4    2     1   ----> Binary
      128    192   224    240   248   252   254   255  ----> Sunet Mask
      /25    /26   /27    /28   /29   /30   /31   /32  ----> CIDR  
      126     62    30     14     6     2    *     -   ----> Host 

     128        64        32       16        8         4         2        1
  10000000   01000000  00100000 00010000  00001000  00000100  00000010   00000001

   Example 
   Network=192.168.1.0 /24;  
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.0 
   Ip address range 192.168.1.0----192.168.1.255
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.254; 
   Broadcast address = 192.168.1.255;
   254 Host

   Network=192.168.1.0 /25;
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.128
   Ip address range 192.168.1.0----192.168.1.128
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.126;
   Broadcast address = 192.168.1.127;  
   126 Hosts

   When the CIDR increased ex. /24. /25.  the network will divided by the 
   binary number.
   /25  increase network   0-128| 128- 256 |                   you will have 2 Networks 
   /26  increase network   0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks 
    .
    .
    .
   /32......
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.