Mạng con IP tồn tại để cho phép các bộ định tuyến chọn điểm đến thích hợp cho các gói. Bạn có thể sử dụng mạng con IP để phá vỡ các mạng lớn hơn vì lý do hợp lý (tường lửa, v.v.) hoặc nhu cầu vật lý (miền quảng bá nhỏ hơn, v.v.).
Mặc dù vậy, chỉ cần đặt các bộ định tuyến IP sử dụng mạng con IP của bạn để đưa ra quyết định định tuyến. Hiểu cách các quyết định đó hoạt động và bạn có thể hiểu cách lập kế hoạch mạng con IP.
Đếm đến 1
Nếu bạn đã thành thạo ký hiệu nhị phân (cơ sở 2), bạn có thể bỏ qua phần này.
Đối với những người còn lại: Xấu hổ vì bạn không thông thạo ký hiệu nhị phân!
Vâng-- đó có thể là một chút khắc nghiệt. Thật sự rất dễ dàng để học đếm nhị phân và học các phím tắt để chuyển đổi nhị phân thành thập phân và ngược lại. Bạn thực sự nên biết làm thế nào để làm điều đó.
Đếm trong nhị phân rất đơn giản vì bạn chỉ cần biết cách đếm đến 1!
Hãy nghĩ về "đồng hồ đo đường" của ô tô, ngoại trừ việc không giống như đồng hồ đo đường truyền thống, mỗi chữ số chỉ có thể đếm tối đa 1 từ 0. Khi xe còn mới từ nhà máy, đồng hồ đo là "00000000".
Khi bạn lái xe dặm đầu tiên, đồng hồ đo sẽ ghi "00000001". Càng xa càng tốt.
Khi bạn đã lái dặm thứ hai của mình, chữ số đầu tiên của đồng hồ đo sẽ quay trở về "0" (vì giá trị tối đa của nó là "1") và chữ số thứ hai của đồng hồ đo đường sẽ chuyển sang "1", làm cho đồng hồ đo được đọc " 00000010 ". Điều này có vẻ như số 10 trong ký hiệu thập phân, nhưng nó thực sự 2 (đối với số dặm bạn đã điều khiển chiếc xe cho đến nay) trong ký hiệu nhị phân.
Khi bạn đã lái được quãng đường thứ ba, đồng hồ đo sẽ ghi "00000011", vì chữ số đầu tiên của đồng hồ đo sẽ quay lại. Số "11", trong ký hiệu nhị phân, giống như số thập phân 3.
Cuối cùng, khi bạn đã lái được dặm thứ tư của mình, cả hai chữ số (đang đọc "1" ở cuối dặm thứ ba) sẽ quay trở lại vị trí 0 và chữ số thứ 3 cuộn lên vị trí "1", cho chúng tôi " 00000100 ". Đó là biểu diễn nhị phân của số thập phân 4.
Bạn có thể ghi nhớ tất cả những điều đó nếu bạn muốn, nhưng bạn thực sự chỉ cần hiểu làm thế nào đồng hồ đo nhỏ "lăn qua" khi con số mà nó đếm được lớn hơn. Nó chính xác giống như một hoạt động của máy đo thập phân truyền thống, ngoại trừ mỗi chữ số chỉ có thể là "0" hoặc "1" trên "đồng hồ đo nhị phân" giả tưởng của chúng tôi.
Để chuyển đổi một số thập phân thành nhị phân, bạn có thể cuộn đồng hồ đo về phía trước, đánh dấu bằng cách đánh dấu, đếm to cho đến khi bạn cuộn nó một số lần bằng số thập phân bạn muốn chuyển đổi thành nhị phân. Bất cứ điều gì được hiển thị trên máy đo đường sau khi tất cả các couting và cán đó sẽ là biểu diễn nhị phân của số thập phân mà bạn đếm được.
Vì bạn hiểu cách đo đường lăn về phía trước, bạn cũng sẽ hiểu cách nó quay ngược lại. Để chuyển đổi số nhị phân được hiển thị trên đồng hồ đo trở lại thành số thập phân, bạn có thể cuộn lại đồng hồ đo một lần, đếm to cho đến khi đồng hồ đo có ghi "00000000". Khi tất cả việc đếm và lăn được thực hiện, số cuối cùng bạn nói to sẽ là biểu diễn thập phân của số nhị phân mà đồng hồ đo bắt đầu.
Chuyển đổi giá trị giữa nhị phân và thập phân theo cách này sẽ rất tẻ nhạt. Bạn có thể làm điều đó, nhưng nó sẽ không hiệu quả. Học thuật toán nhỏ để làm nó nhanh hơn.
Bỏ qua một bên: Mỗi chữ số trong một số nhị phân được gọi là "bit". Đó là "b" từ "nhị phân" và "nó" từ "chữ số". Một bit là một chữ số nhị phân.
Chuyển đổi một số nhị phân như "1101011" thành số thập phân là một quá trình đơn giản với một thuật toán nhỏ tiện dụng.
Bắt đầu bằng cách đếm số bit trong số nhị phân. Trong trường hợp này, có 7. Thực hiện 7 cách chia trên một tờ giấy (trong tâm trí của bạn, trong một tệp văn bản, v.v.) và bắt đầu điền chúng từ phải sang trái. Trong khe ngoài cùng bên phải, nhập số "1", vì chúng tôi sẽ luôn bắt đầu bằng "1". Trong vị trí tiếp theo bên trái, nhập gấp đôi giá trị trong vị trí bên phải (vì vậy, "2" trong phần tiếp theo, "4" trong phần tiếp theo) và tiếp tục cho đến khi tất cả các vị trí đã đầy. (Cuối cùng bạn sẽ ghi nhớ những con số này, đó là sức mạnh của 2, khi bạn làm điều này ngày càng nhiều. Tôi có thể lên đến 131.072 trong đầu nhưng tôi thường cần một máy tính hoặc giấy sau đó).
Vì vậy, bạn nên có những điều sau đây trên giấy của bạn trong các khe nhỏ của bạn.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
Phiên mã các bit từ số nhị phân bên dưới các vị trí, như vậy:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 0 1 1
Bây giờ, thêm một số ký hiệu và tính toán câu trả lời cho vấn đề:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
+ + + + + + =
Làm tất cả các phép toán, bạn nên nghĩ ra:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
64 + 32 + 0 + 8 + 0 + 2 + 1 = 107
Đó là nó. "1101011" trong số thập phân là 107. Đó chỉ là các bước đơn giản và toán học dễ dàng.
Chuyển đổi thập phân thành nhị phân cũng dễ dàng và là thuật toán cơ bản tương tự, chạy ngược lại.
Nói rằng chúng tôi muốn chuyển đổi số 218 thành nhị phân. Bắt đầu ở bên phải một tờ giấy, viết số "1". Ở bên trái, nhân đôi giá trị đó (vì vậy, "2") và tiếp tục di chuyển về phía bên trái của tờ giấy nhân đôi giá trị cuối cùng. Nếu số bạn sắp viết lớn hơn số được chuyển đổi thì dừng viết. mặt khác, tiếp tục nhân đôi số trước và viết. (Chuyển đổi một số lượng lớn, như 34.157.216.092, sang nhị phân bằng thuật toán này có thể hơi tẻ nhạt nhưng chắc chắn là có thể.)
Vì vậy, bạn nên có trên giấy của bạn:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Bạn đã dừng viết số ở 128 vì nhân đôi 128, sẽ cung cấp cho bạn 256, sẽ lớn hơn số được chuyển đổi (218).
Bắt đầu từ số ngoài cùng bên trái, viết "218" phía trên số đó (128) và tự hỏi: "218 có lớn hơn hoặc bằng 128 không?" Nếu câu trả lời là có, hãy gãi "1" bên dưới "128". Trên "64", viết kết quả của 218 trừ 128 (90).
Nhìn vào "64", hãy tự hỏi: "90 có lớn hơn hoặc bằng 64 không?" Đó là, vì vậy bạn sẽ viết "1" bên dưới "64", sau đó trừ 64 từ 90 và viết lên trên "32" (26).
Tuy nhiên, khi bạn đến "32", bạn thấy rằng 32 không lớn hơn hoặc bằng 26. Trong trường hợp này, hãy viết "0" bên dưới "32", sao chép số (26) từ trên 32 "lên trên" 16 "và sau đó tiếp tục tự hỏi mình câu hỏi tương tự với các con số còn lại.
Khi bạn đã hoàn tất, bạn nên có:
218 90 26 26 10 2 2 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 1 0 1 0
Các số ở trên cùng chỉ là các ghi chú được sử dụng trong tính toán và không có ý nghĩa nhiều đối với chúng tôi. Tuy nhiên, ở phía dưới, bạn thấy một số nhị phân "11011010". Chắc chắn, 218, được chuyển đổi thành nhị phân, là "11011010".
Thực hiện theo các thủ tục rất đơn giản này, bạn có thể chuyển đổi nhị phân thành thập phân và quay lại máy tính w / oa. Toán học rất đơn giản và các quy tắc có thể được ghi nhớ chỉ với một chút thực hành.
Tách địa chỉ
Hãy nghĩ về định tuyến IP như giao bánh pizza.
Khi bạn được yêu cầu giao một chiếc bánh pizza đến "123 Main Street", với tư cách là một con người, bạn muốn đến tòa nhà được đánh số "123" trên con phố có tên "Main Street". Thật dễ dàng để biết rằng bạn cần phải đi đến 100 khối của Phố chính vì số tòa nhà nằm trong khoảng từ 100 đến 199 và hầu hết các khối thành phố được đánh số hàng trăm. Bạn "chỉ biết" cách chia địa chỉ.
Bộ định tuyến cung cấp các gói, không phải pizza. Công việc của họ giống như một người lái pizza: Để có được hàng hóa (gói) càng gần đích đến càng tốt. Một bộ định tuyến được kết nối với hai hoặc nhiều mạng con IP (hoàn toàn hữu ích). Một bộ định tuyến phải kiểm tra các địa chỉ IP đích của các gói và chia các địa chỉ đích đó thành các thành phần "tên đường" và "số tòa nhà", giống như trình điều khiển pizza, để đưa ra quyết định về việc giao hàng.
Mỗi máy tính (hoặc "máy chủ") trên mạng IP được cấu hình với một địa chỉ IP và mặt nạ mạng con duy nhất. Địa chỉ IP đó có thể được chia thành một thành phần "số tòa nhà" (như "123" trong ví dụ trên) được gọi là "ID máy chủ" và thành phần "tên đường" (như "Phố chính" trong ví dụ trên) được gọi là "ID mạng". Đối với mắt người, chúng ta dễ dàng nhận thấy số tòa nhà và tên đường phố nằm trong "123 Main Street", nhưng khó hơn để thấy sự phân chia đó trong "10.13.216.41 với mặt nạ mạng con là 255.255.192.0".
Bộ định tuyến IP "chỉ biết" cách chia địa chỉ IP thành các bộ phận thành phần này để đưa ra quyết định định tuyến. Vì hiểu được các gói IP được định tuyến như thế nào để hiểu quá trình này, chúng ta cũng cần biết cách chia nhỏ địa chỉ IP. May mắn thay, trích xuất ID máy chủ và ID mạng ra khỏi địa chỉ IP và mặt nạ mạng con thực sự khá dễ dàng.
Bắt đầu bằng cách viết địa chỉ IP thành nhị phân (sử dụng máy tính nếu bạn chưa học cách làm điều này trong đầu, nhưng hãy ghi chú tìm hiểu cách thực hiện - thật sự rất dễ dàng và gây ấn tượng với người khác giới các bên):
10. 13. 216. 41
00001010.00001101.11011000.00101001
Viết ra mặt nạ mạng con ở dạng nhị phân:
255. 255. 192. 0
11111111.11111111.11000000.00000000
Được viết cạnh nhau, bạn có thể thấy rằng điểm trong mặt nạ mạng con nơi "dừng" 1 "thẳng hàng" đến một điểm trong địa chỉ IP. Đó là điểm mà ID mạng và ID máy chủ phân tách. Vì vậy, trong trường hợp này:
10. 13. 216. 41
00001010.00001101.11011000.00101001 - IP address
11111111.11111111.11000000.00000000 - subnet mask
00001010.00001101.11000000.00000000 - Portion of IP address covered by 1's in subnet mask, remaining bits set to 0
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
Bộ định tuyến sử dụng mặt nạ mạng con để "che giấu" các bit được bao phủ bởi 1 trong địa chỉ IP (thay thế các bit không được "che giấu" bằng 0) để trích xuất ID mạng:
10. 13. 192. 0
00001010.00001101.11000000.00000000 - Network ID
Tương tự, bằng cách sử dụng mặt nạ mạng con để "che giấu" các bit được bao phủ bởi 0 trong địa chỉ IP (thay thế các bit không được "che dấu" bằng 0) một lần nữa, bộ định tuyến có thể trích xuất ID máy chủ:
0. 0. 24. 41
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
Mắt người chúng ta không dễ dàng nhìn thấy "sự phá vỡ" giữa ID mạng và ID máy chủ vì nó nằm giữa "số tòa nhà" và "tên đường" trong các địa chỉ vật lý trong quá trình giao bánh pizza, nhưng hiệu quả cuối cùng là tương tự.
Giờ đây, bạn có thể tách địa chỉ IP và mặt nạ mạng con thành ID máy chủ và ID mạng, bạn có thể định tuyến IP giống như bộ định tuyến.
Thuật ngữ khác
Bạn sẽ thấy các mặt nạ mạng con được viết trên Internet và trong phần còn lại của câu trả lời này là (IP / số). Ký hiệu này được gọi là ký hiệu "Định tuyến giữa các miền không phân loại" (CIDR). "255.255.255.0" được tạo thành từ 24 bit 1 lúc đầu và viết nhanh hơn là "/ 24" so với "255.255.255.0". Để chuyển đổi số CIDR (như "/ 16") sang mặt nạ mạng con thập phân rải rác, chỉ cần viết ra số đó là 1, chia nó thành các nhóm 8 bit và chuyển đổi thành số thập phân. (Ví dụ: "/ 16" là "255.255.0.0".)
Quay lại "ngày xưa", mặt nạ mạng con không được chỉ định, nhưng được lấy bằng cách xem xét một số bit nhất định của địa chỉ IP. Ví dụ, một địa chỉ IP bắt đầu bằng 0 - 127, có mặt nạ mạng con ngụ ý là 255.0.0.0 (được gọi là địa chỉ IP "lớp A").
Những mặt nạ mạng con ngụ ý này không được sử dụng ngày nay và tôi không khuyên bạn nên tìm hiểu về chúng nữa trừ khi bạn không may xử lý các thiết bị cũ hoặc các giao thức cũ (như RIPv1) không hỗ trợ địa chỉ IP không có lớp. Tôi sẽ không đề cập đến các "lớp" địa chỉ này nữa bởi vì ngày nay nó không thể áp dụng được và có thể gây nhầm lẫn.
Một số thiết bị sử dụng ký hiệu gọi là "mặt nạ ký tự đại diện". "Mặt nạ ký tự đại diện" không gì khác hơn là mặt nạ mạng con với tất cả 0 trong đó sẽ có 1 và 1 là ở đó sẽ có 0. "Mặt nạ ký tự đại diện" của a / 26 là:
11111111.11111111.11111111.11000000 - /26 subnet mask
00000000.00000000.00000000.00111111 - /26 "wildcard mask"
Thông thường, bạn thấy "mặt nạ ký tự đại diện" được sử dụng để khớp ID máy chủ trong danh sách kiểm soát truy cập hoặc quy tắc tường lửa. Chúng tôi sẽ không thảo luận thêm về họ ở đây.
Bộ định tuyến hoạt động như thế nào
Như tôi đã nói trước đây, các bộ định tuyến IP có một công việc tương tự như trình điều khiển giao bánh pizza ở chỗ họ cần đưa hàng hóa (gói) của mình đến đích. Khi được trình bày với gói bị ràng buộc cho địa chỉ 192.168.10.2, bộ định tuyến IP cần xác định giao diện mạng nào sẽ giúp gói đó đến gần đích nhất.
Giả sử bạn là một bộ định tuyến IP và bạn có các giao diện được kết nối với bạn được đánh số:
- Ethernet0 - 192.168.20.1, mặt nạ mạng con / 24
- Ethernet1 - 192.168.10.1, mặt nạ mạng con / 24
Nếu bạn nhận được một gói để phân phối với địa chỉ đích là "192.168.10.2", thì thật dễ dàng để nói (bằng mắt người của bạn) rằng gói tin sẽ được gửi ra giao diện Ethernet1, vì địa chỉ giao diện Ethernet1 tương ứng với đích của gói địa chỉ nhà. Tất cả các máy tính được gắn vào giao diện Ethernet1 sẽ có địa chỉ IP bắt đầu bằng "192.168.10.", Vì ID mạng của địa chỉ IP được gán cho giao diện Ethernet1 của bạn là "192.168.10.0".
Đối với bộ định tuyến, quy trình chọn tuyến này được thực hiện bằng cách xây dựng bảng định tuyến và tư vấn bảng mỗi khi gói được gửi. Một bảng định tuyến chứa ID mạng và tên giao diện đích. Bạn đã biết cách lấy ID mạng từ địa chỉ IP và mặt nạ mạng con, vì vậy bạn đang trên đường xây dựng bảng định tuyến. Đây là bảng định tuyến của chúng tôi cho bộ định tuyến này:
- ID mạng: 192.168.20.0 (11000000.10101000.00010100.00000000) - Mặt nạ mạng con 24 bit - Giao diện Ethernet0
- ID mạng: 192.168.10.0 (11000000.10101000.00001010.00000000) - Mặt nạ mạng con 24 bit - Giao diện Ethernet1
Đối với gói đến của chúng tôi bị ràng buộc cho "192.168.10.2", chúng tôi chỉ cần chuyển đổi địa chỉ của gói đó thành nhị phân (vì con người-- bộ định tuyến lấy nó dưới dạng nhị phân để bắt đầu) và cố gắng khớp nó với từng địa chỉ trong định tuyến của chúng tôi bảng (tối đa số bit trong mặt nạ mạng con) cho đến khi chúng ta khớp với một mục.
- Điểm đến gói đến: 11000000.10101000.00001010.00000010
So sánh điều đó với các mục trong bảng định tuyến của chúng tôi:
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00010100.00000000 - Interface Ethernet0
!!!!!!!!.!!!!!!!!.!!!????!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00001010.00000000 - Interface Ethernet1, 24 bit subnet mask
!!!!!!!!.!!!!!!!!.!!!!!!!!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
Mục nhập cho Ethernet0 khớp với 19 bit đầu tiên, nhưng sau đó dừng khớp. Điều đó có nghĩa là nó không phải là giao diện đích thích hợp. Bạn có thể thấy rằng giao diện Ethernet1 khớp với 24 bit của địa chỉ đích. À, ha! Gói bị ràng buộc cho giao diện Ethernet1.
Trong một bộ định tuyến thực tế, bảng định tuyến được sắp xếp theo cách sao cho các mặt nạ mạng con dài nhất được kiểm tra khớp đầu tiên (nghĩa là các tuyến cụ thể nhất) và bằng số để ngay khi tìm thấy kết quả khớp, gói có thể được định tuyến và không cần cố gắng kết hợp nữa (có nghĩa là 192.168.10.0 sẽ được liệt kê đầu tiên và 192.168.20.0 sẽ không bao giờ được kiểm tra). Ở đây, chúng tôi đơn giản hóa một chút. Các cấu trúc dữ liệu và thuật toán ưa thích làm cho các bộ định tuyến IP nhanh hơn, nhưng các thuật toán đơn giản sẽ tạo ra kết quả tương tự.
Tuyến tĩnh
Cho đến thời điểm này, chúng tôi đã nói về bộ định tuyến giả định của mình là có các mạng được kết nối trực tiếp với nó. Rõ ràng, đó không phải là cách thế giới thực sự hoạt động. Trong sự tương tự lái xe pizza, đôi khi người lái xe không cho phép đi sâu vào tòa nhà hơn quầy lễ tân và phải giao bánh pizza cho người khác để giao cho người nhận cuối cùng (tạm ngưng sự hoài nghi của bạn và chịu đựng tôi trong khi Tôi kéo dài sự tương tự của tôi, xin vui lòng).
Hãy bắt đầu bằng cách gọi bộ định tuyến của chúng tôi từ các ví dụ trước đó "Bộ định tuyến A". Bạn đã biết bảng định tuyến của RouterA là:
- ID mạng: 192.168.20.0 (11000000.10101000.00010100.00000000) - mặt nạ mạng con / 24 - Bộ định tuyến giao diệnA-Ethernet0
- ID mạng: 192.168.10.0 (11000000.10101000.00001010.00000000) - mặt nạ mạng con / 24 - Bộ định tuyến giao diệnA-Ethernet1
Giả sử rằng có một bộ định tuyến khác, "Bộ định tuyến B", với các địa chỉ IP 192.168.10.254/24 và 192.168.30.1/24 được gán cho giao diện Ethernet0 và Ethernet1 của nó. Nó có bảng định tuyến sau:
- ID mạng: 192.168.10.0 (11000000.10101000.00001010.00000000) - mặt nạ mạng con / 24 - Bộ định tuyến giao diệnB-Ethernet0
- ID mạng: 192.168.30.0 (11000000.10101000.00011110.00000000) - mặt nạ mạng con / 24 - Bộ định tuyến giao diệnB-Ethernet1
Trong nghệ thuật ASCII đẹp, mạng trông như thế này:
Interface Interface
Ethernet1 Ethernet1
192.168.10.1/24 192.168.30.254/24
__________ V __________ V
| | V | | V
----| ROUTER A |------- /// -------| ROUTER B |----
^ |__________| ^ |__________|
^ ^
Interface Interface
Ethernet0 Ethernet0
192.168.20.1/24 192.168.10.254/24
Bạn có thể thấy rằng Bộ định tuyến B biết cách "truy cập" mạng, 192.168.30.0/24, Bộ định tuyến A không biết gì về.
Giả sử rằng một PC có địa chỉ IP 192.168.20.13 được gắn vào mạng được kết nối với bộ định tuyến Giao diện Ethernet0 của A sẽ gửi một gói đến Bộ định tuyến A để phân phối. Gói giả thuyết của chúng tôi được dành cho địa chỉ IP 192.168.30.46, là thiết bị được gắn với mạng được kết nối với giao diện Ethernet1 của Bộ định tuyến B.
Với bảng định tuyến được hiển thị ở trên, không có mục nào trong bảng định tuyến của Bộ định tuyến A khớp với đích 192.168.30.46, do đó, Bộ định tuyến A sẽ trả lại gói cho PC gửi với thông báo "Không thể truy cập mạng đích".
Để làm cho Bộ định tuyến A "biết" về sự tồn tại của mạng 192.168.30.0/24, chúng tôi thêm mục sau vào bảng định tuyến trên Bộ định tuyến A:
- ID mạng: 192.168.30.0 (11000000.10101000.00011110.00000000) - mặt nạ mạng con / 24 - Có thể truy cập qua 192.168.10.254
Theo cách này, Bộ định tuyến A có một mục nhập bảng định tuyến khớp với đích 192.168.30.46 của gói ví dụ của chúng tôi. Mục nhập bảng định tuyến này có hiệu quả cho biết "Nếu bạn nhận được gói bị ràng buộc trong 192.168.30.0/24, hãy gửi nó đến 192.168.10.254 vì anh ta biết cách xử lý." Đây là hành động tương tự "bỏ bánh pizza ở quầy lễ tân" mà tôi đã đề cập trước đó - chuyển gói cho người khác biết cách đưa nó đến gần đích hơn.
Thêm một mục vào bảng định tuyến "bằng tay" được gọi là thêm "tuyến tĩnh".
Nếu Bộ định tuyến B muốn phân phối các gói đến mạng con 192.168.20.0 mặt nạ mạng 255.255.255.0, thì nó cũng sẽ cần một mục trong bảng định tuyến của nó:
- ID mạng: 192.168.20.0 (11000000.10101000.00010100.00000000) - mặt nạ mạng con / 24 - Có thể truy cập qua: 192.168.10.1 (Địa chỉ IP của Bộ định tuyến A trong mạng 192.168.10.0)
Điều này sẽ tạo ra một đường dẫn để phân phối giữa mạng 192.168.30.0/24 và mạng 192.168.20.0/24 trên mạng 192.168.10.0/24 giữa các bộ định tuyến này.
Bạn luôn muốn chắc chắn rằng các bộ định tuyến ở cả hai phía của một "mạng xen kẽ" như vậy có một mục nhập bảng định tuyến cho mạng "xa tận cùng". Nếu bộ định tuyến B trong ví dụ của chúng tôi không có mục nhập bảng định tuyến cho mạng "xa tận cùng" 192.168.20.0/24 được gắn với bộ định tuyến Một gói giả định của chúng tôi từ PC ở 192.168.20.13 sẽ đến thiết bị đích ở 192.168.30.46, nhưng bất kỳ câu trả lời nào mà 192.168.30.46 đã cố gửi lại sẽ được bộ định tuyến B trả về là "mạng đích không thể truy cập được". Giao tiếp một chiều nói chung là không mong muốn. Luôn chắc chắn rằng bạn nghĩ về lưu lượng truy cập theo cả hai hướng khi bạn nghĩ về giao tiếp trong mạng máy tính.
Bạn có thể nhận được rất nhiều dặm từ các tuyến tĩnh. Các giao thức định tuyến động như EIGRP, RIP, v.v., thực sự không có gì khác hơn là một cách để các bộ định tuyến trao đổi thông tin định tuyến với nhau, trên thực tế, có thể được cấu hình với các tuyến tĩnh. Tuy nhiên, một lợi thế lớn cho việc sử dụng các giao thức định tuyến động trên các tuyến tĩnh là các giao thức định tuyến động có thể thay đổi linh hoạt bảng định tuyến dựa trên các điều kiện mạng (sử dụng băng thông, giao diện "đi xuống", v.v.) và, như vậy, sử dụng động giao thức định tuyến có thể dẫn đến một cấu hình "định tuyến xung quanh" các lỗi hoặc tắc nghẽn trong cơ sở hạ tầng mạng. (Tuy nhiên, các giao thức định tuyến động là CÁCH ngoài phạm vi của câu trả lời này.)
Bạn không thể đến đó từ đây
Trong trường hợp của Bộ định tuyến A mẫu của chúng tôi, điều gì xảy ra khi một gói bị ràng buộc cho "172.16.31.92" xuất hiện?
Nhìn vào bảng định tuyến A, giao diện đích hoặc tuyến tĩnh không khớp với 24 bit đầu tiên là 172,18.31,92 (là 10101100.00010000.00011111.01011100, BTW).
Như chúng ta đã biết, Bộ định tuyến A sẽ trả lại gói cho người gửi thông qua thông báo "Không thể truy cập mạng đích".
Giả sử có một bộ định tuyến (Bộ định tuyến C) khác đang ở địa chỉ "192.168.20.254". Bộ định tuyến C có kết nối với Internet!
Interface Interface Interface
Ethernet1 Ethernet1 Ethernet1
192.168.20.254/24 192.168.10.1/24 192.168.30.254/24
__________ V __________ V __________ V
(( heap o )) | | V | | V | | V
(( internet )) ----| ROUTER C |------- /// -------| ROUTER A |------- /// -------| ROUTER B |----
(( w00t! )) ^ |__________| ^ |__________| ^ |__________|
^ ^ ^
Interface Interface Interface
Ethernet0 Ethernet0 Ethernet0
10.35.1.1/30 192.168.20.1/24 192.168.10.254/24
Sẽ thật tuyệt nếu Bộ định tuyến A có thể định tuyến các gói không khớp với bất kỳ giao diện cục bộ nào tới Bộ định tuyến C để Bộ định tuyến C có thể gửi chúng lên Internet. Nhập tuyến đường "cổng mặc định".
Thêm một mục ở cuối bảng định tuyến của chúng tôi như thế này:
- ID mạng: 0.0.0.0 (00000000.00000000.00000000.00000000) - mặt nạ mạng con / 0 - Bộ định tuyến đích: 192.168.20.254
Khi chúng tôi cố gắng khớp "172.16.31.92" với mỗi mục trong bảng định tuyến, cuối cùng chúng tôi sẽ nhấn mục mới này. Đó là một chút bối rối, lúc đầu. Chúng tôi đang tìm cách khớp 0 bit của địa chỉ đích với ... chờ ... cái gì? Khớp bit nào? Vì vậy, chúng tôi không tìm kiếm một trận đấu nào cả. Về cơ bản, mục nhập bảng định tuyến này có nội dung: "Nếu bạn đến đây, thay vì từ bỏ việc giao hàng, hãy gửi gói đến bộ định tuyến tại 192.168.20.254 và để anh ta xử lý".
192.168.20.254 là một điểm đến chúng tôi DO biết làm thế nào để cung cấp một gói tin đến. Khi đối mặt với gói bị ràng buộc cho đích mà chúng tôi không có mục nhập bảng định tuyến cụ thể, mục nhập "cổng mặc định" này sẽ luôn khớp (vì nó khớp với các bit không của địa chỉ đích) và cung cấp cho chúng tôi vị trí "cuối cùng" mà chúng tôi có thể gửi gói để giao hàng. Đôi khi bạn sẽ nghe thấy cổng mặc định được gọi là "cổng cuối cùng".
Để một tuyến cổng mặc định có hiệu quả, nó phải tham khảo một bộ định tuyến có thể truy cập bằng cách sử dụng các mục khác trong bảng định tuyến. Ví dụ, nếu bạn đã cố gắng chỉ định một cổng mặc định 192.168.50.254 trong Bộ định tuyến A, thì việc phân phối đến một cổng mặc định như vậy sẽ thất bại. 192.168.50.254 không phải là địa chỉ mà Bộ định tuyến A biết cách phân phối các gói đến sử dụng bất kỳ tuyến nào khác trong bảng định tuyến của nó, vì vậy một địa chỉ như vậy sẽ không hiệu quả như một cổng mặc định. Điều này có thể được nói chính xác: Cổng mặc định phải được đặt thành một địa chỉ có thể truy cập bằng cách sử dụng một tuyến đường khác trong bảng định tuyến.
Các bộ định tuyến thực thường lưu trữ cổng mặc định là tuyến cuối cùng trong bảng định tuyến của chúng sao cho khớp với các gói sau khi chúng không khớp với tất cả các mục khác trong bảng.
Quy hoạch đô thị và định tuyến IP
Việc chia một mạng con IP thành các mạng con IP nhỏ hơn là quy hoạch đô thị. Trong quy hoạch đô thị, phân vùng được sử dụng để thích ứng với các đặc điểm tự nhiên của cảnh quan (sông, hồ, v.v.), để tác động đến các luồng giao thông giữa các khu vực khác nhau của thành phố và để phân tách các loại sử dụng đất khác nhau (công nghiệp, dân cư, v.v.) . Mạng con IP thực sự rất giống nhau.
Có ba lý do chính khiến bạn lên mạng con:
Bạn có thể muốn giao tiếp qua khác nhau không giống như phương tiện truyền thông. Nếu bạn có kết nối WAN T1 giữa hai tòa nhà, bộ định tuyến IP có thể được đặt ở đầu của các kết nối này để tạo điều kiện liên lạc qua T1. Các mạng ở mỗi đầu (và có thể là mạng "xen kẽ" trên chính T1) sẽ được gán cho các mạng con IP duy nhất để các bộ định tuyến có thể đưa ra quyết định về việc lưu lượng nào sẽ được gửi qua dòng T1.
Trong mạng Ethernet, bạn có thể sử dụng mạng con để giới hạn lưu lượng phát trong một phần nhất định của mạng. Các giao thức tầng ứng dụng sử dụng khả năng phát sóng của Ethernet cho các mục đích rất hữu ích. Tuy nhiên, khi bạn nhận được càng nhiều máy chủ được đóng gói vào cùng một mạng Ethernet, tỷ lệ lưu lượng phát trên mạng (hoặc không khí, trong Ethernet không dây) có thể tăng đến mức gây ra sự cố khi phân phối lưu lượng không phát sóng. (Vào thời xa xưa, lưu lượng phát sóng có thể áp đảo CPU của máy chủ bằng cách buộc chúng kiểm tra từng gói phát sóng. Điều đó ít có khả năng ngày nay.) Lưu lượng truy cập quá mức trên Ethernet chuyển đổi cũng có thể ở dạng "tràn khung vào các đích không xác định". Tình trạng này xảy ra do một bộ chuyển mạch Ethernet không thể theo dõi mọi điểm đến trên mạng và là lý do tại sao các mạng Ethernet chuyển đổi không thể mở rộng thành vô số máy chủ. Hiệu ứng ngập khung hình đến các điểm đến không xác định tương tự như ảnh hưởng của lưu lượng phát quá mức, cho các mục đích của mạng con.
Bạn có thể muốn "cảnh sát" các loại lưu lượng giao thông giữa các nhóm máy chủ khác nhau. Có lẽ bạn có thiết bị máy chủ in và bạn chỉ muốn máy tính máy chủ xếp hàng in được ủy quyền gửi công việc cho họ. Bằng cách giới hạn lưu lượng được phép truyền đến mạng con thiết bị máy chủ in, người dùng không thể định cấu hình PC của mình để nói chuyện trực tiếp với các thiết bị máy chủ in để bỏ qua kế toán in. Bạn có thể tự đặt các thiết bị máy chủ in vào một mạng con và tạo quy tắc trong bộ định tuyến hoặc tường lửa được gắn vào mạng con đó để kiểm soát danh sách các máy chủ được phép gửi lưu lượng đến các thiết bị máy chủ in. (Cả bộ định tuyến và tường lửa thường có thể đưa ra quyết định về cách hoặc có thể phân phối gói dựa trên địa chỉ nguồn và đích của gói. Tường lửa thường là một loài phụ của bộ định tuyến với tính cách ám ảnh. Họ có thể rất, rất quan tâm đến tải trọng của các gói, trong khi các bộ định tuyến thường bỏ qua tải trọng và chỉ phân phối các gói.)
Khi lập kế hoạch cho một thành phố, bạn có thể lập kế hoạch cách các đường phố giao nhau với nhau và có thể sử dụng các đường rẽ, một chiều và ngõ cụt để tác động đến các luồng giao thông. Bạn có thể muốn Main Street dài 30 khối, mỗi khối có tới 99 tòa nhà mỗi tòa. Thật dễ dàng để lập kế hoạch đánh số đường phố của bạn sao cho mỗi khối trong Phố chính có một dãy số đường phố tăng thêm 100 cho mỗi khối. Rất dễ dàng để biết "số bắt đầu" trong mỗi khối tiếp theo sẽ là gì.
Khi lập kế hoạch mạng con IP, bạn quan tâm đến việc xây dựng đúng số mạng con (đường phố) với đúng số ID máy chủ có sẵn (số tòa nhà) và sử dụng bộ định tuyến để kết nối mạng con với nhau (giao điểm). Các quy tắc về địa chỉ nguồn và đích được chỉ định trong các bộ định tuyến có thể kiểm soát thêm lưu lượng. Tường lửa có thể hoạt động như cảnh sát giao thông ám ảnh.
Đối với mục đích của câu trả lời này, xây dựng mạng con của chúng tôi là mối quan tâm chính duy nhất của chúng tôi. Thay vì làm việc theo số thập phân, như bạn làm với quy hoạch đô thị, bạn làm việc theo hệ nhị phân để mô tả giới hạn của mỗi mạng con.
Tiếp tục: Làm thế nào để mạng con IPv4 hoạt động?
(Có ... chúng tôi đã đạt đến kích thước tối đa của câu trả lời (30000 ký tự).)