본문 바로가기
network/ccie-mpls

Introducing CEF Switching

 
Cisco IOS Platform Switching Mechanisms

The Cisco IOS platform supports three IP switching  mechanisms:
=> 시스코 IOS 플렛폼은 3개의  IP 스위칭 메커니즘을 지원한다.

• Routing table driven switching—process switching
– Full lookup for every packet
=> 전체 패킷에 대한 조회
(process switching-> per packet 단위로 CPU가 처리하여 load balancing 가능 )


• Cache driven switching—fast switching
– Most recent destinations entered in the cache
– First packet always process-switched
=> 가장 최근 목적지가 캐시에 입력 되어 첫번째 패킷이 
(fast switching -> packet 이 interrupt  레벨에서 스위칭 된다-> cahe table 을 보고 해당 table 을 참조 하여 스위칭 )
그렇기 때문에 처음에 chach 테이블을 만들기 위해 첫번째 패킷은 process-switched 하게 된다.
-> ARP테이블과 연관이 없으며,RIB 변경과 연동 되지 않는다(=> if mac주소 변경시, cache table 을 update 하지 않고 timer 시간 이 지나야 
제대로 스위칭 하며, per packet 방식의 load balancing이 per destination  방식으로 만 load balancing이 되어 완벽한 load sharing 되지 않는다.

• Topology driven switching
– CEF (prebuilt FIB table)
=> 미리 만들어진 FIB테이블 를 참조 하는 스위칭
=>FIB, adjancy table 을 합쳐서 CEF라고 한다. adjancy table은 ARP가 갱신 되면 adjancy table 도 변경 되며 RIB가 변하면 FIB도 변한다.
즉, L2,L3 테이블에 대하여  data plane mirror (복사 저장)하게 되어  빠른 스위칭을 지원한다.

-전통적인 fast switching 때는 BGP table 에서 정보가 RIB 테이블로 정보가 내려 가며 , 첫번째 패킷이 process-switched 된뒤 swithching cache 와 arp cahce 로 
저장 된다. 이때 cahce 를 참조하여 패킷ㅇ 스위칭 될 경우 next -hop를 rib를 참조 하여야 recursive lookup 이 발생 된다.


 

- 이와 틀리게 cef 는 recursive lookup 한 결과가 cef에 들어 가기 때문에 recursive lookup 을 할 필요가 없다.

CEF LOAD BALANCING

- per packet 
=> 패킷단위로 load balancing 

- per destination (default)
=> cisco 에서는 출발지와 도착지를 hash 한 결과 값으로 load balancing 하는 것을 기본으로 한다.
(voice에서 delay 편차로  load balancing 이 per destination 이 기본임)

Configuring IP CEF

## CEF스위칭을 시작하며 ,FIB를 생성 한다.(분산해서 하는 경우 distributed 옵션을 추가한다.
Router(config)#ip cef [distributed]

## 인터페이스에서 CEF 종료 할 경우  아래와 같이 진행 한다.(특정 인터페이스만 적용 하며 적용 할 일은 없을 것이다.)
Router(config-if)#no ip route-cache cef


Monitoring IP CEF
- show ip cef detail 을 할 경우 하단에 tags 혹은 label 정보가 나오는 것을 확인 할 수 있다.

 

반응형