본문 바로가기

tech/carrier ethernet

L3스위치 구조에 대한 이해

반응형

출처 : http://blog.naver.com/netmaniascom?Redirect=Log&logNo=80144976247

안녕하세요? NetmaniasTalk입니다.

아래 글은 예전에 Netmanias Magazine에 기고했던 글의 일부로써, L3 Switch(예. Cisco 6500 series, Juniper MX series)
의 구조에 대한 설명입니다.

Protocol Reference Model
아래 그림은은 네트워크 장비의 기능을 크게 3개의 기능 블록으로 분리해 놓은 것이다.



• Control Plane : 네트워크 장비로 유입되는 패킷이 올바른 물리적 포트로 출력 될 수 있도록, 경로를 설정, 관리 및 해제하는 기능(Routing, Signaling)을 수행한다.
• Data Plane(User Plane) : 수신된 패킷의 L2, L3 헤더 필드를 검사하여, Control Plane에서 의도 했던 출력 포트로 패킷을 송신하는 기능을 담당하며, 패킷 처리 과정에서 Packet Modification, QoS, Filtering 등의 기능을 함께 수행하게 된다.
• Management Plane : Control Plane 및 Data Plane의 동작 상태 및 성능을 관리하는 기능을 담당한다.

본 3개의 Plane은 실제 네트워크 장비에서 2개의 블록으로 매핑된다.
• Control Point (Non-Steady State Function) : 보통 CPU 또는 Host Processor라 불리기도 하는, Control Plane 기능과 Management Plane의 일부 기능 (SNMP, CLI)을 수행하는 블록이다. (이하 CP라 칭함)
• Network Processor (Steady State Function) : Data Plane과 Management Plane의 일부 기능(상태 및 성능 관리 정보(MIB))를 Control Point의 Management Plane에 제공)을 수행하는 블록이다. (이하 NP라 칭함)

Control Plan


• Layer 3 IP Protocols
  ◦ Basic Protocol Stack(IPv4, ARP/RARP, ICMP, TCP, UDP)
    ■ 대부분의 IP 및 MPLS 시그널링 프로토콜은 IP, IP/TCP 또는 IP/UDP 헤더로 encapsulation되어 송수신 되기 때
문에 기본적인 IP/TCP/UDP stack을 가지고 있다.
    ■ NP가 ICMP 패킷을 수신하면 본 패킷을 CP로 전달하여, Control Plane의 ICMP 블록에서 이 패킷을 처리한다. 
    ■ NP가 IP Forwarding을 하기 위해서는 Next Hop의 MAC 주소를 알아야 하며, 본 기능은 Control Plane에서 처리하기 때문에 ARP 블록이 존재한다.
  ◦ Unicast IP Routing Protocols(RIP, OSPF, BGP4, IS-IS, VRRP): 네트워크 장비간에 라우팅 정보를 주고 받아 데이터 패킷의 경로를 결정하고 그 결과를 NP에 존재하는 IP Forwarding Table에 기록하여, NP가 CP의 관여 없이 패킷을 포워딩 할 수 있도록 한다. 이 IP Forwarding Table은 CLI에 의해서 관리(Static Route라 함)될 수도 있다.
  ◦ Multicast IP Routing Protocols(IGMP, DVMRP, PIM-SM, PIM-DM): 멀티캐스트 패킷에 대한 경로를 결정하는 프로토콜로써 NP의 IP Multicast Table에 그 결과를 기록하며 이 역시 CLI에 의해서 관리 될 수도 있다.

• Layer 2 Ethernet Protocols
  ◦ GVRP: 스위치 장비(Destination MAC 주소를 참조하여 패킷을 송신하는 장비)간에 VLAN Membership 정보를 주고 받는데 사용된다.
  ◦ GMRP: 스위치 장비간에 멀티캐스트 그룹 정보를 주고 받는데 사용된다.
  ◦ STP/RSTP/MSTP: 루프가 존재하는 이더넷 망을 루프가 없는 하나의 예측 가능한 Tree Topology로 구성함과 동시에, 일부 링크 장애 발생시에 대체 경로를 자동으로 찾아 망을 스스로 복구할 수 있는 기능을 제공한다.
  ◦ LACP: 하나 이상의 이더넷 포트들을 하나의 논리적인 포트로 묶어 동작시킴으로써 대역폭을 증가시키는 기능을 Link Aggregation(Data Plane에서 담당)이라 하며, 이를 위해서 스위치간 주고 받는 프로토콜이 LACP이다.
  ◦ IGMP Snoop: 호스트(단말)와 라우터간 주고 받는 IGMP 패킷을 스위치가 가로채(NP에서 CP로 IGMP Packet Redirection) 이를 해석하여, 포트 별 Multicast Group Membership을 NP의 L2 Multicast Table에 기록하는 기능을 담당한다. 이렇게 함으로써 스위치가 불필요하게 멀티캐스트 패킷을 모든 포트로 브로드캐스팅 시킴을 방지할 수 있다.
  ◦ Port-based Network Access Control(IEEE 802.1x): 외부의 인증 서버(RADIUS Server)를 통해 인증된 사용자(Host)에
게만 스위치의 Physical Port 사용권을 부여하여 Network Access를 허용하는 프로토콜이다.
  ◦ MPLS Signaling Protocols(LDP, CR-LDP, RSVP-TE): MPLS 망의 경로 설정을 위한 Label 할당 및 분배 기능을 담당하며 (LDP),
이와 더불어 Traffic Engineering 기능 지원을 위해서 Explicit Route, QoS 등의 기능을 제공한다. (CR-LDP, RSVP-TE).

Data Plan


• Packet Decoder : 수신된 패킷의 Layer 2(Ethernet Header), Layer 3(IP Header) 포맷을 인식하는 기능을 담당하는 블록이다.
• Address Lookup : NP의 가장 핵심적인 부분으로서, 가장 중요한 임무는 수신된 패킷을 어느 출력 포트로 내보낼 것인지 결정 하는 것이며, 이를 위해서 다음 기능을 수행하게 된다.
  ◦ Layer 2 Bridging: Destination MAC Address를 참조하여 출력 포트 결정
  ◦ Layer 2.5 MPLS Switching: MPLS Label을 참조하여 출력 포트 결정
  ◦ Layer 3 IP Forwarding: Destination IP Address를 참조하여 출력 포트 결정
• Multi-Field Classifier: 수신된 패킷의 L1~L4 정보를 참조(classification)하여 누가(source) 누구(destination)에게 어떤 응용 (TCP/UDP Port number) 패킷을 전송하는지 Flow를 구별한 후에, 망 정책에 근거하여 다양한 부가 기능(QoS, Filtering,Redirection 등)을 제공한다.
• Packet Editor: 수신된 패킷의 내용을 변형하는 기능을 담당하는 블록으로, Ethernet CRC 계산(물론 NP가 수행) 결과를
Ethernet Trailer에 써주는 기본적인 기능부터 VLAN Tag Insert/Delete/Update, MPLS Label Push/Pop/Swap 등의 다양한 Packet Modification 기능을 담당하다.
• Traffic Manager: QoS를 담당하는 블록으로 NP의 Congestion Avoidance 및 Congestion Management 기능을 제공한다.

위 설명을 동영상으로 시청하고 싶으시면 넷매니아즈 e-Learning, "Per-Hop Packet Proccessing" 참조

반응형