소개
이 문서에서는 Cisco 9000 Series Aggregated Services Router(ASR9K) 플랫폼에서 QoS(Quality of Service) 오프로드 기능을 구성하는 방법에 대해 설명합니다. 기능의 목적, 적용 및 제한 사항에 대해서도 설명합니다.
요구 사항
이 컨피그레이션을 시도하기 전에 시스템이 다음 요구 사항을 충족하는지 확인하십시오.
- 특정 위성 하드웨어에 대한 다음 PIE(Satellite Package Installation Envelope) 중 하나 또는 둘 다를 설치하고 활성화해야 합니다.
- asr9k-asr9000v-nV-px.pie-5.1.1
- asr9k-asr901-nV-px.pie-5.1.2
- 위성은 업데이트된 소프트웨어와 FPD(Field-Programmable Device)를 갖추고 있어야 합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- ASR-9000v용 ASR9K의 Cisco IOS® XR 버전 5.1.1
- ASR-901용 ASR9K의 Cisco IOS XR 버전 5.1.2.
참고: 현재 ASR-903의 QoS 오프로드 기능은 공식적으로 지원되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
QoS 오프로드 개요
위성과 ASR9K(일반적으로 10Gbps) 간의 ICL(섀시 간 링크)은 위성 자체의 액세스 인터페이스에 의해 쉽게 포화 상태가 될 수 있습니다. QoS 오프로드 기능은 정체 시 ICL에서 중요한 데이터가 손실되는 것을 방지하기 위해 실제 위성(ASR9K 호스트와 반대)의 하드웨어에서 QoS 기능을 제공합니다.
QoS Offload 기능은 다음 이미지에서 빨간색 점선으로 표시된 것처럼 ICL을 통한 트래픽을 위성 액세스 포트에서 ASR9K로 향하는 방향의 혼잡으로부터 보호하기 위해 도입되었습니다. 이 개념은 몇 가지 제한 사항을 이해하고 QoS 구현을 설계할 때 도움이 됩니다.
QoS 오프로드를 위한 중요 프로세스
이 섹션에서는 QoS 오프로드에 사용되는 두 가지 중요한 프로세스에 대해 설명합니다.
Interface Control Plane Extender(icpe_cpm) 프로세스
ICPE(Interface Control Plane Extender) 프로세스는 ASR9K 호스트와 위성 간의 통신 채널을 제공하는 SDAC(Satellite Discovery and Control) 프로토콜을 관리합니다.
QoS 정책 관리자(qos_ma) 프로세스
QoS 정책 관리자 프로세스는 다음 작업을 수행합니다.
- 클래스 맵과 정책 맵을 확인하고 RSP(Route Switch Processor)의 데이터베이스에 저장합니다.
- 위성 인터페이스와 서비스 정책 간 매핑의 데이터베이스를 유지 관리합니다.
- 오프로드된 서비스 정책에 대한 QoS 통계를 위성 상자에서 정기적으로 수집합니다.
- RSP 및 LC(Line Card)를 모두 포함하도록 컨트롤 플레인 인터페이스가 있는 모든 노드에서 실행됩니다.
구성
ASR9K에서 QoS 오프로드 기능을 구성하려면 이 섹션을 사용합니다.
QoS 오프로드 컨피그레이션
이 다이어그램은 service-policy가 설치된 위치를 시각적으로 나타낸 것입니다.
위성 접속 인터페이스
다음은 위성 액세스 인터페이스의 컨피그레이션 예입니다.
interface GigabitEthernet200/0/0/1
service-policy output NQoSOff_Out
service-policy input NQoSOff_In
nv
service-policy input ACCESS
참고: 서비스 정책 출력 NQoSOff_Out은 ASR9K ICL 인터페이스에서 위성 액세스 인터페이스(1)로 전송되는 비 QoS 오프로드 트래픽을 나타내고, 입력 NQoSOff_In은 위성 액세스 인터페이스(1)에서 ASR9K에 수신된 비 QoS 트래픽을 나타냅니다. 또한 서비스 정책 입력 ACCESS는 PC로부터 위성 액세스 인터페이스에 수신된 QoS 오프로드 트래픽을 나타냅니다(2).
ICL 인터페이스
다음은 ICL 인터페이스의 컨피그레이션 예입니다.
interface TenGigE0/0/0/1
service-policy output NOT_SUPPORTED
service-policy input NOT_SUPPORTED
nv
satellite-fabric-link network
redundancy
iccp-group 1
!
satellite 200
service-policy output ICL_OFFLOAD
remote-ports GigabitEthernet 0/0/1-2
참고: 서비스 정책 출력 및 입력은 이 인터페이스에 대해 NOT_SUPPORTED입니다. 다음 섹션을 참조하여 신중하게 설계하십시오. 또한 서비스 정책 출력 ICL_OFFLOAD는 위성 ICL에서 ASR9K로 전송되는 QoS 오프로드 트래픽을 나타냅니다(3).
ICL 초과 서브스크립션
QoS 서비스 정책은 ICL 인터페이스에서 직접 지원되지 않습니다(비 QoS 오프로드). 따라서 위성 ICL 인터페이스를 오버서브스크립션하지 않도록 주의해야 합니다. 이 섹션에서는 ICL 초과 가입을 방지하기 위해 사용되는 두 가지 방법을 제공합니다. 첫 번째 방법은 혼잡이 발생하지 않도록 각 ICL에 대한 액세스 인터페이스의 수를 제한합니다. 두 번째 방법은 모든 쉐이퍼의 합이 ICL의 대역폭을 초과하지 않도록 쉐이퍼를 각 액세스 인터페이스에 적용합니다.
각 ICL에 대한 액세스 인터페이스 제한
혼잡 중에 패킷 삭제 없이 위성(15Gbps 트래픽의 잠재력)에서 15개의 1Gbps 연결을 지원하려면 별도의 10Gbps ICL 링크 2개를 구성해야 합니다. 처음 10개의 1Gbps 위성 액세스 인터페이스를 1개의 10Gbps ICL 연결에 매핑하고, 다음 5개의 1Gbps 위성 액세스 인터페이스를 두 번째 10Gbps ICL 연결에 매핑합니다. 각 10Gbps ICL에 매핑된 액세스 인터페이스의 수가 10개를 초과하지 않는 한 다른 조합이 가능합니다.
다음은 컨피그레이션의 예입니다.
interface TenGigE0/0/0/1
description ICL_LINK_1_FOR_SAT100
nv
satellite-fabric-link network
satellite 100
remote-ports GigabitEthernet 0/0/0-9
!
interface TenGigE0/0/0/2
description ICL_LINK_2_FOR_SAT100
nv
satellite-fabric-link network
satellite 100
remote-ports GigabitEthernet 0/0/10-14
액세스 인터페이스에 쉐이퍼 적용
초과 유입을 방지하기 위해 사용되는 두 번째 방법은 ICL을 통해 위성으로 다중 회선 속도가 전송되는 것을 방지하기 위해 셰이퍼를 각 위성 액세스 인터페이스(예: GigE100/0/0/9)에 직접 적용하는 것입니다. 예를 들어, 단일 10Gbps ICL에서 500Mbps 쉐이퍼를 20개의 GigabitEthernet 위성 인터페이스에 적용할 경우 ICL을 통과하도록 10Gbps(500Mb x 20)를 초과할 수 없습니다.
다음은 컨피그레이션의 예입니다.
interface TenGigE0/0/0/1
nv
satellite-fabric-link network
satellite 100
remote-ports GigabitEthernet 0/0/0-19
!
interface GigE100/0/0/0 (For all Gi100/0/0/0-19)
service-policy output 500MBPS_SHAPE
참고: ASR9K 호스트의 가상 엔티티인 위성 액세스 인터페이스의 비 QoS 오프로드를 위해 전체 모듈형 QoS CLI(MQC) 기능이 제공됩니다.
ICL을 통한 컨트롤 플레인 트래픽 보호
이 섹션에서는 ICL을 통과할 때 위성 액세스 인터페이스에서 수신된 네트워크 제어 평면 트래픽을 보호하는 컨피그레이션 예를 간략하게 설명합니다. 이 데모에서는 이러한 목표를 달성할 수 있는 방법을 소개합니다.
Satellite Access Interface Config:
class-map match-any routing
match precedence 6
policy-map Protect_NCP
class routing
set qos-group 4
!
class class-default
set qos-group 0
interface Gi100/0/0/1
description Satellite Access Interface
service-policy input Protect_NCP
ICL Interface Config:
class-map match-any qos-group-4
match qos-group 4
policy-map ICL-Policy
class qos-group-4
bandwidth remaining percent 5
!
class class-default
bandwidth remaining percent 90
interface TenGigE0/0/0/1
description Satellite ICL
nv
satellite-fabric-link network
redundancy
iccp-group 1
!
satellite 100
service-policy output ICL-Policy
이전 컨피그레이션 예에서 'Protect_NCP' 정책 맵은 IP Precedence가 6인 모든 패킷을 매칭하고 내부 QoS 그룹 4에 그룹화합니다. 그런 다음 ICL에서 ASR9K 호스트로 이그레스(egress)되면 QoS 그룹 4에 대한 클래스 맵에서 구성된 대역폭 예약을 통해 보호됩니다.
알림: QoS 그룹은 패킷의 ToS 바이트에 대한 실제 표시가 아니라 위성 및 ASR9K 호스트에 대한 로컬 중요성만 있는 내부 표시입니다.
중요! QoS 오프로드를 사용할 경우 QoS 그룹 1, 2, 4, 5만 사용자 정의할 수 있습니다. QoS 그룹 3, 6, 7은 nV 위성과 관련된 기본 기능을 위해 예약되며 절대 사용하지 않아야 합니다. QoS 그룹 0은 클래스 기본 트래픽용으로 예약되어 있습니다.
QoS 오프로드 제한
이 섹션에서는 QoS 오프로드 기능의 제한 사항에 대해 설명합니다.
서비스 정책 배치 제한 사항
QoS 오프로드는 위성 액세스 포트의 방향에서 ASR9K 호스트로의 QoS 기능을 제공하기 위해 구현됩니다. 이러한 배치 제한 사항은 다음과 같습니다.
- QoS 서비스 정책은 오프로드 또는 비오프로드를 위해 ASR9K ICL 인터페이스에 직접 배치할 수 없습니다.
- 이그레스(출력) 서비스 정책은 활성 호스트를 향하는 위성 ICL 인터페이스의 QoS 오프로드에 대해서만 지원됩니다.
- 인그레스(입력) 서비스 정책은 위성 액세스 포트 인터페이스 또는 번들에서 직접 수신되는 트래픽에 대한 번들의 QoS 오프로드에만 지원됩니다. 번들이 있는 경우 QoS 정책은 링크 단위로 각 멤버에 설치됩니다.
- 오프로드된 서비스 정책을 하위 인터페이스에 적용할 수 없습니다.
지원되는 QoS 오프로드 기능
지원되는 QoS 오프로드 기능은 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 5.1.x의 Supported Platform-Specific Information for QoS Offload 섹션에 설명되어 있습니다.
참고: 현재 SNMP(Simple Network Management Protocol) 관련 QoS 오프로드 통계는 지원되지 않습니다.
위성 액세스 인터페이스의 비 QoS 오프로드 제한
이 섹션에서는 위성 액세스 인터페이스의 비 QoS 오프로드 제한에 대해 설명합니다.
서비스 정책 배치 제한 사항
이러한 서비스 정책 배치 제한은 위성 액세스 인터페이스의 비 QoS 오프로드에 적용됩니다.
- 인그레스 및 이그레스 서비스 정책은 nv가 아닌 실제 액세스 포트 컨피그레이션에 적용할 수 있습니다. 이러한 정책은 오프로드되지 않으며, 패킷은 ASR9K에서 위성으로 연결되는 와이어에 배치되기 전에 대기됩니다.
- QoS 서비스 정책은 오프로드 또는 비오프로드를 위해 ASR9K ICL 인터페이스에 직접 배치할 수 없습니다.
서비스 정책 토폴로지 제한
허브 및 스포크 토폴로지의 경우 3단계(조부모, 부모, 자식) QoS 정책이 지원됩니다. 새로운 토폴로지인 Ring and Layer 2(L2) Fabric에서는 듀얼 레벨 QoS 정책만 지원됩니다.
다음을 확인합니다.
QoS 오프로드 컨피그레이션이 제대로 작동하는지 확인하려면 이 섹션을 사용합니다.
아웃풋 인터프리터 툴(등록 고객 전용)은 특정 show 명령을 지원합니다. show 명령 출력의 분석을 보려면 아웃풋 인터프리터 툴을 사용합니다.
위성에 QoS 오프로드 정책 설치
오프로드된 QoS 정책을 위해 위성 하드웨어에 올바르게 설치되었는지 확인하려면 nv satellite 옵션과 함께 show qos status interface 명령을 입력합니다. 명령 출력의 상태가 Active로 표시되면 오프로드된 QoS 정책의 설치가 성공한 것입니다. 출력의 상태가 Inactive(비활성)로 표시되면 일종의 오류가 발생한 것입니다.
오류가 발생하면 실제 ICL 링크에 문제가 있는 경우가 많거나, ASR9K 호스트가 실행하는 현재 IOS XR 소프트웨어 버전에서 오프로드를 시도하는 QoS 정책이 지원되지만 실제 위성에서는 지원되지 않을 수 있습니다. 자세한 내용은 이 문서의 Supported QoS Offload Capabilities 섹션을 참조하십시오.
명령 출력의 상태가 진행 중 상태이면 위성 연결이 끊겼음을 나타냅니다. 활성과 비활성 사이의 이 중간 상태에서는 QoS 정책이 성공적으로 오프로드되지 않았습니다.
다음은 성공적인 오프로드와 실패한 오프로드를 보여주는 두 가지 출력 예입니다.
OUTPUT:
RP/0/RSP0/CPU0:ASR9001#show qos status interface gig 0/0/0/0 nv satellite 100
Wed Apr 16 23:50:46.575 UTC
GigabitEthernet0/0/0/0 direction input: Service Policy not installed
GigabitEthernet0/0/0/0 Satellite: 100 output: test-1
Last Operation Attempted : ADD
Status : ACTIVE
OUTPUT:
RP/0/RSP0/CPU0:ASR9001#show qos status interface gig 0/0/0/0 nv satellite 100
Wed Apr 16 23:51:34.272 UTC
GigabitEthernet0/0/0/0 direction input: Service Policy not installed
GigabitEthernet0/0/0/0 Satellite: 100 output: test-2
Last Operation Attempted : ADD
Status : INACTIVE
Failure description :Apply Servicepolicy: Handle Add Request AddSP
test-2 CliParserWrapper:
Remove shape action under class-default first.
Satellite Access Interface에서 오프로드된 QoS 정책의 QoS 통계
원격 위성 액세스 인터페이스에 적용되는 QoS 정책 맵의 통계를 보거나 지우려면 다음 명령을 입력합니다.
- show policy-map interface Gi100/0/0/9 input nv
- clear qos counters interface Gi100/0/0/9 input nv
위성 ICL 인터페이스의 오프로드된 QoS 정책의 QoS 통계
원격 위성 ICL 인터페이스에 적용되는 QoS 정책 맵의 통계를 보거나 지우려면 다음 명령을 입력합니다.
- show policy-map interface Ten0/0/0/1 output nv satellite-fabric-link 100
- clear qos counters interface Ten0/0/0/1 input nv satellite-fabric-link 100
참고: QoS 통계는 30초마다 ASR9K 호스트에 업데이트됩니다.
문제 해결
QoS 오프로드 기능 트러블슈팅을 시도하거나 Cisco TAC(Technical Assistance Center) 서비스 요청을 열 때 디버그 정보를 수집하려면 다음 명령을 입력합니다.
- show policymgr 프로세스 추적 [all|intermittent|critical]
- show tech qos
- show policy-lib trace [all|critical|intermittent]
- show policy-lib trace client <client-name> location <loc>
- app-obj 추적 표시
- show app-obj db <db_name> jid <jid> 위치 <loc>
- qos-ma 추적 표시
참고: <db_name>은 class_map_qos_db 또는 policy_map_qos_db입니다.
알려진 결함
이 문서에 제공된 정보와 관련하여 알려진 결함에 대한 자세한 내용은 Cisco 버그 ID CSCuj87492 - non-savether interface nv의 서비스 정책 옵션을 제거해야 합니다. 이 결함은 비위성 인터페이스에서 nv 옵션을 제거하기 위해 제기되었습니다.