본문 바로가기

네트워크 공부

RIB와 FIB의 차이

 
엔지니어 3년차,, 아직도 FIB RIB를 혼용해서 사용하는 나를 발견,,  심각하다
 
대강 실질적으로 포워딩하는 데에 쓰이는 테이블이 FIB 라는 것만 알고 있다.
 
 
 
1) RIB (Routing Information Base)
: connected, static, ospf 등 프로토콜 통해 알아낸 모든 정보 
Routing table : 패킷 전달 활성화된 경로만 나타냄, 라우팅 설정한 내용
 
 
2) FIB (Forwarding Information Base)
 : RIB에서 실제 forwarding 시 사용되는 정보 
 
 
개념은 이렇고, 아래 구성도로 쉽게 나타내 보았다.

 
라우터는 만들어진 RIB 테이블을 일일이 참조하지 않아도
HW 자체적으로 forwarding 할 수 있도록 FIB 테이블을 생성하게 된다.
 
이를 통해 Adjacency L2 헤더를 만드는데, 헤더의 destination ip만을 보고 바로 forwarding 할 수 있게  한다.
= Cisco의 cef 기술
 
 
 
 

 
위와 같은 FIB를 통해 아래 adjacency 테이블을 생성할 수 있다.
 

adjacency 테이블을 보면 해당되는 네트워크 대역 별로 바로 forwarding 할 수 있게끔 OIF 지정돼 있고
붉은 네모 칸으로 표시된 부분이 l2 header의 destination / source mac 주소임을 확인 가능하다.
(R3 기준 R3이 source, R1이 destination)
 

 
아래와 같은 원리 아닐까...
 

 
 
 
 
 
헷갈릴 때마다 와서 찾아봐야지 ㅎㅎ
네트워크.. 원리는 참 직관적이면서 해도 해도 어려운 것