專利名稱:具有精確計時協(xié)議支持的包協(xié)議處理的制作方法
技術(shù)領(lǐng)域:
背景技術(shù):
本發(fā)明大體上涉及按照通信協(xié)議對數(shù)據(jù)包的處理,且更特定來說涉及用于精確計時協(xié)議的數(shù)據(jù)包的處理。通信網(wǎng)絡(luò)中的裝置利用共同時基可為有利的。共同時基可例如用以觸發(fā)傳感器網(wǎng)絡(luò)中的經(jīng)協(xié)調(diào)事件,或協(xié)調(diào)工業(yè)系統(tǒng)中的控制器的動作。除了傳感器和控制器之外,系統(tǒng)還可包含計算機和通信裝置,例如路由器。電子元件工業(yè)已開發(fā)出若干標(biāo)準(zhǔn)協(xié)議用于使時鐘同步,例如ITU-T推薦Y. 1731的OAM功能和機制以及IEEE標(biāo)準(zhǔn)1588的精確時間協(xié)議(PTP)。計時協(xié)議可包含在通信網(wǎng)絡(luò)中的節(jié)點之間發(fā)送計時相關(guān)消息。計時相關(guān)消息可包含例如發(fā)射帶時戳的包以將其時基供 應(yīng)到另一節(jié)點的節(jié)點,以及發(fā)射請求接收節(jié)點以接收時間進(jìn)行答復(fù)的包的節(jié)點。然而,可能多個計時相關(guān)協(xié)議的使用可存在困難。另外,計時相關(guān)消息可使用一個或一個以上協(xié)議來傳送。通信網(wǎng)絡(luò)中的信息是根據(jù)通信協(xié)議來格式化。通信協(xié)議通常在公開的標(biāo)準(zhǔn)中描述。許多通信網(wǎng)絡(luò)以包來發(fā)送和接收信息。通信協(xié)議指定各條信息在包中放置于何處。舉例來說,包的發(fā)送者的識別符、包的既定接收者的識別符以及待傳送的消息可在包中放置于由通信協(xié)議界定的三個位置中。然而,關(guān)于各條信息在包內(nèi)放置于何處,每一通信協(xié)議可建立其自己的唯一定義。而且,通信網(wǎng)絡(luò)可使用多個協(xié)議。此外,多個協(xié)議可用于發(fā)送一個包與根據(jù)第一協(xié)議格式化的包,第一協(xié)議封裝于根據(jù)第二協(xié)議格式化的包中,第二協(xié)議封裝于根據(jù)第三協(xié)議格式化的包,以此類推。另外,一些網(wǎng)絡(luò)裝置可處理需要計時相關(guān)動作的一些包以及不需要計時相關(guān)動作的一些包。
發(fā)明內(nèi)容
本發(fā)明的方面提供了確定計時相關(guān)信息和/或計時相關(guān)動作的位置。在一些方面中,本發(fā)明提供一種確定PHY進(jìn)行的計時相關(guān)動作的方法,其包括接收包;通過執(zhí)行所述包的若干部分與所識別位模式的多個比較而確定用于所述包的封裝方案;以及基于所述多個比較中的所述比較中的至少一者的結(jié)果而確定關(guān)于所述包的時戳的修改將采取的動作。在一些方面中,本發(fā)明提供一種確定以太網(wǎng)交換機的PHY進(jìn)行的時戳修改動作的方法,其包括通過循序地執(zhí)行以太網(wǎng)包的若干位與所識別位模式的至少一個比較來確定用于所述包的封裝方案;確定所述包中時戳的位置;以及確定相對于所述時戳將采取的動作。在一些方面中,本發(fā)明提供一種確定如何調(diào)整時戳的方法,其包括將包提供到多個循序布置的比較塊;由所述循序布置的比較塊中的至少一些循序地執(zhí)行所述包的若干位與預(yù)識別位的比較;由所述比較塊中除了最終比較塊之外的每一者將偏移指示符提供到所述多個循序布置的比較塊中的后續(xù)比較塊;以及由所述最終比較塊確定相對于所述時戳將采取的動作。在一些方面中,本發(fā)明提供一種在物理層(PHY)裝置中用于至少確定時戳的位置的電路,其包括幀開始電路,其用于確定幀信號的開始;以及對準(zhǔn)電路,其用于根據(jù)所述幀信號的開始來對準(zhǔn)幀的數(shù)據(jù);至少一組分類器塊,所述分類器塊中的每一者經(jīng)配置以將所述幀的若干位與預(yù)識別位進(jìn)行比較,所述預(yù)識別位由用于所述組分類器塊中至少除了所述分類器塊中的初始一者之外的分類器塊的偏移指示,其中所述分類器塊中的最后一者指示時戳位置。在一些方面中,本發(fā)明提供一種使用多個級從包提取信息的方法,其包括接收包;在所述多個級中的第一級中將所述包匹配于第一多個字段值且產(chǎn)生第一下一級識別符和第一偏移值;如果所述下一級識別符指示第二級,那么在所述多個級中的第二級中在所述第一偏移值處開始將所述包匹配于第二多個字段值且產(chǎn)生第二下一級識別符和第二偏移值;如果所述第一下一級識別符指示最終級,那么在所述多個級中的最終級中在所述第一偏移值處開始將所述包匹配于最終多個字段值且產(chǎn)生動作識別符和參數(shù)值;以及如果所 述第二下一級識別符指示最終級,那么在所述多個級中的最終級中在所述第二偏移值處開始將所述包匹配于最終多個字段值且產(chǎn)生動作識別符和計時參數(shù)。在審閱本發(fā)明后會更完整地理解本發(fā)明的這些和其它方面。
圖I是根據(jù)本發(fā)明的方面的用于從計時消息提取參數(shù)且確定計時相關(guān)動作的裝置的框圖。圖2是根據(jù)本發(fā)明的方面的計時消息分類器的框圖。圖3是根據(jù)本發(fā)明的方面的通信網(wǎng)絡(luò)節(jié)點的框圖。圖4是根據(jù)本發(fā)明的方面的用于對包進(jìn)行分類且從計時消息提取信息的過程的流程圖。圖5是根據(jù)本發(fā)明的方面的示范性幀標(biāo)頭匹配的圖。
具體實施例方式圖I是根據(jù)本發(fā)明的方面的用于從計時消息提取參數(shù)且確定計時相關(guān)動作的裝置的框圖。所述裝置可為集成電路的部分,例如以太網(wǎng)物理層電路(PHY)。在許多實施例中,所述裝置可包括電子電路,但在一些實施例中,所述裝置可包含硬連線電路和可編程元件,例如由寄存器來確定或除了其它電路外還通過使用由程序指令配置或可由程序指令配置的處理器來確定,且在一些實施例中,所述裝置的功能可僅通過由程序指令配置的處理器來實施。圖I的裝置包含幀開始(SOF)檢測塊111,用以從通信網(wǎng)絡(luò)接收輸入包且識別所接收的包在何處開始。在一些實施例中,對準(zhǔn)模塊113使用包的所識別的開始以使包與總線邊界對準(zhǔn)。將具有對準(zhǔn)的包的總線傳遞到分類器,或如圖I的實施例中說明,一組分類器115a-b,其剖析且分類所述包以提取用于后續(xù)處理的計時參數(shù)且確定計時相關(guān)動作。分類器還可將包的若干部分傳遞到簽名塊117,其組合所述部分以形成可用以識別所述包中的個別者的簽名。更詳細(xì)來說,在一些實施例中,SOF檢測塊111在輸入總線上接收輸入包,且檢測何時SOF信號在輸入包中發(fā)生。輸入總線可具有比在包中使用的信息單元(通常若干字節(jié))寬的位寬度。舉例來說,以lOGbit/s接收輸入包的裝置的實施例可使用32位寬輸入總線,從而使得值在輸入總線上持續(xù)相對長的周期。SOF檢測塊111可從10千兆位獨立于媒體的接口(XGMII)接收包。 SOF檢測塊111根據(jù)包經(jīng)格式化所用的協(xié)議來檢測S0F。舉例來說,當(dāng)所接收的包 是以太網(wǎng)包時,當(dāng)開始幀定界符(SFD)跟隨包前同步碼時檢測到S0F。當(dāng)以多個協(xié)議對包格式化時,針對所述多個協(xié)議中的外部協(xié)議檢測幀開始。SOF檢測塊111將指示SOF的檢測的信號連同包一起發(fā)送到對準(zhǔn)塊113。除了何時幀開始發(fā)生之外,指示SOF的檢測的信號還可發(fā)出在傳達(dá)包信息的總線上的位置的信號。舉例來說,在具有32位總線和在8位邊界上用于包開始的位置的裝置中,指示SOF的檢測的信號可發(fā)出幀開始的四個位置中的一個位置的信號。對準(zhǔn)模塊113將幀的第一信息在總線上放置于對應(yīng)于第一接收位的位置中。將來自對準(zhǔn)模塊113的經(jīng)對準(zhǔn)信息供應(yīng)到分類器115a-b。在對來自以太網(wǎng)幀的計時消息進(jìn)行分類的實施例中,對準(zhǔn)器將幀的第一字節(jié)放置于總線的最低有效字節(jié)中的SFD之后。在一些實施例中,例如當(dāng)來自SOF檢測塊111的總線的大小與包中的信息單元匹配時,包可與其對準(zhǔn)到總線邊界的開始信息一起從SOF檢測塊111供應(yīng)。在這些實施例中,可省略對準(zhǔn)模塊。到SOF檢測塊111、在SOF檢測塊111與對準(zhǔn)模塊113之間以及在對準(zhǔn)模塊113與分類器115a-b之間的總線輸入可具有相同或不同的位寬度。分類器115a_b處理經(jīng)對準(zhǔn)包以從計時消息識別參數(shù)且確定計時相關(guān)動作以用于后續(xù)處理。每一分類器剖析每一經(jīng)對準(zhǔn)包以確定包中是否包含計時消息。當(dāng)包中包含計時消息時,分類器可提取計時動作和計時參數(shù)。分類器是否提取計時動作和參數(shù)可另外取決于包的分類。可例如使用多協(xié)議標(biāo)簽切換(MPLS)標(biāo)頭中的標(biāo)簽值、因特網(wǎng)協(xié)議標(biāo)頭中的主機地址或端口的值、以太網(wǎng)標(biāo)頭中的MAC地址的值或PTP域編號的值來對包進(jìn)行分類。在一些實施例中,使用由來自用以對包進(jìn)行格式化的協(xié)議的字段或字段組合的值界定的流來對包進(jìn)行分類。每一分類器可依據(jù)協(xié)議與協(xié)議的字段值的多個組合來操作。分類器的操作是通過一組參數(shù)來配置。所述參數(shù)可由處理器或并入所述裝置的電路中的其它組件(例如用戶可編程寄存器)供應(yīng)。所述參數(shù)指示正被分類的協(xié)議內(nèi)的字段的位置、字段值(例如具有位屏蔽或值范圍的位值)以及當(dāng)字段匹配于參數(shù)時將采取何種動作。所述動作可包含指向用于進(jìn)一步對包進(jìn)行分類的另一組參數(shù)的指針。取決于協(xié)議的數(shù)目、格式以及將從其提取計時動作和參數(shù)的流組合,裝置可包含不同數(shù)目的分類器。在各種實施例中,分類器同時或大體上同時對相同的包進(jìn)行操作。在具有多個分類器的實施例中,當(dāng)一個以上分類器從一個包肯定地識別出計時動作和參數(shù)時,從裝置發(fā)送哪些結(jié)果是基于優(yōu)先級區(qū)分來確定的。實施例可基于分類器的排序來進(jìn)行優(yōu)先級區(qū)分。在一些實施例中,分類器115a_b還提取包的若干部分以產(chǎn)生識別包的簽名。所提取的部分還通過分類器的配置參數(shù)來確定。在分類器接收到對應(yīng)部分時提取包的簽名部分。將所述部分發(fā)送到簽名塊117。簽名塊117組合所述部分以形成包的簽名。在一些實施例中,簽名塊117可僅選擇從分類器發(fā)送的若干簽名部分中的一些以用于形成簽名。舉例來說,分類器115可從含有源地址和目的地地址的IP標(biāo)頭接收八個循序字節(jié),且簽名塊117可選擇源地址的第一字節(jié)和目的地地址的前兩個字節(jié)以用于組合簽名。實施例可通過串聯(lián)所選的簽名部分來形成簽名。其它實施例可使用散列函數(shù)來形成簽名。針對裝置的實施例中存在的每一分類器由簽名塊117接收和組合簽名部分。簽名塊117根據(jù)分類器中的哪一者產(chǎn)生計時動作和參數(shù)來從裝置發(fā)送經(jīng)組合的簽名。在用于從計時消息提取動作和參數(shù)的裝置的一些實施例中,簽名組合可在分類器中的每一者中執(zhí)行。圖2是根據(jù)本發(fā)明的方面的計時消息分類器的實施例的框圖。計時消息分類器可用作圖I中說明的裝置中的分類器115a_b。計時消息分類器包含多個匹配級,其根據(jù)用以對包或包中的消息進(jìn)行格式化的協(xié)議來處理所接收的包。每一級可針對一個協(xié)議或取決于提供到所述級的參數(shù)而針對多個類似協(xié)議來處理包。另外,實施例可包含專用于處理特定協(xié)議的一些匹配級,以及較一般地可配置以處理各種協(xié)議的其它級。處理可包含剖析、分類 和從包提取字段。第一匹配級213根據(jù)外部協(xié)議處理包且確定針對包是否將執(zhí)行額外處理以及額外處理將是什么。當(dāng)將執(zhí)行額外處理時,所述級供應(yīng)識別包中所述額外處理應(yīng)開始的位置的指針。最終匹配級221根據(jù)計時協(xié)議執(zhí)行其處理,且可識別將從計時消息分類器發(fā)送的計時參數(shù)和相關(guān)聯(lián)計時動作。中間匹配級可包含在計時消息分類器中。圖2的實施例包含第二匹配級215、第三匹配級217和第四匹配級219作為中間匹配級。每一中間匹配級根據(jù)用以對所接收的包進(jìn)行格式化的介入?yún)f(xié)議來處理所接收的包。每一匹配級可將包的若干部分供應(yīng)到簽名塊225,在該處所述部分經(jīng)組合以產(chǎn)生可用以識別特定包的簽名。包含IEEE 1588計時消息、封裝于因特網(wǎng)協(xié)議中、封裝于以太網(wǎng)協(xié)議中的實例包可在用于以太網(wǎng)封裝的第一匹配級213中、用于因特網(wǎng)協(xié)議封裝的第二匹配級215中以及用于IEEE 1588計時消息的最終匹配級221中處理??刂破?23控制匹配級的操作??刂破?23可供應(yīng)用于匹配級的處理的值,且控制匹配級處理包的順序??刂破?23還可啟用匹配級的操作。在第一匹配級213中處理包中的開始信息之后,控制器223可基于來自第一匹配級的結(jié)果而啟用下一匹配級??刂破?23將包含在結(jié)果中的指針供應(yīng)到下一匹配級以發(fā)出下一匹配級應(yīng)在包中何處執(zhí)行其匹配操作的信號。后續(xù)匹配級可類似地由控制器啟用。換句話說,控制器223啟用匹配級以對包操作以根據(jù)匹配級的組合結(jié)果來確定計時參數(shù)和相關(guān)聯(lián)的計時動作。匹配級的順序可視為鏈接列表。更詳細(xì)來說,每一匹配級將包中的信息與若干組參數(shù)值進(jìn)行比較。所述參數(shù)值指定將在包中何處且如何執(zhí)行匹配以及當(dāng)確定匹配時導(dǎo)致何種動作。一個實施例包含八組參數(shù)且針對八個流中的每一者同時執(zhí)行比較。當(dāng)確定與多組參數(shù)值的匹配時,匹配級基于所述若干組參數(shù)的優(yōu)先級排序來選擇所述匹配中的一者。每一組參數(shù)值包含一個或一個以上識別相對于包中針對下一級的匹配將開始的點的偏移的字段位置。在一些實施例中,匹配級中的字段位置可例如固定到零偏移或固定到通信協(xié)議中的特定字段的位置。特定來說,當(dāng)匹配級專用于特定協(xié)議時,一些參數(shù)可固定或根據(jù)所述協(xié)議的特征來計算。對于字段位置中的每一者,參數(shù)值包含用于匹配的鍵值。鍵值可為當(dāng)包中處于所識別字段位置處的信息在最小值與最大值之間時具有確定的匹配的范圍。鍵值也可為在包中處于所識別字段位置處的信息等于未經(jīng)屏蔽的位位置處的位值得情況下具有確定的匹配的帶有位屏蔽的位值。范圍和位值鍵可分離性或連結(jié)性地與確定的匹配相組合。一些實施例在參數(shù)組中包含指定用于產(chǎn)生包簽名的字段位置和長度的值。匹配級將來自包的在指定位置處具有指定長度的值供應(yīng)到簽名塊225。每一組參數(shù)值還包含當(dāng)確定匹配時指定后續(xù)動作的值。對于第一匹配級和任何中間匹配級,后續(xù)動作可指定下一匹配級和下一匹配級應(yīng)執(zhí)行其匹配所在的偏移?;蛘?,控制器223可指定下一匹配級。偏移是相對于包中匹配級開始其匹配操作的點而言。最終匹配級包含指定確定分類器產(chǎn)生的輸出的動作的參數(shù)。所述輸出可包含從包·中由參數(shù)指定的位置取得的計時參數(shù)。所述輸出包含與計時操作相關(guān)的動作,例如輸出計時值中的選定者、局部時間值和校正值得選定偏移的相加或相減組合。當(dāng)未確定匹配時,可發(fā)出無操作動作的信號。在一些實施例中,匹配級具有專用于特定協(xié)議的功能。舉例來說,匹配級中的一者可包含適用于對以太網(wǎng)標(biāo)頭中的值進(jìn)行分類的專用組的參數(shù),且匹配級中的其它者可包含適用于對IP標(biāo)頭中的值進(jìn)行分類的專用組的參數(shù)。因此,參數(shù)組可在值的數(shù)目以及可能的值的范圍方便不同。在一些實施例中,參數(shù)的數(shù)目可通過針對多個用途共享值而減少。舉例來說,兩個字段位置參數(shù)可與相同的匹配值一起使用以匹配于目的地或源地址。在一些實施例中,參數(shù)的數(shù)目也可通過使用默認(rèn)值而減少,例如使用零的偏移位置來執(zhí)行匹配操作。圖3是根據(jù)本發(fā)明的方面的通信網(wǎng)絡(luò)節(jié)點的框圖。所述節(jié)點包含第一線路卡301和第二線路卡341。其它實施例可具有更大數(shù)目的線路卡。每一線路卡耦合到物理媒體(例如光纖鏈路),且耦合到系統(tǒng)卡321。線路卡經(jīng)由物理媒體傳輸和接收包,且將包供應(yīng)到系統(tǒng)卡和從系統(tǒng)卡接收包。線路卡可在于物理媒體上傳輸信息中的一些或?qū)⑵涔?yīng)到系統(tǒng)卡之前對其進(jìn)行處理。圖3的實施例中說明的系統(tǒng)卡包含切換組構(gòu)325,其在線路卡之間路由包??刂铺幚砥?23包含在系統(tǒng)卡中且配置所述切換組構(gòu)的操作??刂铺幚砥骺闪硗馓幚碛删€路卡識別的包以用于計時信息的額外處理。第一線路卡301通過包處理塊307耦合到系統(tǒng)卡321,所述包處理塊307可根據(jù)線路卡和系統(tǒng)卡的要求來修改包。線路卡控制處理器309為線路卡提供可編程操作,例如設(shè)定配置以及處置來自線路卡的其它塊的異常。媒體接入控制(MAC)塊305執(zhí)行用于以太網(wǎng)MAC子層的操作。第一線路卡使用千兆位以太網(wǎng)PHY 303來耦合到物理媒體。到達(dá)線路卡的包通常由PHY接收,傳送到MAC塊,且接著傳送到系統(tǒng)卡。來自線路卡的包在經(jīng)由MAC塊從系統(tǒng)傳送之后通常由PHY傳輸。千兆位以太網(wǎng)PHY 303包含用以提供用于計時協(xié)議的處理的電路。特定來說,PHY可包含如圖I中說明的用于提取計時消息和確定計時相關(guān)動作的裝置。PHY還可包含如圖2中說明的計時消息分類器。PHY中的其它電路可執(zhí)行計時相關(guān)動作,例如根據(jù)節(jié)點中的延遲來修改時戳參數(shù)。第一線路卡的一些實施例可耦合到多個物理媒體鏈路,且包含對應(yīng)數(shù)目的PHY。每一物理媒體鏈路可與線路卡的一端口相關(guān)聯(lián)。多個PHY可集成在一個集成電路中。多個PHY中的用以提供用于計時協(xié)議的處理的電路可使用共同配置參數(shù)。配置參數(shù)也可在PHY之間部分地共享,例如用于匹配的一組參數(shù)可由多個PHY共享,其中每一 PHY具有未共享的參數(shù)以實現(xiàn)匹配參數(shù)的使用。另外,一個電路可為與多個物理媒體鏈路相關(guān)聯(lián)的包提供用于計時參數(shù)的處理,或可配置以與多個鏈路中的一者一起使用。第二線路卡341類似于第一線路卡301。然而,第二線路包含10千兆位以太網(wǎng)PHY343。針對較高數(shù)據(jù)速率,所述線路卡的其它組件也可不同于第一線路卡的那些組件。如同第一線路卡的千兆位以太網(wǎng)PHY,10千兆位以太網(wǎng)PHY 343包含用以提供用于計時協(xié)議的處理的電路。特定來說,PHY可包含如圖I中說明的用于提取計時消息和確定計時相關(guān)動作的裝置。PHY還可包含如圖2中說明的計時消息分類器。一些實施例可包含集成在一個集成電路中的多個PHY。 圖4是根據(jù)本發(fā)明的方面的用于對包進(jìn)行分類且從計時消息提取信息的過程的流程圖。所述過程可在PHY裝置中實施且更特定地可由圖I或圖2的裝置實施。另外,所述過程可使用專門的硬件、通過指令編程的處理器或組合來實施。大體上,所述過程被供應(yīng)信息包,且識別包中可包含且應(yīng)識別或供應(yīng)以用于動作的后續(xù)執(zhí)行的計時參數(shù)和相關(guān)聯(lián)動作。在框411中,所述過程執(zhí)行針對第一協(xié)議的匹配。第一協(xié)議是外部或較低層協(xié)議,根據(jù)所述協(xié)議,包被供應(yīng)到所述過程。通過將包的若干部分與指定所述包中各種位置處被視為匹配的值的若干組參數(shù)進(jìn)行比較來對包進(jìn)行分類。與用于匹配的所述若干組參數(shù)相關(guān)聯(lián)的是識別下一處理級的值。舉例來說,當(dāng)包遵循以太網(wǎng)標(biāo)準(zhǔn)時,所述過程可將包中具有以太類型值的位置與0x8847進(jìn)行比較,且當(dāng)存在匹配時確定下一級應(yīng)為用于MPLS的級,且所述過程可將包中具有以太類型值的位置與0x88F7進(jìn)行比較,且當(dāng)存在匹配時確定下一級應(yīng)為用以分析IEEE 1588消息的計時級。在框413中,所述過程基于框411中執(zhí)行的匹配的結(jié)果而確定接著應(yīng)執(zhí)行何種級。在圖4中說明的實施例中,存在五個可能的下一級。其它實施例可包含不同數(shù)目的級。當(dāng)框411中不存在匹配時,所述過程確定不存在用于包的下一級且返回。當(dāng)框411中確定的匹配指示下一級應(yīng)為計時級時,所述過程繼續(xù)到框451。否則,所述過程繼續(xù)用以執(zhí)行第二匹配操作的框421、用以執(zhí)行第三匹配操作的框431,或用以執(zhí)行第四匹配操作的框441。在框421中,所述過程執(zhí)行針對第二協(xié)議的匹配。所述匹配在從框411中確定的包的開始的偏移處開始。所述偏移可指向根據(jù)第二協(xié)議格式化的標(biāo)頭。類似于框411,所述過程將包的若干部分與指定所述包中各種位置處的何種值被視為匹配的若干組參數(shù)進(jìn)行比較,且當(dāng)發(fā)生匹配時識別下一處理級。在框423中,所述過程基于框421中執(zhí)行的匹配的結(jié)果來確定接著應(yīng)執(zhí)行何種級。在圖4中說明的實施例中,存在三個可能的下一級。當(dāng)框421中不存在匹配時,所述過程確定不存在用于包的下一級且返回。當(dāng)框421中確定的匹配指示下一級應(yīng)為計時級時,所述過程繼續(xù)到框451。否則,所述過程繼續(xù)用以執(zhí)行第三匹配操作的框431。所述過程的其它實施例可包含框441作為可能的下一級。在框431中,所述過程執(zhí)行針對第三協(xié)議的匹配。所述匹配在從前一匹配框中確定的包的開始的偏移處開始。所述偏移可指向根據(jù)第三協(xié)議格式化的標(biāo)頭。類似于框411和421,所述過程將包的若干部分與指定所述包中各種位置處的何種值被視為匹配的若干組參數(shù)進(jìn)行比較,且當(dāng)發(fā)生匹配時識別下一處理級。在框433中,所述過程基于框431中執(zhí)行的匹配的結(jié)果來確定接著應(yīng)執(zhí)行何種級。在圖4中說明的實施例中,存在三個可能的下一級。當(dāng)框431中不存在匹配時,所述過程確定不存在用于包的下一級且返回。當(dāng)框431中確定的匹配指示下一級應(yīng)為計時級時,所述過程繼續(xù)到框451。否則,所述過程繼續(xù)框441以執(zhí)行第四匹配操作。所述過程的其它實施例可包含其它可能的下一級,例如框421。在框441中,所述過程執(zhí)行針對第四協(xié)議的匹配。所述匹配在偏移前一匹配框中確定的包的開始處開始。所述偏移可指向根據(jù)第四協(xié)議格式化的標(biāo)頭。類似于其它匹配框,所述過程將包的若干部分與指定所述包中各種位置處的何種值被視為匹配的若干組參數(shù)進(jìn)行比較,且當(dāng)發(fā)生匹配時識別下一處理級。在框443中,所述過程基于框441中執(zhí)行的匹配的結(jié)果來確定接著應(yīng)執(zhí)行何種級。 在圖4中說明的實施例中,存在兩個可能的下一級。當(dāng)框431中確定的匹配指示下一級應(yīng)為計時級時,所述過程繼續(xù)到框451 ;否則,所述過程返回。所述過程的其它實施例可包含其它可能的下一級,例如,可以各種次序執(zhí)行框421、431和441。在框451中,所述過程確定用于包的計時動作。所述過程還可從包確定參數(shù)以用于執(zhí)行計時動作。舉例來說,時間動作可指示應(yīng)如何修改時戳參數(shù)。所述過程通過將包的若干部分與對應(yīng)于各種計時動作的若干組參數(shù)進(jìn)行比較來確定計時參數(shù)和動作。當(dāng)發(fā)生匹配時,也可供應(yīng)包的特定部分作為用于計時動作的參數(shù)。所述過程相對于包中由先前匹配級指定的位置而執(zhí)行框451。所述位置可為計時消息的位置,例如根據(jù)IEEE 1588或ITU-TY. 1731格式化的消息。隨后,所述過程返回。圖5展示根據(jù)本發(fā)明的方面可使用的幀標(biāo)頭匹配方案的實例。所述匹配方案可例如通過使用圖2的電路的比較塊來實施。在使用圖2的電路時,控制器塊可例如通過使用用戶可編程寄存器而具有或被提供目標(biāo)協(xié)議封裝的指示以供比較塊使用。在一些實施例中,寄存器可含有匹配模式、匹配模式的使用次序,且在一些實施例中含有偏移和可能的位屏蔽以用于執(zhí)行匹配。在圖5的實例中,例如檢查三個匹配以確定是否正在處理MPLS/PWE上PTP包。可例如使用圖2的電路的三個比較塊來檢查每一匹配,其中控制器塊命令不使用第四比較塊(或者屏蔽服從匹配的所有位的位屏蔽模式)。如果檢測到三個匹配,那么后續(xù)塊可檢查包的與消息的PTP信息相關(guān)的部分,且在一些實施例中,確定關(guān)于PTP信息將采取的適當(dāng)動作。為便于說明,將所述三個部分展示為重疊的,然而,包的用于匹配的部分大體上不同。繼續(xù)參考圖5的實例,第一比較確定是否N1個字節(jié)匹配于包標(biāo)頭的在偏移O1處開始的預(yù)定字節(jié)。在許多實施例中,偏移O1為零,使得第一比較開始于包標(biāo)頭的開始處。如圖5中說明,包標(biāo)頭中的兩個字節(jié)包含X,指示這些字節(jié)的值與確定包標(biāo)頭的預(yù)定字節(jié)是否匹配于N1個字節(jié)的目的無關(guān)。第一比較可例如用以確定包標(biāo)頭中由以太類型字段指示的包類型。第二比較確定是否N2個字節(jié)匹配于包標(biāo)頭的在偏移O2處開始的預(yù)定字節(jié),其中四個字節(jié)與確定包標(biāo)頭的預(yù)定字節(jié)是否匹配于N2個字節(jié)的目的無關(guān)。第二比較可例如用以確定包標(biāo)頭是否指示經(jīng)由多協(xié)議標(biāo)簽切換網(wǎng)絡(luò)載運的包。實施例可使用專用于匹配MPLS標(biāo)簽堆棧的比較。舉例來說,所述比較可搜索標(biāo)簽值或在堆棧的頂部或底部處開始的值范圍,且取決于標(biāo)簽在堆棧內(nèi)的位置而確定匹配。
第三比較確定是否N3個字節(jié)匹配于包標(biāo)頭的在偏移O3處開始的預(yù)定字節(jié),其中四個字節(jié)與確定包標(biāo)頭的預(yù)定字節(jié)是否匹配于N3個字節(jié)的目的無關(guān)。第三比較可例如用以確定包標(biāo)頭是否指示偽線以太網(wǎng)包。如圖5中說明,針對每一連續(xù)比較的每一連續(xù)偏移大于先前偏移。然而在各種實施例中,連續(xù)偏移可小于先前偏移。對于許多實施例,偏移對應(yīng)于所使用協(xié)議的標(biāo)頭的大小。類似地,取決于特定協(xié)議,待匹配的字節(jié)的數(shù)目也可變化或相同。雖然已相對于各種實施例討論了本發(fā)明,但應(yīng)認(rèn)識到,本發(fā)明包括由本發(fā)明支持的新穎且非顯而易見的權(quán)利要求。
權(quán)利要求
1.一種確定PHY所進(jìn)行的計時相關(guān)動作的方法,其包括 接收包; 通過執(zhí)行所述包的若干部分與所識別位模式的多個比較而確定用于所述包的封裝方案;以及 基于所述多個比較中的所述比較中的至少一者的結(jié)果而確定關(guān)于所述包的時戳的修改將采取的動作。
2.根據(jù)權(quán)利要求I所述的方法,其中循序地執(zhí)行所述多個比較。
3.根據(jù)權(quán)利要求2所述的方法,其中確定關(guān)于所述包的時戳的修改將采取的所述動作是基于所述多個比較中的最后一個比較的結(jié)果。
4.根據(jù)權(quán)利要求2所述的方法,其進(jìn)一步包括基于除了所述比較中的最后一者之外的每一比較的結(jié)果來確定偏移。
5.根據(jù)權(quán)利要求4所述的方法,其中基于所述偏移而選擇所述包的除了用于所述第一比較的部分之外的若干部分。
6.根據(jù)權(quán)利要求5所述的方法,其進(jìn)一步包括修改所述時戳。
7.根據(jù)權(quán)利要求I所述的方法,其進(jìn)一步包括通過選擇所述包的若干部分而形成識別所述包的簽名。
8.根據(jù)權(quán)利要求2所述的方法,其中以一次序執(zhí)行所述多個比較,且后續(xù)比較中的至少一些比較的次序取決于至少一個先前比較的結(jié)果。
9.一種確定以太網(wǎng)交換機的PHY所進(jìn)行的時戳修改動作的方法,其包括 通過循序地執(zhí)行以太網(wǎng)包的若干位與所識別位模式的至少一個比較來確定用于所述包的封裝方案; 確定所述包中時戳的位置;以及 確定相對于所述時戳將采取的動作。
10.根據(jù)權(quán)利要求9所述的方法,其中通過循序地執(zhí)行以太網(wǎng)包的若干位與所識別位模式的至少一個比較來確定用于所述包的封裝方案包括 通過大體上同時執(zhí)行所述包的若干位與不同的預(yù)識別位模式的至少一個比較來確定用于所述以太網(wǎng)包的封裝方案。
11.根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包括基于除了所述比較中的最后一者之外的每一比較的結(jié)果來確定偏移。
12.根據(jù)權(quán)利要求11所述的方法,其中基于所述偏移而選擇所述包的用于所述比較中的至少一個第一者的若干位。
13.根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包括基于所述所確定動作而修改所述時戳。
14.根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包括通過選擇所述包的若干部分而形成識別所述包的簽名。
15.一種確定如何調(diào)整時戳的方法,其包括 將包提供到多個循序布置的比較塊, 由所述循序布置的比較塊中的至少一些循序地執(zhí)行所述包的若干位與預(yù)識別位的比較; 由所述比較塊中除了最終比較塊之外的每一者將偏移指示符提供到所述多個循序布置的比較塊中的一后續(xù)比較塊;以及 由所述最終比較塊確定相對于所述時戳將采取的動作。
16.根據(jù)權(quán)利要求15所述的方法,其中基于所述偏移指示符而選擇所述包的除了用于第一比較的位之外的位。
17.根據(jù)權(quán)利要求16所述的方法,其進(jìn)一步包括基于所述所確定動作而修改所述時戳。
18.根據(jù)權(quán)利要求16所述的方法,其進(jìn)一步包括通過由所述比較塊中的至少一者選擇所述包的若干部分而形成識別所述包的簽名。
19.一種在物理層(PHY)裝置中用于至少確定時戳的位置的電路,其包括 幀開始電路,其用于確定幀信號的開始;以及 對準(zhǔn)電路,其用于根據(jù)所述幀信號的開始來對準(zhǔn)幀的數(shù)據(jù); 至少一組分類器塊,所述分類器塊中的每一者經(jīng)配置以將所述幀的若干位與預(yù)識別位進(jìn)行比較,所述預(yù)識別位由用于所述組分類器塊中至少除了所述分類器塊中的初始一者之外的分類器塊的偏移指示,其中所述分類器塊中的最后一者指示時戳位置。
20.根據(jù)權(quán)利要求19所述的電路,其中所述分類器塊中的至少一些經(jīng)配置以提供指示所述分類器塊的操作次序的信號。
21.根據(jù)權(quán)利要求19所述的電路,其進(jìn)一步包括簽名塊,所述簽名塊經(jīng)配置以從簽名組件產(chǎn)生所述幀的簽名,且 其中所述分類器塊中的至少一者進(jìn)一步經(jīng)配置以關(guān)于所述簽名組件選擇所述幀的預(yù)識別部分。
22.根據(jù)權(quán)利要求19所述的電路,其中所述至少一組分類器塊包括多組分類器塊。
23.根據(jù)權(quán)利要求22所述的電路,其中所述多組分類器塊經(jīng)配置以大體上同時執(zhí)行所述比較。
24.根據(jù)權(quán)利要求22所述的電路,其進(jìn)一步包括多個端口和將所述多組分類器塊選擇性地耦合到所述端口的電路。
25.一種使用多個級從包中提取信息的方法,其包括 接收包; 在所述多個級中的第一級中將所述包匹配于第一多個字段值且產(chǎn)生第一下一級識別符和第一偏移值; 如果所述下一級識別符指示第二級,那么在所述多個級中的第二級中在所述第一偏移值處開始將所述包匹配于第二多個字段值且產(chǎn)生第二下一級識別符和第二偏移值; 如果所述第一下一級識別符指示最終級,那么在所述多個級中的最終級中在所述第一偏移值處開始將所述包匹配于最終多個字段值且產(chǎn)生動作識別符和參數(shù)值;以及 如果所述第二下一級識別符指示最終級,那么在所述多個級中的最終級中在所述第二偏移值處開始將所述包匹配于最終多個字段值且產(chǎn)生動作識別符和計時參數(shù)。
26.根據(jù)權(quán)利要求25所述的方法,其進(jìn)一步包括從所述級中的至少一些中提取所述包的若干部分且組合所述所提取部分以形成所述包的簽名。
27.根據(jù)權(quán)利要求25所述的方法,其中匹配包括將所述包的若干部分與對應(yīng)于所述級的所述多個字段值進(jìn)行比較且選擇匹配的最高優(yōu)先級字段值。
28.根據(jù)權(quán)利要求27所述的方法,其中所述將所述包的若干部分與所述多個字段值進(jìn)行比較包括算術(shù)范圍比較。
29.根據(jù)權(quán)利要求27所述的方法,其中所述將所述包的若干部分與所述多個字段值進(jìn)行比較包括逐位邏輯比較。
30.根據(jù)權(quán)利要求27所述的方法,其中所述將所述包的若干部分與所述多個字段值進(jìn)行比較包括將所述包的多個部分與所述字段值中的同一者進(jìn)行比較。
全文摘要
裝置和方法從通信包中的計時消息確定計時參數(shù)和相關(guān)聯(lián)計時動作。所述計時消息可以多個通信協(xié)議來封裝。實例計時消息可為封裝在封裝于以太網(wǎng)協(xié)議包中的因特網(wǎng)協(xié)議包中的IEEE 1588計時消息。通過將所述包的若干部分與位值或值范圍進(jìn)行比較來匹配所述協(xié)議。除了第一分類器塊之外的操作通過使用在塊之間傳遞的偏移值而取決于先前塊中的匹配的結(jié)果,所述偏移值指示所述匹配的開始點。最終分類器塊匹配計時消息中的值以識別消息中的計時參數(shù)和相關(guān)聯(lián)計時動作。
文檔編號H04J3/06GK102971983SQ201180032459
公開日2013年3月13日 申請日期2011年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者龍·斯沃特澤恩特魯貝爾, 威廉姆·D·洛普洛斯 申請人:維特賽半導(dǎo)體公司