Características
Um Network Processor deve:
Permitir que desenvolvedores criem facilmente programas robustos, deterministicos
e mantíveis.
Habilitar a rápida integração das funções
de processamento de pacotes com o Gerenciamento de Tráfego e as capacidades
dos switches.
Não somente conseguir atingir as performances necessárias
para as redes velozes de hoje, como também estar, de certa forma, preparado
para o processamento desconhecido do futuro de amanhã e suas exigências
impredizíveis.
Suportar o desenvolvimento de platarformas completas e escaláveis
(OC-192 e superior).
Um NP comum deve fornecer as seguintes funcionalidades de software-programável:
— Análise de Pacote: a classificação de pacotes e processamento
do estado do protocolo.
— Pesquisa de Cabeçalho: a identificação de um pacote
particular ou fluxo para determinar o destino, QoS (Qualit of Service - Qualidade
de Serviço), regras de política de segurança e exigências
de processamento futuras.
— Modificação de Pacote: baseado nos resultados da pesquisa
o pacote pode ser modificado antes de ser enviado aos switches ou mecanismos
de Gerenciamento de Tráfego.
| Além
do bloco programável do processador, NPs devem
conter coprocessadores internos para expedir a manipulação
de funções repetitivas como o gerenciamento de regras de
política. NPs devem também conter interfaces para processadores
esternos nos casos em que é impraticável integrar o coprocessador
à tecnologia de terceiros como encriptação e classificação
de fluxo. |
Um
Network Processor é um conjunto altamente integrado de micro-código ou
mecanismos aceleradores de hardwired, subsistema de memória, alta velocidade
interconectada e interfaces de mídia para enfrentar o processamento de pacotes
da rede. Ele usa pipeline, paralelismo e muti-threading para esconder a latência.
Tem um bom gerenciamento de fluxo de dados e suporta comunicações internas de
alta velocidade.