Làm thế nào để đặt hai mạng con cạnh nhau?


10

Tôi đã sử dụng máy tính này http://www.subnet-calculator.com/cidr.php và tôi đang cố gắng tìm ra cách đặt hai mạng con khác nhau cạnh nhau.

Ví dụ: tôi muốn có một mạng con / 27 bắt đầu từ 1.0.0.1, bên cạnh a / 25, vì vậy tôi nghĩ rằng mạng con / 25 sẽ bắt đầu ở 1.0.0.32, vì nó nằm ngoài mạng con / 27. Tuy nhiên, khi tôi thử và làm điều này, máy tính nói rằng phạm vi cho / 25 sẽ là 1.0.0.1-1.0.0.127, không bắt đầu từ .32.

Đây có phải là một giới hạn máy tính hay làm thế nào để bạn đặt các mạng con cạnh nhau?

EDIT : Tôi đoán câu hỏi của tôi là những mạng con nào có thể đi cạnh nhau? Điều gì quyết định điều này?


Bạn không thể có / 25 bắt đầu từ 1.0.0.32, nếu đó là những gì bạn đang yêu cầu. Hãy nhớ rằng các mạng con không phải là phạm vi tùy ý, chúng chỉ là một cách để phân biệt số máy chủ với số mạng.
BatchyX

Tôi đoán câu hỏi của tôi là những gì mạng con có thể đi cạnh nhau? Có một tài liệu hoặc tài liệu tham khảo mà có thể đi đâu?
instipod

2
Tôi đề nghị bạn đọc về bitmasks, sau đó bạn sẽ hiểu mặt nạ mạng con là gì.
BatchyX

Câu trả lời:


7

Bạn cần phân biệt địa chỉ bắt đầu mạng con và kích thước mạng con . Số đằng sau dấu gạch chéo là kích thước (tính bằng bit 32 x). Vì vậy, bạn có thể có hai / 27 mạng con như thế này

10.0.0.1/27  == 10.0.0.1  -> 10.0.0.30
10.0.0.33/27 == 10.0.0.33 -> 10.0.0.62

nhưng mạng con / 27 và a / 25 theo cùng một cách có nghĩa là bắt đầu / 25 ở địa chỉ sau

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

vì / 25 mạng con "cần" nhiều không gian hơn. Bạn không thể bắt đầu / 25 mạng con tại một địa chỉ tùy ý, chỉ ở các ranh giới chính xác:

10.0.0.1/25   == 10.0.0.1   -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

nhưng lưu ý rằng

10.0.0.33/25   == 10.0.0.1   -> 10.0.0.126

bởi vì 10.0.0.33/25chỉ là một cách khác để nói 10.0.0.1/25hay 10.0.0.0/25.

Bạn cũng có thể quyết định "lấp đầy" khoảng trống giữa bạn / 27 và mạng con / 25 của bạn với hơn / 27 mạng con:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/27  == 10.0.0.65  -> 10.0.0.94
10.0.0.97/27  == 10.0.0.97  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

hoặc với cái khác / 27 và a / 26:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/26  == 10.0.0.65  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

1
Các mạng con bao gồm địa chỉ mạng và địa chỉ quảng bá ... bạn không có IP không được sử dụng giữa các mạng con liền kề. Và cố gắng giải thích tại sao một số mạng con có thể được kết hợp thành mặt nạ ngắn hơn mà không có toán nhị phân là hoàn toàn sai lệch.
cpt_fink

4

Tiền tố / mạng con sử dụng logic nhị phân. Các mạng con được xác định bởi các bit được cố định và các bit có thể sử dụng cho các địa chỉ. Số lượng bit cố định là độ dài tiền tố hoặc mặt nạ mạng con. Một vài ví dụ về IPv4:

Prefix:           10.0.0.0/8
Prefix length:    8
Subnet mask:      255.0.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 00000000 00000000 00000000 = 255.0.0.0

A 1trong các bit mặt nạ mạng con chỉ ra rằng bit tương ứng được cố định và a 0chỉ ra rằng bạn có thể sử dụng bit đó. Độ dài tiền tố là số bit được đặt thành 1và mặt nạ mạng con là số nhị phân được ghi dưới dạng địa chỉ IPv4.

Vì vậy, trong ví dụ này bạn có thể sử dụng:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 11111111 11111111 11111111 = 10.255.255.255

Một ví dụ khác có độ dài tiền tố khác nhau:

Prefix:           10.0.0.0/10
Prefix length:    10
Subnet mask:      255.192.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 11000000 00000000 00000000 = 255.192.0.0

Trong ví dụ này, bạn có thể sử dụng ít địa chỉ hơn:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 00111111 11111111 11111111 = 10.63.255.255

Như bạn có thể thấy mạng con được xác định bởi giá trị và số lượng các bit cố định. Khi sử dụng ví dụ của 1.0.0.32/25bạn, bạn nhận được:

Prefix:           1.0.0.32/25
Prefix length:    25
Subnet mask:      255.255.255.128
Prefix bits:      00000001 00000000 00000000 00100000 = 10.0.0.32
Subnet mask bits: 11111111 11111111 11111111 10000000 = 255.255.255.128

First address in the prefix: 00000001 00000000 00000000 00000000 = 1.0.0.0
Last address in the prefix:  00000001 00000000 00000000 01111111 = 1.0.0.127

Giá trị 32 nằm ở giữa các bit linh hoạt. Khi nhìn vào /25tiền tố bạn nhận được:

Prefix length:      25
Subnet mask bits:   11111111 11111111 11111111 10000000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/25
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/25
3rd /25 in 1.0.0.0: 00000001 00000000 00000001 00000000 = 1.0.1.0/25
4th /25 in 1.0.0.0: 00000001 00000000 00000001 10000000 = 1.0.1.128/25
5th /25 in 1.0.0.0: 00000001 00000000 00000010 00000000 = 1.0.2.0/25
Etc.

Khi nhìn vào /27tiền tố bạn nhận được:

Prefix length:      27
Subnet mask bits:   11111111 11111111 11111111 11100000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/27
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 00100000 = 1.0.0.32/27
3rd /25 in 1.0.0.0: 00000001 00000000 00000000 01000000 = 1.0.0.64/27
4th /25 in 1.0.0.0: 00000001 00000000 00000000 01100000 = 1.0.0.96/27
5th /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/27
Etc.

Trong mạng con IPv4, địa chỉ đầu tiên (tất cả các bit linh hoạt 0) được dành riêng và được gọi là địa chỉ mạng. Địa chỉ cuối cùng (tất cả các bit linh hoạt 1) là địa chỉ quảng bá mạng con. Bạn không thể sử dụng chúng cho các giao diện mạng trên thiết bị.

Nếu bạn muốn đặt nhiều mạng con cạnh nhau, bạn sẽ phải đảm bảo rằng chúng không trùng nhau. Khi bạn không có nhiều không gian địa chỉ như với IPv4, việc tạo tất cả các mạng con phù hợp có thể là một quá trình rất khó khăn và việc quản lý nó có thể quản lý được khi thay đổi gói địa chỉ thậm chí còn khó hơn. Đó là lý do tại sao IPv6 rất tốt để làm việc với: nhiều không gian địa chỉ và mạng con thường là một /64(có thể sử dụng các độ dài tiền tố khác nhau nhưng điều đó phá vỡ một số thứ như cấu hình tự động).

Nếu bạn quan tâm đến các kế hoạch đánh địa chỉ IPv6 thì hãy xem tài liệu 'Chuẩn bị kế hoạch đánh địa chỉ IPv6' mà tôi đã viết vài năm trước cho SURFnet (Mạng giáo dục và nghiên cứu quốc gia Hà Lan). Cách thức hoạt động của mạng con trong IPv6 hoàn toàn giống với IPv4, ngoại trừ các số lớn hơn rất nhiều và được viết bằng hệ thập lục phân (tương ứng với các bit tốt hơn nhiều so với ký hiệu thập phân được sử dụng cho IPv4!). Độ dài tiền tố, có các bit cố định và linh hoạt đều hoạt động theo cùng một cách chính xác. Một ví dụ ngắn:

Prefix:           2001:0db8:0000:0000:0000:0000:0000:0000/64
Prefix length:    64
Subnet mask:      not really used anymore in IPv6, but it would have been:
                  ffff:ffff:ffff:ffff:0000:0000:0000:0000
Prefix bits:      0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Subnet mask bits: 1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000

First address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Last address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff

So from 2001:0db8:0000:0000:0000:0000:0000:0000
     to 2001:0db8:0000:0000:ffff:ffff:ffff:ffff

PS: Tôi đã không sử dụng ký hiệu được đề nghị / chính tắc ở đây trên mục đích. Thông thường, bạn nén các số 0 trong địa chỉ và viết 2001:0db8:0000:0000:0000:0000:0000:0000dưới dạng 2001:db8::, 2001:0db8:0000:0000:0000:0000:0000:0001được viết là 2001:db8::1, v.v.


1
  • Đối với a / 24, octet cuối cùng (thường dành riêng) cho mạng là 0 và chỉ 0. 1 subnet

  • Đối với a / 25, sau đó có thể là 0 hoặc 0,128. 2 subnets

  • Đối với a / 26, nó có thể là .0, .64, .128 hoặc .192. 4 subnets

  • Đối với a / 27, nó có thể là .0, .32, .64, .96, .128, .160, .192 hoặc .224. 8 subnets

  • cho a / 28, .0, .16, .32, .48, .64, .80, .96, .112, .128, .144, .160, .176, .192, .208, .224, hoặc .240. 16 subnets

  • cho a / 29, .0, .8, .16, .24, .32, .40, .48, .56, .64, .72, .80, .88, .96, .104, .112, .120, .128, .136, .144, .52, .160, .168, .176, .184, .192, .200 ,, 248 32 subnets

  • Tiền tố / 30 thường được tìm thấy trên các giao diện điểm-điểm. 64 subnets

  • Tiền tố / 31 không thường được tìm thấy trong tự nhiên, vì nó không có máy chủ thường có địa chỉ, vì nó chỉ kéo dài 2 số mạng, "mạng" và "phát sóng" không có không gian cho IP máy chủ. 128 subnets(tất cả các số chẵn từ 0 đến 254)

  • Tiền tố / 32 được sử dụng để chỉ định tuyến cho một máy chủ. Đó là tuyến đường cụ thể nhất và nếu có, nên được ưu tiên định tuyến hơn tất cả các mục trong bảng tuyến đường khác không phải là / 32 giây. A / 32 không có địa chỉ 'mạng' hay địa chỉ 'quảng bá'. 256 subnets (0 và 255 có thể không hoạt động trên một số triển khai)


0

Một cách đơn giản để hiểu nó:

Trong IPv4:

Hãy tưởng tượng một dòng địa chỉ IP có thể 256 * 256 * 256 * 256 (Hoặc 2 ^ 32).

[] [] [] [] .................. [] [] []
       256*256*256*256 total IP adresses

Điều này có mặt nạ mạng con 0,0.0.0 (hoặc 0000 0000 0000 0000 0000 0000 0000 0000 ở dạng nhị phân)
Tất cả các bit không được che dấu có thể được sử dụng để cung cấp địa chỉ IP trong mạng đó.

Các địa chỉ có thể có trong mạng đơn đó là:

0000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK, không che giấu bất cứ điều gì ở đây ...)

0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) đến
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Toàn bộ mạng này bắt đầu từ IP 0.0.0.0 và cho đến IP 255.255.255.255

Mỗi bit trong mặt nạ mạng con sẽ chia dòng thành 2 phần bằng nhau.

Bit đầu tiên trong mặt nạ mạng con sẽ chia phần này thành 2 phần bằng nhau, mỗi phần có địa chỉ IP 128 * 256 * 256 * 256 (hoặc 2 ^ 31):

[] [] [] .......... [] [] []  |  [] [] ........... [] []
128*256*256*256 IP Adresses       128*256*256*256 IP Adr

Điều này có mặt nạ mạng con 128.0.0.0 (hoặc 1000 0000 0000 0000 0000 0000 0000 0000 ở dạng nhị phân)
Tất cả các bit không được che dấu có thể được sử dụng để cung cấp địa chỉ IP trong mạng đó.

Vì vậy, bạn có thể có 2 mạng con và với mỗi mạng con, bạn có 31 bit địa chỉ IP có sẵn.

Đối với mạng con đầu tiên (mạng con phía sau netmask là '0')

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) đến
0111 1111 1111 1111 1111 1111 1111 1111 (IP 127.255.255.255)

và đối với mạng con thứ 2 (mạng con phía sau netmask là '1')

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

1000 0000 0000 0000 0000 0000 0000 0000 (IP 128.0.0.0) đến
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Bit bổ sung tiếp theo trong mặt nạ mạng con chia cả hai bên thành 2 phần bằng nhau của 2 ^ 30 Địa chỉ IP mỗi bên

Và như thế...

Vì vậy, nếu bạn cố gắng gán, giả sử, một mạng con là / 3, điều đó có nghĩa là bạn đã dành 3 lần lặp chia, kết thúc với 2 ^ 3 = 8 mạng con. Mỗi mạng con chỉ có thể là một trong 8 phân khu của toàn bộ dòng máy. Chúng không thể chồng lên nhau. Mỗi cái bắt đầu sau cái cũ.

[] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... []
32*256*256*256 or 2^30 IP Adresses each.

Điều này có mặt nạ mạng con 0.0.0.0

Vì vậy, đối với mạng con đầu tiên (mạng con, đằng sau netmask, là '000')

1110 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) đến
0001 1111 1111 1111 1111 1111 1111 1111 (IP 31.255.255.255)

và đối với mạng con thứ 2 (mạng con phía sau netmask là '001')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

0010 0000 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0) đến
0011 1111 1111 1111 1111 1111 1111 1111 (IP 63.255.255.255)

...

và đối với mạng con thứ 7 (mạng con, đằng sau netmask, là '110')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1100 0000 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0) đến
1101 1111 1111 1111 1111 1111 1111 1111 (IP 223.255.255.255)

và đối với mạng con thứ 8 (mạng con, đằng sau netmask, là '111')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1110 0000 0000 0000 0000 0000 0000 0000 (IP 224.0.0.0) đến
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

NẾU bạn tiếp tục thêm bit vào netmask, bạn tiếp tục chia nhỏ: Một mạng con gồm / 32 đơn lẻ trong một máy.

Nhưng hãy nhớ rằng bạn thực sự không thể chỉ có máy móc:

để làm cho mọi thứ hoạt động, một số phạm vi của mạng con được bảo lưu:

đối với mỗi mạng con, "0 bit ở giá trị 1" và "tất cả các bit ở giá trị 1" thường được dành riêng để phát sóng, do đó bạn thường chỉ có địa chỉ IP nb_of_possible_adresses_in_the_subnet-2 có sẵn trong mạng con cho các giao diện máy thực tế. Và tốt hơn hết là giao diện của một cổng có giao diện khác trong các mạng khác, cho phép bạn sử dụng nó như một cổng để tiếp cận các mạng khác đó (và mọi thứ, thông qua các cổng khác của mạng đó)


khó khăn để thể hiện gọn gàng ... Và tôi hy vọng sự nhầm lẫn giữa "dòng 2 ^ 32 địa chỉ IP" và đại diện 32 bit được sử dụng ở mọi nơi khác không gây nhầm lẫn nhiều hơn là giúp ...
Olivier Dulac
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.