CZ2012264A3 - Zapojení pro rychlou analýzu hlavicek paketu prenásených po datové sbernici - Google Patents
Zapojení pro rychlou analýzu hlavicek paketu prenásených po datové sbernici Download PDFInfo
- Publication number
- CZ2012264A3 CZ2012264A3 CZ20120264A CZ2012264A CZ2012264A3 CZ 2012264 A3 CZ2012264 A3 CZ 2012264A3 CZ 20120264 A CZ20120264 A CZ 20120264A CZ 2012264 A CZ2012264 A CZ 2012264A CZ 2012264 A3 CZ2012264 A3 CZ 2012264A3
- Authority
- CZ
- Czechia
- Prior art keywords
- input
- outputs
- header
- activation
- subcircuit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
Je reseno zapojení pro rychlou analýzu hlavicek paketu pomocí obvodu pripojeného prímo k datové sbernici (1) prenásející pakety. Tento obvod obsahuje podobvody (3, 4, 9, 10) pro analýzu hlavicek jednotlivých protokolu. Dále obvod obsahuje cítac (2), který podobvody (3, 4, 9, 10) informuje o stavu sbernice (1). Kazdý z podobvodu (3, 4, 9, 10) je opatren vstupem dat ze sbernice (1), vstupem cítace (2), aktivacním vstupem (3.1, 3.4, 5.2, 6.2), urcujícím výskyt dané hlavicky protokolu v paketu, a vstupem pozice zacátku hlavicky v paketu (3.2, 3.6, 7.1, 8.1). Dále je kazdý z podobvodu (3, 4, 9, 10) opatren sadou aktivacních výstupu (3.3, 3.4, 4.1, 4.2, 9.1, 10.1) urcujících typ následující hlavicky protokolu a výstupem (3.6, 4.3, 9.2, 10.2) pozice zacátku následující hlavicky protokolu. Vsechny podobvody (3, 4, 9, 10) jsou s vyuzitím obvodu pomocné logiky (5, 6) a multiplexoru (7, 8) zapojeny do struktury, která odpovídá poctu a strukture ocekávaných protokolu v paketu. Takto vytvorený retezec z podobvodu je dále stejným zpusobem vetven na základe predpokládaného poctu protokolu s analyzovanými hlavickami. Výstupy celého obvodu tvorí dílcí aktivacní výstupy (3.3, 3.4, 3.5, 4.1, 4.2, 9.1, 10.1) a výstupy (3.6, 4.3, 9.2, 10.2) pozice zacátku následující hlavicky.
Description
Zapojení pro rychlou analýzu hlaviček paketů přenášených po datové sběrnici
Oblast techniky
Předkládané řešení se týká zpracování paketů v počítačových sítích. Základní informace o paketu jsou uloženy v jeho hlavičce, kterou je nutné analyzovat před dalším zpracováním paketu. Jedná se tedy o oblast telekomunikační techniky a služeb.
Dosavadní stav techniky
Zprávy v počítačových sítích jsou zapouzdřeny do několika vrstev komunikačních protokolů. Každý takový protokol přidává k paketu vlastní hlavičku. Je nutné analyzovat postupně jednotlivé hlavičky přítomné v paketu. Protože však hlavičky některých protokolů nemají pevnou délku, a protože pořadí hlaviček v paketu není obvykle předem známo, je obvykle nutné zpracovávat jednotlivé hlavičky protokolů postupně, kdy výsledek analýzy jedné hlavičky ovlivňuje analýzu následující hlavičky.
Současná řešení ukládají paket do paměti a následně provádějí analýzu hlaviček. Díky datovým závislostem však obsahují celou řadu závislých paměťových přístupů, kdy čtení nějaké hodnoty z paměti je podmíněno ukončením čtení předchozí hodnoty. Nejkratší možná doba zpracování všech hlaviček paketu je pak dána součinem doby trvání jedné paměťové operace a počtu paměťových operací.
Podstata vynálezu
Výše uvedené nedostatky odstraňuje zapojení pro rychlou analýzu hlaviček paketů obvodem připojeným přímo ke sběrnici pro přenos paketů podle předkládaného řešení. Jeho podstatou je, že datová sběrnice je svými datovými výstupy propojená jednak s řetězcem N podobvodů analýzy hlaviček protokolů, jejichž počet je dán předpokládaným počtem přenášených protokolů, a jednak s čítačem, jehož výstup je propojen se vstupy hodnot čítače jednotlivých podobvodů. Na vstupu v řetězci zapojený první podobvod má aktivační vstup a vstup pozice začátku hlavičky, jejichž hodnoty jsou konstantní, a je svým výstupem pozice začátku následující hlavičky propojen jednak přímo se vstupem druhého podobvodů a jednak s jedním vstupem všech multiplexorů, jejichž počet je dán počtem v dalším úseku řetězce zařazených podobvodů. Tento první podobvod je opatřen aktivačními výstupy, jejichž počet je dán počtem v dalším úseku řetězce zařazených podobvodů. Jeden aktivační výstup je připojen přímo na aktivační vstup druhého podobvodů a další aktivační výstupy jsou připojeny na jeden vstup obvodů pomocné logiky, jejichž počet je dán počtem v dalším stupni řetězce zařazených podobvodů. Na druhý vstup každého z obvodů pomocné logiky je připojen jeden z aktivačních výstupů druhého podobvodů, Výstup pozice začátku následující hlavičky druhého podobvodů je připojen na druhý vstup multiplexorů, které majíc na své řídící vstupy připojeny řídící výstupy obvodů pomocné logiky. Aktivační výstupy obvodů pomocné logiky jsou připojeny na aktivační vstup jim náležejícího dalšího podobvodů, na jejichž druhý vstup je připojen výstup příslušejícího multiplexorů. Aktivační výstupy těchto dalších podobvodů, jejichž počet je dán počtem předpokládaných dalších typů hlaviček protokolů, a výstupy pozice začátku následující hlavičky jsou součástí výstupu celého obvodu. Takto vytvořený řetězec z podobvodů je dále stejným způsobem větven na základě přepokládaného počtu protokolů s analyzovanými hlavičkami. Výstupy celého obvodu pak tvoří dílčí aktivační výstupy a výstupy pozice začátku následující hlavičky.
Ve výhodném provedení je uvedené zapojení vytvořeno uvnitř obvodu FPGA, který slouží k příjmu, zpracování a odesílání paketů.
Výhodou tohoto řešení je rychlejší analýza hlaviček paketu než v případě umístění paketu do paměti. Několik vrstev hlaviček může být analyzováno v každém taktu hodin FPGA, protože informace předávané mezi jednotlivými podobvody jsou t Λ « · * , * 4 ♦ ♦ * · Β · · » » · * » * ·
- # ί i » t *··««· * · · · a velmi jednoduché. Další výhodou je možnost změny podporovaných protokolů změnou struktury obvodu. Podobvody analýzy jednotlivých hlaviček pracují nezávisle a mají jednotné rozhraní, proto změna struktury obvodu, a tedy změna podporovaných protokolů, není obtížná.
FFzhlcžd obrazuj na
Objasnění- výkresů/
Podstata nového řešení je dále vysvětlena a popsána na základě připojeného výkresu, Qbr. 1, který znázorňuje blokové schéma obvodu. Na Qbr. 2 je pak uvedeno jedno možné schéma zapojení podobvodu.
Příklady ůskuteěněnl vynálezu
Předmětem nového řešení obecně je použití analyzačního obvodu složeného z podobvodů pro analýzu hlaviček jednotlivých protokolů a z čítače datových slov na datové sběrnici a připojeného přímo k datové sběrnici, která přenáší pakety. Obvod obsahuje podobvody zapojené do struktury odpovídající jednotlivým očekávaným hlavičkám protokolů v paketech. Na přiloženém Obr. 1 je vyznačeno obvodové řešení celého zapojení. Uvedené schéma ukazuje pouze jednu konkrétní možnost zapojení podobvodů, které vychází z konkrétní množiny podporovaných protokolů.
i
V zapojení podle Qbr. 1 je datová sběrnice £ svými datovými výstupy propojená jednak s řetězcem N podobvodů, zde podobvodů 3, 4, 9 a 10, analýzy hlaviček protokolů. Počet podobvodů je dán předpokládaným počtem přenášených protokolů. Další součástí zapojení je čítač 2, jehož výstup 2.1 je propojen se vstupy hodnot čítače jednotlivých podobvodů 3, 4, 9 a £0. Na vstupu v řetězci zapojený první podobvod 3 má aktivační vstup 3.1 a vstup 3.2 pozice začátku hlavičky, jejichž hodnoty jsou konstantní. Výstup 3.6 pozice začátku následující hlavičky prvního podobvodu 3 je propojen jednak přímo se vstupem druhého podobvodu 4 a jednak s jedním vstupem všech multiplexorů 7, 8, jejichž počet je dán počtem v dalším úseku řetězce zařazených podobvodů, zde tedy se jedná o dva další podobvody 9 a ft * · · · « * * * i · · · · * * » · » 1 ♦
4* > 9 4» ® ♦ · 9 1 * ί « *·· χ
10. První podobvod 3 je dále opatřen aktivačními výstupy 3.3, 3.4, 3,5, jejichž počet je opět dán počtem v dalším úseku řetězce zařazených podobvodů. Zde se tedy jedná o tři podobvody 4, 9, 10. Jeden tento aktivační výstup (3.4) je zde připojen přímo na aktivační vstup druhého podobvodů 4 a další aktivační výstupy 3.3, 3 5 jsou připojeny na jeden vstup obvodů pomocné logiky 5, 6, jejichž počet je dán počtem v dalším stupni řetězce zařazených podobvodů, zde tedy třetího podobvodů 9 a čtvrtého podobvodů 10. Na druhý vstup každého z obvodů pomocné logiky 5, 6 je připojen jeden z aktivačních výstupů 4.1, 4.2 druhého podobvodů 4, jehož výstup 4.3 pozice začátku následující hlavičky je připojen na druhý vstup multiplexorů 7, 8. Řídící vstupy multiplexorů 7 a 8 jsou připojeny na řídící výstupy 5.1, 6.1 obvodů pomocné logiky 5, 6. Aktivační výstupy 52, 6.2 obvodů pomocné logiky 5, 6 jsou připojeny na aktivační vstup jim náležejícího dalšího podobvodů 9 respektive 10, na jejichž druhý vstup je připojen výstup 7Ί, 8.1 příslušejícího multiplexorů 7, respektive 8. V uváděném příkladu jsou aktivační výstupy 9.1 10,1 třetího aktivačního obvodu 9 a čtvrtého aktovačního obvodu 10 a výstupy 92, 10,2 pozice začátku následující hlavičky součástí výstupu celého obvodu. Takto vytvořený a právě popsaný řetězec skládající se z podobvodů je dále stejným způsobem větven na základě přepokládaného počtu protokolů s analyzovanými hlavičkami. Výstupy celého obvodu tvoří dílčí aktivační výstupy 32, 34, 32, 4,1, 42, 9.1, 10.1 a výstupy 32, 42, 92, 102 pozice začátku následující hlavičky.
Uváděné příkladné provedení využívá jeden obvod FPGA pro vytvoření datové sběrnice a obvodu složeného z jednotlivých podobvodů 3, 4, 9, 10 pro analýzu protokolů.
Obecně lze říci, že vstupem každého podobvodů 3, 4, 9, 10 je aktivační signál nesoucí informaci o tom, zda byl aktivován, tedy zda se příslušná hlavička v paketu vyskytuje, a signál pozice začátku hlavičky, informující podobvod o pozici začátku příslušné hlavičky v paketu. Dále jsou vstupem každého podobvodů 3, 4, 9, 10 signály datové sběrnice 1 přenášející pakety. Dalším vstupem každého podobvodů 3, 4, 9, 10 je hodnota čítače 2 aktuální pozice v paketu. Výstupem každého podobvodů 3, 4, 9, 10 jsou aktivační signály nesoucí informaci o zjištěném typu následující hlavičky protokolu a signál nesoucí informaci o pozici začátku následující hlavičky v paketu.
« Η · « · » · « ς ·-**·»»
J i i t ι ι t * · » « · « « t
Datová sběrnice 1 přenáší pakety. Čítač 2 sleduje provoz na datové sběrnici 1 a poskytuje na svém výstupu 24 ostatním podobvodům analýzy hlaviček, zde podobvodům 3, 4, 9 a 10, informaci o stavu datové sběrnice 1, především o pozici v paketu, která je v daném okamžiku viditelná na datové sběrnici 1.
Všechny podobvody 3, 4, 9 a 10 analýzy hlaviček mají na svém datovém vstupu data právě přenášená na datové sběrnici 1 a na svém vstupu hodnoty čítače mají výstup 24. čítače 2. Protože je podobvod 3 první, má na svém aktivačním vstupu 3J a na svém vstupu 3,2 pozice začátku hlavičky konstanty. Tento první podobvod 3 začíná pracovat vždy na začátku paketu. V síti typu Ethernet jde o analyzátor hlavičky protokolu Ethernet. Jeho výstupem je výstup 3.6 pozice začátku následující hlavičky a aktivační výstupy 35, 34, 35. v tomto příkladu se tedy předpokládá, že za hlavičkou prvního protokolu mohou následovat tři různé hlavičky dalších protokolů.
Druhý podobvod 4 má ke svému aktivačním vstupu přímo připojen aktivační výstup 34 prvního podobvodů 3 a ke svému vstupu pozice začátku hlavičky má připojen přímo výstup 35 podobvodů 3. V tomto příkladu se tedy předpokládá, že hlavička protokolu zpracovávaného druhým podobvodem 4 může v paketu následovat jedině po hlavičce protokolu zpracovávaného prvním podobvodem 3. Výstupy druhého podobvodů 4 jsou výstup 4.3 pozice začátku následující hlavičky a aktivační výstupy 41 a 42. V tomto příkladu se tedy předpokládá, že po hlavičce protokolu zpracovávaného druhým podobvodem 4 mohou v paketu následovat dvě různé hlavičky protokolů.
Třetí podobvod 9 má na svém aktivačním vstupu připojen aktivační výstup 52 prvního obvodu pomocné logiky 5, která hodnotu svého aktivačního výstupu 5.2 určuje jako logický součet aktivačního výstupu 3.3 prvního podobvodů 3 a aktivačního výstupu 44 druhého podobvodů 4, a dále na svém vstupu pozice začátku hlavičky má připojen výstup 7.1 prvního multiplexorů 7. První multiplexor 7 na svůj výstup 74 přepíná jeden z výstupů 3.6 a 4.3 pozice začátku následující hlavičky na základě řídicího vstupu, který je nastavován řídícím výstupem 54 prvního obvodu pomocné logiky 5 podle toho, který z podobvodů 3, 4 aktivuje třetí podobvod 9. V tomto příkladu se tedy předpokládá, že hlavička protokolu zpracovávaného ' 4 4 ♦ 3 f · * · « « * 4 · » · » ί * 4 4 # 4 St 4
6· · · · » *
S « · » · « ί · ««« {»45 třetím podobvodem 9 může v paketu následovat po hlavičkách protokolů zpracovávaných prvním podobvodem 3 nebo druhým podobvodem 4. Výstupem třetího podobvodu 9 je sada aktivačních výstupů H, která určuje typ následující hlavičky protokolu, a výstup 12 pozice začátku následující hlavičky. Zpracování hlavičky následující po hlavičce protokolu zpracovávaného třetím podobvodem 9 se v tomto příkladu nepředpokládá, a tedy aktivační výstup 9.1 a výstup 9,2 pozice začátku následující hlavičky jsou použity jako výstupy celého obvodu.
Čtvrtý podobvod 10 má na svém aktivačním vstupu aktivační výstup 62 druhého obvodu pomocné logiky 6, která hodnotu aktivačního výstupu 62 určuje jako logický součet aktivačního výstupu 3J5 prvního podobvodu 3 a aktivačního výstupu 42 druhého podobvodu 4, a dále na svém vstupu pozice začátku hlavičky má připojen výstup H druhého multiplexoru 8. Druhý multiplexor 8 na svůj výstup — přepíná jeden z výstupů 16 a 42 pozice začátku následující hlavičky na základě řídicího vstupu, který je nastavován řídicím výstupem 6.1 druhého obvodu pomocné logiky 6 podle toho, který z podobvodů 3, 4 aktivuje čtvrtý podobvod 10. V tomto příkladu se tedy předpokládá, že hlavička protokolu zpracovávaného čtvrtým podobvodem 10 může v paketu následovat po hlavičkách zpracovávaných prvním podobvodem 3 nebo druhým podobvodem 4. Výstupem čtvrtého podobvodu 10 je sada aktivačních výstupů 10.1, která určuje typ následující hlavičky protokolu, a výstup 112 pozice začátku následující hlavičky. Zpracování hlavičky následující po hlavičce protokolu zpracovávaného čtvrtým podobvodem 10 se v tomto příkladu nepředpokládá, a tedy aktivační výstup H1 a výstup 102 pozice začátku následující hlavičky jsou použity jako výstupy celého obvodu.
Lze tedy souhrnně říci, že podobvody 3, 4, 9, 10 zejména provádějí následující funkce:
- Výpočet pozice zájmových polí v paketu pomocí sčítaček sčítajících pozici začátku hlavičky v paketu (vstup podobvodu) s konstantními pozicemi zájmových polí v hlavičce.
- Výběr zájmových polí přenášených na datové sběrnici 1 pomocí multiplexorů řízených vypočtenými pozicemi polí v paketu.
4 ♦ í I > I ϊ » * Í i « ř » t τ ’ i * * i ¢.
/ 4 » < 4 I í i t i f » / i
- Uložení hodnot zájmových polí do registrů, které jsou řízeny řídicí logikou podobvodu.
Určení typu následujícího protokolu porovnáním uložených hodnot s konstantami.
Určení začátku hlavičky následujícího protokolu pomocí sčítaček sčítajících pozici začátku hlavičky aktuálního protokolu (vstup podobvodu) s velikostí této hlavičky.
- Kontrolu správnosti protokolu obvodem k tomu určeným, například výpočtem kontrolního součtu.
Získané informace podobvody 3, 4, 9 a 10 předávají na svůj výstup, odkud jsou připojeny na vstupy následujících podobvodů a současně na výstup celého obvodu. Výstupem celého obvodu jsou informace získané v podobvodech 3, 4, 9, 10, zejména informace o přítomnosti jednotlivých hlaviček protokolů a o jejich pozicích v paketu. Tyto informace lze dále využít např. pro změnu paketu úpravou některé hlavičky, případně pro snadnou extrakci jednotlivých polí z hlaviček s pomocí multiplexorů.
Obvodová realizace každého podobvodu 3, 4, 9 a 10 je závislá na protokolu, který je daným podobvodem zpracováván. Každý podobvod obsahuje sčítačky pro výpočet pozic zájmových polí v paketu. Vstupem každé sčítačky je informace o pozici začátku příslušné hlavičky v paketu (tedy vstup podobvodu) a konstanta určující pozici zájmového pole v rámci hlavičky. Hodnota konstanty vychází ze specifikace daného protokolu. Výstupem každé sčítačky je pozice zájmového pole v paketu. Každý podobvod dále obsahuje multiplexory pro výběr zájmových polí paketu z datové sběrnice. K řídicím vstupům multiplexorů jsou připojeny výstupy sčítaček, k datovým vstupům multiplexorů jsou připojeny signály datové sběrnice přenášející pakety. Každý podobvod dále obsahuje registry pro zachycení výstupů z multiplexorů. Řídicí vstup registrů povolující zápis do registrů je připojen k řídicí logice podobvodu. Hodnoty takto vybraných a uložených zájmových polí jsou přivedeny na vstupy komparátorů určujících typ následující hlavičky.
Za předpokladu, že velikost hlavičky protokolu zpracovávaného daným podobvodem není konstantní, jsou hodnoty vybraných zájmových polí přivedeny k aritmetické jednotce určující velikost hlavičky. Výstupem aritmetické jednotky jsou signály nesoucí informaci o velikosti hlavičky. V opačném případě, tedy za předpokladu, že velikost hlavičky je konstantní, jsou signály nesoucí informaci o velikosti hlavičky konstantní. Každý podobvod dále obsahuje sčítačku určující začátek hlavičky následujícího protokolu. Jeden vstup sčítačky je připojen na vstupní signály podobvodu nesoucí informaci o pozici začátku příslušné hlavičky, druhý vstup sčítačky je připojen na signály nesoucí informaci o velikosti hlavičky.
Za předpokladu, že protokol zpracovávaný podobvodem obsahuje kontrolní informace, jsou hodnoty zájmových polí přivedeny k obvodu provádějícímu kontrolu. Výstupy obvodu provádějícího kontrolu mohou být využity k hlášení chyb v protokolu.
Propojení podobvodů mezi sebou je provedeno podle následujících pravidel.
Očekává-li se, že hlavička protokolu zpracovávaného podobvodem A bude v paketu následována hlavičkou jednoho z protokolů zpracovávaných podobvody B1..Bn, pak je výstup podobvodu A nesoucí informaci o pozici začátku následující hlavičky připojen na vstupy pozice začátku hlavičky všech podobvodů B1..Bn. Aktivační výstupy podobvodu A jsou pak připojeny na aktivační vstupy podobvodů B1..Bn tak, aby byl aktivován právě ten z těchto podobvodů, který je určen ke zpracování zjištěného typu protokolu.
Očekává-li se, že protokol zpracovávaný podobvodem A může v paketu následovat po jednom z protokolů zpracovávaných podobvody B1..Bn, pak je vstup pozice začátku hlavičky podobvodu A připojen z výstupu multiplexoru, který je řízen aktivačními výstupy podobvodů B1..Bn. Aktivační vstup podobvodu A je pak připojen z logiky provádějící logický součet aktivačních výstupů podobvodů B1..Bn tak, aby byl podobvod A aktivován, pokud jej aktivuje některý z podobvodů B1..Bn.
Na přiloženém Qbr. 2 je vyznačeno obvodové řešení příkladného podobvodu 4 pro analýzu hlaviček jednoho protokolu, který následuje za prvním podobvodem 3. Uvedený příklad předpokládá, že délka analyzované hlavičky není konstantní a lze ji * * i í f , * * < · 4 * 9 9
4 · ® í t ’ * · · ? ‘ » i e * 4 <
vypočítat z některého pole v hlavičce, dále že analyzovaná hlavička obsahuje kontrolní pole, jehož kontrolou lze ověřit správnost protokolu, a dále že protokol připouští dvě možnosti typu následujícího protokolu. Datová sběrnice 1 přenáší pakety. Jeden vstup druhého podobvodu 4 je vlastně výstup 3.6 pozice začátku následující hlavičky prvního podobvodu 3 a určuje pozici začátku analyzované hlavičky v paketu. Druhý vstup druhého podobvodu 4 je výstup 2.1 čítače 2 a identifikuje pozici v paketu, která je právě viditelná na datové sběrnici 1. Třetí vstup druhého podobvodu 4 tvoří aktivační výstup 3.4 prvního podobvodu 3, který určuje, zda je celý podobvod aktivní. Sčítačky 500, 600, 700 vypočítávají pozice tří zájmových polí v paketu součtem pozice začátku analyzované hlavičky na výstupu 3Ό s konstantami 800, 900. 100. Konstanty 800, 900, 100 jsou určeny ze specifikace protokolu. Multiplexory H, 12, 13 jsou řízeny výstupy sčítaček 500, 600, 700 a vybírají z datové sběrnice 1 hodnoty zájmových polí. Registry 14, 15, 16 jsou řízeny řídicím obvodem 17 a ukládají hodnoty zájmových polí. Aritmetická jednotka 18 na základě hodnoty zájmového pole uložené v registru 14 vypočítává délku hlavičky zpracovávaného protokolu. Povaha výpočtu je dána specifikací protokolu. Sčítačka 19 sčítá pozici začátku zpracovávané hlavičky ze vstupu 3.6 s délkou zpracovávané hlavičky a jejím výstupem je výstup 4.3 pozice začátku následující hlavičky. Kontrolní obvod 20 provádí kontrolu správnosti hodnoty zájmového pole uložené v registru 15 a určuje hodnotu výstupu 27, který indikuje chybu v protokolu. Povaha kontroly je dána specifikací protokolu. Komparátory 21 a 22 porovnávají hodnotu zájmového pole uloženou v registru 16 s konstantami 23 a 24 a na aktivační výstupy 4.1 a 4.2 předávají informaci o typu následující hlavičky protokolu. Konstanty 23 a 24 jsou dány specifikací protokolu.
Průmyslová využitelnost
Zapojení pro rychlou analýzu hlaviček paketů obvodem připojeným přímo ke sběrnici pro přenos paketů podle uvedeného řešení je průmyslově využitelné v obvodech pro zpracování paketů. Ve srovnání s běžně používanými řešeními umožňuje zrychlit proces analýzy hlaviček paketů a tím přispívá ke zrychlení celého zařízení.
Claims (2)
- PATENTOVÉ NÁROKY1. Zapojení pro rychlou analýzu hlaviček paketů přenášených po datové sběrnici, vyznačující se tím, že datová sběrnice (1) je svými datovými výstupy propojená jednak s řetězcem N podobvodů (3,4,9,10) analýzy hlaviček protokolů, jejichž počet je dán předpokládaným počtem přenášených protokolů, a jednak s čítačem (2), jehož výstup (2.1) je propojen se vstupy hodnot čítače jednotlivých podobvodů (3,4,9,10), kde na vstupu v řetězci zapojený první podobvod (3) má aktivační vstup (3.1) a vstup (3.2) pozice začátku hlavičky, jejichž hodnoty jsou konstantní, a je svým výstupem (3.6) pozice začátku následující hlavičky propojen jednak přímo se vstupem druhého podobvodů (4) a jednak s jedním vstupem všech multiplexorů (7,8), jejichž počet je dán počtem v dalším úseku řetězce zařazených podobvodů (9,10), a dále je opatřen aktivačními výstupy (3.3, 3.4, 3.5), jejichž počet je dán počtem v dalším úseku řetězce zařazených podobvodů (4, 9, 10), z nichž jeden aktivační výstup (3.4) je připojen přímo na aktivační vstup druhého podobvodů (4) a další aktivační výstupy (3.3, 3.5) jsou připojeny na jeden vstup obvodů pomocné logiky (5,6), jejichž počet je dán počtem v dalším stupni řetězce zařazených podobvodů (9,10), kde na druhý vstup každého z obvodů pomocné logiky (5,6) je připojen jeden z aktivačních výstupů (4.1, 4.2) druhého podobvodů (4), jehož výstup (4.3) pozice začátku následující hlavičky je připojen na druhý vstup multiplexorů (7,8), majících na své řídicí vstupy připojeny řídící výstupy (5.1, 6.1) obvodů pomocné logiky (5,6), a aktivační výstupy (5.2, 6.2) obvodů pomocné logiky (5,6) jsou připojeny na aktivační vstup jim náležejícího dalšího podobvodů (9,10), na jejichž druhý vstup je připojen výstup (7.1, 8.1) příslušejícího multiplexorů (7,8), a jejichž aktivační výstupy (9.1, 10.1), jejichž počet je dán počtem předpokládaných dalších typů hlaviček protokolů, a výstupy (9.2, 10.2) pozice začátku následující hlavičky jsou součástí výstupu celého obvodu, přičemž takto vytvořený řetězec z podobvodů je dále stejným způsobem větven na základě přepokládaného počtu protokolů s analyzovanými hlavičkami, přičemž výstupy celého obvodu tvoří dílčí aktivační výstupy (3.3, 3.4, 3.5, 4.1, 4.2, 9.1, 10.1) a výstupy pozice začátku následující hlavičky (3.6, 4.3, 9.2, 10.2).
- 2. Zapojení podle nároku 1, vyznačující se tím, že je vytvořeno uvnitř obvodu FPGA.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CZ20120264A CZ2012264A3 (cs) | 2012-04-17 | 2012-04-17 | Zapojení pro rychlou analýzu hlavicek paketu prenásených po datové sbernici |
EP13158504.4A EP2654261B8 (en) | 2012-04-17 | 2013-03-11 | Circuit for the fast analysis of packet headers transferred via a data bus |
US13/855,792 US8923300B2 (en) | 2012-04-17 | 2013-04-03 | Connection for the fast analysis of packet headers transferred via data bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CZ20120264A CZ2012264A3 (cs) | 2012-04-17 | 2012-04-17 | Zapojení pro rychlou analýzu hlavicek paketu prenásených po datové sbernici |
Publications (2)
Publication Number | Publication Date |
---|---|
CZ303954B6 CZ303954B6 (cs) | 2013-07-10 |
CZ2012264A3 true CZ2012264A3 (cs) | 2013-07-10 |
Family
ID=47891417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CZ20120264A CZ2012264A3 (cs) | 2012-04-17 | 2012-04-17 | Zapojení pro rychlou analýzu hlavicek paketu prenásených po datové sbernici |
Country Status (3)
Country | Link |
---|---|
US (1) | US8923300B2 (cs) |
EP (1) | EP2654261B8 (cs) |
CZ (1) | CZ2012264A3 (cs) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CZ306871B6 (cs) * | 2016-06-14 | 2017-08-16 | CESNET, zájmové sdružení právnických osob | Zapojení pro rychlé vyhledávání regulárních výrazů v datech |
CN106850339B (zh) * | 2016-12-30 | 2020-04-24 | 广州致远电子有限公司 | 一种总线信号协议解码方法 |
CN114943197B (zh) * | 2022-07-25 | 2022-09-23 | 青岛中科方德软件有限公司 | 一种电路控制逻辑的仿真方法、装置及电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427169B1 (en) * | 1999-07-30 | 2002-07-30 | Intel Corporation | Parsing a packet header |
JP2004040196A (ja) * | 2002-06-28 | 2004-02-05 | Matsushita Electric Ind Co Ltd | パケットデータ処理装置およびパケットデータ処理方法 |
DE10260604B4 (de) * | 2002-12-23 | 2006-09-21 | Infineon Technologies Ag | Multikanal-Prozessor |
GB2443005A (en) * | 2006-07-19 | 2008-04-23 | Chronicle Solutions | Analysing network traffic by decoding a wide variety of protocols (or object types) of each packet |
IL220238A (en) * | 2007-03-12 | 2014-03-31 | Marvell Israel Misl Ltd | A method and system for determining the location of fields in information units |
US20090028150A1 (en) * | 2007-07-26 | 2009-01-29 | Telefonaktiebolaget L M Ericsson (Publ) | Protocol-Independent Packet Header Analysis |
EP2096832A1 (en) * | 2008-02-28 | 2009-09-02 | Deutsche Thomson OHG | Reconfigurable hardware-based parser for packet-oriented protocols |
-
2012
- 2012-04-17 CZ CZ20120264A patent/CZ2012264A3/cs not_active IP Right Cessation
-
2013
- 2013-03-11 EP EP13158504.4A patent/EP2654261B8/en not_active Not-in-force
- 2013-04-03 US US13/855,792 patent/US8923300B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20130272307A1 (en) | 2013-10-17 |
EP2654261B1 (en) | 2017-12-20 |
US8923300B2 (en) | 2014-12-30 |
CZ303954B6 (cs) | 2013-07-10 |
EP2654261A2 (en) | 2013-10-23 |
EP2654261B8 (en) | 2018-02-28 |
EP2654261A3 (en) | 2017-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880197B2 (en) | Methods, systems, and computer readable media for testing a network node using source code for programming a packet forwarding plane of the network node | |
Harkous et al. | P8: P4 with predictable packet processing performance | |
US7493469B2 (en) | Performance evaluation apparatus, performance evaluation method, program and computer readable recording medium | |
KR20140063736A (ko) | 최소 스토리지를 활용한 플렉시블 링크 폭들을 갖는 라우터에서 크레딧 흐름 제어 방식 | |
US9965434B2 (en) | Data packet processing | |
US9054967B1 (en) | Timestamping packets in a network | |
CZ2012264A3 (cs) | Zapojení pro rychlou analýzu hlavicek paketu prenásených po datové sbernici | |
US10084893B2 (en) | Host network controller | |
CN112311619B (zh) | 网络报文延迟检测方法、装置和电子设备 | |
US20220400079A1 (en) | Sort device, sort method, and sort program | |
Denholm et al. | Network-level FPGA acceleration of low latency market data feed arbitration | |
CN110958079B (zh) | 一种测试方法、装置及测试系统 | |
US8873421B2 (en) | Integrated test packet generation and diagnostics | |
CZ23921U1 (cs) | Zapojení pro rychlou analýzu hlaviček paketů přenášených po datové sběrnici | |
Kuga et al. | {NetTLP}: A Development Platform for {PCIe} devices in Software Interacting with Hardware | |
US9838229B2 (en) | Method for verifying the functionality of a digital circuit | |
Leahu | Analysis and predictive modeling of the performance of the ATLAS TDAQ network | |
US9246816B2 (en) | Injecting congestion in a link between adaptors in a network | |
Parane et al. | YaNoC: Yet another network-on-chip simulation acceleration engine supporting congestion-aware adaptive routing using FPGAs | |
Li et al. | Delay bound analysis for heterogeneous multicore systems using network calculus | |
Hawari et al. | OP4T: Bringing Advanced Network Packet Timestamping into the Field | |
Engelmann et al. | Dynamic packet-filtering in high-speed networks using NetFPGAs | |
Clark et al. | Network intrusion detection systems on FPGAs with on-chip network interfaces | |
Ponnan et al. | On chip network with increased performance for efficient wireless communication | |
CN112948332B (zh) | 一种点云文件封装、解析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Patent lapsed due to non-payment of fee |
Effective date: 20220417 |