소개
이 문서에서는 CableLabs RPHY 사양을 기반으로 RPHY(Remote PHY) 및 CIN(Converged Interconnected Network) 환경이 효율적으로 작동할 수 있도록 하는 모범 사례 및 시스템 점검에 대해 설명합니다.
기고자: Andy Moyer, Cisco TAC 엔지니어
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- RPD(Remote PHY Device)
- Cisco converged Broadband Router(cBR-8)
- DOCSIS(Data Over Cable Service Interface Specification)
- QoS(Quality of Service)
사용되는 구성 요소
이 문서의 정보는 cBR-8 하드웨어를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
DSCP 값
코어 및 RPD에 대한 PTP(Precision Time Protocol) 트래픽은 PTP 패킷이 손실되지 않도록 우선 순위를 지정해야 합니다. RPD는 CableLabs RPHY 사양에 표시된 대로 EF(Expedited Forwarding)용 IETF RFC 2475 DSCP(Differentiated Services Code Point) 값과 DEPI(Downstream External PHY Interface) 터널용 BE(Best Effort)를 지원해야 합니다. CM-SP-R-PHY-I14-200323. PTP 트래픽은 CIN 내에서 우선 순위가 지정되며 일반적인 방법은 DEPI 터널과 동일한 DSCP 값을 사용하는 것입니다. RPD의 DSCP 값은 코드에서 고정되며 PTP에는 값 46이 할당됩니다.
|
항목
|
홉별 동작
|
DSCP 값
|
|
DOCSIS 데이터(L2TP)
|
BE
|
0
|
|
PTP
|
EF
|
46
|
|
GCP
|
BE
|
0
|
|
맵/UCD
|
EF
|
46
|
|
BWR/RNG_REQ
|
EF
|
46
|
|
비디오
|
CS4
|
32
|
|
MDD, 음성
|
CS4
|
32
|
|
약어
|
정의
|
|
L2TP
|
레이어 2 터널 프로토콜
|
|
GCP
|
일반 제어 프로토콜
|
|
지도
|
대역폭 할당 맵
|
|
UCD
|
업스트림 채널 설명자
|
|
BWR
|
대역폭 요청
|
|
RNG_REQ
|
범위 요청
|
|
MDD
|
MAC 도메인 설명자
|
대역폭 계산
- 코어에서 RPD로의 경로에 있는 모든 디바이스는 모든 MAP, UCD, BWR/RNG_REQ 및 PTP 트래픽을 전달하기 위해 다른 모든 트래픽보다 높은 우선 순위로 충분한 대역폭을 예약해야 합니다. 다음 공식을 사용하여 총 EF 대역폭을 계산할 수 있습니다.
Total EF Bandwidth = MAP/UCD BW + BWR/RNG_REG BW + PTP BW
MAP/UCD BW in bits per sec = 500 Maps/sec * 8 bits/byte * MAP-Size * No.-of-Primary-DS * No.-of-US * 2 for UEPI Maps
Worst case MAP-Size: SC-QAM: 660Bytes, OFDMA: 1450bytes
참고: 38.8Mbps는 오버헤드가 있는 256QAM SC-QAM의 총 대역폭입니다. 계산을 위해 구성한 각 OFDM(Orthogonal Frequency Division Multiplexing) 채널에서 가장 높은 속도를 사용합니다.
cBR-8에서:
cBR8# show controllers downstream-Cable rf-channel 158 verbose | include rate
CTRL profile (Profile A): rate: 496000 kbps
Data profile 1 (Profile B): rate: 619000 kbps
cBR8# show controller downstream-Cable counter rf-channel | count DOCSIS
Number of lines which match regexp = 32
CIN 검사 및 결과
CIN이 레이어 3(L3) 라우팅을 사용하는 경우 코어에서 RPD로의 경로가 고유한지/명확한지 확인합니다. 패킷이 여러 경로를 사용하는 경우 케이블 모뎀(CM)이 예측할 수 없는 처리량을 제공하게 될 수 있습니다. 다음은 CIN 불안정성으로 인해 관찰할 수 있는 몇 가지 이슈들이다.
- 낮은 TCP/UDP 처리량
- TCP 재시도 및 재전송
- RPD에서 관찰된 늦은 MAP
- PHASE-LOCK에서 Holdver 및 Back으로의 시간 동기화 손실 또는 스위치
- 누락된 MAP 패킷이 있는 경우
- 모든 DS 채널에서 "
SeqErr-sum-pkts" 증가
- 모든 미국 채널이
"Drop-sum-pkts" 증가하면
참고: 명령 예에서 생략 부호(...)는 가독성을 위해 일부 정보가 생략되었음을 나타냅니다.
RPD에서:
A. 채널별 업스트림 맵 카운터:
R-PHY# show upstream map counter 0
이 출력에서 매핑되지 않은 미니슬롯의 양이 증가하면 MAP가 손실되었음을 나타냅니다.
R-PHY# show upstream map counter 0 0
Map Processor Counters
==============================================
Mapped minislots : 297797435
Discarded minislots (chan disable): 0
Discarded minislots (overlap maps): 0
Discarded minislots (early maps) : 0
Discarded minislots (late maps) : 0
Unmapped minislots : 0
Last mapped minislot : 3003775
B. 다운스트림 채널 카운터:
R-PHY# show downstream channel counter
이 명령을 10초 동안 여러 번 반복합니다
R-PHY# show downstream channel counter
------------------- Packets counter in TPMI -------------------
Level Rx-pkts Rx-sum-pkts
Node Rcv 160159 160159
Depi Pkt 0 0
Port Chan Rx-pkts Rx-sum-pkts
Port Rx-pkts Rx-sum-pkts Drop-pkts Drop-sum-pkts
DS_0 160201 160201 0 0
US_0 2417 2417 0 0
US_1 2417 2417 0 0
------------------- Packets counter in DPMI -------------------
Field Pkts Sum-pkts
Dpmi Ingress 1260566 77868982
Pkt Delete 0 0
Data Len Err 0 0
Chan Flow_id SessionId(dec/hex) Octs Sum-octs SeqErr-pkts SeqErr-sum-pkts
0 0 4390912 / 0x00430000 950 1684498 0 1
0 1 4390912 / 0x00430000 24088 1612049 0 1
0 2 4390912 / 0x00430000 7686168 474015682 0 0
0 3 4390912 / 0x00430000 0 0 0 0
1 0 4390913 / 0x00430001 704757 40898198 0 1
1 1 4390913 / 0x00430001 510 30974 0 1
1 2 4390913 / 0x00430001 0 0 0 0
...
DLM 정보
DLM(DEPI Latency Measurement) 패킷은 CCAP(Converged Cable Access Platform) 코어와 RPD 간의 네트워크 레이턴시를 측정하는 데 사용되는 특정 유형의 데이터 패킷입니다. DLM 패킷에는 두 가지 유형이 있습니다. 인그레스 DLM 패킷과 이그레스 DLM 패킷입니다. 인그레스 DLM은 CCAP 코어와 RPD의 인그레스 포인트 간의 레이턴시를 측정하며, 이그레스 DLM은 CCAP 코어와 RPD의 이그레스 포인트 간의 레이턴시를 측정합니다.
DLM의 사용
참고: 이 기능은 기본적으로 비활성화되어 있습니다.
설정
cBR-8# conf t
cBR-8(config)# cable rpd
cBR-8(config-rpd)# core-interface tenGigabitEthernet
cBR-8(config-rpd-core)# network-delay dlm
RPD 확인
cBR-8# show cable rpd dlm
Load for five secs: 4%/1%; one minute: 4%; five minutes: 4%
Time source is NTP, 13:12:36.253 CST Sun Jan 1 2017
DEPI Latency Measurement (ticks) for 0000.bbaa.0002
Last Average DLM: 4993
Average DLM (last 10 samples): 4990
Max DLM since system on: 5199
Min DLM since system on: 4800
Sample # Latency (usecs)
x------------x------------
0 491
1 496
2 485
3 492
4 499
5 505
6 477
7 474
8 478
9 47
추가 정보에 대한 테스트 명령
cBR-8에서 라인 카드에 로그인하고 다음 테스트 명령을 실행합니다.
cBR-8# request platform software console attach
Summary of all RPD's that use DLM:
Slot-1-0# test cable md cdman show dlm 1 summary
DLM info summary
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.224.98 interval: 1 status: inact [0]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.224.97 interval: 1 status: inact [1]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.224.96 interval: 1 status: inact [2]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.224.99 interval: 1 status: inact [3]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.224.95 interval: 1 status: inact [4]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.227.96 interval: 1 status: inact [5]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.227.95 interval: 10 status: inact [6]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.227.94 interval: 1 status: inact [7]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.222.99 interval: 1 status: inact [8]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.222.97 interval: 1 status: inact [9]
rpd_id: xxxx.xxxx.xxxx rpd_ip: 10.240.222.98 interval: 1 status: inact [10]
Total 11 DLM info (max 80) ucast/mcast/recv_valid/lost/recv_all(pkts): 1000/200/1200/0/1200 <<<<<<<DLM Packets
Ctrlr DLM info summary
ctrlr: 8 rpd_id: xxxx.xxxx.xxx1 status: inact [8][0]
ctrlr: 9 rpd_id: xxxx.xxxx.xxx2 status: inact [9][0]
ctrlr: 10 rpd_id: xxxx.xxxx.xxx3 status: inact [10][0]
ctrlr: 16 rpd_id: xxxx.xxxx.xxx4 status: inact [16][0]
ctrlr: 17 rpd_id: xxxx.xxxx.xxx5 status: inact [17][0]
ctrlr: 18 rpd_id: xxxx.xxxx.xxx6 status: inact [18][0]
ctrlr: 19 rpd_id: xxxx.xxxx.xxx7 status: inact [19][0]
ctrlr: 20 rpd_id: xxxx.xxxx.xxx8 status: inact [20][0]
ctrlr: 30 rpd_id: xxxx.xxxx.xxx9 status: inact [30][0]
ctrlr: 30 rpd_id: xxxx.xxxx.xx10 status: inact [30][1]
ctrlr: 31 rpd_id: xxxx.xxxx.xx11 status: inact [31][0]
Slot-1-0# test cable md cdman show dlm 1 ipv4
Slot-1-0#
rpd_id: 0000:0000:0000 ctrlr: 17 channel: 0
session_id: 0 local_session_id: 0
slot: 1 local_port_id: 13 te_port: 4
interval: 1 measure_only: 0 static_cin_delay: 0 static_cin_delay_usec: 0
IP mcast: <mcast addr> mcast_sec: ucast: <ucast ipv4 addr> src: <source IP> dst:
MAC src: 0000:0000:0000 next_hop: 0000:0000:0000
DLM effect: false
in_use: true refresh_mapadv: true cdm_pak_size: 66
cdm_trans_id: 0 trans_id: 0 trans_id_m_cnt: 0
rpd: ucast/mcast/recv/lost(pkts): 0/0/0/0 trigger_cnt: 0
all: ucast/mcast/recv_valid/lost/recv_all(pkts): 0/0/0/0/0
time_start: [ 0 0 0 0 0 0 0 0 0 0 ]
time_end: [ 0 0 0 0 0 0 0 0 0 0 ]
ingress: [ 0 0 0 0 0 0 0 0 0 0 ] ingress_idx: 0
timestamp: [ 0 0 0 0 0 0 0 0 0 0 ]
seq_num: [ 0 0 0 0 0 0 0 0 0 0 ]
delay_ticks min/max/avg/last_avg/sum: 0/0/0/0/0
except_cnt: 0
full_samples: false
ctrlr: 17 rpd_id: xxxx.xxxx.xxxx status: inact [17][0]
디버그
RPD DEPI 세션 및 이벤트와 DLM을 디버깅합니다.
cBR-8# debug cable rpd depi
cBR-8# debug cable rpd r-depi
cBR-8# debug cable dlm tx
cBR-8# debug cable dlm rx
관련 정보