Prévia do material em texto
Redes de Computadores - Camada de Aplicação Lista de Exercícios Para Estudo - Programação de Sockets com TCP e UDP Essa lista de exercícios foi feita por aluno com o objetivo de revisar o entendimento dos principais tópicos baseado nos materiais do professor da disciplina de Redes de Computadores. Exercícios 1. Como o TCP e o UDP diferem na forma como estabelecem e mantêm conexões? 2. Em que situações é mais vantajoso usar UDP em vez de TCP? 3. Como o TCP garante uma comunicação confiável entre cliente e servidor? 4. Quais são os principais desafios no desenvolvimento de aplicações que utilizam UDP? 5. Como as APIs de socket facilitam a criação de aplicações cliente-servidor? 6. Por que o TCP é mais apropriado para aplicações que exigem alta confiabilidade? 7. Como as mensagens são estruturadas ao usar sockets TCP? 8. Como ocorre o processo de "handshaking" na abertura de uma conexão TCP? 9. Como os desenvolvedores lidam com o controle de congestionamento ao usar TCP? 10. Quais são as implicações de usar UDP para transmissões de vídeo em tempo real? Gabarito 1. TCP é orientado à conexão e garante entrega ordenada e confiável de pacotes, enquanto o UDP é não orientado à conexão e não garante entrega, priorizando velocidade. 2. O UDP é vantajoso em aplicações como streaming e jogos, onde velocidade e baixa latência são mais importantes que a entrega perfeita de todos os pacotes. 3. O TCP garante comunicação confiável por meio de confirmações de recebimento, retransmissão de pacotes perdidos e controle de fluxo para evitar sobrecarga. 4. O desenvolvimento com UDP é desafiador porque os desenvolvedores precisam implementar mecanismos adicionais para lidar com pacotes perdidos ou fora de ordem, se necessário. 5. As APIs de socket fornecem uma interface padrão para enviar e receber dados, facilitando a implementação de comunicação em rede sem precisar lidar com detalhes complexos dos protocolos de transporte. 6. O TCP é ideal para aplicações como e-mail e transferência de arquivos, onde a integridade dos dados é essencial, e pequenos atrasos são toleráveis. 7. As mensagens TCP são estruturadas em segmentos, que contêm informações sobre a origem, destino, e sequência dos dados, garantindo entrega ordenada. 8. O "handshaking" é o processo inicial de abertura de uma conexão TCP, onde o cliente e o servidor trocam pacotes SYN e ACK para estabelecer a conexão. 9. O TCP controla o congestionamento ajustando dinamicamente a taxa de envio com base na capacidade da rede, evitando sobrecarga e perda de pacotes. 10. Usar UDP para vídeo em tempo real minimiza atrasos, mas pode resultar em perda de pacotes e degradação da qualidade do vídeo, exigindo algoritmos de correção de erros.