Bài viết chuyên đề
CLASSFUL và CLASSLESS
19/04/2018 10:05:21
CLASSFUL và CLASSLESS
Khi làm việc với các hiện thực của Cisco cũng như tham khảo các giáo trình, tài liệu của hãng, chúng ta rất thường bắt gặp các thuật ngữ “classful” và “classless”. Các thuật ngữ này lại được sử dụng rất khác nhau trong nhiều ngữ cảnh khác nhau. Điều này khiến chúng ta không khỏi bối rối khi diễn giải thuật ngữ trong quá trình nghiên cứu tài liệu. Bài viết này xin được tổng kết lại các ngữ cảnh mà bộ thuật ngữ “classless” và “classful” được sử dụng từ đó hy vọng có thể giúp các bạn khi tiếp xúc các thuật ngữ này phần nào tránh được sự bối rối do cách sử dụng chúng gây ra.
Có 3 ngữ cảnh trong việc sử dụng bộ thuật ngữ “classful” và “classless”:
1) Cách đánh địa chỉ IP theo kiểu classful và theo kiểu classless.
2) Tra cứu bảng định tuyến theo kiểu classful và theo kiểu classless.
3) Các giao thức định tuyến thuộc trường phái classful và các giao thức định tuyến thuộc trường phái classless.
Trước khi đi vào phân tích chi tiết, xin được nhắc lại khái niệm major network được sử dụng trong bài viết này.
Một major network là một mạng lớp A, B hay C chưa bị chia nhỏ ra. Vd: 10.0.0.0/8, 172.16.0.0/16 hay 192.168.1.0/24 là các major network. Ngược lại với major network là các mạng subnet được chia ra từ các major network. Vd: 10.1.1.0/24 là subnet được chia ra từ major 10.0.0.0/8; 172.16.1.0/24 là subnet được chia ra từ major 172.16.0.0/16 hay 192.168.1.96/28 là subnet được chia ra từ major 192.168.1.0/24,…
Bây giờ, chúng ta cùng nhau phân tích 03 ngữ cảnh này:
Cách đánh địa chỉ IP classful và classless
Đánh địa chỉ IP theo kiểu classful là cách đặt địa chỉ sử dụng luật phân lớp A, B và C. Một địa chỉ sẽ được chia thành hai phần network và host, một subnet – mask sẽ được sử dụng kèm để xác định được phần mạng trong một địa chỉ IP.
Ngược lại, đánh địa chỉ theo kiểu classless bỏ qua luật phân lớp A, B và C. Với cách đánh địa chỉ này, một địa chỉ IP sẽ không được xem xét theo lớp, không sử dụng subnet – mask. Kiểu đánh địa chỉ classless sẽ xem một địa chỉ IP gồm hai phần: phần prefix và phần host. Các địa chỉ có cùng phần prefix sẽ được xem như cùng một nhóm (có thể hiểu nhóm như một subnet). Để xác định các bit prefix trong một địa chỉ, người ta sử dụng số prefix – length: số bit prefix trong địa chỉ ấy. Vậy, định dạng của cách đánh địa chỉ classless sẽ là: A.B.C.D/n, với n là số prefix – length.
Ví dụ:
Địa chỉ mạng 192.168.1.0 nếu được thể hiện dưới định dạng classful sẽ là “192.168.1.0 255.255.255.0” còn nếu thể hiện dưới định dạng classless sẽ là “192.168.1.0/24”.
Một điểm cần lưu ý là thuật ngữ “classful network” hay “classful boundary” cũng được sử dụng để chỉ một major network. Ví dụ, thay vì nói là “các major network 10.0.0.0/8, 172.16.0.0/16, 192.168.1.0/24…” ta có thể nói “các classful network 10.0.0.0/8, 172.16.0.0/16 hay 192.168.1.0/24…
Sau này, khác với IPv4, IPv6 chỉ sử dụng cách đánh địa chỉ classless, không sử dụng cách đánh địa chỉ classful.
Tra cứu bảng định tuyến theo kiểu classful và theo kiểu classless
Liên quan đến luật logic được sử dụng để tra cứu bảng định tuyến, đặc biệt là khi có sự tồn tại của default – route:
- Classless:Khi tồn tại default – route trong bảng định tuyến, nếu không có route nào cụ thể match với đích đến của gói tin, default – route sẽ được sử dụng.
Trên router Cisco, luật classless được bật lên bằng cách sử dụng câu lệnh:
R(config)#ip classless
- Classful:Khi tồn tại default – route trong bảng định tuyến, nếu không có route nào cụ thể match với đích đến của gói tin và không có bất kỳ route cụ thể nào trong bảng định tuyến cùng major networkvới đích đến của gói tin, default – route sẽ được sử dụng. Lưu ý với luật này: khi không có route cụ thể match với đích đến của gói tin, default – route vẫn không được sử dụng và gói tin bị drop bỏ nếu chỉ cần tồn tại bất kỳ route nào trong bảng định tuyến cùng major network với đích đến của gói tin,.
Trên router Cisco, luật classful được bật lên bằng cách tắt đi luật classless:
R(config)#no ip classless
Để hiểu rõ các luật này, chúng ta cùng khảo sát ví dụ sau:
Hình 1– Sơ đồ khảo sát classless routing và classful routing.
Trên hình 1 là hai router R1 và R2 được đấu nối với nhau bằng các cổng S2/0. Các địa chỉ IP đấu nối cũng như địa chỉ sử dụng trên các interface loopback cũng được chỉ ra rõ trên hình vẽ. Trên R1 ta chỉ cấu hình một static default – route chỉ về phía R2. Trên R2, ngoài việc cấu hình các địa chỉ đấu nối và no shut các cổng, không cấu hình gì thêm.
Như vậy, từ R1 muốn đi đến mạng loopback của R2 (mạng 172.16.2.0/24), R1 chỉ có thể sử dụng default – route. Ta kiểm tra điều này:
R1#show ip route 172.16.2.0
% Subnet not in table<- không có route nào match
R1#show ip route
(đã bỏ qua một số dòng)
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.1.0 is directly connected, Loopback0
192.168.12.0/30 is subnetted, 1 subnets
C 192.168.12.0 is directly connected, Serial2/0
S* 0.0.0.0/0 is directly connected, Serial2/0<- ngoài các route connected, chỉ có default – route.
R1#
Việc R1 có sử dụng default – route hay không để forward gói tin đi đến mạng 172.16.2.0/24 của R2 sẽ tùy thuộc vào việc chúng ta sử dụng mode “classless routing” hay “classful routing” trên R1. Đầu tiên, chúng ta sử dụng chế độ “classless routing” trên R1 bằng cách sử dụng lệnh:
R1(config)#ip classless
Thực hiện ping kiểm tra từ R1 đến interface loopback của R2:
R1#ping 172.16.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/69/160 ms
Kết quả ping thành công, chứng tỏ rằng R1 đã sử dụng default – route để đẩy gói tin đến R2. Điều này đúng như luật classless: nếu không tồn tại route cụ thể nào match với đích đến của gói tin, router sẽ sử dụng default route để vận chuyển gói tin này.
Tiếp theo ta thử kiểm tra luật classful routing bằng cách tắt chế độ classless trên R1:
R1(config)#no ip classless
Ta cũng thực hiện lại việc ping từ R1 đến loopback 0 của R2:
R1#ping 172.16.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Lần này việc ping kiểm tra không thành công, R1 không sử dụng default – route trong bảng định tuyến vì trong bảng định tuyến của R1 tồn tại một route connected 172.16.1.0/24 cùng major network 172.16.0.0/16 với mạng đích:
R1#show ip route connected
192.168.12.0/30 is subnetted, 1 subnets
C 192.168.12.0 is directly connected, Serial2/0
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.1.0 is directly connected, Loopback0
Ta thực hiện shutdown cổng loopback 0 trên R1 để route connected này không còn tồn tại trong bảng định tuyến nữa:
R1(config)#interface loopback 0
R1(config-if)#shutdown
*Mar 1 00:13:53.927: %LINK-5-CHANGED: Interface Loopback0, changed state to administratively down
*Mar 1 00:13:54.927: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to down
R1#show ip route connected
192.168.12.0/30 is subnetted, 1 subnets
C 192.168.12.0 is directly connected, Serial2/0
R1#show ip route 172.16.1.0
% Network not in table
Ta thực hiện ping kiểm tra lại loopback 0 của R2:
R1#ping 172.16.2.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/71/192 ms
Lần này, kết quả ping thành công chứng tỏ rằng R1 đã sử dụng default – route để đẩy gói tin đến R2. Như vậy, theo luật classful routing, router chỉ sử dụng default – route nếu như trong bảng định tuyến không tồn tại bất kỳ một route nào cùng major network với mạng đích.
Ngày nay, các IOS của Cisco mặc định hỗ trợ phương thức classless, ta không cần phải dùng lệnh “ip classless” để enable phương thức này. Vậy trong trường hợp nào chúng ta sử dụng phương thức classful?
Phương thức classful được sử dụng trong một mạng doanh nghiệp có IP được quy hoạch theo khối (vd: cả mạng sẽ sử dụng các IP của mạng 10.0.0.0/8, chi nhánh 1 sử dụng subnet 10.1.0.0/16, chi nhánh 2 sử dụng subnet 10.2.0.0/16,…) và mỗi router của mỗi chi nhánh đều có các subnet của tất cả các chi nhánh khác trong bảng định tuyến của mình. Khi đó, default – route chỉ có một công dụng duy nhất đó là chỉ đường cho các gói tin đi ra khỏi mạng của doanh nghiệp (vd: đi Internet), việc đi đến bất kỳ subnet nào thuộc doanh nghiệp sẽ tuân theo các route cụ thể có trong bảng định tuyến của mỗi router. Default – route sẽ không bao giờ được sử dụng để đi đến các địa chỉ thuộc mạng doanh nghiệp (luật classful sẽ ngăn chặn điều này).
Tuy nhiên, với một cấu trúc mạng doanh nghiệp phức tạp, có thể xảy ra trường hợp một chi nhánh sử dụng default – route để đi đến các chi nhánh khác (vd: mạng chạy OSPF và một chi nhánh nào đó được đưa vào vùng Stub chẳng hạn). Khi đó, nếu sử dụng chế độ classful, một số địa chỉ của mạng doanh nghiệp sẽ không thể đi đến được. Do đó, khuyến nghị rằng chúng ta nên để chế độ ở mặc định là sử dụng phương thức classless.
Các giao thức định tuyến classful và classless
Với trường hợp thứ 3, classful và classless được sử dụng để phân biệt giữa hai loại giao thức định tuyến trong. Các giao thức định tuyến trong được chia thành hai loại: classful protocol và classless protocol:
- Các giao thức classful:không gửi kèm theo subnet mask trong các bản tin định tuyến từ đó không hỗ trợ VLSM và không hỗ trợ mạng gián đoạn. Các giao thức điển hình của trường phái này là RIPv1 và IGRP (IGRP hiện không còn được hỗ trợ trên các IOS mới của Cisco).
- Các giao thức classless:có gửi kèm theo subnet – mask trong các bản tin định tuyến nên có hỗ trợ VLSM và có hỗ trợ mạng gián đoạn. Hầu hết các giao thức thông dụng được sử dụng ngày nay đều thuộc trường phái classless (vd: RIPv2, OSPF, EIGRP).
Chúng ta sẽ cùng nhau phân tích các đặc điểm này của các trường phái định tuyến trong.
Đầu tiên, chúng ta sẽ nhắc lại thế nào là một sơ đồ VLSM có tính chất mạng gián đoạn. Ta cùng quan sát sơ đồ ví dụ:
Hình 2– VLSM và Mạng gián đoạn.
Trên hình 2 là sơ đồ đấu nối của ba chi nhánh. R1 đại diện cho chi nhánh 1, R2 đại diện cho chi nhánh 2 và R3 đại diện cho chi nhánh 3. R1 sử dụng cổng F0/0 của nó đấu nối xuống mạng LAN của chi nhánh 1, mạng này sử dụng subnet 172.16.1.0/24, R2 sử dụng cổng F0/0 của nó đấu nối xuống mạng LAN của chi nhánh 2, mạng này sử dụng subnet 172.16.2.0/24, R3 sử dụng cổng F0/0 của nó đấu nối xuống mạng LAN của chi nhánh 3, mạng này sử dụng subnet 172.16.3.128/25. R1 và R2 đấu nối với nhau bằng một kết nối serial điểm – điểm, kết nối này sử dụng subnet 192.168.12.0/30, R2 và R3 cũng đấu nối với nhau bằng một kết nối serial điểm – điểm, kết nối này sử dụng subnet 172.16.23.0/30 Ta thấy sơ đồ trên có đặc điểm về quy hoạch IP như sau:
- Sơ đồ sử dụng nhiều subnet của cùng một major network 172.16.0.0/16 là 172.16.1.0/24, 172.16.2.0/24, 172.16.3.128/25 và 172.16.23.0/30 và có nhiều giá trị prefix – length được sử dụng gồm: 24, 25 và 30. Khi trên một sơ đồ mạng tồn tại nhiều subnet của cùng một major và các subnet này sử dụng nhiều giá trị prefix – length khác nhau, ta nói sơ đồ này sử dụng VLSM (Variable Length Subnet Mask).
- Cũng ở sơ đồ trên, ta thấy mạng major 172.16.0.0/16 đã bị cách chia bởi một major khác là 192.168.12.0/24, ta nói sơ đồ này là một sơ đồ mạng gián đoạn (discontiguous network).
Các giao thức classless hoạt động bình thường trên các sơ đồ như vậy (VLSM và mạng gián đoạn) nhưng các giao thức classful thì không. Các giao thức classful không hỗ trợ VLSM và không hỗ trợ mạng gián đoạn. Nếu cố tình chạy các giao thức classful trên sơ đồ này, sẽ có một số subnet không thể đi tới được và các bảng định tuyến sẽ có những thiếu sót rất lớn.
Tiếp theo, thông qua khảo sát hoạt động của một giao thức classful điển hình là RIPv1, từ đó chỉ ra các giao thức classful không hỗ trợ VLSM và không hỗ trợ mạng gián đoạn xuất phát từ việc chúng không gửi kèm theo subnet – mask trong bản tin định tuyến.
Hình 3– Sơ đồ khảo sát hoạt động của RIPv1.
Chúng ta sẽ cùng khảo sát hoạt động của giao thức classful RIPv1 trên sơ đồ mạng của hình 3. Trong sơ đồ này, hai router R1 và R2 sẽ chạy RIPv1 với nhau. Các địa chỉ IP dùng trên kết nối giữa hai router và trên các interface loopback được chỉ ra như trên hình 3.
Đầu tiên, ta bật RIPv1 trên các router và cho tất cả các mạng tham gia định tuyến, ta cũng thực hiện câu lệnh “debug ip rip” để quan sát việc gửi nhận các bản tin cập nhật trên các router:
R1#debug ip rip
RIP protocol debugging is on
R1(config)#router rip
R1(config-router)#version 1
R1(config-router)#network 172.16.0.0
R1(config-router)#network 192.168.12.0
R1(config-router)#network 192.168.1.0
R2#debug ip rip
RIP protocol debugging is on
R2(config)#router rip
R2(config-router)#version 1
R2(config-router)#network 172.16.0.0
R2(config-router)#network 192.168.12.0
Không mất tính tổng quát, ta sẽ chỉ cần phân tích cách mà R1 gửi thông tin định tuyến và cách mà R2 nhận thông tin định tuyến.
Ta thấy vì RIPv1 là một giao thức classful, không gửi kèm theo subnet – mask trong bản tin định tuyến của nó nên khi R2 nhận thông tin định tuyến từ R1 nó không thể nào biết được địa chỉ mạng thật sự của subnet được gửi trong bản tin định tuyến. Vd: khi nhận được bản tin cập nhật với địa chỉ 192.168.1.96 mà không có subnet mask đi kèm, router sẽ không có cách nào để xác định được đây là mạng 192.168.1.96/27 hay 192.168.1.96/28, …
Để giải quyết vấn đề này, hoặc là router nhận chỉ nhận các major – network và xác định địa chỉ mạng của nó theo luật phân lớp A, B và C hoặc router nhận phải sử dụng subnet – mask trên cổng giao tiếp mà nó nhận thông tin để gán cho subnet mà nó nhận được.
Với cách làm thứ nhất (xác định địa chỉ mạng của major network dựa vào luật phân lớp A, B, C), bắt buộc router gửi phải thực hiện chuyển các subnet thành major network trước khi gửi đi cho router nhận. Để làm được điều này, router gửi sẽ sử dụng một kỹ thuật gọi là auto – summary: khi gửi subnet qua biên giới của một major network khác, router gửi sẽ thực hiện summary subnet này về major network của nó. Khi đầu nhận nhận được, nó sẽ xác định được địa chỉ mạng của major network trong bản tin cập nhật.
Quan sát cách đặt IP trên hình 3, ta thấy rằng router R1 sẽ thực hiện thao tác này với các subnet 192.168.12.96/28 của loopback 2 và 192.168.1.96/28 của loopback 3 khi quảng bá chúng qua cho router R2 vì các subnet này phải đi qua biên giới của một major khác (172.16.0.0/16). Bản tin được quảng bá đi sẽ chứa các địa chỉ là 192.168.12.0 và 192.168.1.0 là các major network của các subnet đã nói ở trên. Kết quả debug trên router R1 sẽ chỉ ra điều này (lưu ý rằng, trong kết quả hiển thị không hề đưa ra số prefix – length hay subnet – mask của các địa chỉ được quảng bá đi bởi vì RIPv1 là một giao thức classful).
Kết quả debug trên R1:
*Mar 1 00:12:23.711: RIP: sending v1 update to 255.255.255.255 via Serial2/0 (172.16.12.1)
*Mar 1 00:12:23.715: RIP: build update entries
*Mar 1 00:12:23.715: network 192.168.1.0metric 1
*Mar 1 00:12:23.719: network 192.168.12.0metric 1
Cách xử lý của router nhận đối với các mạng major mà nó nhận được như sau:
Nếu router nhận không có bất kỳ subnet nào kết nối trực tiếp là mạng con của major network mà nó nhận được, nó sẽ cài major network này vào bảng định tuyến, nếu tồn tại bất kỳ một subnet nào kết nối trực tiếp là mạng con của major network mà nó nhận được, nó sẽ bỏ qua major network này.
Ở ví dụ này ta thấy khi R2 nhận được hai major network 192.168.12.0 và 192.168.1.0, nó sẽ ngay lập tức xác định được subnet – mask của các mạng này là 255.255.255.0 hoặc prefix – length là 24 dựa vào luật phân lớp A, B, C của các địa chỉ mạng. R2 xem xét tiếp và thấy rằng mạng 192.168.12.0/24 đã có một subnet trong bảng định tuyến của nó là mạng 192.168.12.0/28 (nằm trên cổng loopback 0) nên nó bỏ qua mạng major này không cập nhật vào bảng định tuyến; mạng 192.168.1.0/24 thì không có subnet nào trong bảng định tuyến nên nó sẽ cập nhật subnet này vào bảng định tuyến.
Kết quả debug trên R2:
*Mar 1 00:11:51.187: RIP: received v1 update from 172.16.12.1on Serial2/0
*Mar 1 00:11:51.187: 192.168.1.0in 1 hops
*Mar 1 00:11:51.191: 192.168.12.0in 1 hops
Bảng định tuyến trên R2 chỉ lưu route 192.168.1.0/24, không lưu route 192.168.12.0/24:
R2#show ip route rip
172.16.0.0/24 is subnetted, 2 subnets
R 172.16.1.0 [120/1] via 172.16.12.1, 00:00:13, Serial2/0
R 192.168.1.0/24 [120/1] via 172.16.12.1, 00:00:20, Serial2/0
Ta thấy: mạng 192.168.12.0/24 có hai subnet là 192.168.12.96/28 và 192.168.12.0/28 bị gián đoạn bởi mạng 172.16.0.0/26 ở giữa và như đã chỉ ra ở trên, các router R2 và R1 không thấy được các subnet này của nhau. Vậy, giao thức classful không hỗ trợ mạng gián đoạn.
Ta cũng thấy rằng router gửi phải sử dụng auto – summary đưa subnet về mạng major để router nhận có thể xác định được địa chỉ mạng cho bảng định tuyến mà không cần subnet – mask gửi kèm. Do đó, auto – summary là một kỹ thuật bắt buộc phải có với các giao thức classful, chúng ta không thể tắt auto – summary trên các giao thức loại này được.
Ta lại cùng nhau khảo sát cách thức tiếp nhận thông tin thứ hai của router nhận:
Khi router nhận nhận được một bản tin chứa một địa chỉ IP không phải là major network, nó sẽ lấy subnet – mask của subnet đặt trên interface tiếp nhận để gán cho địa chỉ này và đưa địa chỉ này vào bảng định tuyến. Điều này xảy ra khi router gửi không thực hiện auto – summary cho subnet mà nó quảng bá đi do subnet ấy không phải đi qua biên giới của một mạng chính khác.
Ta quan sát tiếp ví dụ trong hình 3:
Router R1 khi quảng bá đi hai mạng trên hai interface loopback 0 và loopback 1 là 172.16.1.0/24 và 172.16.11.0/25 qua cho R2 thì vì các mạng này không phải đi qua biên giới của một mạng major khác (mạng kết nối giữa R1 và R2 là 172.16.12.0/24 thuộc cùng major network 172.16.0.0/16 với hai mạng được quảng bá này) nên R1 sẽ không thực hiện đưa hai mạng trên về major network trước khi quảng bá đi. Tuy nhiên, vì R1 biết rằng khi R2 nhận được một mạng, R2 sẽ lấy subnet mask của mạng nằm trên liên kết đấu nối giữa hai router mà áp cho mạng nhận được nên để tránh sự không chính xác về subnet – mask, nó sẽ chỉ quảng bá đi mạng nào có cùng subnet – mask với mạng đặt trên liên kết giữa hai router và trong trường hợp này đó là 255.255.255.0 (/24). Vậy khi R1 quảng bá đi nó sẽ không quảng bá đi mạng 172.16.11.0 (với /25) mà chỉ quảng bá đi mạng 172.16.1.0 (với /24)! Rất rõ ràng, ta thấy nếu R1 quảng bá luôn cả mạng 172.16.11.0 thì khi R2 nhận được nó sẽ áp /24 cho mạng này và đưa vào bảng định tuyến, như vậy là không phản ánh đúng giá trị subnet – mask của mạng 172.16.11.0 vốn là tương ứng với /25 chứ không phải là /24.
Ta quan sát kết quả debug trên router R1: R1 chỉ gửi đi mạng 172.16.1.0, không gửi đi mạng 172.16.11.0.
*Mar 1 00:56:40.399: RIP: sending v1 update to 255.255.255.255 via Serial2/0 (172.16.12.1)
*Mar 1 00:56:40.403: RIP: build update entries
*Mar 1 00:56:40.403: subnet 172.16.1.0metric 1
*Mar 1 00:56:40.407: network 192.168.1.0 metric 1
*Mar 1 00:56:40.407: network 192.168.12.0 metric 1
Kết quả nhận được tại đầu R2:
R2#
*Mar 1 00:58:01.799: RIP: received v1 update from 172.16.12.1 on Serial2/0
*Mar 1 00:58:01.799: 172.16.1.0in 1 hops
*Mar 1 00:58:01.803: 192.168.1.0 in 1 hops
*Mar 1 00:58:01.803: 192.168.12.0 in 1 hop
Kết quả hiển thị bảng định tuyến trên R2:
R2#show ip route rip
172.16.0.0/24 is subnetted, 2 subnets
R 172.16.1.0 [120/1] via 172.16.12.1, 00:00:13, Serial2/0
R 192.168.1.0/24 [120/1] via 172.16.12.1, 00:00:13, Serial2/0
Tóm lại, ta có thể tổng kết một vài ý chính sau đây trong hoạt động của giao thức RIPv1 (một đại diện điển hình của giao thức định tuyến dạng classful):
- Khi router quảng bá một subnet ra khỏi một cổng nào đó, nó sẽ quan sát xem subnet có cùng major network với subnet trên cổng ra hay không:
+ Nếu khác, router sẽ tự động summary subnet này về major network của nó rồi gửi đi.
+ Nếu cùng, router sẽ kiểm tra xem subnet – mask của subnet định quảng bá đi có giống như subnet – mask của subnet trên cổng ra hay không. Nếu giống, quảng bá đi, nếu không giống loại bỏ không quảng bá.
- Tại đầu nhận, router khi nhận được một địa chỉ IP trong bản tin cập nhật, nó sẽ kiểm tra địa chỉ này:
+ Nếu đây là một địa chỉ mạng major, nó sẽ kiểm tra trong bảng định tuyến xem có route kết nối trực tiếp nào là mạng con của mạng major này không. Nếu có, loại bỏ địa chỉ này; nếu không, cập nhật vào bảng định tuyến.
+ Nếu đây là một địa chỉ subnet, áp giá trị prefix – length của subnet trên cổng tiếp nhận vào cho subnet này và cập nhật vào bảng định tuyến.
Nhìn chung, các giao thức classful do không gửi kèm theo subnet – mask trong bản tin định tuyến nên gặp rất nhiều hạn chế trong việc trao đổi và cập nhật thông tin định tuyến cũng như hỗ trợ cho nhiều giải pháp quy hoạch IP khác nhau. Ngày nay, các giao thức định tuyến loại này gần như không còn được sử dụng trong việc định tuyến cho các doanh nghiệp. Tuy nhiên, review qua hoạt động của các giao thức classful giúp chúng ta có được cái nhìn so sánh giữa các hình thức định tuyến, hiểu rõ hơn về hoạt động trao đổi thông tin định tuyến từ đó có sự nắm chắc kiến thức hơn về lĩnh vực rất rộng lớn này.
Bài viết trên đây đã giới thiệu và phân tích 3 ngữ cảnh sử dụng các thuật ngữ “classless” và “classful”. Hy vọng rằng sự phân tích này sẽ giúp các bạn một cái nhìn rõ ràng hơn về các thuật ngữ này khi tham khảo các tài liệu của Cisco.
Trung Tâm WAREN