Laboratório: Gráficos do Fluxo de Dados TCP: mudanças entre as edições
(Criou página com '=Laboratório: Gráficos do Fluxo de Dados TCP= ;Para este laboratório será utilizado a ferramenta wireshark. O '''laboratório''' deve ser realizado em uma '''máquin...') |
|||
(14 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 7: | Linha 7: | ||
==Fluxo de Dados Confiável TCP== | ==Fluxo de Dados Confiável TCP== | ||
O TCP é um protocolo '''orientado a conexão''' e com '''transferência garantida'''. | |||
Uma vez aberta a conexão TCP os dois lados podem '''trocar dados em ambos os sentidos''', ou '''''full-duplex'''''. | |||
Para implementar a '''transferência garantida''' o TCP utiliza '''números de sequência''' ('''Seq'''), '''números de reconhecimento''' ('''Ack''') e '''temporizações'''. | |||
Em uma mesma conexão é possível trocar qualquer quantidade de dados, por isto se diz que o TCP permite um '''fluxo de dados confiável'''. | |||
Como o '''fluxo de dados confiável''' entre emissor e receptor pode em '''volume grande de dados''', como por exemplo quando fazemos um ''download'' de um arquivo grande, o TCP integra mais dois serviços: | |||
*'''controle de fluxo''', evitando que o emissor envie dados mais rápido que o receptor possa processar; | |||
*'''controle de congestionamento''' que ajuda a prevenir congestionamentos na rede. O controle de congestionamento envolve várias etapas, como: | |||
**'''partida lenta''' na qual o TCP inicia a transmissão de um segmento e vai aumentando o número de segmentos enviados de forma exponencial; | |||
**'''prevenção de congestionamento''', quando a partir de um limiar o aumento no número de segmentos transmitidos começa a ser de forma linear; | |||
**'''AIMD''', que reduz o número de segmentos enviados quando detecta congestionamento. | |||
;Objetivo do laboratório: Analisar o comportamento da do '''fluxo de dados confiável''' do TCP em uma transferência com grande volume de dados. | |||
==Wireshark: Gráficos para análise do fluxo de dados TCP== | |||
O wireshark possui ferramentas gráficas para análise do fluxo de dados TCP: | |||
;''Wireshark -> Statistics -> TCP Stream Graph'': | |||
*'''''Round Trip Time Graph''''': Mostra a evolução do '''RTT''' (Tempo de Ida e Volta) para os Ack ao longo do tempo; | |||
*'''''Throughput Graph''''': Mostra a evolução da '''vazão''' usando os números de sequência. | |||
*'''''Time-Sequence Graph''''': Mostra a evolução dos '''números de sequência''' (bytes trocados) ao longo do tempo; | |||
*'''''Window Scaling Graph''''': Mostra a evolução da '''janela do receptor''' ao longo do tempo. | |||
;Consulte sobre estes gráficos em <ref>Tampkins, R. Statistics TCP Stream Graph. http://pt.slideshare.net/LoveMyTool/ostu-wireshark-tcp-stream-graphs-by-ray-tompkins-presentation</ref>. | |||
===Atividade prática=== | |||
;Procedimentos: | |||
#Inicie o '''navegador''' e prepare o '''''download''''' de um arquivo grande, por exemplo, o arquivo ISO do Ubunbu: http://www.ubuntu.com/download/desktop; | |||
#Inicie o '''Wireshark''' e selecione o filtro '''tcp''', de tal forma que apenas segmentos TCP capturados serão exibidos na janela de listagem de pacotes; | |||
#Inicie a '''captura de pacotes''' | |||
#Inicie o '''''download''''' do arquivo, e mantenha a captura por alguns minutos; | |||
#Pare a captura de pacotes; | |||
#Analise os pacotes capturados e identifique a abertura de conexão e o início da transferência do arquivo; | |||
#Selecione o primeiro pacote com '''dados vindo do servidor ao cliente'''. Isto é importante por os gráficos ilustram somente a transmissão de dados em um sentido. Como se está fazendo um ''download'' o sentido maior do fluxo de dados é portanto do servidor ao cliente. | |||
#Gere os diferentes gráficos disponíveis em '''''Wireshark -> Statistics -> TCP Stream Graph'''''. | |||
#Para o gráfico '''''Window Scaling Graph''''', é mais interessante analisar a '''janela do receptor''' (ver: <ref>GREER, C. The TCP Window. http://www.lovemytool.com/blog/2010/07/practical-tcp-series-the-tcp-window-by-chris-greer.html</ref>) do lado cliente, que está recebendo os dados, para tal, selecione um Ack do cliente antes de gerar o gráfico. | |||
#'''Analise os gráficos'''. Sobre o gráfico '''Time-Sequence Graph (tcptrace)''', consulte <ref>Rogers, K. Understanding the tcptrace Time-Sequence Graph in Wireshark. http://packetbomb.com/understanding-the-tcptrace-time-sequence-graph-in-wireshark/</ref> | |||
#Gere '''cópia dos gráficos''' (PrtScr) para análise posterior e documentação | |||
===Tarefa=== | ===Tarefa=== | ||
Faça um relatório detalhando as | #'''Pesquise''' sobre as informações que os gráficos permitem avaliar. | ||
#Faça um '''relatório''' detalhando as o procedimento realizado para '''análise do fluxo de dados TCP''' e inclua os '''gráficos''' obtidos. | |||
#Faça uma '''análise crítica''' dos dados obtidos com os aspectos teóricos do funcionamento do TCP. | |||
==Referências== | |||
<references /> | |||
---- | ---- |
Edição atual tal como às 21h14min de 14 de maio de 2015
Laboratório: Gráficos do Fluxo de Dados TCP
- Para este laboratório será utilizado a ferramenta wireshark.
O laboratório deve ser realizado em uma máquina virtual, em virtude da necessidade de conta de administrador para utilizar o wireshark.
Fluxo de Dados Confiável TCP
O TCP é um protocolo orientado a conexão e com transferência garantida.
Uma vez aberta a conexão TCP os dois lados podem trocar dados em ambos os sentidos, ou full-duplex.
Para implementar a transferência garantida o TCP utiliza números de sequência (Seq), números de reconhecimento (Ack) e temporizações.
Em uma mesma conexão é possível trocar qualquer quantidade de dados, por isto se diz que o TCP permite um fluxo de dados confiável.
Como o fluxo de dados confiável entre emissor e receptor pode em volume grande de dados, como por exemplo quando fazemos um download de um arquivo grande, o TCP integra mais dois serviços:
- controle de fluxo, evitando que o emissor envie dados mais rápido que o receptor possa processar;
- controle de congestionamento que ajuda a prevenir congestionamentos na rede. O controle de congestionamento envolve várias etapas, como:
- partida lenta na qual o TCP inicia a transmissão de um segmento e vai aumentando o número de segmentos enviados de forma exponencial;
- prevenção de congestionamento, quando a partir de um limiar o aumento no número de segmentos transmitidos começa a ser de forma linear;
- AIMD, que reduz o número de segmentos enviados quando detecta congestionamento.
- Objetivo do laboratório
- Analisar o comportamento da do fluxo de dados confiável do TCP em uma transferência com grande volume de dados.
Wireshark: Gráficos para análise do fluxo de dados TCP
O wireshark possui ferramentas gráficas para análise do fluxo de dados TCP:
- Wireshark -> Statistics -> TCP Stream Graph
- Round Trip Time Graph: Mostra a evolução do RTT (Tempo de Ida e Volta) para os Ack ao longo do tempo;
- Throughput Graph: Mostra a evolução da vazão usando os números de sequência.
- Time-Sequence Graph: Mostra a evolução dos números de sequência (bytes trocados) ao longo do tempo;
- Window Scaling Graph: Mostra a evolução da janela do receptor ao longo do tempo.
- Consulte sobre estes gráficos em [1].
Atividade prática
- Procedimentos
- Inicie o navegador e prepare o download de um arquivo grande, por exemplo, o arquivo ISO do Ubunbu: http://www.ubuntu.com/download/desktop;
- Inicie o Wireshark e selecione o filtro tcp, de tal forma que apenas segmentos TCP capturados serão exibidos na janela de listagem de pacotes;
- Inicie a captura de pacotes
- Inicie o download do arquivo, e mantenha a captura por alguns minutos;
- Pare a captura de pacotes;
- Analise os pacotes capturados e identifique a abertura de conexão e o início da transferência do arquivo;
- Selecione o primeiro pacote com dados vindo do servidor ao cliente. Isto é importante por os gráficos ilustram somente a transmissão de dados em um sentido. Como se está fazendo um download o sentido maior do fluxo de dados é portanto do servidor ao cliente.
- Gere os diferentes gráficos disponíveis em Wireshark -> Statistics -> TCP Stream Graph.
- Para o gráfico Window Scaling Graph, é mais interessante analisar a janela do receptor (ver: [2]) do lado cliente, que está recebendo os dados, para tal, selecione um Ack do cliente antes de gerar o gráfico.
- Analise os gráficos. Sobre o gráfico Time-Sequence Graph (tcptrace), consulte [3]
- Gere cópia dos gráficos (PrtScr) para análise posterior e documentação
Tarefa
- Pesquise sobre as informações que os gráficos permitem avaliar.
- Faça um relatório detalhando as o procedimento realizado para análise do fluxo de dados TCP e inclua os gráficos obtidos.
- Faça uma análise crítica dos dados obtidos com os aspectos teóricos do funcionamento do TCP.
Referências
- ↑ Tampkins, R. Statistics TCP Stream Graph. http://pt.slideshare.net/LoveMyTool/ostu-wireshark-tcp-stream-graphs-by-ray-tompkins-presentation
- ↑ GREER, C. The TCP Window. http://www.lovemytool.com/blog/2010/07/practical-tcp-series-the-tcp-window-by-chris-greer.html
- ↑ Rogers, K. Understanding the tcptrace Time-Sequence Graph in Wireshark. http://packetbomb.com/understanding-the-tcptrace-time-sequence-graph-in-wireshark/
--Evandro.cantu (discussão) 16h50min de 29 de abril de 2015 (BRT)