TWI753199B - 間接封包分類時間戳系統及方法 - Google Patents
間接封包分類時間戳系統及方法 Download PDFInfo
- Publication number
- TWI753199B TWI753199B TW107131890A TW107131890A TWI753199B TW I753199 B TWI753199 B TW I753199B TW 107131890 A TW107131890 A TW 107131890A TW 107131890 A TW107131890 A TW 107131890A TW I753199 B TWI753199 B TW I753199B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- phy
- timestamp
- predetermined
- egress
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0673—Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0697—Synchronisation in a packet node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/323—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一種PHY,其由以下各者構成:一時鐘,其經配置以產生指示目前時間之一時間信號;及一出口戳功能性,其經配置以:在出口側上接收一資料封包,自該所接收之資料封包之一預定區段提取資料,且回應於該經提取資料而執行複數個預定時間戳操作中之一項,該複數個預定時間戳操作包含:回應於該所產生之時間信號而產生一時間戳信號;不產生一時間戳信號;或修改寫入於該所接收之資料封包中的一時間戳。
Description
本發明係關於網路時鐘同步之領域,且詳言之係關於一種採用間接分類對分封交換通信網路中之資料封包進行時間戳標記的系統及方法。
在分封交換通信網路中,資料封包係在網路內之不同元件之間傳輸。儘管元件為單一網路之所有部分,但每一元件具有其自身的時鐘。在網路內創建該元件之共同時基改良網路內之資料傳送的有效性。共同時基可用於例如:在感測器之網路中觸發協調量測例項;在工業系統中協調控制器之動作;或使行動通信網路(亦即,蜂巢式網路)中之無線電節點同步。除了感測器及控制器之外,該系統亦可包括電腦及通信元件,諸如路由器。已開發出用於同步時鐘之若干標準協定,例如,IEEE 1588-2008之網路時間協定(NTP)及精確時間協定(PTP),其全部內容以引用之方式併入本文中。PTP描繪在通信網路中之節點之間發送計時相關訊息。計時相關訊息包括例如傳輸經時間戳標記之封包以將其時基供應至另一節點的節點及傳輸請求接收節點以回復接收時間之封包的節點。處置計時相關訊息之任何誤差可能不利於使時鐘同步準確,且損害可能在多個網路元件之上累積。此外,高效處置計時相關訊息有益於避免干擾 其他通信。
2013年10月29日授予Joergensen等人之美國專利S/N 8,571,014描繪分散式基於封包之時間戳引擎,其基於封包類型而分類資料封包以供處理且基於封包分類而執行特定時間戳操作,該美國專利之全部內容以引用之方式併入本文中。圖1說明實現資料封包之時間戳分類之先前技術實體層(PHY)的高階方塊圖。PHY 10包含:接收區塊20,其經配置以自通信網路(未顯示)接收輸入信號;傳輸區塊30,其經配置以將輸出信號傳輸至通信網路;本地時鐘35,其經配置以向PHY 10提供時基且將本地時間值供應至接收區塊20及傳輸區塊30;及介面區塊40,其用於耦接至較高階元件(未顯示)。接收區塊20之輸出說明為耦接至介面區塊40之輸入,且傳輸區塊30之輸入說明為耦接至介面40之輸出,然而,此並不意謂以任何方式進行限制。在另一具體例中,各種其他處理及/或格式化區塊包括於接收區塊20與介面區塊40之間的信號路徑中,且包括於傳輸區塊30與介面區塊40之間的信號路徑中。
接收區塊20包含:接收器50;封包分類器60;時間計算器70;及封包寫入器80。傳輸區塊30包含:封包分類器90;時間計算器100;封包寫入器110;及傳輸器120。介面區塊40、接收器50、封包分類器60、時間計算器70、封包寫入器80、封包分類器90、時間計算器100、封包寫入器110及傳輸器120中之每一者一般藉由電子電路實施。舉例而言,在一個具體例中,PHY 10設置於互補金屬氧化物半導體(CMOS)積體電路中。在另一具體例中,軟體程式化用以控制PHY 10中之電路中之一些的操作。在一個具體例中,可程式化處理器用以組構PHY 10之電路且用以處置例外狀況。
本地時鐘35提供經同步至通信網路(未顯示)中之另一時鐘的時間值。在一個具體例中,本地時鐘35為通信網路之主時鐘,且經同步至高準確度時鐘,諸如美國海軍天文台(US Naval Observatory)。在一些具體例中,本地時鐘35接收由時間模組(未顯示)供應之輸入時鐘信號及時間值。在各種具體例中,時間模組可經由其自身的時鐘、由PHY 10接收之信號或此兩者之組合判定時刻。輸入時鐘信號提供經鎖定至通信網路中之主時鐘之頻率的參考頻率,例如,名義上為250MHz。在此類具體例中,所接收之時間值經載入至本地時鐘30中以初始化或更新本地時間值。
接收器50耦接至通信網路中之通信鏈路55。在一個具體例中,通信鏈路55包含光纖電纜或一或多個雙絞線銅電纜。接收器50自通信鏈路55接收輸入信號。在許多具體例中,輸入信號係根據標準格式(例如,乙太網之標準)來接收。在一個具體例中,接收器50包含放大器、信號等化器、鎖相迴路及相關電路,如熟悉本技藝者在進行本發明時已知。接收器50處理輸入信號以自其回收資料且產生資料封包。部分地取決於格式標準,封包亦可被稱為訊框。在一個具體例中,接收器50亦例如藉由判定已接收到訊框定界符信號或訊框同步信號來判定封包或訊框之起始。
封包分類器60根據應執行之時間戳動作之類型而對每一封包進行分類。在一個具體例中,封包經分類為類型A至E中之一者。類型A封包為不接收接收區塊20中之時間戳處理的封包。B型封包為本地時鐘35之本地時間值將寫入至封包中的封包。類型C封包為將藉由減去本地時鐘35之本地時間值且加上預定偏移值來修改所接收之封包中之時間戳的封包,在一些具體例中,預定偏移 值可為零。在另一具體例中,預定偏移值為通信鏈路55之延遲的指示,接收器50在通信鏈路55上接收資料。在一個具體例中,預定偏移值替代地或另外為自進入接收器50之時間至以下任一時間的封包之起始之截線(transversal)之預期時間之絕對值:由接收器50判定封包之起始的時間;或對本地時鐘35之本地時間值取樣的取樣時間,此兩者可能為相同時間。在另一具體例中,預定偏移值可為負。
類型D封包為將藉由加上本地時鐘35之本地時間值且加上上文關於類型C封包所描繪之偏移值來修改所接收之封包中之時間戳的封包。在另一具體例中,類型D封包為將由傳輸區塊30傳輸之封包,亦即,類型D封包僅由封包分類器90分類,如下文將描繪。類型E封包為將連同本地時鐘35之本地時間值儲存於記憶體(未顯示)上之封包。類型E封包可隨後例如由網路處理器(未顯示)處理。
在一個具體例中,封包分類器60對根據多個協定格式化之封包進行分類,該等協定例如乙太網及多協定標籤交換(MPLS)封包。在另一具體例中,封包分類器60之分類係基於以下各者中之一者或兩者:用於封包之時間戳協定,諸如IEEE 1588-2008,及封包係被接收抑或傳輸。特定而言,如上文所描繪,在一個具體例中,類型C為針對所接收之封包保留的分類,且類型D為針對待傳輸之封包保留的分類。在一個具體例中,封包另外使用流、計時域、虛擬區域網路(VLAN)或其他識別符。
由封包分類器60分類之封包經供應至時間計算器70。時間計算器70回應於封包之分類而產生時間戳值。如上文所描繪,對於許多封包分類,時間計算器70使用自本地時鐘35獲得之本 地時間值。在一個具體例中,所需之本地時間值為封包之特定部分(例如,乙太網訊框首定界符(SFD)之末尾)到達接收器50之輸入的時間。因此,在一個具體例中,由時間計算器70使用之本地時間值為自本地時鐘35減去延遲值的值,該延遲值補償輸入至接收器50與計算器70接收來自本地時鐘35之值之時間之間的延遲。在另一具體例中,來自本地時鐘35之本地時間值係由接收器50擷取且藉由經分類封包供應至時間計算器70。在一個非限制性具體例中,延遲值係使用經量測回送延遲來計算。在使用上文所描繪之分類的具體例中,對於類型B及E封包,所產生之新的時間戳值為本地時鐘35之本地時間值。對於類型C及D封包,時間計算器讀取包括於所接收之封包中之時間戳值且產生新的時間戳值,如上文所描繪。如上文進一步描繪,對於類型C及D封包,時間計算器70在一個具體例中回應於預定偏移值而產生新的時間戳值。特定而言,在一個具體例中,對於類型C封包,所產生之新的時間戳值為所接收之時間戳值減去本地時鐘35之本地時間值加預定偏移值。對於類型A封包,時間計算器70不產生新的時間戳值。
由時間計算器70產生之新的時間戳值經提供至封包寫入器80。封包寫入器80將所接收之時間戳值寫入至資料封包之預定位置中。在一個具體例中,封包中寫入時間戳之預定位置取決於封包之格式而變化。在另一具體例中,寫入時間戳之預定位置為先前時間戳所定位之相同位置。在一個具體例中,預定位置為IEEE 1588-2008封包校正欄位之位置。在另一具體例中,封包分類器60提供進一步分類,其指示應寫入時間戳之位置,例如,在封包之前文中的位置、封包中之經保留位置,或附加至封包之末尾。
在一個具體例中,封包寫入器80另外取決於封包之格式而清除封包中之欄位。舉例而言,選擇地清除使用者資料報協定(UDP)封包中之校驗和欄位。封包寫入器80另外將封包中之校驗和型值更新為適於封包之格式。舉例而言,對於乙太網格式封包,封包寫入器80更新訊框檢查順序(FCS)。在另一具體例中,封包寫入器80另外檢查所接收之封包中之FCS。若FCS不正確,則封包寫入器80可捨棄封包或提供例如藉由反轉損壞之更新的FCS,以阻止封包之進一步處理。
在一個具體例中,封包分類器60、時間計算器70及封包寫入器80對所接收之封包進行操作而不將所接收之封包儲存於記憶體中。舉例而言,在封包寫入器80將時間戳寫入於封包中之同時,接收器50接收封包之後續部分,亦即,至接收器50完成接收封包之時結束所有操作。
介面區塊40自封包寫入器80接收經修改封包。介面區塊40將介面45提供至較高階組件(未顯示),諸如媒體存取控制器(MAC)。經由介面接收封包之較高階組件可執行進一步封包處理,例如判定在何處轉遞封包。在一個具體例中,至較高階組件之介面為十億位元媒體獨立接口(GMII)。介面區塊40經由介面45傳輸經修改封包。介面45係雙向的,且介面區塊40類似地接收封包以供經由介面45傳輸。
經由介面45接收之封包由介面區塊40供應至傳輸區塊30。在另一具體例中,提供單獨的介面區塊40以供接收及傳輸。傳輸區塊30之封包分類器90以與封包分類器60類似且選擇地相同之方式操作。然而,在封包分類器60與90之間,封包之分類可能不 同。如上文所描繪,類型C分類唯一地由封包分類器60提供,且類型D分類唯一地由封包分類器90提供。分類封包經提供至以類似於時間計算器70之方式操作的時間計算器100。然而,在一個具體例中,由時間計算器100產生之時間戳值取決於封包之分類,該分類可能不同於由封包分類器60提供之分類。舉例而言,對於類型D分類,時間計算器100選擇地提供新的時間戳值,該時間戳值為所接收之時間戳值加本地時鐘35之本地時間值加預定偏移值。在一個具體例中,預定偏移值為補償計算器100接收來自本地時鐘35之本地時間值的時間與封包中之參考點將由傳輸器120傳輸的時間之間的延遲之延遲值。因此,新的時間戳指示封包之預定部分退出傳輸器120的時間。
在另一具體例中,本地時鐘35之本地時間值係由傳輸器120擷取且以管線方式藉由經由區塊處理之封包供應至時間計算器100。由時間計算器100產生之輸出時間戳值經提供至封包寫入器110。封包寫入器110將由時間計算器100輸出之時間戳值寫入至封包中之預定位置,如上文關於封包寫入器80所描繪。
傳輸器120處理自封包寫入器110接收之經修改封包以產生輸出信號。傳輸器120耦接至通信網路中之通信鏈路,例如光纖電纜,以傳輸所產生之輸出信號。在一個具體例中,傳輸器120根據與接收器50接收輸入信號所使用之標準格式相同的標準格式傳輸所產生之輸出信號。
PHY 10因此根據各種協定之需要提供時間戳,該等協定諸如:PTP;NTP;伺服激活測試(SAT);及操作管理與維護(OAM)。不幸的是,在PHY 10內部提供封包分類需要較昂貴的PHY 10,汲取較多功率,且具有增加之潛時。為了限制此等缺點,在PHY中提供有限數目個分類,此更加不利。
因此,本發明之主要目標為克服先前技術之缺點中的至少一些。在一個具體例中,提供一種展現一出口側之PHY,該PHY進一步包含:一時鐘,其經配置以產生指示目前時間之一時間信號;及一出口戳功能性,其經配置以:在該出口側上接收一資料封包,自所接收之資料封包之一預定區段提取資料,且回應於經提取資料而執行複數個預定時間戳操作中之一項,該複數個預定時間戳操作包含:回應於所產生之時間信號而產生一時間戳信號;不產生一時間戳信號;或修改寫入於該所接收之資料封包中的一時間戳,其中該經提取資料包含指示應執行該複數個預定時間戳操作中之哪些時間戳操作的指令。
在一個獨立具體例中,提供一種與一PHY通信之封包處理器,該封包處理器包含:一分類器;一戳功能性;及一傳輸器,其中該分類器經配置以:接收一資料封包;且根據預定分類規則產生所接收之資料封包之一分類,所產生之分類係選自複數個預定分類,其中該戳功能性回應於該所產生之分類而經配置以:產生一指標,該指標指向該PHY之一記憶體中之一預定位置;或產生用於時間戳操作之指令,所產生之指令係選自至少三個預定指令選項,且其中該傳輸器經配置以將該所接收之資料封包連同該等所產生之指標或指令傳輸至該PHY之一出口側。
在另一獨立具體例中,提供一種間接分類時間戳系統,該系統包含:至少一個實體層(PHY),該至少一個PHY中之每 一者展現一出口側;及至少一個封包處理器,該至少一個PHY中之每一者與該至少一個封包處理器中之一者通信,其中該至少一個封包處理器中之每一者包含:一分類器;一處理器出口戳功能性;及一第一傳輸器,其中該分類器經配置以:接收一資料封包;且根據預定分類規則產生所接收之資料封包之一分類,所產生之分類係選自複數個預定分類,其中該處理器出口戳功能性回應於該所產生之分類而經配置以:產生一指標;或產生用於時間戳操作之指令,所產生之指令係選自至少三個預定指令選項,且其中該第一傳輸器經配置以將該所接收之資料封包連同該等所產生之指標或指令傳輸至該PHY之該出口側,其中該至少一個PHY中之每一者包含:一PHY時鐘,其經配置以產生指示目前時間之一第一時間信號;及一PHY出口戳功能性,其中該PHY出口戳功能性回應於該所產生之指標或該等所產生之指令而經配置以執行複數個預定時間戳操作中之一項,該複數個預定時間戳操作包含:回應於所產生之時間信號而產生一時間戳信號;不產生一時間戳信號;或修改寫入於該所接收之資料封包中的一時間戳。
本發明之額外特徵及優點將自以下圖式及描繪變得顯而易見。
10‧‧‧實體層(PHY)
20‧‧‧接收區塊
30‧‧‧傳輸區塊
35‧‧‧本地時鐘
40‧‧‧介面區塊
45‧‧‧介面
50‧‧‧接收器
55‧‧‧通信鏈路
60‧‧‧封包分類器
70‧‧‧時間計算器
80‧‧‧封包寫入器
90‧‧‧封包分類器
100‧‧‧時間計算器
110‧‧‧封包寫入器
120‧‧‧傳輸器
200‧‧‧封包處理器
210‧‧‧處理器時鐘
220‧‧‧入口側分類器
230‧‧‧入口側時間戳功能性
240‧‧‧出口側分類器
250‧‧‧出口側時間戳功能性
260‧‧‧傳輸器
270‧‧‧封包處理器
300‧‧‧PHY
302‧‧‧入口側
304‧‧‧出口側
310‧‧‧PHY本地時鐘
320‧‧‧入口側時間戳功能性
330‧‧‧記憶體
350‧‧‧出口側時間戳功能性
360‧‧‧傳輸器
365‧‧‧出口側
370‧‧‧PHY
380‧‧‧時間戳功能性
400‧‧‧間接分類時間戳系統/資料通信系統
410‧‧‧PHY
420‧‧‧封包處理器
430‧‧‧解碼器
440‧‧‧編碼器
450‧‧‧時間戳傳輸器
500‧‧‧間接分類時間戳系統
520‧‧‧系統功能性
530‧‧‧轉遞功能性
600‧‧‧間接分類時間戳系統
610‧‧‧介面卡
620‧‧‧封包處理卡
630‧‧‧系統卡
為了較好地理解本發明以及為了顯示本發明可如何達成效果,現將僅以舉例方式參見隨附圖式,其中相同數字始終表明對應元件或部分。
現詳細地特定參見圖式,強調所顯示之細節係藉由實施例顯示且僅出於說明性論述本發明之較佳具體例之目的,且為了 提供被認為係對本發明之原理及概念態樣最有用且易於理解的描繪的內容來呈現。就此而言,不會嘗試比基本理解本發明所需更詳細地顯示本發明之結構細節,關於圖式進行描繪使本發明之若干形式可如何在實踐中體現對熟悉本技藝者顯而易見。在隨附圖式中:圖1說明實現時間戳封包分類之先前技術PHY的高階方塊圖;圖2A說明根據某些具體例之第一封包處理器的高階方塊圖;圖2B說明圖2A之封包處理器之入口側之操作方法的高階流程圖;圖2C說明圖2A之封包處理器之出口側之操作方法的高階流程圖;圖2D說明根據某些具體例之第二封包處理器之出口側的高階方塊圖;圖3A說明根據某些具體例之第一PHY的高階方塊圖;圖3B說明圖3A之PHY之入口側之操作方法的高階流程圖;圖3C說明圖3A之PHY之出口側之操作方法的高階流程圖;圖3D說明根據某些具體例之第二PHY之出口側的高階方塊圖;圖3E說明圖3D之PHY之出口側之操作方法的高階方塊圖; 圖4說明包含圖2A之封包處理器及圖3A之PHY的部分系統之高階方塊圖;圖5A說明資料交換機或集線器裝置之第一具體例的高階方塊圖;且圖5B說明資料交換機或集線器裝置之第二具體例的高階方塊圖。
在詳細解釋本發明之至少一個具體例之前,應理解,本發明在其應用上不限於以下描繪中所記載或圖式中所說明的組件之構造及配置之細節。本發明可適用於其他具體例或以各種方式實踐或進行。此外,應理解,本文中所使用的措詞及術語係出於描繪目的且不應被視為限制性的。詳言之,如本文中所使用之術語「耦接」並不意謂限於直接連接,且非限制性地允許中間元件或組件。
圖2A說明封包處理器200之高階方塊圖,圖2B說明封包處理器200之入口側之操作方法的高階流程圖,且圖2C說明封包處理器200之出口側的操作方法,圖2A至圖2C係一起描繪。如下文將描繪,封包處理器200允許相比於先前技術經簡化之PHY。封包處理器200包含:可選擇處理器時鐘210;入口側分類器220;入口側時間戳功能性230;出口側分類器240;出口側時間戳功能性250;及傳輸器260。可選擇處理器時鐘210、入口側分類器220、入口側時間戳功能性230、出口側分類器240、出口側時間戳功能性250及傳輸器260中之每一者一般藉由電子電路實施。在一個具體例中,封包處理器200經實施為CMOS積體電路。在另一具體例中,封包處理器200經實施於場可程式化閘陣列(FPGA)電路中。在又一具體例 中,封包處理器200經實施於特殊應用積體電路(ASIC)中。可選擇處理器時鐘210、入口側分類器220、入口側時間戳功能性230、出口側分類器240、出口側時間戳功能性250及傳輸器260中之每一者係由經配置以執行下文在階段1000至1050中所描繪之步驟的電路之專用部分來實施。在另一具體例中,封包處理器200經實施於網路處理器內,其中可選擇處理器時鐘210、入口側分類器220、入口側時間戳功能性230、出口側分類器240、出口側時間戳功能性250及傳輸器260中之每一者係由儲存於處理器之記憶體上的指令實施,該處理器回應於經儲存指令而經配置以執行下文在階段1000至1050中所描繪之步驟。
入口側分類器220之輸出與入口側時間戳功能性230之各別輸入通信。出口側分類器240之輸出與出口側時間戳功能性250之各別輸入通信。可選擇處理器時鐘210之第一輸出與入口側時間戳功能性230之各別輸入通信,且可選擇處理器時鐘210之第二輸出與出口側時間戳功能性250之各別輸入通信。
在操作中,在階段1000中,入口側分類器220接收源自PHY之入口側的資料封包。如上文所描繪,部分地取決於格式標準,「封包」亦可被稱為「訊框」。因此,術語「封包」並不意謂為限制性的,而係具體意謂包括訊框。在一個具體例中,如下文將描繪,資料封包在由入口側分類器220接收之前由專用解碼功能來解碼。
在階段1010中,入口側分類器220根據預定分類規則產生階段1000之所接收之資料封包之分類,如上文關於封包分類器60所描繪。所產生之分類係選自複數個預定入口側分類中之一者。 預定分類中之每一者指示將如何對封包進行時間戳標記。如上文所描繪,不同分類指示時間戳應包括於封包中之不同選項,包括不向封包提供時間戳之選項。另外,分類中之一些指示應如何進一步處理封包,諸如上文所描繪之類型E分類。在一個非限制性具體例中,如上文所描繪,複數個預定分類包含分類類型A至E。在一個具體例中,如下文將描繪,所產生之分類連同資料封包之簽名進一步儲存於資料封包內部或記憶體(未顯示)中。如下文將描繪,在此類具體例中,在入口側上產生之分類稍後用於出口側上。
在階段1020中,回應於階段1010之分類中之特定分類,入口側時間戳功能性230產生時間戳信號。在一個具體例中,時間戳信號係回應於由處理器時鐘210輸出之時間信號而產生。特定而言,處理器時鐘210經配置以輸出指示目前時間之時間信號,如上文關於本地時鐘35所描繪。如上文所描繪,回應於預定分類中之一些,時間戳信號為包括由處理器時鐘210輸出之本地時間減去延遲值的時間戳,該延遲值補償在封包處理器200處接收資料封包與自處理器時鐘210擷取時間信號之間的延遲。在一個具體例中,如下文將描繪,每一資料封包係由PHY進行時間戳標記,且延遲值係回應於PHY產生之時間戳及在PHY處接收資料封包與PHY中之時間戳之間的已知延遲而計算,使得由入口側時間戳功能性230產生之時間戳指示在PHY處接收到封包之時間。應注意,產生時間戳信號特別意謂包括自階段1000之資料封包提取時間戳。因此,在一個具體例中,對於一些分類,時間戳功能性230自資料封包提取時間戳且不產生不同的時間戳。在另一具體例中,對於此等分類,時間戳功能性230未修改資料封包中之時間戳。在一個具體例中,所 產生之時間戳信號係在輸出資料封包時由封包處理器200輸出之脈衝。脈衝係由外部電路接收,該外部電路將脈衝用作時間戳以判定資料封包自封包處理器200退出之時間。具體言之,外部電路根據本地時鐘判定何時接收到脈衝,因此判定或估計自封包處理器200退出之時間。
在一個具體例中,入口側時間戳功能性230將所產生之時間戳寫入至資料封包中。如上文所描繪,在一個具體例中,時間戳經附加至封包之末尾。應注意,將時間戳寫入至封包中意謂具體包括將時間戳附加至封包之末尾或開頭。另外,將時間戳寫入至封包中意謂進一步具體包括修正已含在封包內之時間戳之值。特定而言,在一個具體例中,入口側時間戳功能性230將由PHY供應之時間戳與封包內之另一時間戳欄位中所含的值相加或相減。
在一個具體例中,如上文所描繪,對於封包之一些分類,時間戳不寫入至封包中。在封包具有由PHY供應之時間戳的情況下,時間戳經丟棄或忽略。
在另一具體例中,入口側時間戳功能性230進一步自資料封包提取封包簽名。時間戳接著按照兩步PTP操作連同封包簽名分開地經傳輸,如熟悉本技藝者已知。
在入口側時間戳功能性230將時間戳產生至封包中且選擇地將所產生之時間戳寫入至封包中之後,封包接著自封包處理器200傳輸至網路中。
上文已描繪於時間戳由入口側時間戳功能性230產生且寫入至資料封包中之具體例中,然而,此並不意謂以任何方式進行限制。在另一具體例中,時間戳之產生及寫入中之每一者係由單 獨功能性執行,如上文關於PHY 10所描繪。
在階段1030中,出口側分類器240接收經指定用於階段1000之PHY之出口側的資料封包。資料封包係自網路中某處之元件接收,且經指定用於與階段1000之PHY相聯結的系統介面。
在可選擇階段1040中,出口側分類器240根據預定分類規則產生階段1030之所接收之資料封包之分類,如上文關於封包分類器90所描繪。所產生之分類係選自複數個預定出口側分類中之一者。預定分類中之每一者指示將如何需要對封包進行時間戳標記。如上文所描繪,不同分類指示時間戳應包括於封包中之不同選項,包括不向封包提供時間戳之選項。在一個非限制性具體例中,如上文所描繪,複數個預定分類包含分類類型A至E。如上文所描繪,在一個具體例中,一些分類對於出口側分類係獨特的,諸如類型D。類似地,一些分類對於入口側分類係獨特的,諸如類型C。上文已描繪於提供出口側分類器240及入口側分類器220兩者之具體例中,然而,此並不意謂以任何方式進行限制。在另一具體例中,提供單一分類器,該單一分類器經配置以對入口側及出口側兩者執行資料封包之分類。如上文所描繪,在一個具體例中,僅對入口側執行分類,且當資料封包到達出口側時,再次使用分類。在此類具體例中,未使用出口側分類器240。
在階段1050中,回應於階段1040之所產生之分類,出口側時間戳功能性250產生以下各者中之一者:指標及時間戳指令。特定而言,在一個具體例中,時間戳功能性250產生指向階段1000之PHY之記憶體之預定部分的指標。預定記憶體部分含有指令,該等指令向PHY指示為資料封包提供何種時間戳或如何修改已 在資料封包中之時間戳,或者不向資料封包提供時間戳。指標經產生以便根據所產生之分類指向正確指令。因此,PHY將能夠根據所產生之分類正確地對資料封包進行時間戳標記。在一個替代具體例中,當時間戳不必要時,不提供指標。
在另一具體例中,出口側時間戳功能性250自身產生指令,而非產生指向PHY之記憶體中之時間戳指令的指標。
在一個較佳具體例中,出口側重寫器進一步將所產生之指標或所產生之指令寫入至資料封包之預定區段中。在一個具體例中,所產生之指標/指令經寫入至資料封包之標頭中。在另一具體例中,標頭為VLAN標籤類型標頭及USXGMII-PCH類型標頭中之一者。應注意,指標/指令之產生及寫入在本文中描繪為由單一出口側時間戳功能性250達成,然而,此並不意謂為限制性的。在另一具體例中,產生及寫入至資料封包中中之每一者係由單獨功能性執行。
在一個具體例中,出口側時間戳功能性250進一步回應於本地時鐘210之時間信號而產生時間戳,亦即,產生指示目前時刻之時間戳。出口側時間戳功能性250將時間戳寫入至資料封包中,如上文所描繪。在此類具體例中,PHY可例如藉由將經由PHY之傳輸時間加至時間戳來修改封包之時間戳。
具有指標/指令之封包接著由傳輸器260傳輸至PHY。在一個具體例中,如下文將描繪,在經傳輸至PHY之前,資料封包由專用編碼功能編碼。選擇地,編碼功能經實施於傳輸器260內。
應注意,圖2C之階段1030至1050不取決於圖2B之階 段1000至1020。特定而言,對入口側執行之步驟可為不同的,且此不會影響對出口側執行之步驟。在一個具體例中,可僅對出口側執行分類,且不對入口側執行時間戳操作。在另一具體例中,對入口側執行時間戳操作,然而,該等時間戳操作係以不同方法執行。
圖2D說明封包處理器270之出口側之高階方塊圖。封包處理器270包含:出口側分類器240;出口側時間戳功能性250;及傳輸器260。封包處理器270之操作在所有方面均類似於封包處理器200之出口側之操作。為簡單起見,不顯示可選擇本地時鐘210。如上文所描繪,在一個具體例中,不提供出口側分類器240,且僅在入口側上提供分類器。
如上文關於封包處理器200所描繪,在一個具體例中,封包處理器270經實施為CMOS積體電路。在另一具體例中,封包處理器270經實施於FPGA電路中。在又一具體例中,封包處理器270經實施於ASIC中。出口側分類器240、出口側時間戳功能性250及傳輸器260中之每一者係由經配置以執行上文在階段1030至1050中所描繪之步驟的電路之專用部分實施。在另一具體例中,封包處理器200經實施於網路處理器內,其中出口側分類器240、出口側時間戳功能性250及傳輸器260中之每一者係由儲存於處理器之記憶體上的指令實施,該處理器回應於經儲存指令而經配置以執行上文在階段1030至1050中所描繪之步驟。
圖3A說明PHY 300之高階方塊圖,圖3B說明PHY 300之入口側之操作方法的高階流程圖,且圖3C說明PHY 300之出口側之操作方法的高階流程圖,圖3A至圖3C係一起描繪。PHY 300展現入口側302及出口側304。PHY 300進一步包含:PHY時鐘310;入口 側時間戳功能性320;記憶體330;出口側時間戳功能性350;及傳輸器360。PHY時鐘310、入口側時間戳功能性320、記憶體330、出口側時間戳功能性350及傳輸器360中之每一者一般藉由電子電路實施。在一個具體例中,PHY 300經實施為CMOS積體電路。在另一具體例中,PHY 300經實施為FPGA電路或ASIC。PHY時鐘310、入口側時間戳功能性320、出口側時間戳功能性350及傳輸器360中之每一者係由經配置以執行下文在階段2000至2040中所描繪之步驟的電路之專用部分實施。入口側時間戳功能性320位於入口側302內。出口側時間戳功能性350位於出口側304內。
在操作中,在階段2000中,在入口側時間戳功能性320處,在入口側302上接收資料封包。在一個具體例中,如下文將描繪,資料封包在由入口側時間戳功能性320接收之前由專用解碼器解碼。在階段2010中,入口側時間戳功能性320回應於由PHY時鐘310輸出之時間信號而針對資料封包產生時間戳信號。特定而言,PHY時鐘310經配置以輸出指示目前時間之時間信號,如上文關於本地時鐘35所描繪。在一個具體例中,所產生之時間戳信號為包括如由PHY時鐘310之經輸出時間信號指示之目前時間的時間戳。在另一具體例中,如上文所描繪,所產生之時間戳包括等於PHY時鐘310之經輸出時間信號的時間值及等於由PHY 300接收資料封包與對PHY時鐘310之時間信號取樣之間的時間差之偏移值。如上文所描繪,在一個具體例中,時間戳功能性320產生由封包處理器接收之脈衝。封包處理器註解脈衝之接收時間且藉此判定自PHY 300傳輸資料封包之時間。
在一個具體例中,入口側時間戳功能性320將時間戳 寫入至資料封包之預定區段中,如上文所描繪,且資料封包接著由傳輸器360自PHY傳輸至封包處理器,諸如上文所描繪之封包處理器200。在另一具體例中,資料封包在自PHY傳輸之前由專用編碼功能編碼。選擇地,編碼功能經實施於傳輸器360內。在另一具體例中,時間戳之產生及寫入係由單獨的功能性執行。在一個替代具體例中,如下文將描繪,時間戳不經寫入至資料封包中,而分開地自PHY傳輸至封包處理器。
在階段2020中,在出口側時間戳功能性350處,在PHY 300之出口側304上自封包處理器接收資料封包。在一個具體例中,如下文將描繪,資料封包在由出口側時間戳功能性350接收之前由專用解碼器解碼。在階段2030中,出口側時間戳功能性自所接收之出口側資料封包提取指標。如上文所描繪,經提取指標指向記憶體330之一部分。在一個具體例中,含有指標之標頭另外自資料封包移除。在另一具體例中,指標提取係由單獨的功能性(未顯示)執行。
在階段2040中,回應於經提取指標,出口側時間戳功能性350自記憶體330之由經提取指標指向的部分擷取指令。回應於經擷取指令,出口側時間戳功能性350執行複數個預定時間戳操作中之一項。特定而言,經擷取指令根據資料封包之分類指示應產生何種類型之時間戳,如上文所描繪。從中選擇之複數個預定時間戳操作至少包含:回應於PHY時鐘310之所產生之時間信號而產生時間戳信號;不產生時間戳信號;及修改已寫入於所接收之資料封包中的時間戳。在一個具體例中,修改時間戳包括自資料封包提取時間戳以供修改。在另一具體例中,在資料封包內調整時間戳之預定位元。
如上文所描繪,對於一些分類,時間戳值等於以預定偏移值偏移的PHY時鐘310之時間信號。在另一具體例中,PHY時鐘310之時間信號之值經添加至資料封包中之時間戳之值,該添加之結果為新的時間戳。在一個具體例中,出口側時間戳功能性350進一步將時間戳寫入至資料封包中,如上文所描繪。在另一具體例中,時間戳分開地自PHY 300輸出,如下文將描繪。如上文所描繪,在一個具體例中,所產生之時間戳信號為由外部電路檢測到之脈衝。具有經選擇地寫入之時間戳的資料封包接著自PHY 300輸出至相聯結系統介面。
應注意,階段2020至2040之出口側操作不取決於階段2000至2010之入口側操作。特定而言,對入口側執行之步驟可為不同的,且此不會影響對出口側執行之步驟。在一個具體例中,不對入口側執行時間戳,僅在封包處理器中執行時間戳。在另一具體例中,對入口側執行時間戳,然而,該等時間戳係以不同方法執行。
圖3D說明PHY 370之出口側365高階方塊圖,PHY 370包含PHY本地時鐘310及時間戳功能性380。圖3E說明PHY 370之出口側365之操作方法的高階流程圖,圖3D至圖3E係一起描繪。儘管本文中僅說明及描繪PHY 370之出口側365,但此並不意謂以任何方式進行限制,且亦提供PHY 370(未顯示)之出口側。如上文所描繪,出口側365上之操作不取決於對入口側執行之操作。
如上文關於PHY 300所描繪,PHY本地時鐘310及時間戳功能性380各自一般藉由電子電路實施。在一個具體例中,PHY 370經實施為CMOS積體電路。在另一具體例中,PHY 370經實施為FPGA電路或ASIC。PHY時鐘310及時間戳功能性380中之每一者由 經配置以執行下文在階段2050至2070中所描繪之步驟的電路之專用部分實施。
在操作中,在階段2050中,在時間戳功能性380處,在出口側365上接收資料封包。在一個具體例中,如下文所描繪,資料封包在時間戳功能性380處被接收之前由專用解碼器解碼。在階段2060中,時間戳功能性380提取寫入於階段2050之所接收之資料封包中的指令。在一個具體例中,提取係由單獨的功能性(未顯示)執行。如上文所描繪,指令向時間戳功能性380指示應執行哪些時間戳操作。
在階段2070中,如上文關於階段2040所描繪,時間戳功能性380執行複數個時間戳操作中之一項。從中選擇之複數個預定時間戳操作至少包含:回應於PHY時鐘310之所產生之時間信號而產生時間戳信號;不產生時間戳信號;及修改已寫入於所接收之資料封包中的時間戳。時間戳功能性380之操作類似於時間戳功能性350之操作,除了指令係自資料封包而非自記憶體提取之外。
圖4說明間接分類時間戳系統400之高階方塊圖。間接分類時間戳系統400包含:PHY 410;及封包處理器420。PHY 410之組構在所有方面均類似於上文所描繪之PHY 300或PHY 370之組構,除了提供一對解碼器430、一對編碼器440及時間戳傳輸器450之外。每一解碼器430包含實體寫碼子層(PCS)解碼功能及實體媒體附接(PMA)解碼功能,如IEEE 802.3標準所定義。每一編碼器440包含PCS編碼功能及PMA編碼功能,如IEEE 802.3標準所定義。封包處理器420之組構在所有方面均類似於上文所描繪之封包處理器200之組構,除了提供解碼器430及編碼器440之外。
資料通信系統400之操作在所有方面均類似於如上文所描繪之封包處理器200及PHY 300的操作。特定而言,如上文所描繪,每一入口資料封包在PHY 410處經接收時係由各別解碼器430解碼,且在退出PHY 410時係由各別編碼器440編碼。經編碼入口資料封包接著在到達封包處理器420後由解碼器430解碼。類似地,每一出口資料封包在退出封包處理器420之前由編碼器440編碼。經編碼出口資料封包接著在到達PHY 410後由各別解碼器430解碼,且同樣在退出PHY 410時由各別編碼器440編碼。如上文進一步描繪,在一個具體例中,針對出口資料封包所產生之時間戳分開地由時間戳傳輸器450自PHY 410輸出。替代地,在時間戳信號包含脈衝之具體例中,脈衝選擇地由時間戳傳輸器450輸出。儘管時間戳傳輸器450僅說明為在PHY 410之出口側上,但此並不意謂以任何方式進行限制。在另一具體例中,在PHY 410及封包處理器420中之每一者之入口及/或出口側處供應時間戳傳輸器。在又一具體例中,時間戳沿著同一資料通信路徑與經傳輸資料封包串聯傳輸。
因此,PHY 410基於在封包處理器420中執行之分類而提供出口側時間戳。有利地,標準封包處理器已提供封包分類,因此封包處理器420未在現有封包處理器之上增加成本或功率消耗。
圖5A說明間接分類時間戳系統500之高階方塊圖。間接分類時間戳系統500包含:複數個PHY 410;一對封包處理器420;系統功能性520;及轉遞功能性530。每一封包處理器420與各別的一組PHY 410通信。在另一具體例(未顯示)中,僅提供單一封包處理器420,該單一封包處理器與PHY 410中之每一者通信。封包處理 器420進一步經由轉遞功能性530彼此通信。如上文所描繪,資料封包自每一PHY 410傳輸至相聯結封包處理器420且自每一封包處理器420傳輸至相聯結PHY 410。轉遞功能性530回應於系統功能性520而經由資料交換機500傳輸資料封包,如熟悉本技藝者已知。在一個非限制性具體例中,間接分類時間戳系統500經實施為乙太網交換機、集線器裝置、網際網路協定(IP)路由器、MPLS交換機或路由器、光學傳輸系統或無線傳輸系統。間接分類時間戳系統500可進一步實施於蜂巢式基地台、無線電系統或需要與網路同步之任何電腦伺服器中。
圖5B說明間接分類時間戳系統600之高階方塊圖,間接分類時間戳系統600包含:一對介面卡610,每一介面卡610包含一或多個PHY 410;一對封包處理卡620,每一封包處理卡620包含封包處理器420;及系統卡630,系統卡630包含系統功能性520及轉遞功能性530。如上文所描繪,在一個具體例中,每一封包處理器420與複數個PHY 410通信。如上文所描繪,每一PHY 410經配置以將資料封包傳輸至相聯結封包處理器420且自相聯結封包處理器420接收資料封包,且資料封包由系統功能性520及轉遞功能性530在封包處理器420之間傳輸。使用單獨的介面卡610,封包處理卡620及系統卡630允許系統構造具較大靈活性。如上文關於間接分類時間戳系統500所描繪,在一個非限制性具體例中,間接分類時間戳系統600經實施為乙太網交換機、集線器裝置、網際網路協定(IP)路由器、MPLS交換機或路由器、光學傳輸系統或無線傳輸系統。間接分類時間戳系統600可進一步實施於蜂巢式基地台、無線電系統或需要與網路同步之任何電腦伺服器中。
應瞭解,為了清楚起見而在單獨具體例之情形中描繪的本發明之某些特徵亦可以組合形式提供於單一具體例中。相反,為簡潔起見而在單一具體例之上下文中所描繪的本發明之各種特徵亦可分開地或以任何適合子組合形式提供。
除非另外定義,否則本文中所用之所有技術及科學術語具有與一般熟悉本發明所屬技藝者通常所理解的含義相同之含義。雖然類似或等效於本文中所描繪之彼等方法的方法可在實踐或測試本發明中使用,但合適方法在本文中加以描繪。
所有公開案、專利申請案、專利及所提及之其他參考案均以全文引用之方式併入本文中。在衝突之情況下,將以專利說明書(包括定義)為準。另外,該等材料、方法及實施例僅為說明性的且並不意欲為限制性的。
熟悉本技藝者應瞭解,本發明並不限於上文已特定顯示且描繪之內容。實際上,本發明之範疇係由隨附申請專利範圍界定,且包括熟悉本技藝者在閱讀前述描繪後將想到且不在先前技術中的上文所描繪之各種特徵之組合及子組合兩者,以及其變化及修改。
200‧‧‧封包處理器
210‧‧‧處理器時鐘
220‧‧‧入口側分類器
230‧‧‧入口側時間戳功能性
240‧‧‧出口側分類器
250‧‧‧出口側時間戳功能性
260‧‧‧傳輸器
Claims (10)
- 一種間接分類時間戳系統,其包含:至少一個實體層(PHY),該至少一個PHY中之每一者展現一出口側;及至少一個封包處理器,該至少一個PHY中之每一者與該至少一個封包處理器中之一者通信,其中該至少一個封包處理器中之每一者包含:一分類器;一處理器出口戳功能性;及一第一傳輸器,其中該分類器經配置以:接收一資料封包;且根據預定分類規則產生該所接收之資料封包之一分類,該所產生之分類係選自複數個預定分類,其中該處理器出口戳功能性回應於該所產生之分類而經配置以:產生一指標;或產生用於時間戳操作之指令,該等所產生之指令係選自至少三個預定指令選項,其中該第一傳輸器經配置以將該所接收之資料封包連同該等所產生之指標或指令傳輸至該PHY之該出口側,其中該至少一個PHY中之每一者包含:一PHY時鐘,其經配置以產生指示目前時間之一第一時間信號;及一PHY出口戳功能性, 其中該PHY出口戳功能性回應於該所產生之指標或該等所產生之指令而經配置以執行複數個預定時間戳操作中之一項,該複數個預定時間戳操作包含:回應於該所產生之時間信號而產生一時間戳信號;不產生一時間戳信號;或修改寫入於該所接收之資料封包中的一時間戳。
- 如請求項1之系統,其中,該處理器出口戳功能性經配置以產生該等指令,該等所產生之指令指示應執行該複數個預定時間戳操作中之哪些時間戳操作。
- 如請求項1之系統,其中,該至少一個PHY中之每一者進一步包含一記憶體,其中該處理器出口戳功能性經配置以產生該指標,該指標指向該記憶體之一部分,該記憶體之該部分包含指示應執行該複數個預定時間戳操作中之哪些時間戳操作的指令。
- 如請求項1之系統,其中,對於用以產生該指標之該處理器出口戳功能性之該配置,該處理器出口戳功能性在該傳輸至該PHY出口側之前經進一步配置以將該所產生之指標寫入至該出口側資料封包中,該PHY出口戳功能性經進一步配置以自該出口側資料封包提取該經寫入指標,且其中對於用以產生該等指令之該處理器入口戳功能性之該配置,該處理器入口戳功能性在該傳輸至該PHY出口側之前經進一步配置以將該等所產生之指令寫入至該出口側資料封包中,該PHY出口戳功能性經進一步配置以自該出口側資料封包提取該等經寫入指令。
- 如請求項1之系統,其中,該至少一個PHY中之每一者進一 步展現一入口側且進一步包含:一PHY入口戳功能性;及一第二傳輸器,其中該PHY入口戳功能性經配置以:在該入口側上接收一資料封包;且回應於該所產生之時間信號而針對該所接收之入口側資料封包產生一預定入口時間戳信號,該預定入口時間戳信號係針對在該入口側上接收到之所有資料封包而產生,其中該第二傳輸器經配置以將該入口側資料封包連同該所產生之入口時間戳信號傳輸至與其通信之該封包處理器。
- 如請求項5之系統,其中,在該傳輸之前,該PHY入口戳功能性經進一步配置以將該所產生之入口時間戳信號寫入至該入口側資料封包中。
- 如請求項1之系統,其中,該至少一個封包處理器包含複數個封包處理器,且該至少一個PHY包含複數個PHY,一第一組該複數個PHY與該複數個封包處理器中之一第一封包處理器通信,且一第二組該複數個PHY與該複數個封包處理器中之一第二封包處理器通信。
- 如請求項1之系統,其中,該至少一個封包處理器包含一單一封包處理器,且該至少一個PHY包含複數個PHY,該複數個PHY與該單一封包處理器通信。
- 一種間接封包分類時間戳方法,該方法包含:在複數個物理層(PHY)之一的一入口側接收一資料封包;將該資料封包耦接到一封包處理器; 在該封包處理器根據預定分類規則產生該所接收之資料封包之一分類,該所產生之分類係選自複數個預定分類;在該封包處理器產生指示複數個預定指令選項之一的指標;將該指標寫入該所接收之資料封包;將該所接收之資料封包傳輸到該複數個PHY之一的一出口側;在該出口側提取該指標;產生指示目前時間之一時間信號;回應於該等經提取指標,執行複數個預定時間戳操作中之一項,其中該複數個預定時間戳操作包含:回應於該所產生之時間信號而產生一時間戳信號;不產生一時間戳信號;或修改寫入於該所接收之資料封包中的一時間戳,且其中該等經提取指標指向一記憶體中指示應執行該複數個預定時間戳操作中之哪些時間戳操作的一預定位置。
- 一種包括一系統卡的系統,包括:複數個介面卡,該介面卡之每一者包括至少一個實體層(PHY),該至少一個PHY包括一記憶體、一時鐘及一出口戳功能性,該時鐘經配置以產生指示目前時間之一時間信號;一封包處理卡,耦接到該系統卡且耦接到該複數個介面卡,該封包處理卡包括一封包處理器,該封包處理器包括:一分類器,經配置以根據預定分類規則產生一所接收之資料封包之一分類,該所產生之分類係選自複數個預定分類;以及一戳功能性,經配置以回應於該所產生之分類而產生用於時間戳操作的指令,該指令係選自至少三個預定指令選項,或產生一指 標,該指標指向該PHY的一記憶體中指示該預定指令選項之一的預定位置,以及一傳輸器,經配置以將該所接收之資料封包連同該指標或該指令傳輸至該PHY之一出口側,其中,在接收該資料封包連同該指標或該指令時該PHY的該出口側經配置以:從該所接收的資料封包的一預定區段提取資料以識別該所產生之指標或該所產生之指令,當該經提取資料包括該指標時,使用該記憶體識別對應該指標的該至少三個預定指令選項之一,以及執行複數個預定時間戳操作之一,該複數個預定時間戳操作包括:回應於該所產生之時間信號而產生一時間戳信號;不產生一時間戳信號;或修改寫入於該所接收之資料封包中的一時間戳,該所執行的時間戳操作對應該指標或該指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762559648P | 2017-09-18 | 2017-09-18 | |
US62/559,648 | 2017-09-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201921892A TW201921892A (zh) | 2019-06-01 |
TWI753199B true TWI753199B (zh) | 2022-01-21 |
Family
ID=65720854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107131890A TWI753199B (zh) | 2017-09-18 | 2018-09-11 | 間接封包分類時間戳系統及方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10887211B2 (zh) |
CN (1) | CN111194529B (zh) |
DE (1) | DE112018005252T5 (zh) |
TW (1) | TWI753199B (zh) |
WO (1) | WO2019055196A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3078834A1 (en) * | 2017-10-13 | 2019-04-18 | Huawei Technologies Co., Ltd. | Method and apparatus for sending and receiving clock synchronization packet |
US10809760B1 (en) * | 2018-10-29 | 2020-10-20 | Facebook, Inc. | Headset clock synchronization |
US11483127B2 (en) * | 2018-11-18 | 2022-10-25 | Mellanox Technologies, Ltd. | Clock synchronization |
US11283454B2 (en) | 2018-11-26 | 2022-03-22 | Mellanox Technologies, Ltd. | Synthesized clock synchronization between network devices |
US10778361B1 (en) * | 2019-03-04 | 2020-09-15 | Mellanox Technologies Tlv Ltd. | Stream synchronization |
US11502767B2 (en) * | 2019-08-16 | 2022-11-15 | Arista Networks, Inc. | VLAN-aware clock synchronization |
CN112583775B (zh) * | 2019-09-30 | 2024-04-12 | 华为技术有限公司 | 一种处理报文的方法、装置和网络设备 |
US11543852B2 (en) | 2019-11-07 | 2023-01-03 | Mellanox Technologies, Ltd. | Multihost clock synchronization |
US11271712B2 (en) | 2020-01-07 | 2022-03-08 | Microchip Technology Inc. | Daisy-chained synchronous ethernet clock recovery |
US11502766B2 (en) * | 2020-04-20 | 2022-11-15 | Arista Networks, Inc. | Precision time protocol with multi-chassis link aggregation groups |
US12081427B2 (en) | 2020-04-20 | 2024-09-03 | Mellanox Technologies, Ltd. | Time-synchronization testing in a network element |
US11552871B2 (en) * | 2020-06-14 | 2023-01-10 | Mellanox Technologies, Ltd. | Receive-side timestamp accuracy |
US11606427B2 (en) | 2020-12-14 | 2023-03-14 | Mellanox Technologies, Ltd. | Software-controlled clock synchronization of network devices |
US11588609B2 (en) | 2021-01-14 | 2023-02-21 | Mellanox Technologies, Ltd. | Hardware clock with built-in accuracy check |
US12111681B2 (en) | 2021-05-06 | 2024-10-08 | Mellanox Technologies, Ltd. | Network adapter providing isolated self-contained time services |
US11973855B2 (en) * | 2021-08-25 | 2024-04-30 | Siemens Canada Limited | PTP transparent clock with inter-VLAN forwarding |
US12028155B2 (en) | 2021-11-24 | 2024-07-02 | Mellanox Technologies, Ltd. | Controller which adjusts clock frequency based on received symbol rate |
US11907754B2 (en) | 2021-12-14 | 2024-02-20 | Mellanox Technologies, Ltd. | System to trigger time-dependent action |
US11835999B2 (en) | 2022-01-18 | 2023-12-05 | Mellanox Technologies, Ltd. | Controller which adjusts clock frequency based on received symbol rate |
US11706014B1 (en) | 2022-01-20 | 2023-07-18 | Mellanox Technologies, Ltd. | Clock synchronization loop |
US11917045B2 (en) | 2022-07-24 | 2024-02-27 | Mellanox Technologies, Ltd. | Scalable synchronization of network devices |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143701A1 (en) * | 2003-01-22 | 2004-07-22 | Paul Giambalvo | Ternary content addressable memory with enhanced priority matching |
TW200704036A (en) * | 2004-12-28 | 2007-01-16 | Intel Corp | Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics |
WO2010147473A1 (en) * | 2009-06-16 | 2010-12-23 | Ontime Networks As | Method on a network element for the purpose of synchronization of clocks in a network |
US20110051754A1 (en) * | 2009-08-25 | 2011-03-03 | Richard James Lansdowne | Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time |
US20120014377A1 (en) * | 2010-03-02 | 2012-01-19 | Thomas Kirkegaard Joergensen | Distributed packet-based timestamp engine |
US20130308658A1 (en) * | 2011-02-10 | 2013-11-21 | Michel Le Pallec | Network element for a packet-switched network |
CN104012025A (zh) * | 2011-11-07 | 2014-08-27 | 维特赛半导体公司 | 时戳及mac安全性的物理层处理 |
US20140280717A1 (en) * | 2013-03-13 | 2014-09-18 | Cisco Technology, Inc. | Framework for Dynamically Programmed Network Packet Processing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115480A1 (en) * | 2001-12-17 | 2003-06-19 | Worldcom, Inc. | System, method and apparatus that employ virtual private networks to resist IP QoS denial of service attacks |
DE112005001934T5 (de) * | 2004-08-10 | 2007-07-05 | MeshNetworks, Inc., Maitland | Softwarearchitektur und Hardware-Abstraktionsschicht für Multifunk-Routing und Verfahren zum Bereitstellen desselben |
KR100703795B1 (ko) * | 2005-09-06 | 2007-04-06 | 삼성전자주식회사 | 버스 리셋 발생시 식별 정보를 획득하는 장치 및 그 방법 |
CN1921477A (zh) * | 2006-09-01 | 2007-02-28 | 华为数字技术有限公司 | 一种对分片报文进行复杂流分类的方法及系统 |
US9112632B2 (en) | 2008-01-25 | 2015-08-18 | Cisco Technology, Inc. | Supporting efficient and accurate sync/followup timestamps |
EP2381622B1 (en) * | 2010-04-23 | 2012-06-20 | Alcatel Lucent | Update of a cumulative residence time of a packet in a packet-switched communication network |
US8848746B2 (en) | 2010-06-30 | 2014-09-30 | Vitesse Semiconductor Corporation | Packet protocol processing with precision timing protocol support |
US9450846B1 (en) | 2012-10-17 | 2016-09-20 | Cisco Technology, Inc. | System and method for tracking packets in a network environment |
-
2018
- 2018-08-23 US US16/109,898 patent/US10887211B2/en active Active
- 2018-08-27 WO PCT/US2018/048046 patent/WO2019055196A1/en active Application Filing
- 2018-08-27 CN CN201880058391.9A patent/CN111194529B/zh active Active
- 2018-08-27 DE DE112018005252.4T patent/DE112018005252T5/de active Pending
- 2018-09-11 TW TW107131890A patent/TWI753199B/zh active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143701A1 (en) * | 2003-01-22 | 2004-07-22 | Paul Giambalvo | Ternary content addressable memory with enhanced priority matching |
TW200704036A (en) * | 2004-12-28 | 2007-01-16 | Intel Corp | Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics |
WO2010147473A1 (en) * | 2009-06-16 | 2010-12-23 | Ontime Networks As | Method on a network element for the purpose of synchronization of clocks in a network |
US20110051754A1 (en) * | 2009-08-25 | 2011-03-03 | Richard James Lansdowne | Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time |
US20120014377A1 (en) * | 2010-03-02 | 2012-01-19 | Thomas Kirkegaard Joergensen | Distributed packet-based timestamp engine |
US20130308658A1 (en) * | 2011-02-10 | 2013-11-21 | Michel Le Pallec | Network element for a packet-switched network |
CN104012025A (zh) * | 2011-11-07 | 2014-08-27 | 维特赛半导体公司 | 时戳及mac安全性的物理层处理 |
US20140280717A1 (en) * | 2013-03-13 | 2014-09-18 | Cisco Technology, Inc. | Framework for Dynamically Programmed Network Packet Processing |
Also Published As
Publication number | Publication date |
---|---|
DE112018005252T5 (de) | 2020-06-18 |
CN111194529A (zh) | 2020-05-22 |
US20190089615A1 (en) | 2019-03-21 |
CN111194529B (zh) | 2022-02-18 |
US10887211B2 (en) | 2021-01-05 |
TW201921892A (zh) | 2019-06-01 |
WO2019055196A1 (en) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI753199B (zh) | 間接封包分類時間戳系統及方法 | |
US8571014B2 (en) | Distributed packet-based timestamp engine | |
US9882666B2 (en) | Time synchronization for network testing equipment | |
JP6214008B2 (ja) | 時間認識デバイス間で時間情報を通信する方法および装置 | |
US7730230B1 (en) | Floating frame timing circuits for network devices | |
US9571376B2 (en) | Timestamp predictor for packets over a synchronous protocol | |
CN107113236B (zh) | 在网络中传输滞留时间信息 | |
CN112385183B (zh) | 执行phy级硬件时间戳和时间同步的装置、方法和微控制器 | |
US8914662B2 (en) | Implementing transparent clock by correcting time information carried in data using residence time information | |
WO2019165965A1 (zh) | 时间信息确定的方法、装置及设备 | |
JP5127482B2 (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
US11349587B2 (en) | Generating a timestamp | |
WO2019036943A1 (zh) | 一种报文处理的方法和网络设备 | |
US20150010023A1 (en) | Packet protocol processing with precision timing protocol support | |
US20140293825A1 (en) | Timestamping data packets | |
KR20140065409A (ko) | 데이터 패킷의 수신 시점을 식별하기 위한 시스템 및 방법 | |
JP2022518631A (ja) | パケット交換ネットワークにおいて通信エンティティのコンピューター手段によって実施される方法、並びにそのコンピュータープログラム及びコンピューター可読非一時的記録媒体、並びにパケット交換ネットワークの通信エンティティ | |
CN103812797A (zh) | 传输数据分组的方法及发送和接收数据分组的通信模块 | |
US9031063B2 (en) | Direct updating of network delay in synchronization packets | |
JP2006148774A (ja) | 同期装置 | |
JP2024526339A (ja) | データ伝送方法及び装置、ネットワークデバイス、並びにコンピュータプログラム |