1) O documento discute os protocolos de camada de transporte TCP e UDP, incluindo suas funções, cabeçalhos e aplicações comuns.
2) O TCP fornece confiabilidade, controle de fluxo e estabelecimento de sessão, enquanto o UDP oferece menor sobrecarga e latência para aplicações como streaming de mídia.
3) Os números de porta permitem que vários processos se comuniquem simultaneamente através da mesma interface de rede.
1) O documento discute os protocolos de camada de transporte TCP e UDP, incluindo suas funções, cabeçalhos e aplicações comuns.
2) O TCP fornece confiabilidade, controle de fluxo e estabelecimento de sessão, enquanto o UDP oferece menor sobrecarga e latência para aplicações como streaming de mídia.
3) Os números de porta permitem que vários processos se comuniquem simultaneamente através da mesma interface de rede.
1) O documento discute os protocolos de camada de transporte TCP e UDP, incluindo suas funções, cabeçalhos e aplicações comuns.
2) O TCP fornece confiabilidade, controle de fluxo e estabelecimento de sessão, enquanto o UDP oferece menor sobrecarga e latência para aplicações como streaming de mídia.
3) Os números de porta permitem que vários processos se comuniquem simultaneamente através da mesma interface de rede.
1) O documento discute os protocolos de camada de transporte TCP e UDP, incluindo suas funções, cabeçalhos e aplicações comuns.
2) O TCP fornece confiabilidade, controle de fluxo e estabelecimento de sessão, enquanto o UDP oferece menor sobrecarga e latência para aplicações como streaming de mídia.
3) Os números de porta permitem que vários processos se comuniquem simultaneamente através da mesma interface de rede.
Resumo Transporte de Dados Rastreamento Conversas Individuais Segmentando Dados e Remontando Segmentos Adicionar Informações de Cabeçalho Identificação das Aplicações Multiplexação das Conversas Protocolos da Camada de Transporte Protocolos da Camada de Transporte • TCP • Possibilita a confirmação da entrega de pacotes. • Há três operações básicas para garantir a confiabilidade com o TCP: • Numeração e rastreamento de segmentos de dados transmitidos por uma aplicação específica a um host específico • Confirmação dos dados recebidos • Retransmissão dos dados não confirmados após certo período • UDP • UDP oferece as funções básicas para entrega de segmentos de dados entre as aplicações apropriadas, com muito pouca sobrecarga e verificação de dados. • Perfeito para aplicações que não exigem confiabilidade. • O protocolo de Camada de Transporte Certo para a Aplicação Certa • O TCP é melhor para bancos de dados, navegadores da Web e clientes de e-mail. • O UDP é ideal para o streaming de áudio ou vídeo ao vivo, VoIP Protocolos da Camada de Transporte Recursos do TCP - Estabelecimento de sessão assegura que as aplicações estejam prontas para receber os dados. - Entrega na mesma ordem garante que os segmentos sejam reagrupados na ordem apropriada. - Entrega confiável significa que segmentos perdidos são enviados novamente para que os dados sejam recebidos completamente. - Controle de fluxo assegura que o destinatário é capaz de processar os dados recebidos. Cabeçalho TCP Cabeçalho TCP Porta de origem - Campo de 16 bits usado para identificar o aplicativo de origem por número de porta. Porta de destino - Campo de 16 bits usado para identificar o aplicativo de destino por número de porta. Número de sequencial - Campo de 32 bits usado para fins de remontagem de dados. Número de Confirmação - Campo de 32 bits usado para indicar que os dados foram recebidos e o próximo byte esperado da fonte. Comprimento do cabeçalho - Campo de 4 bits conhecido como 'offset' de datas' que indica o comprimento do cabeçalho do segmento TCP. Reservado - Campo de 6 bits que é reservado para uso futuro. Bits de controle - Campo de 6 bits usado que inclui códigos de bits, ou sinalizadores, que indicam o finalidade e função do segmento TCP. Tamanho da janela - Campo de 16 bits usado para indicar o número de bytes que podem ser aceitos de uma só vez. Checksum - Campo de 16 bits usado para verificação de erros do cabeçalho e dos dados do segmento. Urgente - Campo de 16 bits usado para indicar se os dados contidos são urgentes. Aplicações que usam TCP Recursos do UDP - Reagrupamento de dados não ordenado. Os dados são reagrupados na ordem em que são recebidos. - Entrega não confiável nenhum segmento perdido é reenviado. - Sem conexão, nenhuma sessão é estabelecida. - Sem controle de fluxo, não informa ao remetente sobre a disponibilidade do recurso. Cabeçalho UDP Cabeçalho UDP Porta de origem - Campo de 16 bits usado para identificar o aplicativo de origem por número de porta. Porta de destino - Campo de 16 bits usado para identificar o aplicativo de destino por porta número. Comprimento - Campo de 16 bits que indica o comprimento do cabeçalho do datagrama UDP. Checksum - Campo de 16 bits usado para verificação de erros do cabeçalho e dos dados do datagrama. Aplicações que usam o UDP Há três tipos de aplicações que são mais adequadas para o UDP:
Aplicativos de vídeo e multimídia ao vivo - Esses aplicativos podem tolerar a perda
de dados, mas requerem pouco ou nenhum atraso. Os exemplos incluem VoIP e transmissão de vídeo ao vivo. Solicitações simples e aplicativos de resposta - aplicativos com transações simples em que um host envia uma solicitação e pode ou não receber uma resposta. Os exemplos incluem DNS e DHCP. Aplicativos que lidam com a confiabilidade - Comunicações unidirecionais em que o controle de fluxo, a detecção de erros, as confirmações e a recuperação de erros não são necessários ou podem ser gerenciados pelo aplicativo. Os exemplos incluem SNMP e TFTP. Aplicações que usam o UDP Camada de Transporte - TCP e UDP • Várias Conversações Separadas • A camada de transporte separa e administra várias conversas com diferentes requisitos de transporte. • Diversas aplicações enviam e recebem dados por meio da rede ao mesmo tempo. • Valores de cabeçalho exclusivos permitem que os protocolos TCP e UDP gerenciem essas várias conversas simultâneas identificando as aplicações. • Estes identificadores únicos são os números de porta. • Números de Porta • Geralmente visualizados em pares: porta de origem e porta de destino. • A porta de origem é escolhida de modo dinâmico pelo remetente. • A porta de destino é usado para identificar uma aplicação no servidor (destino). Várias conversações separadas Números de Porta Camada de Transporte - TCP e UDP • Pares de Sockets • A combinação do endereço IP origem e o número da porta de origem ou o endereço IP destino e o número da porta de destino é conhecida como socket. • O socket é usado para identificar o servidor e o serviço que está sendo requisitado pelo cliente. • Dois conectores combinados para formar um par de conectores: (192.168.1.5:1099, 192.168.1.7:80). • Os conectores permitem que vários processos ativos em um cliente e várias conexões para um processo de servidor sejam distinguidos um do outro. • Grupos de Números de Porta • IANA criou três grupos de números de portas: • Portas conhecidas (0 a 1023) • Portas registradas (1024 a 49151) • Portas privadas e/ou dinâmicas (49152 a 65535) • O Comando netstat • O comando netstat permite que um usuário visualize as conexões ativas em um host. • O netstat também exibe o processo que usa a conexão. Pares de Sockets Número de Portas Comando netstat Processo de Comunicação TCP • Processos em Servidores TCP • Cada processo de aplicação em execução no servidor usa um número de porta. • Um servidor específico não pode ter dois serviços atribuídos ao mesmo número de porta no mesmo serviço de camada de transporte. • Uma aplicação ativa em um servidor atribuída a uma porta específica é considerada aberta. • Toda requisição de cliente endereçada a uma porta aberta é aceita e processada pela aplicação associada no servidor a essa porta. • Pode haver muitas portas abertas simultaneamente em um servidor, uma para cada aplicação ativa no servidor. • Estabelecimento de Conexão TCP • Uma conexão TCP é estabelecida em três etapas: • O cliente iniciador requisita uma sessão de comunicação cliente-servidor com o servidor. • O servidor confirma a sessão de comunicação cliente-servidor e requisita uma sessão de comunicação de servidor-cliente. • O cliente iniciador confirma a sessão de comunicação de servidor-cliente. Clientes Enviando Requisições TCP Portas de Destino das Requisições Portas de Origem das Requisições Portas de Destino das Respostas Portas de Origem das Respostas Estabelecimento de conexão TCP Encerramento de sessão TCP Controle de fluxo e confiabilidade • Confiabilidade do TCP – Entrega Garantida e Solicitada • Os segmentos TCP usam números de sequência para identificar e reconhecer cada segmento com exclusividade, rastrear a ordem dos segmentos e indicar como reagrupar e reordenar os segmentos recebidos. • Um ISN (initial sequence number, número de sequência inicial) é escolhido aleatoriamente durante a configuração da sessão TCP. O ISN é então incrementado pelo número de bytes transmitidos. • O recebimento do processo TCP efetua o buffer dos dados do segmento até que todos os dados sejam recebidos e reagrupados. • Os segmentos recebidos fora de ordem são mantidos para serem processos posteriormente. • Os dados são entregues à camada da aplicação somente quando foram totalmente recebidos e reagrupados. Controle de fluxo e confiabilidade Confiabilidade do TCP - perda de dados e retransmissão Confiabilidade do TCP - perda de dados e retransmissão Controle de Fluxo TCP – Tamanho da Janela e Confirmações Controle de Fluxo TCP – Tamanho da Janela e Confirmações Controle de Fluxo TCP - Tamanho Máximo do Segmento (MSS) Controle de Fluxo TCP - Prevenção de Congestionamento Controle de Congestionamento TCP Comunicação UDP • Baixa sobrecarga vs. confiabilidade UDP • O UDP tem uma sobrecarga mais baixa que o TCP. • O UDP não é orientado a conexão e não fornece mecanismos sofisticados de retransmissão, sequenciamento e controle de fluxo. • As aplicações que executam UDP ainda podem contar com confiabilidade, mas ela precisa ser implementada na camada de aplicação. • Remontagem do Datagrama UDP • O UDP simplesmente reagrupa os dados na ordem em que foram recebidos. • A aplicação deve identificar a sequência apropriada, se necessário. • Processos em Servidores e Requisições UDP • As aplicações UDP em servidores também recebem números de portas muito conhecidas ou registradas. • As requisições recebidas em determinada porta são encaminhadas para a aplicação apropriada de acordo com os números de porta. Baixa Sobrecarga do UDP Versus Confiabilidade Remontagem do Datagrama UDP Processos em Servidores e Requisições UDP Comunicação UDP Processos em Clientes UDP • A comunicação UDP cliente-servidor também é iniciada por uma aplicação cliente. • O processo do cliente UDP seleciona dinamicamente um número de porta e o utiliza como a porta de origem. • A porta de destino geralmente é o número de porta muito conhecida ou registrada que é atribuído ao processo do servidor. • O mesmo par de portas origem e destino é usado no cabeçalho de todos os datagramas da transação. • Os dados que retornam ao cliente a partir do servidor tem os números de porta de origem e destino no cabeçalho do datagrama invertidos. TCP ou UDP • Aplicações que usam o TCP • O TCP processa todas as tarefas relacionadas à camada de transporte. • Isso libera a aplicação de ter que gerenciar essas tarefas. • As aplicações podem simplesmente enviar o fluxo de dados para a camada de transporte e usar os serviços TCP. • Aplicações que usam o UDP • Aplicações em vídeo e multimídia ao vivo - Podem tolerar pequenas perdas de dados, mas exigem pouco ou nenhum atraso. Os exemplos incluem VoIP e transmissão de vídeo ao vivo. • Aplicações de solicitação e resposta simples - Aplicações com transações simples em que um host envia uma solicitação e pode ou não receber uma resposta. Os exemplos incluem DNS e DHCP. • Aplicações que tratam a própria confiabilidade – Comunicações unidirecionais em que o controle de fluxo, detecção de erros, confirmações e recuperação de erros não são necessários ou podem ser tratados pela aplicação. Os exemplos incluem SNMP e TFTP. FIM