Võrguprotsessor

**Võrguprotsessor** on integraallülitus (ingl k integrated circuit), mille põhifunktsionaalsus on suunatud võrgutoimingute töötlemisele. See kuulub rakenduspõhiste integraallülituste hulka (ingl k Application-specific integrated circuit, lühend ASIC).

Võrguprotsessorid on suures osas erinevad arvuti üldise otstarbega protsessoritest, mida kasutatakse laialdaselt erinevates elektroonikaseadmetes. Võrguseadmetes on võrguprotsessor arvuti emaplaadiprotsessori analoog.

Enamasti on võrguprotsessori puhul tegemist tarkvaraliselt programmeeritava seadmega, mida on optimeeritud andmepakettide töötlemiseksSellist funktsionaalsust on vaja anmepakette töötlevas seadmes, mis peab suutma kiiresti andmeid vastu võtta ja edastada. Võrguprotsessorid on kasutusel erinevates võrguseadmetes, näiteks ruuterites ja kommutaatorites. 

## Üldine funktsionaalsus
Andmepakettide töötlemiseks tavakasutuses on võrguprotsessoritel teatud lisaomadused või funktsioonid. Nende hulgas on:
* Mustri otsimine (ingl k pattern matching), mis on võimekus leida spetsiifilisi mustreid või kindlaid bittide ja baitide järjestusi andmepaketis.
* Arvutusjõudlus.
* Andmepakettide muutmine - võimekus muuta andmete bitivälju töötlemise käigus.
* Andmete järjekorra loomine ja haldamine - andmepaketid salvestatakse kindlasse järjekorda vastuvõtmise, töötlemise ja edastamise ajaks.
* Võtmesõnaga päring - võimekus teha kiire päring andmebaasist. Tavaliselt on võtmesõnaks mingi aadress andmepaketis ning päritakse marsruutimiseks vajalikku informatsiooni.
* Paketipuhvrite (ingl k packet buffers) kiire eraldamine ja ümberjaotamine.

## Ajalugu
Võrguprotsessoritest on arenenud integraallülitused, millel on spetsiifilised omadused. Esimesed võrguprotsessorii

Tänapäevastes telekommunikatsiooni võrkudes edastatakse informatsiooni (näiteks tekst, audio, video ja muud andmed) andmepakettidena, mis erinevad varasemtatest telekommunikatsiooni meetoditest, milles informatsioon edastati analoogsignaalidena (näiteks analoograadio, telefoniliinid). Andmepakettide töötlemise vajadusest tulenevalt on välja arendatud elektriskeemid, mis on optimeeritud selles vormis pakettandmete töötlemisele. Võrguprotsessoritel on spetsiifilised omadused või eristuv arhitektuur selleks, et võimaldada, parandada ja optimeerida andmepakettide töötlemist, mida kasutatakse informatsiooni edastamiseks arvutivõrgus.

Võrguprotsessorite arengu tulemusena on nende tänapäevased elektriskeemid keerukuselt võrreldavad emaplaadiprotsessorite omadega.

Võrguprotsessorid on kasutusel mitmetes võrguseadmetes, mille hulka kuuluvad:
* ruuterid, kommutaatorid;
* tulemüürid;
* ründe tuvastamiseks ja ennetamiseks mõeldud seadmed;
* muud võrgu haldamise seadmed.

### Ümberkonfigureeritavad vastetabelid
Ümberkonfigureeritavad vastetabeleid (ingl k reconfigurable match-tables) tutvustati esimest korda aastal 2013. Nende eesmärk on lubada kommutaatoritel suurel kiirusel andmeid töödelda, säilitades samas paindlikkuse võrguprotokolli osas, mida kasutatakse.  

## Arhitektuur
Selleks, et tulla toime suure andmehulgaga, kasutatakse mitmeid arhitektuurilisi paradigmasid.
* Protsessorite toru - igal sammul torus on protsessor, mis täidab selle sammu ülesannet.
* Paralleelarvutused mitme protsessoriga ja lõimed.

## Rakendused
Tavapärases kasutuses määrab tarkvaraprogramm rakenduse ja ülesanded, mida on vaja täita. Selle tulemusena täidab füüsiline seadeldis programmiga ette nähtud ülesandeid või osutab kindlat teenust. Mõned näited rakendustest, mis on antud programmeeritavale võrguprotsessorile on:
* Teenuse kvaliteedi (Ingl k  Quality of service lühend QoS) jõustamine - erinevat tüüpi andmepakettide tuvastamine ja nende töötlemine vastavalt eelistustele.
* Andmevoogude krüpteerimine - sisseehitatud riistvaralised krüpteerimismootorid võimaldavad protsessoril individuaalseid andmevoogusid krüpteerida.
* TCP Offload  töötlus.

## Vaata ka
* Protsessor
* Graafikaprotsessor
* Pildiprotsessor
* Mitmetuumaline protsessor

## Viited