纜線資料機的時間偏移(Time Offset of a Cable Modem),也稱為測距偏移(Ranging Offset),是表示纜線資料機終端系統(CMTS)和所連纜線資料機之間的來回延遲的值。此值由CMTS和電纜數據機在電纜數據機聯機時作為初始測距過程的一部分計算。CMTS和纜線資料機準確瞭解正確的時間偏移非常重要,如此一來,來自纜線資料機的上游傳輸會在適當的時間到達CMTS時正確同步。
某些纜線資料機在執行初始測距時可能會違反DOCSIS規範的某些部分,並可能會產生負時間偏移或明顯小於實際值的時間偏移。當纜線資料機顯示零或負的定時偏移時,它與DOCSIS完全不相容,並且由於資料機未正確快取上次使用的定時偏移,正在離線,然後在重新建立註冊時重新使用該定時偏移。此問題的原因和建議的操作步驟在此文檔中說明。必須注意的是,問題的原因是電纜數據機的行為,而不是CMTS。
問題的大多數有害影響可以通過在CMTS上配置電纜介面命令cable map-advance static來解決,但是電纜數據機供應商負責通過提供電纜數據機韌體的較新版本來實際解決負定時偏移問題。
閱讀器必須具備有關DOCSIS的一些基本知識,包括為了連線到CMTS纜線資料機必須完成的測距過程。
本文件所述內容不限於特定軟體和硬體版本。
時間偏移(表示CMTS和電纜數據機之間的往返延遲)通常由四個主要因素決定:
纜線資料機與CMTS的物理距離
下行調制方式與交織深度
上行調制方案與通道寬度
電纜數據機和韌體的型號
您可以檢視特定纜線資料機的時間偏移值,方法是在特定纜線資料機所連線的CMTS上執行show cable modem命令。以下是典型系統中此命令的示例輸出。
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0001.9659.5370 Cable3/0/U0 4 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415 Cable3/0/U0 5 online 3007 0.25 6 0 10.1.1.11 0001.9659.43fd
時間偏移量以DOCSIS刻度線的1/64為單位進行報價。刻度線定義為6.25微秒,使得一個時間偏移單位等於97.65625納秒。
時間偏移量是作為初始測距過程的一部分計算的,為了連線到CMTS,電纜數據機必須完成該過程。初始測距過程中時間偏移量的推導部分顯示在下面的圖1中。請注意,此圖遺漏了初步測距中幾個與本文檔無關的元件。
圖1
在圖1中,我們有兩個時間表。頂部時間線根據CMTS顯示系統時間戳。底部時間線根據電纜數據機顯示系統時間戳。為了簡單起見,我們從0開始這個時間線,我們使用假想的時間單位。注意,電纜數據機最初不知道系統時間戳是什麼。
纜線資料機必須等待收聽CMTS傳送的具有正確系統時間戳的SYNC訊息,才能知道目前時間戳是什麼。請注意,由於SYNC消息遇到的傳播延遲,當電纜數據機聽到表示系統時間戳為0的SYNC消息時,CMTS的時間戳已增加到3。
圖中的下一條消息是MAP消息,它命令電纜數據機在時間戳9傳送初始測距請求。由於電纜數據機不知道CMTS上何時出現時間戳9,因此它必須在時間戳9上根據其自己的時鐘傳送初始測距請求。
CMTS期望初始測距請求可以在CMTS時間戳9和16之間的任何時間到達。分配給接收初始測距請求的這一時間稱為初始測距間隔,並且需要足夠大,以容納CMTS和電纜數據機在電纜裝置最遠點之間的傳播延遲。
當電纜數據機的內部時間戳為"9"時,它會傳送其初始測距請求,但是當初始測距請求到達CMTS時,CMTS的時間戳為15。這意味著CMTS可以計算此電纜數據機的「時間偏移」為15 - 9 = 6個單位。
CMTS通過傳送測距響應消息將此時間偏移值傳送給電纜數據機。纜線資料機收到此訊息後,能夠將適當的時間偏差新增到將來傳送到CMTS的訊息中。
在下面的圖2中,我們看到從現在起,當CMTS命令電纜數據機以特定的時間戳傳輸某些資料時,數據機將時間偏移考慮在內。在圖中,CMTS向電纜數據機傳送MAP消息,命令它在時間戳70傳輸一些資料。如果電纜數據機考慮時間偏差6,這意味著電纜數據機在時間戳70 - 6 = 64傳輸其資料。請注意,傳輸在時間戳70到達CMTS。
圖2
當纜線資料機由於任何原因從聯機狀態轉換到離線狀態時,必須重新執行初始測距才能重新連線到CMTS。在此過程中,某些纜線資料機在第二次聯機時記住其原始時間偏移,以「欺騙」。即使有人可能認為作弊加快了初始測距時間,實際上這並不能增加數據機恢復線上狀態所需的時間。實際上,如果初始測距資料包過早「到達」CMTS,則來自其他數據機的資料將會丟失,CM嘗試重新連線將不會成功。如果初始的測距資料包正好到達測距機會的開始,CMTS看到零的時間偏移,但是不能提供更好的連線機會。
本節詳細介紹這些纜線資料機在連線時如何違反DOCSIS規範。
圖3顯示了當數據機執行初始測距時記住其原始時間偏移時的事件序列。在此圖中,我們假設CMTS和纜線資料機之間的傳播延遲在資料機離線(然後嘗試重新連線)期間保持不變。
圖3
在圖中,電纜數據機被告知在時間戳88傳送初始測距請求。由於電纜數據機記住其先前的時間偏移,因此它決定在時間88 - 6 = 82傳送測距請求。這意味著來自電纜數據機的初始測距請求在時間戳88到達CMTS。因此,CMTS會認為此電纜數據機的時間偏移為零。在以下show cable modem output中,MAC位址為00ff.de4d.b3ef的數據機出現此類行為。
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 online 0 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415
如我們所知,HFC網路的傳播延遲或延遲定義為光纖的光速和從CMTS到數據機的同軸距離。此速度取決於溫度,並且在HFC網路中常見的長距離傳輸以及非常精細的時序解析度會受到每天數百個時間刻度的影響。如果上游或下游路徑的傳播延遲或等待時間在數據機離線後再嘗試重新聯機之間發生變化,則數據機所記住的時間偏移將無效。如果傳播延遲增加,則數據機重新聯機時事件的順序可能類似於圖4所示的順序。
圖4
在圖4中,CMTS認為纜線資料機的定時偏移為2。這表示實際情況的情形,其中show cable modem輸出中報告的定時偏移顯示的時間小於可能的最小往返時間。如果纜線資料機報告的計時偏移量顯著小於1000,則其行為可能與圖4中的纜線資料機類似。在以下show cable modem輸出中,MAC位址為00ff.de4d.b3ef的纜線資料機表現出這種行為。
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 online 35 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415
另一種可能的情況是,CMTS和纜線資料機之間路徑的傳播延遲在資料機離線(然後嘗試重新連線)的時間之間略有降低。如圖5所示。
圖5
在圖5中,CMTS在時間戳86接收電纜數據機的測距請求,該時間戳為初始測距間隔開始之前的2個單位。假設CMTS仍能接收和解釋此測距請求,CMTS會認為纜線資料機的定時偏移為負2。這表示實際場景,其中show cable modem輸出中報告的定時偏移為負數。在以下show cable modem輸出中,MAC位址為00ff.de4d.b3ef的數據機表現出此類行為。
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 2 online 3011 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 online -93 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3011 0.25 5 0 10.1.1.48 0001.9659.4415
數據機產生負時間偏移或無效時間偏移的主要問題是中斷動態對映高級演算法,該演算法預設情況下在運行Cisco IOS®軟體版本12.0(9)SC、12.1(2)EC1、12.1(1a)和12.1(1a)T以上的Cisco CMTS產品上啟用。
動態對映高級演算法通過動態確定最遠電纜數據機從CMTS的時間偏移量,顯著增強電纜數據機的上行效能。透過使用此資訊,CMTS可以減少在纜線資料機發出上行頻寬要求與CMTS實際將此頻寬分配給纜線資料機之間的延遲。
圖6顯示了動態對映高級演算法如何使用最大定時偏移。圖中顯示了每個電纜數據機的往返延遲。通過檢視每個數據機所報告的時間偏移,CMTS能夠計算最遠數據機的時間偏移。
按一下圖6檢視動態對映高級演算法如何使用最大定時偏移。
如果CMTS中的最遠電纜數據機出現負時間偏移問題,則CMTS會認為此電纜數據機比CMTS更接近。換句話說,此數據機在show cable modem輸出中的時間偏移量將遠小於實際值。這表示當動態對映高級演算法計算所有纜線資料機的最大往返延遲時,資料機與CMTS的真實距離將不會被正確考慮。這將導致最遠的數據機的連線問題。
圖7顯示系統中最遠的電纜數據機有錯誤時間偏移的情況。即使最遠數據機的即時偏移為30,其報告的時間偏移為–2。這意味著動態對映高級演算法將認為系統中最遠數據機是時間偏移為20的數據機。這將使系統中最遠的數據機超出動態對映高級截止點。
按一下here以觀看圖7的影片。
12.0(10)SC、12.1(2)EC1、12.1(2)和12.1(2)T之後的Cisco IOS軟體版本中有一個機制,可保護Dynamic Map Advance演算法免受具有負時間偏移的電纜數據機的影響。當纜線資料機以負的時間偏移量聯機時,CMTS將記錄以下格式的錯誤訊息:
%UBR7200-4-BADTXOFFSET: Bad timing offset -2 detected for cable modem 00ff.0bad.caf3
如果您的CMTS上出現此消息,您應該聯絡數據機供應商,要求沒有出現問題的韌體版本。
為確保出現負時間偏移問題的纜線資料機能夠保持連線,可能需要關閉動態對映前進演演算法,直到連線到CMTS的所有纜線資料機都執行與DOCSIS相容的韌體。若要停用特定下游連線埠上的動態對映進階,請在CMTS上輸入以下命令。
CMTS# conf t Enter configuration commands, one per line. End with CNTL/Z. CMTS(config)# interface cable 3/0 !--Specify the Cable interface affected CMTS(config-if)# cable map-advance static CMTS(config-if)# end CMTS#
為了確認已關閉動態對映前進,請在show controller cable X/Y upstream Z的輸出中查詢線路Map Advance(靜態),其中X/Y是電纜下游埠號,Z是活動的上游埠。
CMTS# show controller cable 3/0 upstream 0 Cable3/0 Upstream 0 is up Frequency 25.008 MHz, Channel Width 1.600 MHz, QPSK Symbol Rate 1.280 Msps Spectrum Group is overridden SNR 33.640 dB Nominal Input Power Level 1 dBmV, Tx Timing Offset 2817 Ranging Backoff automatic (Start 0, End 3) Ranging Insertion Interval automatic (60 ms) Tx Backoff Start 0, Tx Backoff End 4 Modulation Profile Group 1 Concatenation is enabled part_id=0x3137, rev_id=0x03, rev2_id=0xFF nb_agc_thr=0x0000, nb_agc_nom=0x0000 Range Load Reg Size=0x58 Request Load Reg Size=0x0E Minislot Size in number of Timebase Ticks is = 8 Minislot Size in Symbols = 64 Bandwidth Requests = 0x2F Piggyback Requests = 0x22 Invalid BW Requests= 0x0 Minislots Requested= 0x50D Minislots Granted = 0x50D Minislot Size in Bytes = 16 Map Advance (Static) : 3480 usecs UCD Count = 122 DES Ctrl Reg#0 = C000C043, Reg#1 = 0
請注意,一旦停用動態對映前移,您仍可能會收到BADTXOFFSET錯誤消息,但纜線數據機應該能夠保持連線。
如圖5所示,顯示負時間偏移的電纜數據機可能在正確的時間之前傳送初始測距請求。這些早期的傳輸可能會干擾其它電纜數據機傳送的資料。這意味著初始測距請求和另一個電纜數據機傳送的資料都將損壞和丟失。
最壞的情況是,顯示負時間偏移的電纜數據機每隔幾秒傳送一次初始測距請求,該請求會覆蓋另一台數據機的有效資料傳輸。以這種方式工作的數據機可能不會出現嚴重問題,但是以這種方式工作的幾個數據機可能會導致大量資料丟失。
解決此問題的唯一方法是聯絡您的電纜數據機供應商,獲取不受負時間偏移問題影響的韌體版本。CMTS上沒有可避免此問題的配置。
負時間偏移的一個非常罕見的替代原因是兩個或多個CMTS裝置服務於公共電纜段。如果兩個CMTS使用相同的上游頻率設定設定特定電纜段,則一個CMTS可能從連線到另一個CMTS的電纜數據機「監聽」初始測距請求。該初始測距請求可能在初始測距間隔內的隨機時間被聽到,因此將為電纜數據機計算無效的時間偏移。
此問題的典型症狀是:show cable modem命令將顯示許多處於離線或init(r1)狀態的纜線資料機,並帶有負、極小的正或非常大的正時間偏移。在下面的輸出示例中,屬於此類別的資料機以粗體顯示。
CMTS# show cable modem Interface Prim Online Timing Rec QoS CPE IP address MAC address Sid State Offset Power Cable3/0/U0 1 online 2801 -0.50 5 0 10.1.1.44 0001.9607.3831 Cable3/0/U0 2 offline 103 0.75 5 0 10.1.1.52 0001.9659.4461 Cable3/0/U0 3 online 2647 0.50 7 0 10.1.1.40 0020.4001.5370 Cable3/0/U0 4 init(r1) -93 0.00 5 0 10.1.1.57 00ff.de4d.b3ef Cable3/0/U0 5 online 3091 0.25 5 0 10.1.1.48 0001.9659.4415 Cable3/0/U0 6 online 2811 1.25 5 0 10.1.1.24 0002.fdfa.0a35 Cable3/0/U0 7 offline 17291 1.00 5 0 10.1.1.33 0050.7366.1fb9 Cable3/0/U0 8 online 2816 1.00 5 0 10.1.1.11 0001.9659.43fd
SID為2的數據機所顯示的定時偏移量顯著小於1000,SID為4的數據機所顯示的定時偏移量為負值,SID為7的數據機所顯示的定時偏移量遠遠大於大多數數據機。
解決此問題的方法是將兩個CMTS配置為使用不同的上行頻率。同一電纜段上的兩個裝置不能同時使用相同的上行頻率。但是請注意,只要將兩台獨立裝置連線到物理上獨立的電纜段,就可以同時使用相同的上行頻率。