Please use this identifier to cite or link to this item: http://hdl.handle.net/10773/1967
Title: Sniffer para redes Ethernet de tempo-real baseado em FPGA
Author: Faria, João Pedro Puga
Advisor: Oliveira, Arnaldo Silva Rodrigues de
Pedreiras, Paulo Bacelar Reis
Keywords: Engenharia electrónica
Redes de comunicações
Analisadores espectrais
Defense Date: 2008
Publisher: Universidade de Aveiro
Abstract: A crescente utilização de sistemas distribuídos em aplicações de tempo-real tem levado á criação de protocolos de comunicação cada vez mais com- plexos e sofisticados. Apesar da rede Ethernet não apresentar característi- cas de tempo-real, devido ás suas vantagens, têm sido desenvolvidos muitos protocolos de comunicação tempo-real baseados em Ethernet. Nesta disser- tação é analisada a importância das arquitecturas distribuídas em aplicações de tempo-real, sendo apresentados alguns conceitos relacionados com esta problemática. Para avaliar o funcionamento lógico e temporal de uma rede de comuni- cação é necessário utilizar ferramentas, vulgarmente designadas sniffer, que permitem observar o tráfego que nelas circula e os respectivos instantes. Apesar de existirem inúmeras ferramentas deste tipo para Ethernet, o seu desenvolvimento foi conduzido pelos requisitos de redes de dados de uso geral. A maior parte das aplicações existentes destina-se a correr num com- putador convencional, bastando este estar equipado com uma placa de rede vulgar. No entanto, devido á arquitectura dos sistemas computacionais de uso geral, ás suas capacidades multiprogramação e á forma como é efec- tuado o time-stamping das mensagens, estas aplicações não satisfazem as necessidades especificas de alguns protocolos tempo-real, nomeadamente no que concerne á resolução e precisão com que se consegue medir os instantes de transmissão e de recepção das mensagens. Como resposta ás limitações das ferramentas existentes, esta dissertação apresenta um sniffer capaz de responder ás necessidades especificas dos pro- tocolos de tempo-real. Para isso, a recepção, time-stamping e tratamento de mensagens são efectuados com recurso a hardware dedicado. Neste con- texto, tirou-se partido da utilização de dispositivos lógicos programáveis, em particular das FPGAs (Field-Programmable Gate Arrays) e da existência de núcleos sintetizáveis de propriedade intelectual, permitindo implementar de forma relativamente simples a camada MAC de Ethernet utilizando o nú- cleo Xilinx LogiCORE Tri-Mode Ethernet MAC disponibilizado pela Xilinx. Os restantes módulos implementados na FPGA têm como objectivo efec- tuar a escrita das mensagens recebidas e de toda a informação associada na memória para posterior leitura e envio via USB. De modo a intercalar o snif- fer na rede de uma forma o menos intrusiva possível, foi construído um TAP Ethernet, também conhecido por Y-splitter, permitindo efectuar a captura das mensagens em ligações full-duplex. Desta forma os dados são duplica- dos para a FPGA sendo efectuado o seu time-stamping e posterior envio de toda a informação via USB para um PC. Os dados são recolhidos pelo PC e armazenados num ficheiro compatível com o Wireshark, permitindo que a captura seja aberta e analisada com recurso a ferramentas standard. Foram também definidos mecanismos que permitem exportar a informação capturada para ferramentas de cálculo capazes de gerar gráficos e efectuar uma caracterização do tráfego capturado. Quanto aos resultados obtidos é possível concluir que a ferramenta con- struída permite efectuar medições temporais rigorosas, com uma resolução de 10ns e um erro máximo de 100ns. Apresenta no entanto algumas limi- tações ao nível da transferência via USB, podendo a duração da captura ser relativamente limitada. Caso a taxa de transmissão com que a informação é recebida da rede Ethernet seja superior á taxa com que dados são enviados da FPGA para o PC, a capacidade de armazenamento temporário da FPGA atinge os seus limites e a captura é terminada. Por outro lado, as aplicações baseadas em software permitem obter resultados com uma resolução tem- poral de 1¹s e uma incerteza na casa dos milisegundos. Para além disso, em determinadas situações, utilizando ferramentas baseadas exclusivamente em software podem ser perdidas mensagens sem que o utilizador seja alertado deste acontecimento. ABSTRACT: The growing use of distributed systems on real-time applications has origi- nated more and more complex and sophisticated communication protocols. Despite Ethernet network does not have real-time characteristics, due to its advantages, a lot of real-time communication protocols based on Eth- ernet have been developed. This dissertation analyzes the importance of distributed architectures concerning real-time applications and it also de- scribes some related concepts. In order to evaluate the logical and temporal performance of a communica- tion network, it is necessary to use tools, commonly named as sni®ers, which allow the examination of the tra±c. Although there are a lot of these tools for Ethernet, its development was carried out by the requisites of general purpose data networks. The majority of existing applications can be used on conventional computers (an ordinary network interface card is enough). However, owing to the architecture of computational systems, their multi- programming abilities and to the way time-stamping of messages is done, these applications do not satisfy the speci¯c needs of some real-time proto- cols, namely regarding the resolution and precision to measure the moments of transmission and reception of messages. To answer to these limitations, this dissertation presents a sni®er which is able to respond to the speci¯c needs of real-time protocols. Therefore, the reception, time-stamping and management of messages are done using ded- icated hardware. In this context, programmable logical devices, speci¯cally FPGAs, and synthesizable cores were used, which permitted, in a simple way, the implementation of MAC Ethernet layer by using Xilinx LogicCORE Tri-Mode Ethernet MAC. The remaining modules implemented on FPGA aim the writing of received messages and all associated information in mem- ory for later reading and sending via USB. To intercalate a sni®er within the network in the least intrusive way, a TAP Ethernet, also known as Y- splitter, was built, which permitted the capture in full-duplex connections. This way, information is duplicated to FPGA, then, its time-stamping is done and ¯nally, data is sent to a computer via USB. Information is collected and stored in a ¯le compatible with Wireshark, which allows its utilization and subsequent analysis by using standard/regular tools. Mechanisms that per- mit the treatment of gathered information through calculation tools (which can generate plots and helps to characterize the collected data) were also created. Concerning the obtained results, it is possible to infer that this tool permits meticulous temporal measurements, with a resolution of 10ns and a maxi- mum error of 100ns. On the other hand, some limitations were experienced, particularly regarding transfer via USB, which results in a more limited capture if the capacity of temporary storage of the FPGA runs out. This happens when the transmission rate from Ethernet network is higher than the transfer rate between FPGA and the personal computer. Still, software- based applications can present outcomes with a temporal resolution of 1¹s and an uncertainty of milliseconds. We can also conclude that in certain situations some messages can be lost without the user is being informed about it.
Description: Mestrado em Engenharia Electrónica e Telecomunicações
URI: http://hdl.handle.net/10773/1967
Appears in Collections:UA - Dissertações de mestrado
DETI - Dissertações de mestrado

Files in This Item:
File Description SizeFormat 
2009000465.pdf1.75 MBAdobe PDFView/Open


FacebookTwitterLinkedIn
Formato BibTex MendeleyEndnote Degois 

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.