Главное различие между классовыми и бесклассовыми протоколами маршрутизации заключается в том, что классовые протоколы маршрутизации не отправляют данные о маске подсети в обновлениях маршрутизации. Бесклассовые протоколы маршрутизации включают в обновления маршрутизации данные о маске подсети.
Изначально было разработано два протокола маршрутизации IPv4 — RIPv1 и IGRP. Они были созданы в то время, когда сетевые адреса выделялись с учётом класса (например класса А, В или С). В то время протоколу маршрутизации не требовалось включать маску подсети в пакет обновлений маршрутизации, так как маску сети можно было определить по первому октету сетевого адреса.
Примечание. К классовым протоколам маршрутизации относятся только протоколы RIPv1 и IGRP. Все остальные протоколы маршрутизации IPv4 и IPv6 являются бесклассовыми протоколами. В протоколе IPv6 никогда не использовалась классовая адресация.
Тот факт, что протоколы RIPv1 и IGRP не включают данные о маске подсети в свои обновления, означает, что эти протоколы не могут предоставлять маски подсети переменной длины (VLSM) и соответственно не могут использоваться в бесклассовой междоменной маршрутизации (CIDR).
Классовые протоколы маршрутизации также создают определённые в проблемы в «разорванных» сетях. Сеть считается «разорванной» в том случае, когда подсети в рамках одной классовой основной сети разделены другим классовым сетевым адресом.
Недостатки классовой маршрутизации проиллюстрированы в топологии на рис. 1. Обратите внимание, что сети LAN маршрутизаторов R1 (172.16.1.0/24) и R3 (172.16.2.0/24) являются подсетями одной сети класса В (172.16.0.0/16). Они разделены другими классовыми сетевыми адресами (192.168.1.0/30 и 192.168.2.0/30).
Когда маршрутизатор R1 пересылает обновление на маршрутизатор R2, протокол RIPv1 не включают в это обновление маску подсети, а пересылает только сетевой адрес класса В 172.16.0.0.
Маршрутизатор R2 принимает и обрабатывает обновление, после чего он создаёт и добавляет запись для сети класса В 172.16.0.0/16 в таблицу маршрутизации, как показано на рис. 2.
На рис. 3 показано, что при пересылке маршрутизатором R3 обновления на маршрутизатор R2, протокол также не включает данные о маске подсети и, таким образом, пересылает только классовый сетевой адрес 172.16.0.0.
На рис. 4 маршрутизатор R2 принимает и обрабатывает обновление и добавляет в свою таблицу маршрутизации ещё одну запись для классового сетевого адреса 172.16.0.0/16. При наличии в таблице маршрутизации двух записей с идентичными метриками маршрутизатор распределяет нагрузку трафика равномерно по двум каналам. Описанный выше процесс называют распределением нагрузки.
Как показано на рис. 5, распределение нагрузки негативно сказывается на работе «разорванных» сетей. Обратите внимание на ошибочное «поведение» команд ping и traceroute.