Baixe o app para aproveitar ainda mais
Prévia do material em texto
LISTA DE EXERCÍCIO III 1) Descreva sobre o ciclo de vida do cliente e o ciclo de vida do servidor TCP CLIENTE: inicia conexão tcp//envia syn//recebe syn e ack//envia fin// recebe ack e não envia nada//recebe fin e envia ack//canal fechado. SERVIDOR:cria uma porta de escuta//recebe syn e envia syn e ack//recebe ack e não envia nada// recebe fin e envia ack//envia fin// recebe ack e não envia nada// canal fechado. 2) Utilize o Wireshark (https://www.wireshark.org) para capturar pacotes TPC em seu computador e analise o conteúdo. Pelos traços em vermelho é possível visualizar o three way hand shake, em que i- O cliente (2804:d4b:449b:1900) envia uma solicitação de sincronização (SYN) para o servidor (2800:3f0:4004:800::). Esta solitação parte da porta 56801 com destino a porta 443, com número de sequência 0 (Seq=0). ii-O servidor envia ao cliente uma solicitação de sincronização (SYN) com número de sequência 0 (Seq=0), juntamente com a confirmação (ACK=1) da solicitação de sincronização enviada anteriormente pelo cliente. iii-O cliente então envia ao servidor o número de sequência 1 (Seq=1), juntamente com a confirmação (ACK=1) da solicitação de sincronização enviada anteriormente pelo servidor. 3) Explique como funciona o controle de fluxo. O que aconteceria se não houvesse controle de fluxo no TPC? O controle de fluxo no tcp é pautado em uma janela deslizante, que determina o numero de bytes reconhecidos que um sistema pode enviar para outro através de uma análise do tamanho dos buffers de envio e de recebimento(nos sistemas de envio e recebimento, respectivamente). Sem um controle de fluxo, haveria a formação de um “gargalo” durante a transmissão, culminando em possíveis perdas de dados e/ou atrasos de transmissão que sobrecarregam o RECEPTOR. 4) Explique como funciona o controle de congestionamento. Apresente um exemplo prático de funcionamento. O controle de congestionamento evita a sobrecarga da rede quando vários fluxos chegam em diferentes portas do roteador e todos devem ser escoados pela mesma saida, por exemplo. A resolução do problema de congestionamento se da por algoritmos de análise, como congestion avoidance(controla os demais algoritmos), slow start(aumenta a janela de transmissão ate o limite da rede dentro dos padrões de eficiência ), fast retransmit(permite que o protocolo reduza o tempo de espera para retransitir um pacote que foi perdido) e fast recovery(permite o uso do slow start durante a retransmissão ). 5) Com relação ao TCP, qual a finalidade do algoritmo three way hand shake. A finalidade deste algoritmo é estabelecer as conexões TCP, de forma que o cliente emite ao servidor um comando syn, seguido de uma resposta do servidor(syn + act) e uma posterior contra- resposta do cliente (ack), num contexto em que SYN representa a sincronização e ACT representa o reconhecimento. 6) Explique a fase de “partida lenta” no controle de congestionamento TCP. A fase de partida lenta diz respeito ao aumento gradual dos segmentos enviados(caso os envios sejam bem sucedidos, caso contrário não há novos aumentos), com o objetivo de otimizar o transporte e garantir a efetividade. 7) Descreva por que um desenvolvedor de aplicações pode escolher rodar uma aplicação sobre UDP em vez de TPC? Explique com exemplos. O uso do protocolo UDP é uma alternativa para necessidades relacionadas à otimização de processamento/estabelecimento da conexão em detrimento da segurança dos pacotes. Podemos citar como exemplo, conexões que oferecem serviços de áudio e vídeo(destaque para transmissões em tempo real) em que a velocidade de transmissão constante sobrepõe a necessidade de garantir que todos os pacotes sejam integralmente transmitidos ou que haja retransmissão. 8) Com base em seu conhecimento em redes de computadores, responda se é possível que uma aplicação desfrute de transferência confiável de dados mesmo quando roda sobre UDP? Caso a resposta seja afirmativa, como isso acontece? Sim, é possível implementar mecanismos de transmissão confiável em outra camada(camada de aplicação) trabalhando em conjunto com checksums da camada de transporte, que informam a existência de um erro mesmo sem lidar com o tratamento posterior.
Compartilhar