Switch operations – часть 3

cable-nightmareВ финальной части мы быстренько пробежимся по CEF, посмотрим какое место в этой технологии занимают Forward Information Base (FIB) и ее часть – Adjacency Table.

CEF MLS содержит в себе два функциональных блока – layer 3 engine, формирующий информацию о маршрутах, которую может использовать layer 3 forwarding engine для обработки пакетов аппаратными средствами.

Forward Information Base

Layer 3 engine (фактически маршрутизатор) формирует таблицу маршрутизации, поддерживает ее в актуальном состоянии и, что самое главное, форматирует и компилирует ее в новый формат – Forward Information Base. FIB строится согласно следующей логике: таблица маршрутизации форматируется в упорядоченный список, где для каждой сети существует один или несколько маршрутов. Первым, понятное дело, идет наиболее длинный префикс (longest prefix match). Одновременно с этим FIB содержит next-hop адрес устройства для каждой записи. Помимо информации из таблицы маршрутизации в FIB попадают маршруты до directly conntect хостов.

Read more

Switch operations – часть 1

cable-nightmareДавным давно, в то время пока я пускал слюни в уютной детской кроватке, устройству для того, чтобы отправить данные надо было убедиться в том, что в данный конкретный момент времени никто не вещает на общем сегменте сети. За то, может ли устройство вести передачу отвечал протокол CSMA/CD – Carrier Sense Multiple Access with Collision Detect, а сами устройства оперировали в режиме half-duplex, т.е. могли либо вещать, либо слушать несущую в каждый конкретный момент времени. Более того, если одно устройство создавало фрейм с ошибкой все остальные устройство получали этот фрейм. Весь скоп устройств в такой сети назывался Collision Domain.

К счастью времена концентраторов (hub) канули в Лету, домен коллизий уменьшился до порта коммутатора и устройства, непосредственно присоединенного к этому порту. Устройства получили возможность работать в full-duplex, т.е. получать и передавать данные одновременно, а ошибки в фреймах теперь фильтруются непосредственно на ASIC, к которому подключен порт(ы) и не распространяются  на всю сеть. Ты хороший пакет, у тебя годный CRC? Значит мы повторим тебя на исходящем порту (store-and-forward метод – пакеты приходят на входящий порт, поступают на хранения для инспекции и только затем перенаправляются на исходящий). Идиллия? Идиллия!

Read more