Sie sind auf Seite 1von 7

Neste laboratório, investigaremos o comportamento do célebre protocolo TCP em

detalhes. Faremos isso analisando um rastreamento dos segmentos TCP enviados e recebidos
ao transferir um arquivo de 150 KB (contendo o texto de Alice's Adventures in Wonderland, de
Lewis Carroll) do seu computador para um servidor remoto.Estudaremos o uso de números de
seqüência e confirmação do TCP para fornecer transferência de dados confiável; veremos o
algoritmo de controle de congestionamento do TCP - início lento e evitação de
congestionamento - em ação; e veremos o mecanismo de controle de fluxo anunciado pelo
receptor da TCP. Também consideraremos brevemente a configuração da conexão TCP e
investigaremos o desempenho (taxa de transferência e tempo de ida e volta) da conexão TCP
entre o seu computador e o servidor. Antes de começar este laboratório, você provavelmente
desejará revisar as seções 3.5 e 3.7 no texto.

1. Capturando uma transferência TCP em massa do seu computador para um remoto

servidor Antes de iniciar nossa exploração do TCP, precisaremos usar o Wireshark para obter
um rastreamento de pacote da transferência TCP de um arquivo do seu computador para um
servidor remoto. Você fará isso acessando uma página da Web que permitirá que você insira o
nome de um arquivo armazenado em seu computador (que contém o texto ASCII de Alice no
País das Maravilhas) e, em seguida, transfira o arquivo para um servidor Web usando o HTTP
POST método (ver secção 2.2.3 no texto). Estamos usando o método POST em vez do método
GET, pois gostaríamos de transferir uma grande quantidade de dados do seu computador para
outro computador. É claro que estaremos executando o Wireshark durante esse tempo para
obter o rastreamento dos segmentos TCP enviados e recebidos de seu computador.

Faça o seguinte:

 Inicie o seu navegador da web. Vá para o


http://gaia.cs.umass.edu/wiresharklabs/alice.txt e recupere uma cópia ASCII de Alice
no País das Maravilhas. Armazene este arquivo em algum lugar no seu computador.
 Em seguida, vá para http://gaia.cs.umass.edu/wireshark-labs/TCP-wireshark-
file1.html.
 Você deve ver uma tela parecida com:
 Use o botão Procurar neste formulário para inserir o nome do arquivo (nome
completo do caminho) no computador que contém Alice no País das Maravilhas (ou
faça isso manualmente, Alice in Wonderland). Ainda não pressione o botão "Fazer
upload do arquivo alice.txt".
 Agora inicie o Wireshark e inicie a captura de pacotes (Capture-> Start) e pressione OK
na tela Wireshark Packet Capture Options (não será necessário selecionar nenhuma
opção aqui).
 Retornando ao seu navegador, pressione o botão “Fazer upload do arquivo alice.txt”
para fazer upload do arquivo para o servidor gaia.cs.umass.edu. Uma vez que o
arquivo tenha sido carregado, uma pequena mensagem de felicitações será exibida na
janela do seu navegador.
 Pare a captura de pacotes Wireshark. Sua janela do Wireshark deve ser semelhante à
janela mostrada abaixo.
Se você não conseguir executar o Wireshark em uma conexão de rede ativa, poderá fazer o
download de um arquivo de rastreamento de pacote que foi capturado enquanto segue as
etapas acima em um dos computadores do autor. Você pode achar valioso fazer o download
desse traço, mesmo que tenha capturado seu próprio traço e o use, bem como seu próprio
rastreamento, ao explorar as perguntas abaixo.
2. Uma primeira olhada no rastreio capturado

Antes de analisar detalhadamente o comportamento da conexão TCP, vamos ter uma visão de
alto nível do rastreamento.

 Primeiro, filtre os pacotes exibidos na janela do Wireshark digitando “tcp” (minúsculas,


sem aspas e não esqueça de pressionar Enter após entrar!) Na janela de especificação
do filtro de exibição, na parte superior da janela do Wireshark.

O que você deve ver é uma série de mensagens TCP e HTTP entre o seu computador e o
gaia.cs.umass.edu. Você deve ver o handshake triplo inicial contendo uma mensagem SYN.
Você deve ver uma mensagem HTTP POST. Dependendo da versão do Wireshark você está
usando, você pode ver uma série de mensagens “Continuação HTTP” sendo enviadas de seu
computador para gaia.cs.umass.edu. Lembre-se de nossa discussão no antigo laboratório HTTP
Wireshark, isso não é uma mensagem de continuação HTTP - essa é a maneira de Wireshark
indicar que Há vários segmentos TCP sendo usados para transportar uma única mensagem
HTTP. Em versões mais recentes do Wireshark, você verá "[segmento TCP de uma PDU
remontada]" na coluna Informações do Wireshark para indicar que este segmento TCP
continha dados que pertenciam a um protocolo de camada superior mensagem (no nosso caso
aqui, HTTP). Você também deve ver segmentos TCP ACK sendo retornados de
gaia.cs.umass.edu para o seu computador.

Responda as seguintes perguntas, abrindo o arquivo de pacote capturado Wireshark


tcpethereal-trace-1 http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip (que é baixar
o traço e abrir esse rastrear no Wireshark; veja a nota de rodapé 2). Sempre que possível, ao
responder uma pergunta, você deve entregar em uma impressão do pacote (s) dentro do
rastreamento que você usou para responder a pergunta feita. Anote o imprimir para explicar
sua resposta. Para imprimir um pacote, use Arquivo-> Imprimir, escolha Somente pacote
elecionado, escolha a linha de resumo do pacote e selecione a quantidade mínima de detalhes
do pacote que você precisa responder a questão.

1. Qual é o endereço IP e o número da porta TCP usada pelo computador cliente (fonte) que
está transferindo o arquivo para gaia.cs.umass.edu? Para responder a essa pergunta,
provavelmente é mais fácil selecione uma mensagem HTTP e explore os detalhes do pacote
TCP usado para transportar este HTTP mensagem, usando os “detalhes da janela de cabeçalho
do pacote selecionado” (consulte a Figura 2 no "Começando com o Wireshark" Lab se você não
tiver certeza sobre as janelas do Wireshark.

2. Qual é o endereço IP de gaia.cs.umass.edu? Em que número de porta é enviado e recebido


Segmentos TCP para esta conexão?

Se você conseguiu criar seu próprio rastreamento, responda à seguinte pergunta:

3. Qual é o endereço IP e o número da porta TCP usada pelo seu computador cliente (fonte)
para transferir o arquivo para gaia.cs.umass.edu?

Como esse laboratório é sobre TCP em vez de HTTP, vamos alterar a janela "Listagem de
pacotes capturados" do Wireshark para que ele mostre informações sobre os segmentos TCP
que contêm as mensagens HTTP, e não sobre as mensagens HTTP. Para que o Wireshark faça
isso, selecione Analyze-> Enabled Protocols. Em seguida, desmarque a caixa HTTP e selecione
OK. Agora você deve ver uma janela do Wireshark que se parece com:

(O que queremos dizer com “anotar”? Se você entregar uma cópia em papel, destaque em que
lugar da impressão encontrou a resposta e adicione algum texto (de preferência com uma
caneta colorida), observando o que você encontrou no que você destacou. Se você entregar
uma cópia eletrônica, seria ótimo se você também pudesse destacar e anotar.)

É o que procuramos - uma série de segmentos TCP enviados entre o seu computador e o
gaia.cs.umass.edu. Nós usaremos o rastreamento de pacotes que você capturou (e / ou o
rastreamento de pacotes tcpethereal-trace-1 em http://gaia.cs.umass.edu/wireshark-
labs/wiresharktraces.zip; veja a nota de rodapé anterior) para estudar o TCP comportamento
no restante deste laboratório.

3. Noções Básicas do TCP

Responda as seguintes perguntas para os segmentos TCP:

4. Qual é o número de seqüência do segmento TCP SYN que é usado para iniciar a conexão TCP
entre o computador cliente e gaia.cs.umass.edu? O que é no segmento que identifica o
segmento como um segmento SYN?

5. Qual é o número sequencial do segmento SYNACK enviado por gaia.cs.umass.edu para o


computador cliente em resposta ao SYN? Qual é o valor do campo Confirmação no segmento
SYNACK? Como o gaia.cs.umass.edu determinou esse valor? O que é no segmento que
identifica o segmento como um segmento SYNACK?

6. Qual é o número de sequência do segmento TCP que contém o comando HTTP POST?
Observe que, para encontrar o comando POST, você precisa acessar o campo de conteúdo do
pacote na parte inferior da janela do Wireshark, procurando um segmento com um "POST" no
campo DATA.

7. Considere o segmento TCP que contém o HTTP POST como o primeiro segmento na conexão
TCP. Quais são os números de seqüência dos seis primeiros segmentos na conexão TCP
(incluindo o segmento que contém o HTTP POST)? Em que vez que cada segmento foi enviado?
Quando o ACK foi recebido por cada segmento? Dada a diferença entre quando cada
segmento TCP foi enviado e quando recebimento de confirmação, qual é o valor do RTT para
cada um dos seis segmentos? Qual é o valor EstimatedRTT (consulte a Seção 3.5.3, página 239
em texto) após o recebimento de cada ACK? Suponha que o valor do EstimatedRTT é igual ao
RTT medido para o primeiro segmento e depois é calculada usando a equação EstimatedRTT
na página 239 para todos os segmentos.

(Nota: O Wireshark possui um ótimo recurso que permite plotar o RTT para cada um dos
segmentos TCP enviados. Selecione um segmento TCP na janela “listagem de pacotes
capturados” que está sendo enviada do cliente para o servidor gaia.cs.umass.edu. Em seguida,
selecione: Statistics-> TCP Stream Graph-> Gráfico de tempo de ida e volta.)

8. Qual é o tamanho de cada um dos seis primeiros segmentos TCP?

9. Qual é a quantidade mínima de espaço de buffer disponível anunciado no recebido para


todo o rastreamento? A falta de espaço no buffer do receptor estrangula o remetente?

10. Existem segmentos retransmitidos no arquivo de rastreamento? O que você verificou (no
rastreamento) para responder a essa pergunta?

11. Quantos dados o receptor geralmente reconhece em um ACK? Você pode identificar casos
em que o receptor está conectando todos os outros segmentos recebidos (consulte a Tabela
3.2 na página 247 no texto).

12. Qual é o rendimento (bytes transferidos por unidade de tempo) para a conexão TCP?
Explique como você calculou esse valor.

(Os segmentos TCP no arquivo de rastreamento tcp-ethereal-trace-1 são todos menores que
1460 bytes. Isso ocorre porque o computador no qual o rastreio foi coletado tem uma placa
Ethernet que limita o comprimento do pacote IP máximo a 1500 bytes (40 bytes de dados de
cabeçalho TCP / IP e 1460 bytes de carga TCP). Este valor de 1500 bytes é o comprimento
máximo padrão permitido pela Ethernet. Se o seu traço indicar um comprimento de TCP maior
que 1500 bytes e seu computador estiver usando uma conexão Ethernet, o Wireshark estará
relatando o comprimento errado do segmento TCP; provavelmente também mostrará apenas
um grande segmento TCP em vez de vários segmentos menores. Seu computador
provavelmente está enviando vários segmentos menores, conforme indicado pelos ACKs
recebidos. Essa inconsistência nos comprimentos de segmento relatados é devido à interação
entre o driver Ethernet e o software Wireshark. Recomendamos que, se você tiver essa
inconsistência, execute este laboratório usando o arquivo de rastreamento fornecido.)

4. Controle de congestionamento TCP em ação


Vamos agora examinar a quantidade de dados enviados por unidade de tempo do cliente para
o servidor. Em vez de (tediosamente!) Calcular isso a partir dos dados brutos na janela do
Wireshark, usaremos um dos utilitários de gráficos TCP do Wireshark, o Time-Sequence-Graph
(Stevens), para traçar dados.

 Selecione um segmento TCP na janela "listagem de pacotes capturados" do Wireshark.


Em seguida, selecione o menu: Statistics-> TCP Stream Graph-> gráfico de seqüência
de tempo (Stevens). Você deve ver uma plotagem parecida com a plotagem a seguir,
que foi criada a partir dos pacotes capturados no rastreamento de pacotes tcp-
ethereal-trace-1 em http://gaia.cs.umass.edu/wireshark-labs/wiresharktraces. zip
(veja nota de rodapé anterior):

Aqui, cada ponto representa um segmento TCP enviado, plotando o número de sequência do
segmento versus o tempo em que foi enviado. Observe que um conjunto de pontos
empilhados acima um do outro representa uma série de pacotes que foram enviados de volta
para o final pelo remetente.

Responda as seguintes perguntas para os segmentos TCP do rastreamento de pacotes tcp-


etherealtrace-1 em http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip

13. Use a ferramenta de plotagem Graph-Sequence-Graph (Stevens) para visualizar o número


de seqüência versus o gráfico de tempo dos segmentos sendo enviados do cliente para o
servidor gaia.cs.umass.edu. Você consegue identificar onde a fase de início lento do TCP
começa e termina, e onde a evasão de congestionamento assume? Comente as maneiras pelas
quais os dados medidos diferem do comportamento idealizado do TCP que estudamos no
texto.

14. Responda a cada uma das duas perguntas acima para o rastreamento que você coletou
quando transferiu um arquivo do seu computador para gaia.cs.umass.edu

Das könnte Ihnen auch gefallen