본문 바로가기

네트워크/L2 Switching

Layer 2 Switching - Switching (Process, Fast, CEF)

728x90

● Frame Switching 개요

 

초창기의 시스코 라우터가 패킷을 수신하면 Layer 2 정보를 제거하고 목적지 IP 주소가 라우팅 테이블에 존재하는지 확인합니다. 일치하는 경로가 없다면 해당 패킷은 버려지며 일치하는 경로가 존재하면 라우터는 새로운 Layer 2 헤더 정보를 패킷에 추가 했습니다.  1)

 

이후 라우터는 Layer 2 헤더 정보를 제거 후 추가하는 방법 대신 Layer 2 헤더 정보를 수정하는 방식을 이용하여 성능을 개선이 이루어졌고 대표적으로 향상된 기능은 아래 목록과 같습니다. 

  • IP Packet Switching 성능
  • IP Packet Forwarding 처리 속도
  • Outgoing Interface 전송 또는 Packet Drop 판단

 

패킷이 전송되어 목적지로 도착 하기까지 처리 방식에 따라 Process Switching, Fast Switching, Cisco Express Forwarding 방식으로 분류 됩니다. 

 

  ○ Process Switching

 

Process Switching은 Software Switching이라고 하며, 해당 매커니즘은 라우터에 있는 범용 CPU가 Packet Switching을 담당하고 패킷 전송(Forwarding) 결정과 패킷의 MAC 헤더를 수정하기 위해 필요한 정보들은 라우팅 테이블, ARP 테이블, MAC 주소 테이블을 사용합니다. Process Switching은 CEF에 의해 처리 되지 못하는 패킷을 처리 합니다. 2)

 

프로세스 스위칭 처리 도식화

  1. Interface processor가 network media에 패킷의 도달을 인지하고 라우터에 있는 input/output 메모리로 이동
  2. Interface processor는 receive interrupt를 발생 시키고 중앙 처리장치는 어떤 타입의 패킷인지 확인. 필요할 경우 processor memory로 복사를 수행하고 (복사여부는 플랫폼 마다 다름) 프로세스는 패킷을 input queue(입력 큐)에 위치시킨 뒤 interrupt를 해지
  3. 스케줄러가 동작하여 input queue(입력 큐)에 있는 패킷을 처리 할 수 있도록 스케줄러에 등록 함
  4. ip_input process가 동작하여 RIB 정보를 이용하여 next-hop과 output interface를 결정. ARP 정보를 이용하여 next-hop의 MAC 주소 획득
  5. ip_input process가 패킷의 MAC 헤더를 수정하고 output interface의 output queue로 패킷을 전달
  6. output interface의 output queue에 있는 패킷을 복사하여 output interface의 transmit queue에 위치 시킴. outbound QoS는 해당 queue 에서 수행
  7. output interface processor는 transmit queue에 패킷이 있다는 것을 감지하고 패킷을 network media로 보냄

Process Swithcing에서 조금 더 개선된 방식인 Interrupt Context Switching 방식이 존재 합니다. 해당 방식은 스케쥴링을 사용하는 대신 Packet을 받는 즉시 Interrupt를 발생 시키며 Routing Information Base 대신 Route Cache를 이용하는 방식을 사용 합니다.  

 

  ○ Fast Switching


Fast Switching은 최초 패킷을 전달할 때 3) 해당 정보를 캐시로 생성하여 Process Switching 대비 높은 성능을 이용할 수 있고, 목적지 별로 부하분산 또한 제공합니다. 그러나 최근에 들어서는 Fast Switching 방식을 더 이상 지원하지 않는 IOS가 출시 되고 있습니다. 

지원을 하지 않는 이유는 인터페이스 카드의 메모리 공간에 대한 문제와 높은 대역폭의 인터페이스에서 낮은 대역폭의 인터페이스로 많은 양의 정보를 전달할 때 혼잡이 발생하는 것을 피하기 위해서 입니다. 

 

  ○ Cisco Express Forwarding (CEF)

 

CEF는 시스코 전용 스위칭 매커니즘이고, 거의 모든 시스코 플랫폼 장비에서 해당 스위칭 방법을 기본으로 제공 합니다. 범용 CPU에서 처리하는 CEF (Software-Base Router)와 높은 패킷 처리량을 위해 전용 ASIC 칩과 Network Processing Unit(NPU)를 이용하는 CEF (Hardware-Base Router)가 있습니다. 

Software-Base와 Hardware-Base는 거의 유사하며 기능적으로는 동일합니다. 다만 둘의 차이점은 Software-Base Router의 범용 CPU는 CEF Switching 기능을 포함한 모든 동작을 담당하고 Hardware-Base Router는 CEF 수행을 전용 ASIC칩, TCAM 그리고 NPU가 담당을 합니다. 


1) 라우팅 과정을 거치게 되면 목적지 MAC 주소가 변경이 됩니다. 

2) Process Switching이 필요한 경우

  • 출발지 또는 목적지가 라우터일 경우 (라우팅 프로토콜 또는 제어 패킷 (NAT, PBR)
  • 하드웨어가 처리하기에 패킷이 너무 복잡한 경우 (IP Packet Option 처리)
  • 현재는 알 수 없는 추가적인 정보가 필요한 경우 (ARP Packet)

3) Fast Swiching에서 최초 패킷전달은 Process Switching이 동작 합니다. 

728x90