Realtek 네트워크 스위치 칩셋 diag-shell mode 명령어 알아보기

반응형

Realtek의 네트워크 칩셋(Chipset)

리얼텍(Realtek)은 1987년에 설립된 대만의 반도체 회사로, 주로 네트워크, 통신, 멀티미디어, 그리고 컴퓨터 주변기기 관련 IC(Integrated Circuit) 솔루션을 개발하는 데 주력하고 있다. 리얼텍은 주로 저전력, 고성능 제품을 목표로 다양한 전자기기에 필요한 칩과 칩셋을 공급하며, 특히 네트워킹과 사운드 관련 IC에서 강세를 보이고 있다고 한다.

 

리얼텍은 네트워크 스위치에 필요한 다양한 스위치 칩셋도 공급하는데, 특히 중소형 기업(SMB) 또는 SOHO 환경에서 사용할 수 있는 저가형 스위치에 널리 사용되며, 고속의 이더넷 포트를 지원한다. (참고: https://www.realtek.com/Product/Category?cate_id=202)

 

대표적인 네트워크 스위치 칩셋 모델

  1. RTL8367 시리즈:
    • 이 시리즈는 중소형 기업용으로 적합하며, 8포트에서 24포트까지 다양한 이더넷 스위치 솔루션을 제공한다.
    • RTL8367N: 8포트 기가비트 이더넷 스위치 컨트롤러로, VLAN, QoS, 포트 미러링 등의 기능을 지원한다.
    • RTL8367S: 이 시리즈는 고급 네트워크 기능을 추가로 제공하며, 스택 구성이나 IPv6 지원을 필요로 하는 환경에 적합하다.
  2. RTL8380M:
    • 이 칩셋은 최대 52포트의 기가비트 스위치 구성을 지원하며, 관리형 네트워크 스위치에서 주로 사용된다.
    • 다양한 Layer 2 기능을 지원하며, 포트 트렁킹, VLAN, QoS, IGMP 스누핑 등의 기능을 제공한다.
  3. RTL9300 시리즈:
    • 멀티 기가비트 네트워크를 지원하는 고성능 스위치 칩셋으로, 10GbE 포트를 지원하여 대역폭이 높은 환경에서도 뛰어난 성능을 발휘한다.
    • 이 시리즈는 대규모 데이터 센터나 고속 네트워크 인프라에 적합한 고성능 네트워크 장비에 주로 사용된다.
  4. RTL9310:
    • 더 높은 포트 밀도와 대역폭을 필요로 하는 네트워크 환경을 위한 제품으로, Layer 3 라우팅, MPLS, VPN 기능을 지원하는 고성능 칩셋이다.

 

Realtek Diag Shell

Realtek 칩은 네트워크 장비 개발자나 엔지니어가 사용할 수 있는 전용 shell mode를 제공한다. diag shell이라고 불리는 리얼텍의 쉘모드는 내장된 Realtek 칩셋을 디버깅하고, 테스트하기 위한 사용자와 칩 간 인터페이스라고 볼 수 있다. 이 모드를 통해 스위치 칩셋의 내부 동작을 직접 확인하거나, 특정 명령을 실행해 칩의 상태를 진단하고 설정할 수 있다.

 

Realtek Diag Shell 모드의 주요 기능

아래에서는 리얼텍 diag shell 모드에서 조회할 수 있는 명령어 몇 가지만 간단하게 살펴보겠다. 리얼텍의 Diag Shell 접근에 대한 가이드는 해당 칩셋의 SDK나 사용자 매뉴얼에서 확인할 수 있다.

 

1. 레지스터 접근

  • Diag shell에서는 칩셋의 레지스터에 직접 접근할 수 있다. 이를 통해 하드웨어 레벨에서 네트워크 장비의 설정을 제어하거나 문제를 진단할 수 있다.
  • 레지스터 읽기/쓰기: 사용자는 특정 레지스터의 값을 읽거나, 필요한 경우 값을 설정(쓰기)할 수 있다.
    • reg get <address> : 특정 주소에 있는 레지스터 값을 읽는다.
    • reg set <address> <value> : 특정 주소에 있는 레지스터에 값을 쓴다.
  • reg get <register address> 명령어로 값을 읽은 화면은 아래와 같다.

 

2. 포트 상태 확인

  • port dump port <port number> : 지정한 포트의 상태를 확인한다.
    아래는 port dump port 명령어를 통해 port 0부터 2까지 읽어보았는데, port마다 지정된 id가 있는지 조회가 되는 것도 있고, 안되는 것도 있었다.

  • port get port all state: 전체 포트의 상태에 대해 확인하는 명령어로 port get port all state 명령어로 전체 포트의 상태에 대해 조회했더니, 아래와 같이 총 28개 포트의 id와 enable/disable 상태가 조회되었다.

 

3. VLAN 설정:

  • vlan get pvid inn port all : 모든 포트에 설정된 PVID(Port Vlan ID) 값을 확인하는 명령어이다. PVID는 각 포트에 기본적으로 적용되는 vlan id를 나타내며, 태그되지 않은 패킷이 포트를 통과할 때 해당 vlan에 기본적으로 속하도록 만드는 역할을 한다.
    아래에서는 기본적으로 포트 0부터 51까지 PVID 값으로 vlan 1에 속해있음을 알 수 있다. 즉, 이 포트들로 들어오는 태그되지 않은 패킷은 자동으로 vlan 1에 속하게 된다. (native vlan을 생각하면 될 것 같다.)

  • vlan get tpid outer/inner : VLAN 태깅이 적용된 패킷을 식별할 때 사용할 TPID(Tag Protocol Identifier) 값을 나타내는 명령어로, 아래에서는 0x8100가 조회되는데, 이 값은 IEEE 802.1Q Vlan 태그를 기본적으로 사용한다는 것을 의미한다.

 

4. MAC Address Table 관리:

  • l2-table dump mac-ucast all : 스위치의 L2 (Layer 2) 테이블에서 유니캐스트 MAC 주소에 대한 정보를 덤프(출력)하는 기능을 제공한다. 이 명령어는 RTK 칩에서 mac 주소를 기반으로 트래픽을 전달하기위해 유지하고있는 l2 테이블(fdb) 상태를 보여준다.

 

반응형