SE525800C2 - Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde - Google Patents

Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde

Info

Publication number
SE525800C2
SE525800C2 SE0203190A SE0203190A SE525800C2 SE 525800 C2 SE525800 C2 SE 525800C2 SE 0203190 A SE0203190 A SE 0203190A SE 0203190 A SE0203190 A SE 0203190A SE 525800 C2 SE525800 C2 SE 525800C2
Authority
SE
Sweden
Prior art keywords
hardware
software
memory
transfer
router
Prior art date
Application number
SE0203190A
Other languages
English (en)
Other versions
SE0203190L (sv
SE0203190D0 (sv
Inventor
Andreas Oeman
Original Assignee
Packetfront Sweden Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Packetfront Sweden Ab filed Critical Packetfront Sweden Ab
Priority to SE0203190A priority Critical patent/SE525800C2/sv
Publication of SE0203190D0 publication Critical patent/SE0203190D0/sv
Priority to US10/314,003 priority patent/US7251245B2/en
Priority to ES03759156T priority patent/ES2348283T3/es
Priority to CA002502869A priority patent/CA2502869A1/en
Priority to EP03759158A priority patent/EP1557012A1/en
Priority to PCT/SE2003/001684 priority patent/WO2004040864A1/en
Priority to CNA2003801021147A priority patent/CN1708959A/zh
Priority to KR1020057007656A priority patent/KR20050063799A/ko
Priority to AU2003274881A priority patent/AU2003274881A1/en
Priority to RU2005116257/09A priority patent/RU2005116257A/ru
Priority to JP2004548218A priority patent/JP4384048B2/ja
Publication of SE0203190L publication Critical patent/SE0203190L/sv
Publication of SE525800C2 publication Critical patent/SE525800C2/sv
Priority to NO20052316A priority patent/NO20052316L/no

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

25 30 35 525 800 2 hårdvaruarkitekturer som leder till begränsade accelerationsmöj ligheter.
Sammanfattning av uppfinningen Föreliggande uppfinning syfiar till att förbättra existerande flödesöverfóring genom hårdvara genom att införa en hierarkisk flödesöverföringsomkoppling (l-IFF; Hierarchical Flow Forwarding), vilket är arbetsnamnet för föreliggande uppfinning.
För att uppnå dess mål och syften föreslås genom föreliggande uppfinning en router eller växel i ett bredbandsnät som arbetar genom paketflödesöverföring. Härvidlag innefattar den ett mjukvaruflöde omkopplat genom en central processorenhet (CPU; Central Processor Unit) och ett genom hårdvara omkopplat accelererat flöde. Den innefattar dessutom: hårdvaruorgan och mjukvaruorgan för flödesöverföringsomkoppling av paket genom en utträdesport hos en router; ett minnesorgan för lagring av en tabell för hårdvaruflödesöverföring med begränsad lagringskapacitet, vilket är förbundet med nämnda hårdvaruorgan; ett minnesorgan för lagring av en tabell för överföring av mjukvaruflöde förbundet med ett centralprocessororgan och som arbetar genom en lagringskapacitet som är relaterad till en central processor-enhet; en ingångslistning i en ömsesidig tabell för nämnda minnesorgan, med en uppdelning av den ömsesidiga tabellen i minst en hårdvamtilldelníngsdel, en mellanliggande tilldelningsdel och en mjukvarutilldelningsdel för minnesutrymme i nämnda minnesorgan för flödesöverföring genom ingångar, varvid mellandelen tilldelar tillgängligt minnesutrymme i båda närrmda rninnesorgan allt efter en förutbestämd tilldelning av minnesutryrnme; organ för granskning av nämnda ömsesidiga tabell på en regelbasis som bestäms av en tidsperiod, och sortering av värdet för antalet paket per tidsperiod, ifyllning av närrmda ömsesidiga tabell med de högsta värdena i hårdvarudelen, mellanvärdena i mellandelen och de lägsta värdena i mjukvarudelen, varvid de paketflöden som är kvalificerade för ett mellanflöde under en föregående granskning tillåts stanna kvar i sitt minnesutrymme om de fortfarande är kvalificerade för mellandelen, vilket på så sätt förhindrar utbyte mellan minnesutrymmestilldelningar i mellandelen hos tabellen och sålunda minskar centralprocessorenhetens arbetsbelastning; och organ för lagring av nämnda ingångslistningar i den ömsesidiga tabellen i nämnda minnesorgan för att lagra en tabell för hårdvaruflödesöverföring respektive i nämnda minnesorgan för lagring av en tabell för mjukvaruflödesöverföring.
Vid en utföringsform är den ömsesidiga tabellen försedd med en nedre skippa del som tilldelas upptagna minnesutrymmen vilka skall avlägsnas från tabellen.
En annan utföringsform innefattar att förutbestämda specifika flöden vilka alltid skall vara hårdvaruaccelererade, genom systemkonfigurationen eller av annat skäl, ställs in för att passa ihop med paketrubrikinfonnationen för att identifieras som sådana.
Ytterligare en annan utföringsform innefattar att varje flödesingång kontrolleras mot 10 15 20 25 30 35 525 800 3 en systemdirigeringstabell för att bestämma om en ny väg till destinationspunkterna på annat ställe än den väg som användes när flödesingängen skapades behövs.
En annan utföringsforrn innefattar att om vägen till destinationen har ändrats flushas flödesingången för att garantera att den lärs in på nytt när nästa paket i flödet uppträder, vilket gör det möjligt för paketfilter, omprioriterings- eller liknande handlingar att hanteras korrekt för en ny paketväg.
Föreliggande uppfinning avser även ett förfarande för en router inom ett bredbandsnät som centralprocessorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelererat flöde. verkar genom paketflödesöverföring, med ett genom en Det innefattar följande steg : anordnande av hårdvaruorgan och mjukvamorgan för flödesöverföringsomkoppling av paket genom en utträdesport hos en router; anordnande av ett minnesorgan för lagring av en tabell för hårdvaruflödesöverföring med begränsad lagringskapacitet, vilket är förbundet med närrmda hårdvaruorgan; anordnande av ett minnesorgan för lagring av en tabell för överföring av mjukvaruflöde förbundet med ett centralprocessororgan och som arbetar genom en lagringskapacitet som är relaterad till en central processorenhet; anordnande av en ingångslistning i en ömsesidig tabell för närrmda minnesorgan, med en uppdelning av den ömsesidiga tabellen i minst en hårdvarutilldelningsdel, en mellanliggande tilldelningsdel och en mjukvarutilldelningsdel för minnesutrymme i nänmda minnesorgan för flödesöverföring genom ingångar, varvid mellandelen tilldelar tillgängligt minnesutrymme i båda nämnda rninnesorgan allt efter en förutbestämd tilldelning av minnesutrymme; granskning av nämnda ömsesidiga tabell på en regelbasis som bestäms av en tidsperiod, och sortering av värdet för antalet paket per tidsperiod, ifyllning av nämnda ömsesidiga tabell med de högsta värdena i hårdvarudelen, mellanvärdena i mellandelen och de lägsta värdena i mjukvamdelen, varvid de paketflöden som är kvalíficerade för ett mellanflöde under en föregående granskning tillåts starma kvar i sitt minnesutrymme om de fortfarande är kvalíficerade för mellandelen, vilket på så sätt förhindrar utbyte mellan minnesutryrmnestilldelningar i mellandelen hos tabellen och sålunda minskar centralprocessorenhetens arbetsbelastning; och lagring av nämnda ingångslistningar i den ömsesidiga tabellen i närrmda minnesorgan för att lagra en tabell för hårdvaruflödesöverföring respektive i nämnda minnesorgan för lagring av en tabell för mjukvaruflödesöverföring.
Andra utföringsformer av förfarandet enligt föreliggande uppfinning definieras i de bifogade underkraven avseende förfarandet, vilka motsvarar de beskrivna utföringsformema av routem eller växeln.
Kortfattad beskrivning av figurerna 10 15 20 25 30 35 525 800 4 I den följande beskrivningen hänvisas till de bifogade figurerna för en bättre förståelse av föreliggande uppfinning med dess givna exempel och utföringsfonner, där: Figur 1 schematiskt illustrerar en hårdvaruväg för flödesöverföring och en CPU- mjukvaruväg enligt föreliggande uppfinning; och Figur 2 schematiskt illustrerar en flödesöverföringstabell som är uppdelad enligt föreliggande uppfinning.
Detaljerad beskrivning av föredragna utfóringsformer För att bättre kunna förstå konceptet med en hierarkisk flödesöverföringsomkoppling (HFF) enligt föreliggande uppfinning är det nödvändigt att förstå grunderna för flödesomkoppling.
Inom TCP/IP-kommunikation sker en kommunikation i flöden. Ett flöde är en sekvens av relaterade paket som strömmar genom ett nät i en riktning mellan två kommunicerande värdar. Uttrycket "relaterad" är ett nyckelord, dvs att överförda paket är relaterade till varandra.
Den vanligaste formen av kommunikation med IP är användning av transportskiktprotokollen som kallas användardataprograrnprotokoll (UDP; User Data Protocol) inom sammankoppling av öppna system (OSI; Open Systems Interconnection) eller överföringsstyrprotokoll (TCP; Transmission Control Protocol). Båda dessa protokoll innehåller unika identifierare vilka tjänar som portnunnner, som identifierar kommunikationsmjukvaran i var och en av de båda kommunicerande värdama. Tillsammans med källans och destinationens IP-adress och protokollnummer som återfinns i IP-huvudet och käll- och destinationsporten i UDP-protokollet eller TCP-huvudet erhålls en unik tuple av identifierare för varje särskild kommunikation mellan två värdar. Även om de båda värdama har två samtidiga kommunikationer med samma protokoll skiljer åtminstone käll- eller destinationsporten.
Denna information kan användas för att programmera överföringshårdvara som t ex en ASIC-krets eller en CAM-tabell som används av ASIC-kretsar eller nätprocessorer för att åstadkomma paketöverföring. Basidén är att när som helst när ett paket kommer in kontrolleras om en flödesinrnatriing bestående av fem tupler föreligger för paketet och om så är fallet tillåta att hårdvara överför paketet utan att behandla det i CPU. Om ingen flödesinmatning föreligger vidarebefordras paketet till CPU för vidare analys. Vid en utföringsform av föreliggande uppfinning är de fem tuplema IP-src-porten (källa), IP-dst- porten (destination), typen av protokoll såsom TCP, UDP, ICMP etc, protokoll-src-porten och protokoll-dst-porten. kan bestå av debiteringsändamål och/eller statistiska ändamål, bestämning av tillstånd, brandväggfilter och En analys insamlingen av bokföringsinformation för paketinspektion, omklassificering av pakettypen, prioritering av paket eller andra operationer.
Så snart som CPU-enheten har bestämt hur paketet skall behandlas kan den omprogrammera 10 15 20 25 30 35 / ï-VL- m5 eller icke omprogramrnera överföringshårdvaran för att den skall acceptera paketet. I mer kraftfulla system kan detta innefatta andra automatiska handlingar genom hårdvaran på efterföljande paket i flödet.
Ett viktigt resultat är att i de flesta fall behöver endast det första paketet i varje sekvens av paket tillhörande samma flöde inspekteras av CPU-enheten. Alla andra paket hanteras av hårdvaran som på så sätt sparar in på värdefulla processcykler i CPU-enheten för andra uppdrag. Detta resulterar inte bara i ledningshastighetsegenskaper vid redovisning, filtrering och överföring, utan även i att mindre kapabla hårdvarulösningar är i stånd till höghastighetskommunikation.
I ett system med begränsade hårdvaruaccelererade överföringsresurser kan en fullständig flödesomkoppling inte uppnås, helt enkelt beroende på att det inte finns tillräckligt utrymme tillgängligt i hårdvaran för flödesinmatningar. Eftersom hårdvaruaccelerationen av flödena uppvisar påtagliga prestandafördelar jämfört med CPU-överförda paket kan en brist på hårdvaruresurser leda till prestandaproblem eller begränsa användbarheten av hårdvaruarkitekturer beroende på begränsade accelerationsmöj ligheter.
För att ett system skall kurma fungera på ett effektivt sätt i en nätmiljö bör de mest aktiva flödena, dvs flödena med den största trafikmängden, prioriteras in i hårdvaran, medan andra flöden eller flöden med mindre trafikvolym eller betydelse, som t ex lågprioriterade sådana, bör hanteras av CPU-enheten.
Ett baskoncept vid HFF enligt föreliggande uppfinning är att låta CPU-enheten överföra alla paket och använda hårdvaran som en accelerator.
Lösningen på problemet med ledningshastighetöverföring i router med begränsade hårvaruöverföringsingångar i omkopplande ASIC-kretsar enligt föreliggande uppfinning är en anpassad version av den klassiska lP-v4 flödesomkopplingsalgoritmen för ett femtuplerflerskikt, vilken omkoppling här kallas hierarkisk flödesöverföringsomkoppling (I-IFF).
Figur 1 illustrerar schematiskt en hårdvaruväg 10 för flödesöverföring och en CPU- mjukvaruväg 12 i en router eller växel enligt föreliggande uppfmning. Enligt vad som återges i figur 1 går ett paket (P) in i systemet vid START. Paketet P tas emot av hårdvaran och når en beslutspunkt A. I punkt A konsulteras en i figuren ej återgiven hårdvaruöverföringstabell för flödesingångar för P. Om ingen ingång föreligger sker en standardöverföring av paketet till CPU-enheten 1. Vid CPU-enheten 1 konsulteras en mjukvaruflödescashe för att fastställa huruvida paketet utgör en del av det CPU-omkopplade flödet. Om en flödesingång föreligger överförs paketet till CPU-enheten 2. Om ingen mjukvaruflödesingång för paketet föreligger bestäms paketet som det första paketet i ett nytt flöde. Paketet P måste passa ihop med alla konfigurerade filter eller varje annan policy för att fastställa om paketet skall överföras. Om paketet skall överföras skapas en lämplig mjukvaruflödesingång innan paketet överförs till CPU-enheten 2. Annars förkastas paketet.
I CPU-enheten 2 förbereds paketet P för en utträdeskö (utgångskö). Varje lärnplig 10 15 20 25 30 35 525 800 6 rubrikhantering utförs och paketet sätts i kö vid utträdesporten. Paketrälcrraren för flödet i flödestabellen inkrementeras. Om däremot en hårdvaruöverföringsingång föreligger i tabellen överförs paketet till hårdvara 1 (HW 1). I HW 1 kan paketet påverkas av varjehanda hårdvaruñinktioner såsom filtrering, prioritering, omfargriing, dirigeringstabell/CAM, uppslagningstabell, rubrikhantering eller andra aktiviteter innan det överförs till hårdvara 2 (HW 2). I HW 2 analyseras paketet för flödesräknaruppdatering i hårdvaruflödestabellen innan paketet placeras i kö i utträdesporten. Paketräknama för flödet i flödestabellen inkrernenteras.
Omfärgriing liknar prioritering och är en teknisk tenn för ändring av paketens prioritetsvärden.
Vid B kör hårdvaran portarnas utträdesköer och överför alla väntande paket.
Sekvensen av handlingar såsom ratbegränsning, paketfiltrering, redovisning, omfärgiiing, prioritering etc kan bero på den hårdvaruarkitektur som används, men detta förändrar inte basprincipen för algoritrnen som går ut på att tillåta flöden att röra sig mellan hårdvaru- och mjukvaruscashe beroende på den aktuella trafikförhållandet hos flödet.
En router eller växel i ett bredbandsnät enligt föreliggande uppfinning är försedd med ett CPU-omkoppat mjukvamflöde 12 och ett hårdvaruomkopplat accelererat flöde 10.
Den innefattar hårdvarumedel och mjukvarumedel för .flödesöverföringsomkoppling av paket genom routems utträdesport. Hårdvaruorganen innefattar ett anslutet minnesorgan för att lagra en hårdvaruöverföringstabell med begränsad lagringskapacitet. Ett minnesorgan för lagring av en mjukvaruöverföringstabell är anslutet till CPU-organet.
Nu hänvisas till figur 2 schematiskt illustrerar en ömsesidig flödesöverföringstabell 20, eller flödescashe, vilken är uppdelad enligt föreliggande uppfinning. Vid denna utföringsform av föreliggande uppfinning upprätthålls en flödestabell 20 som i figur 2, vilken håller rätt på flödesingångar för hårdvara och mjukvara. Den övre delen av tabellen är utforrnad för hårdvaruflödesvägar 10 genom hårdvaruflöde tabelldelen för hårdvaruflöde 22. Denna del följs av en tabelldel för mjukvamflöde 26 och en skippa zondel 28.
S011! I enlighet med föreliggande uppfinning skapas en mellandel 24 hos tabellen 20, vilken visas i form av en streckad rektangel i figur 2. Denna mellandel överlappar både hårdvarudelen 22 och mjukvarudelen 26 i tabellen 20. Den överlappade hårdvarudelen 22a betecknar hårdvaruminnesingångar för flödesöverföring och den överlappade mjukvarudelen 26a betecknar mjukvarurninnesingångar för flödesöverföring. Enligt vad som framgår av figur 2 uppvisar introduktionen till mellandelen 24 en ömsesidig del 22a och 26a i förhållande till minnesutrymmestilldelning för hårdvaru- och mjukvaruflödesöverföring.
Skippa delen 28 används för att ta bort ingångar som inte representerar någon pågående trafik. Om ingångar-na i skippa delen 28 inte skulle avlägsnas skulle flödestabellen 20 öka oändligt eftersom antalet möjliga flödeskombinationer är samtliga möjliga IP-adresser till alla miljarder möjliga portnummerkombinationer för alla möjliga protokoll. Sålunda är det 10 15 20 25 30 35 525 800 7 tillgängliga minnesutrymmet inte tillräckligt och lagrade flöden som inte har uppvisat någon trafik under en period måste flushas ut från tabellen så att de inte allokerar hela minnet.
Eftersom föreliggande uppfinning används i system med begränsade hårdvaruresurser är hårdvaruflödets tabelldel 22, 22a inte större än vad som tillåts av den tillgängliga hårdvaran, medan mjukvaruflödets tabelldel 26, 26a kan vara flera gånger större och begränsas endast av systemprestanda hos en använd router eller växel.
I tabell 20 tilldelas CPU-kontrollerat minnesutryrnme 28, 26, 26a som ett RAM- minne från tabellens botten till den heldragna pilen som pekar på kanten mellan minnesutrymme mellan hårdvara och mjukvara, vilken kant ligger inom mellandelen 24 och som delar upp mellandelen 24 i två minnesbetecknande delar 22a och 26a av olika typ, varvid en del 26a betecknar mjukvaruminnesutrymmet och den andra delen 22a betecknar hårdvaruminnesutrymmet. I figur 2 även riktningen hos det hårdvarurninnesbetecknande utrymmet 22 med en streckad pil som pekar uppåt och bokstävema HW, och en streckad pil som pekar nedåt och bokstäverna SW anger det mjukvanitilldelade utrymmet 26 i figur 2 för tabellen 20.
Det hårdvarutilldelade minnesutrymmet 22, 22a kan t ex vara av CAM-typ och det mjukvarutilldelade minnesutrymmet 26, 26a av RAM-typ. Sålunda framgår av figur 2 att mellandelen 4 är tilldelad både till det hårdvarutilldelade minnesutryrnmet 22a och det mjukvarutilldelade minnesutryrmnet 26a.
Det är självklart att mellandelen 24 bör vara utformad så att routern presterar på anges bästa möjliga sätt allt efter trafiksituationen för flödesöverföring, varvid procenttalet mellan de hårdvaru- och mjukvarutílldelade minnesutrymmena 22a, 26a inom mellandelen kan skilja sig åt från en tillämpning till en arman.
Om t ex en rriinnestabell för hårdvaruacceleration i t ex en ASIC för flödesöverföring kan upprätthålla 200 ingångar kan hela flödestabellminnet vara 5000 ingångar stort.
Mellandelens 24 storlek liksom även skippa delensens 28 storlek beror båda på det aktuella tillståndet hos routems system. För att maximera prestanda bör den hårdvarutilldelade flödestabellen 22, 22a innehålla de mest aktiva flödena som på så sätt törflyttar den mest intensiva paketövertöiingen till hårdvaran HW 1, HW 2. Detta uppnås genom att undersöka den existerande ömsesidiga flödestabellen 20 vid regelbundna intervall, t ex en gång per sekund eller någon annan lämplig tidsperiod, och att sortera tabellen 20 baserat på antalet paket per sekund, eller någon annan tidsperiod som bestäms i varje flöde.
Vid föreliggande uppfinning tillämpas organ för granskning av den ömsesidiga tabellen 20 på en regelbunden basis som bestäms av en tidsperiod. En sortering efter värdet för antalet paket per tidsperiod åstadkoms och tabellen 20 fylls med de högsta värdena i hårdvarudelen 22, 22a. Av figur 2 framgår att en del av mellanvärdena i mellandelen 24 även tilldelas hårdvaruminnesutrymme, varvid en annan del av mellandelen tilldelas mjukvaruminnesutrymmet 26a och de lägsta värdena tilldelas mjukvaruminnesutrymmet under mjukvarudelen 26a i mellandelen 24. 10 15 20 25 30 35 525 800 8 Paketflöden som kvalificerades för flödet i mellandelen 24 under en tidigare granskning enligt föreliggande uppfinning kvarstår i sitt tilldelade minnesutrymme om de fortfarande är kvalificerade för mellandelen 24, vilket gör att det går att undvika utbyten mellan minnesutrymmestilldelningar 22a och 26a inne i mellandelen 24 av tabellen 20, vilket på så sätt minskar CPU-enhetens arbetsbelastning. Detta betyder bl a att det kommer att finnas minnesutrymmestilldelningar för paket som överförs i den mjukvarutilldelade delen 26a, i mellandelen 24, vilka uppvisar ett högre värde för paketöverföring än de som tilldelats hårdvaruminnesutrymmet 22a, men eftersom de fortfarande är kvalificerade som mellanvärden kommer de att kvarstå i den mjukvarutilldelade minnesdelen 26a. Detta tillvägagångssätt vid föreliggande uppfinning minskar arbetsbelastningen för CPU-enheten i en router eller växel, utan att behöva förflytta paketflödestilldelningar mellan minnestilldelningutrylnmena 22a och 26a i mellandelen 24 i tabell 20.
Efter granskning i tabellen lagras ingångslistoma i den ömsesidiga tabellen 20 i lagringsorganet för att lagra en tabell för hårdvaruflödesöverföring såsom CAM och rninnesorganet för lagring av en tabell för mjukvarutflödesöverföring såsom RAM, respektive, genom organ för lagring av dessa.
De mest aktiva flödena sorteras således i toppen av tabellen 20 medan de minst aktiva flödena sorteras vid botten av tabellen. De ingångar i den sorterade tabellen som fyller ut de luckor/platser som finns tillgängliga för hårdvaruflödesdelen i tabell 22 kommer att installeras i hårdvaran. Flöden som passar ihop med luckor som betecknats som flöden i mellandelen 24 ändras inte. Om de finns i hårdvarudelen 22a förblir de i hårdvaran, Om de är i mjukvarudelen 26a förblir de i mjukvaran. Detta minimerar omkastning/utbyte av ingångar som förflyttas fram och tillbaka mellan hårdvaru- och mjukvaruvägar enligt ñgur 1.
Flöden under mellandelen installeras i en mjukvaruflödesväg hos tabellen 20 och slutligen kommer botteningångama som finns i skippa delenen 28 att avlägsnas fiån routern.
Dessa ingångar representerar flöden utan aktivitet. flöden alltid skulle systemkonfigurationen eller något armat skäl, anpassas styrhuvudsinformationen för Om specifika vara hårdvaruaccelererade, genom identifiering som accelererad. För att kunna upprätta ett pennanent hårdvaruflöde för specifika paketflöden innefattar den definiering av fälten, t ex binära eller hexadecimala, i paketrubriken som skall anpassas för upprättandet av ett pennanent flöde. De använda fälten kan t ex utgöras av protokollkäll-/destinationsadresser, specifika protokollväxelindikatorer etc.
Varje flödesingång kontrolleras även mot systemdirigeringstabellen för att fastställa om en ny väg till destinationspunktema existerar än den väg som användes när flödesingången skapades. Om vägen till destinationen har ändrats flushas flödesingången för att garantera att den lärs in på nytt när nästa paket i flödet uppträder. Detta gör det möjligt för alla paketfilter, omprioriterings- eller liknande handlingar att hanteras korrekt för den nya paketvägen. 525 800 9 Det förstås att de organ som används i föreliggande uppfinning är, om detta inte specifikt har omnämnts, antingen mjukvaruorgan, hårdvaruorgan eller en kombination av dessa.
Ytterligare utföringsforrner av föreliggande uppfinning kommer att fiamgå av de bifogade patentkraven.

Claims (10)

10 15 20 25 30 35 525 800 10 Patentkrav
1. Router eller växel i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde (12) och ett hårdvaruomkopplat accelererat flöde (10), k ä n n e t e c k n a d a v att den innefattar: hårdvaruorgan (HW 1, HW 2) och mjukvaruorgan för flödesöverföringsomkoppling (10, 12) av paket genom en utträdesport hos en router; ett minnesorgan för lagring av en tabell för härdvaruflödesöverföring med begränsad lagringskapacitet, vilket är förbundet med nämnda hårdvaruorgan (HW l, HW 2); ett minnesorgan för lagring av en tabell för överföring av mjukvaruflöde förbundet med ett centralprocessororgan (CPU 1, CPU 2) och som arbetar genom en lagringskapacitet som är relaterad till en central processorenhet; en ingångslistning i en ömsesidig tabell (20) för nämnda minnesorgan, med en uppdelning av den ömsesidiga tabellen i minst en hårdvarutilldelningsdel (22), en mellanliggande tilldelningsdel (24) och en mjukvarutilldelningsdel (26) för minnesutryrnme i nämnda minnesorgan för flödesöverföring genom ingångar, varvid mellandelen (24) tilldelar tillgängligt minnesutryrnme (22a, 26a) i båda nämnda minnesorgan allt efter en förutbestämd tilldelning av minnesutrymme; organ för granskning av närrmda ömsesidiga tabell (20) på en regelbasis som bestäms av en tidsperiod, och sortering av värdet för antalet paket per tidsperiod, ifyllning av nämnda ömsesidiga tabell (20) med de högsta värdena i hârdvarudelen (22, 22a), mellanvärdena i mellandelen (24, 22a, 26a) och de lägsta värdena i mjukvarudelen (26), varvid de paketflöden som är kvalificerade för ett mellanflöde (24) under en föregående granskning tillåts stanna kvar i sitt minnesutrymme om de fortfarande är kvalificerade för mellandelen (24), vilket på så sätt förhindrar utbyte mellan minnesutryrmnestilldelningar (22a, 26a) i mellandelen (24) hos tabellen (20) och sålunda minskar centralprocessorenhetens arbetsbelastning; och organ för lagring av nämnda ingångslistningar i den ömsesidiga tabellen (20) i nänmda minnesorgan för att lagra en tabell för hårdvaruflödesöverföring respektive i nämnda minnesorgan för lagring av en tabell för mjukvaruflödesöverföring.
2. Router enligt patentkrav 1, k ä n n e t e c k n a d a v att nämnda ömsesidiga tabell är försedd med en nedre skippa del (28) som tilldelas upptagna minnesutrymmen vilka skall avlägsnas från tabellen (20).
3. Router enligt patentkrav l eller 2, k ä n n e t e c k n a d a v att förutbestämda specifika flöden vilka alltid skall (10), systemkonfigurationen eller av annat ihop med vara hårdvamaccelererade skäl, ställs paketrubrikinformationen för att identifieras som sådana. genom in för att passa
4. Router enligt något av patentkraven 1 - 3, k ä n n e t e c k n a d a V att varje flödesingång kontrolleras mot en systemdirigeringstabell för att bestämma om en ny väg till destinationspunktema på annat ställe än den väg som användes när flödesingången skapades behövs. 10 15 20 25 30 35 525 800 ll
5. Router enligt patentkrav 4, k ä n n e t e c k n a d a v att om vägen till destinationen har ändrats flushas flödesingången för att garantera att den lärs in på nytt när nästa paket i flödet uppträder, vilket gör det möjligt för paketfilter, omprioriterings- eller liknande handlingar att hanteras korrekt för en ny paketväg.
6. Förfarande för en router inom ett bredbandsnät som verkar genom paketflödesöverföring, med ett genom en centralprocessorenhet omkopplat mjukvaruflöde (12) och ett hårdvaruomkopplat accelererat flöde (10), k ä n n e t e c k n at a v följande steg: anordnande av hårdvamorgan (HW 1, HW 2) och mjukvaruorgan för flödesöverföringsomkoppling (10, 12) av paket genom en utträdesport hos en router; anordnande av ett minnesorgan för lagring av en tabell för hårdvaruflödesöverföring med begränsad lagringskapacitet, vilket är förbundet med nämnda hårdvamorgan (HW 1, HW 2); anordnande av ett minnesorgan för lagring av en tabell för överföring av mjukvaruflöde förbundet med ett centralprocessororgan (CPU 1, CPU 2) och som arbetar genom en lagringskapacitet som är relaterad till en central processorenhet; anordnande av en ingångslistning i en ömsesidig tabell (20) för nämnda minnesorgan, med en uppdelning ömsesidiga tabellen i minst en hårdvarutilldelningsdel (22), en tilldelningsdel (24) och en mjukvanitilldelningsdel (26) för minnesutrymme i nänmda minnesorgan för flödesöverföring genom ingångar, varvid mellandelen (24) tilldelar tillgängligt niinnesutryrnme (22a, 26a) i båda nämnda minnesorgan allt efter en förutbestämd tilldelning av minnesutrymme; av den mellanliggande granskning av nämnda ömsesidiga tabell (20) på en regelbasis som bestäms av en tidsperiod, och sortering av värdet för antalet paket per tidsperiod, ifyllning av nämnda ömsesidiga tabell (20) med de högsta värdena i hårdvaiudelen (22, 22a), mellanvärdena i mellandelen (24, 22a, 26a) och de lägsta värdena i mjukvarudelen (26), varvid de paketflöden som är kvalificerade för ett mellanflöde (24) under en föregående granskning tillåts stanna kvar i sitt minnesutryrnme om de fortfarande är kvalificerade för mellandelen (24), vilket på så sätt förhindrar utbyte mellan minnesutrymmestilldelningar (22a, 26a) i mellandelen (24) hos tabellen (20) och sålunda minskar centralprocessorenhetens arbetsbelastning; och lagring av nämnda ingångslistningar i den ömsesidiga tabellen (20) i nämnda minnesorgan för att lagra en tabell för hårdvaruflödesöverföring respektive i nämnda minnesorgan för lagring av en tabell för mjukvaruflödesöverföring.
7. Förfarande enligt patentkrav 6, k ä n n e t e c k n at a v att nämnda ömsesidiga tabell är försedd med en nedre skippa del (28) som betecknar upptagna minnesutrymmen som skall avlägsnas från tabellen (20).
8. Förfarande enligt patentkrav 6 eller 7, kännete c knat av att förutbestämda specifika flöden vilka alltid skall vara hårdvaruaccelererade (10), genom av annat skäl, ställs in för ihop med systemkonfigurationen eller att passa 525 890 12 paketrubrikinformationen för att identifieras som sådana.
9. Förfarande enligt något av patentkraven 6 - 8, k ä n n e t e c k n at a v att varje flödesingång kontrolleras mot en systemdirigeringstabell för att bestämma om en ny väg till destinationspunktema på annat ställe än den väg som användes när flödesingången skapades behövs.
10. Förfarande enligt patentkrav 9, k ä n n e t e c k n a t destinationen har ändrats flushas flödesingången för att garantera att den lärs in på nytt när a v att om vägen till nästa paket i flödet uppträder, vilket gör det möjligt för paketfilter, omprioriterings- eller liknande handlingar att hanteras korrekt för en ny paketväg.
SE0203190A 2002-10-30 2002-10-30 Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde SE525800C2 (sv)

Priority Applications (12)

Application Number Priority Date Filing Date Title
SE0203190A SE525800C2 (sv) 2002-10-30 2002-10-30 Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde
US10/314,003 US7251245B2 (en) 2002-10-30 2002-12-06 Mutual table for enhancing software and hardware switched packet flow forwarding
ES03759156T ES2348283T3 (es) 2002-10-30 2003-10-28 Configuraciones de acoplamiento de fibra óptica para una estación base de radio principal remota y una estación base de radio híbrida.
JP2004548218A JP4384048B2 (ja) 2002-10-30 2003-10-30 ソフトウェアおよびハードウェア・パケット・フロー転送を行うルータまたはスイッチ、およびその方法
CNA2003801021147A CN1708959A (zh) 2002-10-30 2003-10-30 软件和硬件包流转发的方法、路由器或交换机
EP03759158A EP1557012A1 (en) 2002-10-30 2003-10-30 Method, router or switch for software and hardware packet flow forwarding
PCT/SE2003/001684 WO2004040864A1 (en) 2002-10-30 2003-10-30 Method, router or switch for software and hardware packet flow forwarding
CA002502869A CA2502869A1 (en) 2002-10-30 2003-10-30 Method, router or switch for software and hardware packet flow forwarding
KR1020057007656A KR20050063799A (ko) 2002-10-30 2003-10-30 소프트웨어 및 하드웨어 패킷 플로우 포워딩을 위한 방법,라우터 또는 스위치
AU2003274881A AU2003274881A1 (en) 2002-10-30 2003-10-30 Method, router or switch for software and hardware packet flow forwarding
RU2005116257/09A RU2005116257A (ru) 2002-10-30 2003-10-30 Способ, маршрутизатор или коммутатор для продвижения пакетного потока программными средствами и аппаратными средствами
NO20052316A NO20052316L (no) 2002-10-30 2005-05-11 Fremgangsmate, ruter eller svitsj for programvare- og hardwarepakkestromsfremsending.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0203190A SE525800C2 (sv) 2002-10-30 2002-10-30 Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde

Publications (3)

Publication Number Publication Date
SE0203190D0 SE0203190D0 (sv) 2002-10-30
SE0203190L SE0203190L (sv) 2004-05-01
SE525800C2 true SE525800C2 (sv) 2005-04-26

Family

ID=20289401

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0203190A SE525800C2 (sv) 2002-10-30 2002-10-30 Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde

Country Status (12)

Country Link
US (1) US7251245B2 (sv)
EP (1) EP1557012A1 (sv)
JP (1) JP4384048B2 (sv)
KR (1) KR20050063799A (sv)
CN (1) CN1708959A (sv)
AU (1) AU2003274881A1 (sv)
CA (1) CA2502869A1 (sv)
ES (1) ES2348283T3 (sv)
NO (1) NO20052316L (sv)
RU (1) RU2005116257A (sv)
SE (1) SE525800C2 (sv)
WO (1) WO2004040864A1 (sv)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005022827A2 (en) * 2003-08-29 2005-03-10 Infineon Technologies Ag A data switch, and communication system using the data switch
CN100391164C (zh) * 2005-12-31 2008-05-28 华为技术有限公司 一种实现转发不间断的内存告警处理方法及路由器
US8547843B2 (en) * 2006-01-20 2013-10-01 Saisei Networks Pte Ltd System, method, and computer program product for controlling output port utilization
US20070171825A1 (en) * 2006-01-20 2007-07-26 Anagran, Inc. System, method, and computer program product for IP flow routing
JP4912075B2 (ja) * 2006-08-11 2012-04-04 パナソニック株式会社 復号装置
US8619766B2 (en) * 2007-03-02 2013-12-31 At&T Intellectual Property Ii, L.P. Method and apparatus for classifying packets
US8327014B2 (en) * 2008-06-30 2012-12-04 Cisco Technology, Inc. Multi-layer hardware-based service acceleration (MHSA)
CN101442494B (zh) * 2008-12-16 2011-06-22 中兴通讯股份有限公司 一种实现快速重路由的方法
CN101800707B (zh) 2010-04-22 2011-12-28 华为技术有限公司 建立流转发表项的方法及数据通信设备
DE102010020446B4 (de) 2010-05-12 2012-12-06 Wago Verwaltungsgesellschaft Mbh Automatisierungsgerät und Verfahren zur beschleunigten Verarbeitung von selektierten Prozessdaten
CN103168453B (zh) * 2010-10-15 2016-08-03 日本电气株式会社 交换机系统和数据转发方法
JP5717057B2 (ja) * 2011-01-17 2015-05-13 日本電気株式会社 ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
US20140016649A1 (en) * 2011-03-31 2014-01-16 Tejas Networks Limited Optimizing forward database for a bursty network traffic
US8886827B2 (en) * 2012-02-13 2014-11-11 Juniper Networks, Inc. Flow cache mechanism for performing packet flow lookups in a network device
US9253019B1 (en) 2012-03-09 2016-02-02 Juniper Networks, Inc. Fault tolerance for authentication, authorization, and accounting (AAA) functionality
WO2015030503A1 (ko) * 2013-08-29 2015-03-05 주식회사 케이티 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치
KR101569588B1 (ko) 2013-08-29 2015-11-16 주식회사 케이티 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치
US9374308B2 (en) 2013-08-30 2016-06-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow switch mode transition processing
US9313131B2 (en) * 2013-09-06 2016-04-12 Stmicroelectronics, Inc. Hardware implemented ethernet multiple tuple filter system and method
KR101491699B1 (ko) * 2013-11-12 2015-02-11 아토리서치(주) 소프트웨어 정의 네트워킹에서 제어 장치 및 그 동작 방법
US20150195183A1 (en) * 2014-01-06 2015-07-09 Electronics And Telecommunications Research Institute Method and apparatus for managing flow table
KR101818082B1 (ko) * 2014-01-06 2018-02-21 한국전자통신연구원 플로우 테이블 관리 방법 및 그 장치
KR101501231B1 (ko) * 2014-02-07 2015-03-12 주식회사 파이오링크 오픈 플로우(OpenFlow)를 이용하여 패킷을 처리하기 위한 방법, 오픈 플로우 스위치 및 컴퓨터 판독 가능한 기록 매체
CN105791141B (zh) * 2014-12-23 2019-02-12 华为技术有限公司 一种流表置换方法及装置
JP2016163085A (ja) * 2015-02-27 2016-09-05 アラクサラネットワークス株式会社 通信装置
US9930010B2 (en) * 2015-04-06 2018-03-27 Nicira, Inc. Security agent for distributed network security system
CN107196776A (zh) * 2016-03-14 2017-09-22 中兴通讯股份有限公司 一种报文转发的方法和装置
DE102017004548A1 (de) 2016-12-23 2018-06-28 Xenios Ag Kanüle mit einem Draht, der längs der Kanüle verläuft
CN113132262B (zh) * 2020-01-15 2024-05-03 阿里巴巴集团控股有限公司 一种数据流处理及分类方法、装置和系统
CN111787435A (zh) * 2020-06-12 2020-10-16 芯河半导体科技(无锡)有限公司 一种基于gpon路由器的网络加速系统
CN111988238B (zh) * 2020-08-18 2022-02-22 新华三大数据技术有限公司 一种报文转发方法及装置
US11611494B2 (en) * 2021-05-07 2023-03-21 Arista Networks, Inc. Systems and methods for tracking and exporting flows in software with augmented processing in hardware

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2989263B2 (ja) * 1989-03-31 1999-12-13 キアッパ,ジェイ.ノエル 高速データパケットスイッチング回路および方法
US5566170A (en) * 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US6810427B1 (en) * 1999-04-23 2004-10-26 Nortel Networks Limited Router table manager
US6657955B1 (en) * 1999-05-27 2003-12-02 Alcatel Canada Inc. Buffering system employing per traffic flow accounting congestion control
US7804785B2 (en) * 2002-04-19 2010-09-28 Avaya Inc. Network system having an instructional sequence for performing packet processing and optimizing the packet processing

Also Published As

Publication number Publication date
KR20050063799A (ko) 2005-06-28
SE0203190L (sv) 2004-05-01
CA2502869A1 (en) 2004-05-13
NO20052316D0 (no) 2005-05-11
EP1557012A1 (en) 2005-07-27
JP4384048B2 (ja) 2009-12-16
JP2006505188A (ja) 2006-02-09
WO2004040864A1 (en) 2004-05-13
ES2348283T3 (es) 2010-12-02
NO20052316L (no) 2005-05-11
SE0203190D0 (sv) 2002-10-30
AU2003274881A1 (en) 2004-05-25
CN1708959A (zh) 2005-12-14
US7251245B2 (en) 2007-07-31
US20040085958A1 (en) 2004-05-06
RU2005116257A (ru) 2005-11-10

Similar Documents

Publication Publication Date Title
SE525800C2 (sv) Anordning och router i ett bredbandsnät som arbetar genom överföring av paketflöden, med ett av en central processorenhet omkopplat mjukvaruflöde och ett hårdvaruomkopplat accelerarat flöde
US11818037B2 (en) Switch device for facilitating switching in data-driven intelligent network
EP1729462B1 (en) Policy based routing using a fast filter processor
US9225643B2 (en) Lookup cluster complex
CN108833299B (zh) 一种基于可重构交换芯片架构的大规模网络数据处理方法
US6975638B1 (en) Interleaved weighted fair queuing mechanism and system
US7649885B1 (en) Network routing system for enhanced efficiency and monitoring capability
US9130819B2 (en) Method and apparatus for scheduling rule matching in a processor
US20120155466A1 (en) Method and apparatus for efficiently processing data packets in a computer network
US6473434B1 (en) Scaleable and robust solution for reducing complexity of resource identifier distribution in a large network processor-based system
CN105308920B (zh) 多播流重排序方案
US7512122B1 (en) Identifying QoS flows using indices
US20040047334A1 (en) Method of operating a crossbar switch
US20240056385A1 (en) Switch device for facilitating switching in data-driven intelligent network
Niu et al. Internet traffic management based on AMCC network processor
Matsakis LQD is 1.5-competitive for 3-port Shared-Memory Switches.
Suryavanshi et al. Round Robin based Arbitration Mechanism for Signaling Approach based Router Architecture

Legal Events

Date Code Title Description
NUG Patent has lapsed