Dispositivo para codificação de pacotes

Objectivo do Trabalho

Implementar um dispositivo que faça a baixo-nível a codificação de um pacote de forma a que o pacote atinja a rede criptado.

Implementação do Trabalho

  1. Implemente um gestor de dispositivo local que recebe pacotes, envia-os codificados e depois os descodifica. Use um algoritmo de encriptação que não altere o tamanho dos pacotes.
  2. Altere o seu gestor de dispositivos para interagir com um dispositivo real. O gestor deverá apenas implementa as funções básicas e depois usar a interface do dispositivo físico para que ele faça o trabalho.
  3. Discuta e se possível implemente um algoritmo de codificação mais poderoso que altere o número de caracteres a transmitir. Neste caso, seria melhor implementar o algoritmo noutro nível da pilha de rede?
  4. O seu dispositivo de rede deverá ser um módulo. Não se esqueça que qualquer pacote IP que envie para a rede deverá ser um pacote IP válido.

Avaliação

O trabalho deverá incluir um relatório com a descrição completa do trabalho e análise de resultados. A descrição do trabalho deverá explicar os principais algoritmos usados, e como validou o seu módulo. Explique cuidadosamente as suas decisões no relatório.

O formato preferido para o relatório é HTML.

Pode escolher outros kernels, tais como o do FreeBSD.

Material de Apoio

Os seguintes livros são as principais referências para o kernel de Linux:

O site KernelNotes também inclui bastante informação interessante, incluindo arquivos das listas do kernel. Uma descrição do kernel encontra-se no Linux Kernel Module Programming Guide de Ori Pommerantz. Richard Gooch também tem informação interessante sobre o kernel de Linux.


vitor@cos.ufrj.br