5.2.1. Giới thiệu
Internet là một hệ tự quản (AS - Autonomous system). Mỗi AS có một cơ chế quản trị, một công nghệ định tuyến riêng, khác với các AS khác. Các giao thức định tuyến được sử dụng bên trong một AS được gọi là giao thức định tuyến nội vi IGP (Interior Gateway Protocol). Để thực hiện định tuyến giữa các AS với nhau chúng ta phải sử dụng một giao thức riêng gọi là giao thức định tuyến ngoại vi EGP (Exterior Gateway Protocol). RIP được thiết kế như là một giao thức IGP dùng cho các AS có kích thước nhỏ, không sử dụng cho các hệ thống mạng lớn và phức tạp.
88
5.2.2. Hoạt động
RIPv1 (RIP phiên bản 1) là giao thức định tuyến theo vectơ khoảng cách nên quảng bá toàn bộ bảng định tuyến của nó cho các Router láng giềng theo định kỳ. Chu kỳ cập nhật của RIP là 30 giây. Thông số định tuyến của RIP là số lượng Hop, giá trị tối đa là 15 Hop. RIPv1 là giao thức định tuyến theo lớp địa chỉ. Khi RIP Router nhận thông tin về một mạng nào đó từ một cổng, trong thông tin định tuyến này không có thông tin về Subnet Mask đi kèm. Do đó Router sẽ lấy Subnet Mask của cổng để áp dụng cho địa chỉ mạng mà nó nhận được từ cổng này. Nếu Subnet Mask này không phù hợp thì nó sẽ lấy Subnet Mask mặc định theo lớp địa chỉ để áp dụng cho địa chỉ mạng mà nó nhận được.
Địa chỉ lớp A có Subnet Mask mặc định là 255.0.0.0 Địa chỉ lớp B có Subnet Mask mặc định là 255.255.0.0 Địa chỉ lớp C có Subnet Mask mặc định là 255.255.255.0
RIPv1 là giao thức định tuyến được sử dụng phổ biến vì mọi Router IP đều hỗ trợ giao thức này. RIPv1 được phổ biến vì tính đơn giản và tính tương thích toàn cầu của nó. (RIP là chuẩn mở, không phải của riêng Cisco). RIPv1 có thể chia tải ra tối đa là 6 đường có cost (chi phí) bằng nhau (mặc định là 4 đường).
a) Một số giới hạn của RIPv1
- Không gửi thông tin Subnet Mask trong thông tin định tuyến - Gửi quảng bá thông tin định tuyến theo địa chỉ 255.255.255.255 - Không hỗ trợ xác minh thông tin nhận được
- Không hỗ trợ VLSM và CIDR (Classless Interdomain Routing)
b) Cấu hình RIP
RIP được các hệ điều hành Win2000 Server, Linux và nhiều Router Modem (Zoom, Planet, ...) hỗ trợ. Ở ví dụ sau minh họa cho cách cấu hình RIP với Router của Cisco System.
Lệnh Router RIP chọn RIP như là một giao thức định tuyến, lệnh network gán một địa chỉ lớp đây là địa chỉ mạng muốn quảng bá cho các Router khác.
Router(config)#Router protocol [keyword] Router(config-Router)#network network-number
89
5.3. Kỹ thuật VLSM và CIDR 5.3.1. Kỹ thuật VLSM 5.3.1. Kỹ thuật VLSM
Khi số IP của người dùng tăng lên lớn hơn, người quản trị mạng phải có cách sử dụng không gian địa chỉ IP một cách hiệu quả hơn. Một trong những kỹ thuật đó là sử dụng kỹ thuật VLSM, với VLSM người quản trị có thể chia địa chỉ mạng có Subnet Mask dài (lớn) cho mạng có yêu cầu ít về số host (địa chỉ IP) và địa chỉ mạng có Subnet Mask ngắn (nhỏ) cho mạng yêu cầu nhiều host. Khi chạy VLSM thì hệ thống mạng phải chạy các giao thức định tuyến hỗ trợ VLSM như : OSPF (Interggated Intermediate System to Intermediate System ), EIGRP, RIPv2 và định tuyến tĩnh.
Để nắm rõ kỹ thuật phân chia, và chia thành thạo, chúng ta cần hiểu rõ một số khái niệm và công thức như sau:
+ Địa chỉ mạng (N/A – Network Address): là địa chỉ có tất cả các bit thuộc phần host_id = 0
+ Địa chỉ Broadcast (B/A - Broadcast Address): là địa chỉ có tất cả các bit thuộc phần host_id = 1
+ Địa chỉ khả dụng (địa chỉ host address): là địa chỉ IP nguyên tố thuộc một lớp mạng con nào đó, có thể đem gán cho PC, Laptop, và các host mạng. Phần host_id của địa chỉ này có chứa cả bit „0‟ và bit „1‟. Theo đó:
N/A < Địa chỉ khả dụng < B/A
+ Một địa chỉ IP v4 có tổng số 32 bit, được chia làm 4 octet, mỗi octet cách nhau bởi một dấu chấm. Bất kỳ một địa chỉ IP v4 nào cũng có 2 phần: network_id và host_id.
+ Địa chỉ Subnet Mask dùng để phân biệt phần bit nào là net_id và phần bit nào là host_id. Có thể viết tắt địa chỉ Subnet Mask dùng ký hiệu “/”. Ví dụ: cho địa chỉ IP: 111.200.15.0/25, thì /25 ở đây có nghĩa là có 25 bit “1” liên tiếp từ trái qua phải của 111.200.15.0 là net_id, còn lại 32-25 = 7 bit là host_id.
+ Cách chuyển đổi số nhị phân, thập phân + Phép toán AND:
1 and 1 = 1 1 and 0 = 0
90 0 and 1 = 1
91
CÔNG THỨC ÁP DỤNG:
- Liên quan đến số mạng con cần tạo, áp dụng công thức:
2n ≥ số mạng con cần tạo ra
Ở đây n là số bit cần phải mượn (chuyển đổi từ bit host_id sang bit net_id) từ phần host_id. Nếu mượn n bit thì sẽ tạo ra được 2n mạng con mới (subnet mới), mỗi subnet mới này sẽ có 2h - 2 địa chỉ host có thể đem gán; và địa chỉ Subnet Mask mới của tất cả các mạng con mới sẽ = địa chỉ Subnet Mask của IP đang chia + số bit mượn n. Chúng ta không cần loại bỏ 2 mạng con đầu tiên vì các dòng Router hiện nay có IOS hỗ trợ lệnh Router(config)#IP subnet-zero nên 2 mạng con này vẫn có thể sử dụng được.
- Liên quan đến số địa chỉ host yêu cầu, áp dụng công thức
2h - 2 ≥ số host yêu cầu của từng mạng
Ở đây h là bit thuộc phần host_id và cũng là số bit còn lại sau khi ta mượn n bit.
Ở kỹ thuật VLSM ta thường áp dụng công thức này trước để tìm ngược lại số bit mượn n
VÍ DỤ MẪU: Cho giải địa chỉ IP 50.68.16.0/20
Sử dụng kỹ thuật VLSM, hãy phân chia địa chỉ trên cho các mạng sau: + Mạng 1 yêu cầu 60 host
+ Mạng 2 yêu cầu 632 host + Mạng 3 yêu cầu 2 host + Mạng 4 yêu cầu 1200 host + Mạng 5 yêu cầu 315 host
92
HƢỚNG DẪN
Theo kỹ thuật VSLM, ta phải sắp sếp các mạng có số host từ cao nhất xuống thấp nhất như sau:
+ Mạng 4 yêu cầu 1200 host + Mạng 2 yêu cầu 632 host + Mạng 5 yêu cầu 315 host + Mạng 1 yêu cầu 60 host + Mạng 3 yêu cầu 2 host
a) Bƣớc 1: Lấy địa chỉ IP ban đầu 50.68.16.0/20 phân chia cho Mạng 4 yêu cầu 1200
host
Áp dụng công thức: 2h - 2 ≥ 1200 -> h = 11
Hình 5.6.
Điều đó có nghĩa là, muốn phân chia địa chỉ ban đầu cho mạng yêu cầu số host là 1200 thì lời khuyên theo VLSM đưa ra là ta nên mượn tối thiểu:
n = tổng số bit nhị phân của địa chỉ IPv4 – số bít phần Net_id của địa chỉ mạng cần chia nhỏ(SUBNET MASK của địa chỉ đem chia) – số bit h còn lại (sau khi bị mượn n bit)
93
n = 32 – 20 – 11 = 1 bit, từ đó tính được số mạng con mới được sinh ra là 21 = 2 mạng con (subnet), new Subnet Mask của tất cả các mạng con mới này chính là 20 + 1= /21; mỗi mạng con này sẽ có 2h – 2 = 211 – 2 = 2046 địa chỉ IP có thể đem gán cho host
Các địa chỉ mạng con chi tiết là:
Để tính được tất cả các mạng con mới, ta đổi địa chỉ đang đem chia ra dạng nhị phân: 50.68.16.0/20
00110010.01000100.0001 0 000.00000000 11111111.11111111.1111 0 000.00000000
Dựa vào số bit của địa chỉ Subnet Mask (ở đây đề bài cho là /20), ta xác định được số bit phần Net_ID = 20, và tính được số bit cần mượn là n = 1 (bit gạch chân). Muốn tìm mạng thứ bao nhiêu trong tổng số các mạng con mới, ta chỉ việc đem đổi số đó ra dạng nhị phân, sau đó đem chuỗi bit này thay thế cho toàn bộ các bit bị gạch chân bên trên, trong trường hợp khi đổi các số (mạng thứ i ) ra nhị phân mà không vừa đủ bằng số bit gạch chân, ta chỉ việc thêm các bit 0 vào đầu dãy số đã đổi sao cho đủ vừa khít các bit gạch chân để có thể thay thế. Điển hình, ở đây ta sẽ tính được
Mạng thứ 0 trong tổng số 2 mạng như sau:
+ Đổi 0 hệ 10 sang hệ nhị phân 0, vì ở đây phần gạch chân chỉ có 1 bit, do đó ta không cần thêm bit 0 nữa; bê nguyên bit này thay thế cho phần gạch chân bên trên. Kết quả khi thay thế và đổi sang thập phân, mạng thứ 0 cần tính là:
50.68.16.0/21
+ Trong tất cả các trường hợp chia theo kỹ thuật VLSM, mạng con thứ 0 luôn trùng với địa chỉ mạng đang đem chia, chỉ có điều địa chỉ Subnet Mask mới đã được thay đổi (tăng lên).
Mạng thứ 1 là:
+ Đổi số 1 ở hệ 10 sang nhị phân 1, tương tự trên, vì trường hợp này số bit gạch chân chỉ có 1 bit, ta không cần thêm bit 0 nữa; sử dụng chuỗi vừa được đổi ở dạng nhị phân là bit 1 , đem thay thế cho phần bit gạch chân trên, sau đó đổi ra hệ thập phân, kết quả mạng thứ 1 là:
94
00110010.01000100.0001 0 000.00000000 , sau khi được thay thế là: 00110010.01000100.0001 1 000.00000000 , đổi ra thập phân được: 50.68.24.0/21
Kết luận tại bƣớc 1:
Lấy địa chỉ mạng thứ 0 là 50.68.16.0/21 đem cấp cho mạng yêu cầu 1200 host; Và lấy mạng thứ 1 là 50.68.24.0/21 đem chia tiếp (ở bước tiếp theo)
Muốn tìm địa chỉ IP thứ i, ta chỉ việc đổi i ra nhị phân, sau đó bê nguyên khối nhị phân này vào phần bit mượn (phần bit dịch chuyển). Rồi sau đó đổi ra thập phân cho từng octet
b) Bƣớc 2: Lấy địa chỉ 50.68.24.0/21 đem chia cho mạng yêu cầu 632 host
Tương tự bước 1, đầu tiên ta áp dụng công thức: 2h - 2 ≥ 632 -> h = 10
=> cần mượn số bit là n = 32 – 21 – 10 = 1
=> số mạng con mới là 21 = 2 mạng con, địa chỉ Subnet Mask mới của 2 mạng con này là 21 + 1 = /22; mỗi mạng con này sẽ có 2h – 2 = 210 – 2 = 1022 địa chỉ host
Chi tiết các mạng con mới là:
- Mạng thứ 0: tương tự bước 1, ta có ngay kết quả là 50.68.16.0/22 - Mạng thứ 1 là:
Đổi số 1 ở hệ 10 sang nhị phân 1, tương tự trên, vì trường hợp này số bit gạch chân chỉ có 1 bit, ta không cần thêm bit 0 nữa; sử dụng chuỗi vừa được đổi ở dạng nhị phân là bit 1 , đem thay thế cho phần bit gạch chân trên, sau đó đổi ra hệ thập phân, kết quả mạng thứ 1 là:
Mạng ban đầu đem chia: 50.68.24.0/21
00110010.01000100.00011 0 00.00000000 , sau khi được thay thế là: 00110010.01000100.00011 1 00.00000000 , đổi ra thập phân được: 50.68.28.0/22
Kết luận tại bƣớc 2:
Lấy địa chỉ mạng thứ 0 là 50.68.24.0/22 đem cấp cho mạng yêu cầu 632 host; Và lấy mạng thứ 1 là 50.68.28.0/22 đem chia tiếp (ở bước tiếp theo)
95
c) Bƣớc 3: Lấy địa chỉ 50.68.28.0/22 đem chia cho mạng yêu cầu 315 host
Tương tự trên, đầu tiên ta áp dụng công thức: 2h - 2 ≥ 315 -> h = 9
=> cần mượn số bit là n = 32 – 22 – 9 = 1
=> số mạng con mới là 21 = 2 mạng con, địa chỉ Subnet Mask mới của 2 mạng con này là 22 + 1 = /23; mỗi mạng con này sẽ có 2h – 2 = 29 – 2 = 510 địa chỉ host
Chi tiết các mạng con mới là:
+ Mạng thứ 0: tương tự bước trên, ta có ngay kết quả là 50.68.28.0/23 + Mạng thứ 1 là:
Đổi số 1 ở hệ 10 sang nhị phân 1, tương tự trên, vì trường hợp này số bit gạch chân chỉ có 1 bit, ta không cần thêm bit 0 nữa; sử dụng chuỗi vừa được đổi ở dạng nhị phân là bit 1 , đem thay thế cho phần bit gạch chân trên, sau đó đổi ra hệ thập phân, kết quả mạng thứ 1 là:
Mạng ban đầu đem chia: 50.68.28.0/22
00110010.01000100.000111 0 0.00000000 , sau khi được thay thế là: 00110010.01000100.000111 1 0.00000000 , đổi ra thập phân được: 50.68.30.0/23
Kết luận tại bƣớc 3:
Lấy địa chỉ mạng thứ 0 là 50.68.28.0/23 đem cấp cho mạng yêu cầu 315 host; Và lấy mạng thứ 1 là 50.68.30.0/23 đem chia tiếp (ở bước tiếp theo)
d) Bƣớc 4: Lấy địa chỉ 50.68.30.0/23 đem chia cho mạng yêu cầu 60 host
Tương tự trên, đầu tiên ta áp dụng công thức: 2h - 2 ≥ 60 -> h = 6
=> cần mượn số bit là n = 32 – 23 – 6 = 3
=> số mạng con mới là 23 = 8 mạng con, địa chỉ Subnet Mask mới của 2 mạng con này là 23 + 3 = /26; mỗi mạng con này sẽ có 2h – 2 = 26 – 2 = 62 địa chỉ host
Chi tiết các mạng con mới là:
+ Mạng thứ 0: tương tự bước trên, ta có ngay kết quả là 50.68.30.0/26 + Mạng thứ 1 là:
96
Đổi số 1 ở hệ 10 sang nhị phân 1, tương tự trên, vì trường hợp này số bit gạch chân chỉ có 1 bit, ta không cần thêm bit 0 nữa; sử dụng chuỗi vừa được đổi ở dạng nhị phân là bit 1 , đem thay thế cho phần bit gạch chân trên, sau đó đổi ra hệ thập phân, kết quả mạng thứ 1 là:
Mạng ban đầu đem chia: 50.68.30.0/23
00110010.01000100.0001111 0.00 000000, sau khi được thay thế là: 00110010.01000100.0001111 0.01 000000 , đổi ra thập phân được: 50.68.30.64/26
………. Vân vân ………..
ở đây ta sẽ tính thêm một mạng bất kỳ để giải thích rõ hơn việc đổi ra nhị phân sau đó thay thế chuỗi bit gạch chân. Ví dụ, ta cần tìm mạng thứ 2 trong tổng số 8 mạng con là bao nhiêu, ta làm như sau:
Mạng thứ 2 tương đương với việc đổi số 3 ở dạng thập phân (vì ta có tổng số 8 mạng, bắt đầu từ mạng thứ 0 đến mạng thứ 7 cho nên Mạng thứ 2 thì đồng nghĩa với số 3 trong tổng 8 mạng), đổi 3 (ở hệ 10) sang hệ nhị phân được: 11 (có 2 bit), vì số bit gạch chân là 3 nên ta phải thêm vào một bit 0 thành 011, bê nguyên chuỗi bit này thay thế hết các bit bị gạch chân trong mạng ban đầu:
00110010.01000100.0001111 0.00 000000, sau khi được thay thế là: 00110010.01000100.0001111 0.11 000000 , đổi ra thập phân được: 50.68.30.192/26 (là địa chỉ của mạng thứ 2)
Kết luận tại bƣớc 4:
Lấy địa chỉ mạng thứ 0 là 50.68.30.0/26 đem cấp cho mạng yêu cầu 60 host; Và lấy mạng thứ 1 là 50.68.30.64/26 đem chia tiếp (ở bước tiếp theo)
e) Bƣớc 5: Lấy địa chỉ 50.68.30.64/26 đem chia cho mạng yêu cầu 2 host
Tương tự trên, đầu tiên ta áp dụng công thức: 2h - 2 ≥ 2 -> h = 2
=> cần mượn số bit là n = 32 – 26 – 2 = 4
=> số mạng con mới là 24 = 16 mạng con, địa chỉ Subnet Mask mới của 16 mạng con này là 26 + 4 = /30; mỗi mạng con này sẽ có 2h – 2 = 22 – 2 = 2 địa chỉ host
97
Chi tiết các mạng con mới là:
+ Mạng thứ 0: tương tự bước trên, ta có ngay kết quả là 50.68.30.64/30 Các mạng tiếp theo, nếu cần có thể tính tương tự trên.
Kết luận tại bƣớc 5:
98
KẾT LUẬN:
- Địa chỉ mạng sau khi sử dụng kỹ thuật VLSM để đem phân chia cho các mạng có yêu cầu theo đề bài là:
Subne t Name Neede d Size Allocate
d Size Address Mask Dec Mask
Assignable Range Broadcast Mạng 4 1200 2046 50.68.16. 0 /21 255.255.248.0 50.68.16.1 - 50.68.23.25 4 50.68.23.25 5 Mạng 2 632 1022 50.68.24. 0 /22 255.255.252.0 50.68.24.1 - 50.68.27.25 4 50.68.27.25 5 Mạng 5 315 510 50.68.28. 0 /23 255.255.254.0 50.68.28.1 - 50.68.29.25 4 50.68.29.25 5 Mạng 3 220 254 50.68.30. 0 /24 255.255.255.0 50.68.30.1 - 50.68.30.25 4 50.68.30.25 5 Mạng 1 60 62 50.68.31. 0 /26 255.255.255.1 92 50.68.31.1 - 50.68.31.62 50.68.31.63
- Địa chỉ mạng dư thừa tính được ở các bước sẽ được dùng cho việc cấp phát lần sau (ví dụ tăng thêm số người dùng internet, mở thêm chi nhánh công ty, …)
- Có thể sử dụng các ứng dụng phần mềm có sẵn trên Android hoặc IOS hoặc truy cập vào link:
99
Hình 5.7.
5.3.2. Kỹ thuật CIDR
Khi sử dụng VLSM các nên cố gắng phân bố các subnet liền nhau ở gần nhau để có thể tổng hợp địa chỉ. Trước 1997 không có tổng hợp địa chỉ hệ thống định tuyến xương sống của Internet gần như bị sụp đổ mấy lần. Do đó, trên Router cần phải có một