L3 스위치와 라우터의 CEF 작업


21

L3 스위치는 빠른 패킷 전달을 위해 CEF를 사용한다는 것을 알고 있습니다. 그러나 NAT를 받아야하는 패킷에는 CEF가 작동하지 않습니다. 이것은 에지 라우터 및 에지 L3 스위치에서 CEF를 사용하지 않음을 의미합니까? CEF의 유용성은 LAN으로 제한됩니까?

답변:


8

NAT는 물론 CEF를 사용할 수 있습니다. 다음은 Cisco 자체 가이드입니다. http://www.cisco.com/en/US/tech/tk648/tk361/technologies_q_and_a_item09186a00800e523b.shtml

Q. What kind of routing performance can be expected when using Cisco IOS NAT?

    A. Cisco IOS NAT supports Cisco Express Forwarding switching, fast switching, and process switching. For 12.4T release and later, fast-switching path is no longer supported. For Cat6k platform, the switching order is Netflow (HW switching path), CEF, process path.

    Performance depends on several factors:

        The type of application and its type of traffic

        Whether IP addresses are embedded

        Exchange and inspection of multiple messages

        Source port required

        The number of translations

        Other applications running at the time

        The type of hardware and processor

FIB가 라인 카드로 분배되는 IOS-XR을 실행하는 더 큰 플랫폼은 캐리어 급 NAT도 지원하므로 유용성 만 LAN에만 국한되지는 않습니다.

또한 많은 Cisco L3 스위치는 단순히 NAT를 전혀하지 않습니다


2
기술적으로 수신에서 송신에 이르는 CEF 경로에는 NAT와 같은 기능에 대한 삽입 점이 있습니다. 이 삽입 점이 있으면 CEF가 활성화 된 상태에서 기능이 작동하는 것입니다. 그러나 L3 조회와 달리 CEF는 단순히 기능 자체를 변경하지 않고 기능에 대한 데이터를 제공하기 때문에이 기능에 대해 성능이 크게 향상되지 않을 수 있습니다. 그러나 대부분 이것은 중요하지 않은 세부 사항이며 중요한 세부 사항은 CEF를 사용하도록 설정하는 것입니다.
ytti

18

CEF는 Cisco의 FIB에 대한 단어입니다. L3 스위치 당신이 '쉬 IP CEF',이 정보의 어느 것도 실제로 전혀 패킷을 밀어 사용되지 할 때, 이것은 단지 소프트웨어 인 트라이 하드웨어 ASIC을 채우는 데 사용됩니다.

CEF는 Cisco가 최적화 된 데이터 스토리지 / 검색 코드를 설명하는 데 사용하는 용어 일 뿐이며 특정 기능을 가진 특정 기술은 아닙니다.

대부분의 HW 플랫폼에서는 CEF 데이터 구조가 HW 특정 정보를 컴파일하는 데 필요하기 때문에 CEF없이 박스를 실행할 수 없습니다.
MPLS와 같은 일부 기능은 CEF 데이터 구조에 의존하기 때문에 기능이 없으면 작동하지 않습니다.

LAN (L2) 스위칭은 CEF를 통해 추상화되지 않으므로 CEF에 전혀 의존하지 않습니다.

나는 CEF에 관한 최신 정보를 위해이 책을 추천 한다 (12.2S에 대한 주요 CEF 재 작성 이후에 쓰여졌다)

IP Trie FIB의 CEF 정의를 제한하는 경우 NATPT에 사용할 수 없습니다. NATT에 사용할 수없는 것은 무엇이고 어디에서 무엇을 미리 결정할 수 없기 때문입니다. 그러나 설명 된 것처럼 CEF는 특정 기술이 아니며 더 넓은 개념이므로 CEF가 NAT 기능인지 아닌지에 대해서는 논란의 여지가 있습니다 .CEF 기능 인 측면에서 잘못 할 것입니다.

bu.ip.fi#sh cef features global  | b Local
  Global Local features not attached to a specific interface:
     NAT
bu.ip.fi#

나는 CEF 없이는 아무 것도 실행하지 않을 것이며 아마도 그것이 불가능한 선택의 여지가 있기 때문일 것입니다. 주니퍼는 열등한 대안이 존재하지 않기 때문에 다른 방법과 구별 할 필요가 없기 때문에 동일한 개념을 설명하는 데 사용하는 특정 용어가 없습니다.


5
CEF는 정보 전달을위한 정보 트리 등의 전환 경로이기 때문에 'CEF'라는 이름은 여러 가지 방식으로 사용될 수 있으며 혼란을 가중시킵니다. 실제로 NAT는 CEF 경로에서 지원되지만 (수천 가지 다른 기능도 마찬가지) CEF 빌드 테이블에는 패킷을 순전히 전환하는 데 필요한 일부 정보가 포함되어 있지 않으므로 추가 항목을 참조해야합니다. (NAT 코드로 작성 및 유지 보수 됨). 어쨌든 프로세스 전환으로 돌아 가지 않고 CEF 경로에서 패킷을 전환 할 수 있으면 여전히 CEF가 지원하는 기능입니다.
Łukasz Bromirski

9

이것은 에지 라우터 및 에지 L3 스위치에서 CEF를 사용하지 않음을 의미합니까? CEF의 유용성은 LAN으로 제한됩니까?

CEF는 라우터가 Layer3 전달 작업 중에 Layer2 정보를 신속하게 다시 쓸 수 있도록하므로 유용합니다. WAN 라우터는 LAN 스위치처럼 Layer2 헤더 정보를 다시 작성해야합니다 ... CEF는 두 가지 유형의 라우터 모두에 매우 유용합니다.

고급 CEF에서는 두 가지 기능을 수행합니다.

  • 라우팅 된 접두사를 다음 홉에 매핑하는 라우팅 테이블의 섀도 복사본을 포함합니다.
  • 첫 번째 글 머리표에 언급 된 송신 다음 홉을 통해 IP 패킷을 다시 작성하는 데 필요한 Layer2 헤더에 대한 캐시 된 정보를 제공하는 Layer2 인접 테이블에 대한 참조를 포함합니다.

예:

Serial1 / 0에 WAN HDLC 링크가 있고 FastEthernet0 / 0을 통한 LAN 연결이있는이 라우터를 고려하십시오.

R1#show adjacency internal
Protocol Interface                 Address
IP       Serial1/0                 point2point(5)
                                   0 packets, 0 bytes
                                   0F000800             <--------- HDLC Header rewrite info
                                   CEF   expires: 00:02:17
                                         refresh: 00:00:17
                                   Epoch: 0
                                   Fast adjacency disabled
                                   IP redirect enabled
                                   IP mtu 1500 (0x0)
                                   Fixup disabled
                                   Adjacency pointer 0x6663D3E0, refCount 5
                                   Connection Id 0x000000
                                   Bucket 6

192.0.2.1로 이동하는 IPv4 패킷이 LAN의 FastEthernet0 / 0에서 라우터로 들어가고 WAN에서 Serial1 / 0을 종료해야한다고 가정합니다 (Serial1 / 0을 종료한다는 사실은 CEF 표 ... 및 CEF에서 찾을 수 있습니다) 테이블은 인접 테이블을 참조합니다).

라우터가 FastEthernet0 / 0에서 IPv4 패킷을 수신하면 라우터는 이더넷 헤더를 제거하고 HDLC 헤더를 앞에 추가해야합니다 . 이는 0F000800IPv4 대상 0x0800이므로 다음 헤더는 HDLC "type"값입니다. IPv4).

CEF가 Serial1 / 0에 대한 (사소한) 헤더 재 작성 정보를 캐시하지 않은 경우, 프로세스 스위치 레벨에서 정보를 수동으로 찾아야합니다 (매우 느림). 이러한 인접 테이블 값은 Serial1 / 0의 캡슐화가 변경되지 않는 한 변경되지 않습니다. 따라서 Cisco IOS는 인접 테이블에 인접 재 작성 정보를 캐시합니다.

다시 쓰기 정보는 프레임 릴레이 또는 ATM PVC를 볼 때 더 복잡해집니다.

CCO에 관한이 문서 (문서 ID : 17812) 는 많은 CCO 컨텐츠를 다시 해싱함으로써 할 수있는 것보다 더 나은 것을 설명 할 수 있습니다.


CAM에서만 레이어 2 작업을 참조하지 않습니까? 레이어 3 작업은 CEF가 작동하는 FIB를 참조하고 레이어 3에서 패킷을 더 깊이 검사해야하는 경우 (NAT를 통과해야하는 패킷의 경우) WAN 라우터에 CEF를 사용할 수 없습니까?
Michael May

1
CEF는 특히 / cache / adjacency 또는 l3 조회에 사용되지 않습니다. 이것은 '빠른 전환'(더 이상 지원되지 않음)입니다. CEF는 사전 빌드이므로 인접성 또는 l3 조회에 필요할 수있는 모든 데이터는 이미 지정된 플랫폼에 의해 설정된 제약 조건으로 검색하기에 가장 적합한 구조입니다.
ytti

@ ytti, 미안하지만 CEF는 인접 정보를 캐시합니다. 캐시가 채워지는 방법에 대해 혼란스러워하고 있다고 생각합니다 (IMHO는 패킷이 캐싱되도록 펀칭되어야한다고 가정하지만 이것이 사실이 아닙니다 ...) CEF와 다른 스위칭 방법 (와 같은 fast-switching) 의 실질적인 차이점은 CEF가 사전 계산된다는 것입니다. 그러나 CEF는 여전히 정보를 캐시해야합니다. 그렇지 않으면 프로세스 스위치 수준에서 조회해야합니다. 매우 느리고 LAN과 WAN 인터페이스 모두에 대해 CEF가 필요한 이유입니다.
Mike Pennington 2016 년

우리는 '캐싱'의 의미에 동의하지 않는다고 생각하지만, 요점은 사전 빌드이며 많은 기능 (예 : MPLS)의 경우 데이터 구조 만이 며 '프로세스 전환'저장소가 없습니다. 에.
ytti

@ChristianDelapena, 하드웨어 조회 테이블 (CAM 메모리)의 하드웨어 구현과 하드웨어 조회 테이블 (예 : CEF)을 채우는 IOS 소프트웨어 프로세스를 혼동하고 있습니다. CEF가 존재하므로 layer3 접두사 항목을 layer2의 필수 프로토콜 다시 쓰기 정보에 매핑 할 수 있습니다. 그러나 layer2는 프레임 릴레이, ATM, 패킷 오버 소니, hdlc, ppp 또는 이더넷과 같은 다양한 프로토콜 일 수 있습니다. .. 이러한 모든 프로토콜은 IPv4를 전달할 수 있지만 IP 패킷을 가져와 다음 WAN 라우터가 처리 할 수 ​​있도록 캡슐화하기 전에 헤더에 채워진 특정 필드가 필요합니다.
Mike Pennington
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.