Sniffer para redes Ethernet de tempo-real baseado em FPGA

Detalhes bibliográficos
Autor(a) principal: Faria, João Pedro Puga
Data de Publicação: 2008
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10773/1967
Resumo: 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.
id RCAP_907920c039583d354c15ba3e478795ec
oai_identifier_str oai:ria.ua.pt:10773/1967
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Sniffer para redes Ethernet de tempo-real baseado em FPGAEngenharia electrónicaRedes de comunicaçõesAnalisadores espectraisA 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.Universidade de Aveiro2011-04-19T13:50:14Z2008-01-01T00:00:00Z2008info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10773/1967porFaria, João Pedro Pugainfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2024-02-22T10:58:58Zoai:ria.ua.pt:10773/1967Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-20T02:40:32.349728Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Sniffer para redes Ethernet de tempo-real baseado em FPGA
title Sniffer para redes Ethernet de tempo-real baseado em FPGA
spellingShingle Sniffer para redes Ethernet de tempo-real baseado em FPGA
Faria, João Pedro Puga
Engenharia electrónica
Redes de comunicações
Analisadores espectrais
title_short Sniffer para redes Ethernet de tempo-real baseado em FPGA
title_full Sniffer para redes Ethernet de tempo-real baseado em FPGA
title_fullStr Sniffer para redes Ethernet de tempo-real baseado em FPGA
title_full_unstemmed Sniffer para redes Ethernet de tempo-real baseado em FPGA
title_sort Sniffer para redes Ethernet de tempo-real baseado em FPGA
author Faria, João Pedro Puga
author_facet Faria, João Pedro Puga
author_role author
dc.contributor.author.fl_str_mv Faria, João Pedro Puga
dc.subject.por.fl_str_mv Engenharia electrónica
Redes de comunicações
Analisadores espectrais
topic Engenharia electrónica
Redes de comunicações
Analisadores espectrais
description 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.
publishDate 2008
dc.date.none.fl_str_mv 2008-01-01T00:00:00Z
2008
2011-04-19T13:50:14Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10773/1967
url http://hdl.handle.net/10773/1967
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade de Aveiro
publisher.none.fl_str_mv Universidade de Aveiro
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799137454021672960