Procesor de rețea - Network processor
Un procesor de rețea este un circuit integrat care are un set de caracteristici specific destinat domeniului aplicației de rețea .
Procesoarele de rețea sunt de obicei dispozitive programabile software și ar avea caracteristici generice similare unităților centrale de procesare de uz general care sunt utilizate în mod obișnuit în multe tipuri diferite de echipamente și produse.
Istoria dezvoltării
În rețelele moderne de telecomunicații , informațiile (voce, video, date) sunt transferate ca date de pachete (denumite pachete de comutare ), care este spre deosebire de rețelele de telecomunicații mai vechi care transportau informații ca semnale analogice, cum ar fi în rețeaua publică de telefonie cu comutare (PSTN) sau analogică. Rețele TV / Radio . Procesarea acestor pachete a dus la crearea de circuite integrate (IC) care sunt optimizate pentru a face față acestei forme de date de pachete. Procesoarele de rețea au caracteristici sau arhitecturi specifice care sunt furnizate pentru a îmbunătăți și optimiza procesarea pachetelor în cadrul acestor rețele.
Procesoarele de rețea au evoluat în circuite integrate cu funcții specifice. Această evoluție a dus la crearea unor circuite integrate mai complexe și mai flexibile. Circuitele mai noi sunt programabile și permit astfel un singur design IC hardware să îndeplinească o serie de funcții diferite, acolo unde este instalat software-ul adecvat .
Procesoarele de rețea sunt utilizate la fabricarea multor tipuri diferite de echipamente de rețea, cum ar fi:
- Routere , routere software și switch-uri ( procesoare inter-rețea )
- Firewall-uri
- Controlorii de frontieră ai sesiunii
- Dispozitive de detectare a intruziunilor
- Dispozitive de prevenire a intruziunilor
- Sisteme de monitorizare a rețelei
- Securitatea rețelei ( criptoprocesoare securizate )
Funcții generice
În rolul generic de procesor de pachete, o serie de funcții sau funcții optimizate sunt de obicei prezente într-un procesor de rețea, care includ:
- Potrivirea modelelor - capacitatea de a găsi modele specifice de biți sau octeți în cadrul pachetelor dintr-un flux de pachete.
- Căutare cheie - capacitatea de a efectua rapid o căutare în baza de date folosind o cheie (de obicei o adresă dintr-un pachet) pentru a găsi un rezultat, de obicei informații de rutare .
- Calcul
- Manipularea câmpului de biți de date - posibilitatea de a schimba anumite câmpuri de date conținute în pachet pe măsură ce acesta este procesat.
- Gestionarea cozii - pe măsură ce pachetele sunt recepționate, procesate și programate pentru a fi trimise mai departe, acestea sunt stocate în cozi.
- Procesarea controlului - micro-operațiunile de procesare a unui pachet sunt controlate la un nivel macro care implică comunicarea și orchestrarea cu alte noduri dintr-un sistem.
- Alocarea rapidă și recircularea bufferelor de pachete.
Paradigme arhitecturale
Pentru a face față unor rate de date ridicate, sunt utilizate în mod obișnuit mai multe paradigme arhitecturale:
- Conducta de procesoare - fiecare etapă a conductei constând dintr-un procesor care îndeplinește una dintre funcțiile enumerate mai sus.
- Procesare paralelă cu mai multe procesoare, incluzând adesea multithreading .
- Motoare microcodificate specializate pentru a îndeplini mai eficient sarcinile la îndemână.
- Odată cu apariția arhitecturilor multicore , procesoarele de rețea pot fi utilizate pentru prelucrarea stratului superior ( L4-L7 ).
În plus, gestionarea traficului, care este un element critic în procesarea rețelei L2 - L3 și care a fost executată de o varietate de coprocesoare, a devenit o parte integrantă a arhitecturii procesorului de rețea și o parte substanțială a ariei sale de siliciu (" imobiliar ") este dedicat managerului de trafic integrat. Procesoarele moderne de rețea sunt, de asemenea, echipate cu rețele de interconectare pe cip cu latență scăzută, de înaltă viteză, optimizate pentru schimbul de mesaje mici între nuclee (câteva cuvinte de date). Astfel de rețele pot fi utilizate ca o facilitate alternativă pentru comunicarea inter-core eficientă în afară de utilizarea standard a memoriei partajate.
Aplicații
Folosind funcția generică a procesorului de rețea, un program software implementează o aplicație pe care procesorul de rețea o execută, rezultând ca echipamentul fizic să efectueze o sarcină sau să ofere un serviciu. Unele dintre tipurile de aplicații implementate de obicei ca software care rulează pe procesoare de rețea sunt:
- Discriminarea și redirecționarea pachetelor sau cadrelor , adică funcționarea de bază a unui router sau switch .
- Aplicarea calității serviciului (QoS) - identificarea diferitelor tipuri sau clase de pachete și oferirea unui tratament preferențial pentru unele tipuri sau clase de pachete în detrimentul altor tipuri sau clase de pachete.
- Funcții de control al accesului - stabilirea dacă un anumit pachet sau un flux de pachete ar trebui să fie permis să traverseze piesa de echipament de rețea.
- Criptarea fluxurilor de date - încorporate în motoare de criptare bazate pe hardware permit criptarea fluxurilor de date individuale de către procesor.
- Procesarea descărcării TCP
Vezi si
- Procesor de conținut
- Procesor multi-core
- Procesor bazat pe cunoștințe
- Rețea activă
- Inginerie calculator
- Internet
- Lista companiilor cu procesor de rețea defunct
- Forum de procesare a rețelei
- Teoria cozilor
- Rețea pe un cip