Redes de Computadores LTI Nível de Transporte na Internet Protocolo TCP Professores: António Casimiro, José Rufino, Pedro Ferreira [docentes rcp@listas.di.ciencias.ulisboa.pt] 2014/2015 Nível: Transporte Livro 6th Ed: 185-191 Custom Ed: 103-109 TCP: Transmission Control Protocol 2
Modelo Cliente-Servidor Protocolo TCP: Estabelecimento duma Ligação Livro 6th Ed: 163-164 Custom Ed: 81-82 Time 3 Modelo Cliente-Servidor Protocolo TCP: Ligações Concorrentes 4
Protocolo TCP - Funções Endereçamento 5 Protocolo TCP - Funções Encapsulamento TCP Header Application Data Livro 6th Ed: 191-198 Custom Ed: 109-116 6
Protocolo TCP - Funções Formato dos Pacotes Campos Obrigatórios TCP Header Livro 6th Ed: 230-235 Custom Ed: 148-153 7 Protocolo TCP Cabeçalho dos Pacotes Campos Obrigatórios TCP Header type length value há opções onde os campos length/value não são necessários LEI - FCUL 2005-2014, J. Rufino 8
Protocolo TCP Cabeçalho dos Pacotes - Opções Tipo Dimensão Significado Wireshark (bytes) 0 - end of option list 1 - no operation NOP 2 4 maximum segment size MSS 3 3 window scale: 2 WS WS 4 2 selective ack permitted SACK_PERM 5 2 +? sack LEI - FCUL 2005-2014, J. Rufino 9 Protocolo TCP Estabelecimento da Ligação Three-way handshake 10
Protocolo TCP Terminação da Ligação Livro 6th Ed: 252-258 Custom Ed: 170-176 11 Protocolo TCP - Funções Segmentação Livro 6th Ed: 235-238 Custom Ed: 153-156 12
Protocolo TCP Controlo da Operação do Protocolo Gestão de Tampões Aplicação (Emissor) (Receptor) Controlo de Fluxo Controlo de Congestão 13 Protocolo TCP Gestão do Tampão de Recepção 14
Protocolo TCP Controlo de Fluxo: Transmissão de Segmentos Livro 6th Ed: 250-251 Custom Ed: 168-169 15 Protocolo TCP Controlo da Congestão: Início Lento Nota: diagrama (ao lado) Usa como janela inicial 1 MSS (RFC 2001) Implementações atuais permitem janelas iniciais de 2, 3 ou 4 MSS (RFC 5681) 16
Protocolo TCP Prevenção da Congestão assume probabilidade baixa para danificação de pacotes; logo, perda de pacotes deverá ser devida a congestão: sintomas: receção de ACK duplicados; expirar de um temporizador. 17 Protocolo TCP Retransmissão Rápida 3 ACK duplicados 18
Protocolo TCP Recuperação Rápida Livro 6th Ed: 269-282 Custom Ed: 187-200 Ideia base: impedir o estrangulamento abrupto do fluxo de dados: favorecer a execução do algoritmo prevenção de congestão: após retransmissão do pacote que se suspeita estar em falta; após recepção do ACK ao pacote retransmitido. em detrimento da execução do algoritmo início lento re-executado após expirar de temporizadores. 19 Wireshark Ferramenta gráfica para análise de tráfego e de protocolos de rede Disponível em http://www.wireshark.org/ para várias plataformas 20
Wireshark Características Captura de tráfego (pacotes) da rede (packet sniffer) Permite observar e analisar os protocolos em funcionamento Funcionamento passivo Não gera pacotes e não recebe pacotes Apenas captura pacotes enviados por outros processos ou para outros processos na máquina Grátis Bem documentado User-friendly (interfaces gráficas) 21 Análise de Tráfego com Wireshark 22
Analisador de Tráfego Wireshark Usar o comando: sudo /usr/bin/wireshark 23 Wireshark Janela inicial (windows) Iniciar captura 24
Instante da captura Endereço IP (desde o início da origem do observação pacote Wireshark Janela principal Endereço IP de destino Protocolo do pacote 25 Wireshark Janela principal Clicar para selecionar pacote Informação detalhada sobre o pacote Bytes do pacote 26
Wireshark Campos dos pacotes Expandir para obter informações mais detalhadas sobre o protocolo Clicar para observar bytes correspondentes Bytes (em HEX) correspondentes ao campo Destination port 27 Wireshark Filtragem de pacotes Critério de filtragem Apenas pacotes relativos ao protocolo HTTP Conteúdo de um pacote de resposta do protocolo HTTP 28
Wireshark Filtragem de pacotes (exemplos) Filtragem por endereço IP do emissor ip.src == 194.117.22.70 Filtragem com expressões Booleanas ip.src == 173.248.130.12 ip.dst == 172.248.130.13 && ftp 29 Wireshark Estatísticas e gráficos 30
Analisador de Tráfego TCPDUMP captura, filtragem e análise do tráfego da rede orientação aos protocolos da família TCP/IP. Linux: TCPDUMP - acesso privilegiado para utilizadores RC. Usar o comando: sudo /usr/sbin/tcpdump 31 Redes de Computadores - LTI TP3 - Elementos de Estudo Wireshark User s Guide On-line: http://www.wireshark.org/docs/wsug_html_chunked/ No moodle: Wireshark v1.7 User's Guide TCP/IP Quick Reference Card Disponível no moodle 32
Redes de Computadores - LTI TP3 - Elementos de Estudo Computer Networking: a top-down approach featuring the Internet. J. Kurose and K. Ross. 6th Ed., Addison Wesley, 2012. (em alternativa: 5 th, 4 th, 3 rd e 2 nd editions). Capítulo 2 Custom Ed. (versão customizada por José Rufino e António Casimiro). Capítulo 2 TCP/IP Tutorial and Technical Overview, IBM Redbooks, December 2006. 33 Obrigado pela vossa atenção! Questões finais? http://moodle.ciencias.ulisboa.pt/course/view.php?id=1910 Redes de Computadores (RC LTIC) 34