---
title: "RIB vs FIB"
summary: "Trasy poznane przez proces routingu a trasy używane do przekazywania pakietów."
tags: [networking, routing]
---

# RIB vs FIB

Jak to powiedział Adam Mickiewicz - "nie wszystko co się czyta w internecie, to prawda" - tak samo jest z routingiem - nie każda trasa, którą Ci somsiad powie jest optymalna.

- **RIB** (*Routing Information Base*) - trasy, które zna proces routingu, przechowywane w RAMie. Może znać kilka dróg do jednego prefiksu i mieć miliony wpisów.
- **FIB** (*Forwarding Information Base*) - gotowe decyzje używane do przekazywania pakietów: dla tego prefiksu wyślij pakiet tędy. Powstaje na podstawie wybranych tras.

Na routerze sprzętowym FIB trafia do układów przekazujących pakiety i musi zmieścić się w ich pamięci.
Na hoście przekazywaniem pakietów może zajmować się oprogramowanie, np. jądro Linuksa - FIB nadal istnieje.

Źródła: [RFC 8349, sekcja 2](https://datatracker.ietf.org/doc/html/rfc8349#section-2),
[dokumentacja FIB w Linuksie](https://docs.kernel.org/networking/fib_trie.html).

Powiązane: [[bgp-podstawy]], [[fib-i-whiteboxy]]
