Cuộc sống cho ta yêu thương, tình người với bao buồn vui. Lắng sâu trong tâm hồn, cuộc sống cho ta...điều kỳ diệu !!!

Classless vs Classfull

Các routing protocols nhóm classful không quảng bá network mask cùng với địa chỉ destination trong các gói routing update. Do đó, khi router nhận được các update này, router phải lấy giá trị network-mask mặc định có cùng với địa chỉ lớp mạng của địa chỉ đích.

Nếu địa chỉ đích là kết nối trực tiếp (connected), network-mask đuợc lấy cùng với mask đuoc cấu hình trên interface kết nối đến mạng đó. Nếu dia chỉ dest khong connected, router sẽ lấy dia chi SM default cua dia chi địch

Các routing protocols nhóm classless cho phép router gởi subnetmask trong các quảng bá routing. Do đó, classless cho phep sử dụng VLSM (là cơ chế cho phép phân chia các subnet có các giá trị netmask khác nhau trên mạng và các subnet này có thể kết nối được với nhau). Ngoài ra, classless cho phép phân biệt các subnet all-zeros và subnet dành cho broadcast (all-ones), trong khi classfull thì không.

 

Ví dụ 1:

Giả sử chúng ta có một mạng như thế này, mạng này chạy routing protocol là RIP Version 1

Mang A(10.10.0.0)—>Router1<—-(192.168.10.0)—>Router2<—-Mạng B(10.11.0.0)

Mạng này cấu hình rất dễ nhưng khi config xong thì mạng không chạy: bạn sẽ thấy trong bảng định tuyến Router1 không có đường đến mạng B(10.11.0.0) còn trong bảng định tuyến Router2 không có đường đến mạng A(10.10.0.0). khi đó chúng ta không thể từ ngồi từ Router1 ping sang mạng B được??

Tại sao lại vậy?

Nguyên nhân là: RIP version 1 là classful routing protocol, khi quảng bá thông tin định tuyến đến router khác sẽ không có thông tin về subnet mask.

Router1 có mạng 10.10.0.0 connected thì nó hiểu đó là mạng 10.0.0.0 (lấy subnetmask mặc định là 8), do đó khi Router2 gửi thông tin về mạng B đến Router 1. Router1 nghĩ rằng: Nó đã có mạng 10.10.0.0 (mạng A, có subnet là /16) connected rồi, giờ lại nhận được một thông tin về mạng 10.0.0.0 (thực chất là mạng B) nữa nhưng với mạng này kém chi tiết hơn (/8), thế thì nó sẽ không thêm con đường đến mạng B nữa. Chính vì thế trong routing table của Router1 sẽ không có route nào đến mạng B (10.11.0.0/16).

Để giải quyết vấn đề này, dùng static routing hoặc dùng các routing hỗ trợ VLSM.
Khi này thì cần phải có các routing protocol support VLSM ( như RIP v2, OSPF , hay EIGRP)

Còn RIP v1 chỉ hỗ trợ classfull. Nghĩa là trong 1 topology, tất cả các subnet chỉ được chia cùng một subnet mask duy nhất. Vì khi các routing protocol nhận các routing update về các net khác (các network không kết nối trực tiếp), thì các classfull routing protocol sẽ lấy giá trị subnet mask trên cổng (interface) của router mà nó nhận được routing update về các NET đó.

Ví dụ 2:

Khi gởi update:

Trước khi router1 gởi update cho router2, nó kiểm tra thông tin sau: Thông tin subnet có cùng mạng lớn (major net) với interface (sẽ gởi update) không?

- Không: Router1 tổng hợp đưa mạng về major net và quảng cáo mạng đã tổng hợp này.

- Có: Mạng có cùng subnet mask với interface (sẽ gởi update) không?
+ Có: Router 1 sẽ advertise subnet
+ Không: Router sẽ loại bỏ network, và không advertise nó.

Khi nhận update :

KHi RIP hay IGRP nhận một update, chúng thực hiện kiểm tra trước khi chấp nhận update và sử dụng subnetmask. Quá trình sau sẽ diển ra trước khi Route2 chấp nhận update từ Router 1:
Subnet nhận được trong update có cùng major net với interface nhận update không?

- Có: Router 2 dùng mask của interface nhận update. Nếy mạng được quảng cáo có một bit làm host thỉ Router 2 sẽ dùng host mask /32. Trong trường hợp RIP, nó tiếp tục advertise route /32 tới các router khác, nhưng IGRP thì không.

- Không : Có bất kỷ subnet của major net tồn tại trong bảng định tuyến không (biết từ các interface khác)? Chú ý mạng của upadate
+ Có: router 2 bỏ qua update.
+ Không: Router 2 dùng classful mask.
Gởi update:

Router 1 gời update tới router 2, nó thực hiện các kiểm tra:

131.108.5.0/24 có cùng major net với 131.108.2.0/24 không ?
- Có: Mạng 131.108.5.0/24 có cùng subnet mask với 131.108.2.0/24 không?
+ Có: Router 1 advertise network

137.99.88.0/24 có cùng major net với 131.108.2.0/24 không?
- Không: Router 1 summarizes 137.99.88.0/24 thành major net và advertises mạng đó là 137.99.0.0.

Kết quả quá trình này ở Router 1 là gởi 131.108.5.0 và 137.99.0.0 trong update tới Router 2. Có thể dùng lệnh debug ip rip trên Router 1 để kiểm tra:

RIP: sending v1 update to 255.255.255.255 via Serial0 (131.108.2.2)
subnet 131.108.5.0, metric 1
network 137.99.0.0, metric 1

Nhận update:

Dùng lệnh debug ip rip, có thể thấy các update nhận được trên Router 2 từ Router 1:
RIP: received v1 update from 131.108.2.2 on Serial0
131.108.5.0 in 1 hops
137.99.0.0 in 1 hops

Router 2 sẽ thực hiện như sau:

Major net 137.99.0.0 nhận được có cùng với 131.108.2.0 (interface nhận update) không?
- Không: Có bất kỳ subnet nào của major net này trong bảng định tuyến (biết được tử các interface khác) không?
+ Không: Router2 chấp nhận mask mặc định (/16) vì 137.99.0.0 là địa chỉ lớp B.

Subnet 131.108.5.0 có cùng major net với subnet 131.108.2.0 không?
- Có: Router 2 dùng mask /24, là mask nhận của interface nhận update.

Quá trình này dẫn tới kết quả bảng định tuyến Router2 khi dủng lệnh sho ip route như sau:

R 137.99.0.0/16 [120/1] via 131.108.2.2, 00:00:07, Serial0
131.108.0.0/24 is subnetted, 3 subnets
R 131.108.5.0 [120/1] via 131.108.2.2, 00:00:08, Serial0
C 131.108.2.0 is directly connected, Serial0
C 131.108.3.0 is directly connected, Ethernet0
——————————————————————————–

Tóm tắt:
Classful là cách mà bạn muốn chia một class IP ra bao nhiêu phần cũng được và các phần được cắt ra luôn luôn = nhau . VLSM là cách mà bạn muốn chia một class bao nhiêu phần tùy ý và mỗi phần cắt ra có kích thước lớn nhỏ tùy ý, khác với classful ở chổ khi route nó phài kèm theo SM. CIDR là cách mà bạn có được một subnet lớn (supernet) bằng cách lấy nhiều subnet (C) ghép lại nhưng supernet này đặc biệt khác với 2 subnet trên ở chổ mặc dù có nhiều subnet nhưng nó chỉ có một entry trong routing table

0 nhận xét:

Post a Comment

Related Posts Plugin for WordPress, Blogger...
Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger