Upload
rozene
View
27
Download
2
Embed Size (px)
DESCRIPTION
Redes de Computadores I. Prof. Mateus Raeder. Universidade do Vale do Rio dos Sinos - São Leopoldo -. Camada de Transporte. É responsável pela transmissão lógica dos dados A camada de enlace é responsável pela transmissão física Dois tipos de transmissão: Orientado a conexão - PowerPoint PPT Presentation
Citation preview
Redes de Computadores I
Prof. Mateus Raeder
Universidade do Vale do Rio dos Sinos- São Leopoldo -
Redes de Computadores I – Prof. Mateus Raeder
Camada de Transporte
• É responsável pela transmissão lógica dos dados– A camada de enlace é responsável pela
transmissão física
• Dois tipos de transmissão:– Orientado a conexão
• TCP – Transmission Control Protocol
– Não orientado a conexão• UDP – User Datagram Protocol
Redes de Computadores I – Prof. Mateus Raeder
Camada de Transporte
• O transporte dos dados pode ser tratado na camada de enlace– Entretanto, o transporte trabalha com a pior
hipótese (enlace não controlar o transporte)– Isto, então, é tratado logicamente na Camada
de Transporte
• Na camada de Rede (abaixo do Transporte), sabe-se apenas o host destino– Sem distinções entre qual aplicação receberá
Redes de Computadores I – Prof. Mateus Raeder
Camada de Transporte
• TCP e UDP acrescentam um mecanismo que escolhe diferentes “locais de entrega” em um host– Porta
• Vários aplicativos enviam e recebem mensagens individualmente
• Necessário, pois os Sistemas Operacionais geralmente são multitarefa– Várias tarefas ao mesmo tempo
Redes de Computadores I – Prof. Mateus Raeder
Camada de Transporte
• Portas identificam os diferentes processos sendo executados– São definidas como um número inteiro positivo– Processos que utilizam a rede utilizam
determinada porta para comunicação
• Um processo transmissor precisa conhecer não somente o endereço IP do destino, mas também a porta a ser utilizada– Identifica host e aplicação
Redes de Computadores I – Prof. Mateus Raeder
Camada de Transporte
• Além da identificação do destino, a porta de origem deve ser enviada também– Assim, o processo receptor pode responder a
mensagem ao processo origem
198.12.3.11:27789 200.19.10.1:16784
Origem Destino
198.12.3.11:27789 200.19.10.1:16784
Identifica a conexão, permitindoVárias conexões entre Origem e Destino
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Protocolo do nível de transporte• Entrega de mensagens sem conexão
– Não confiável
• O UDP também permite a distinção entre os vários processos (aplicativos) nos hosts
• Uma mensagem UDP carrega dados, porta de destino e porta de origem
• Mensagens UDP são Datagramas
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Aplicações que utilizam UDP são totalmente responsáveis por lidar com confiabilidade– Perda de mensagens– Duplicação de mensagens– Retardo de mensagens– Erros de transmissão– Erros de conexão
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Datagrama UDP possui 2 partes– Cabeçalho– Dados
Porta Origem Porta Destino
Tamanho Checksum
Dados
0 16 31
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Portas Origem e Destino– Número de 16 bts, utilizado para entregar os
datagramas entre os programas
Porta Origem Porta Destino
Tamanho Checksum
Dados
0 16 31
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Tamanho– Tamanho total incluindo cabeçalho e dados– Contagem de octetos (valor mínimo é 8)
Porta Origem Porta Destino
Tamanho Checksum
Dados
0 16 31
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Checksum– Soma de verificação– Verifica se o Datagrama UDP está correto
Porta Origem Porta Destino
Tamanho Checksum
Dados
0 16 31
VERIFICA mas não RECUPERA erros
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Checksum– Campo opcional
• Preenchido com zeros no caso de não ser usado• Mínimo overhead possível
– Unicamente para verificar se os dados chegaram intactos e possam ser usados
– Para realizar o Checksum, o UDP utiliza mais informações do que existem no seu cabeçalho
– Adiciona-se um pseudocabeçalho ao datagrama
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Checksum– O pseudocabeçalho é criado com o IP origem e
destino e o campo protocolo• De onde vem estas informações?
– Do datagrama IP, e não do UDP
– O Tamanho é o único campo extraído do UDP
IP Origem
IP Destino
0 16 31
00000000 (zeros) TamanhoProtocol
Pseudoheader
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Checksum– Acrescenta um octeto de zeros para preencher,
fazendo-o um múltiplo de 16 bits– A soma de verificação é calculada com todo o
objeto– IMPORTANTE: pseudoheader não percorre a
redeIP Origem
IP Destino
0 16 31
00000000 (zeros) TamanhoProtocol
Pseudoheader
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Checksum– Remetente
• O remetente calcula a soma dos valores contidos nos campos
• Realiza complemento de 1 no resultado• Coloca no campo checksum da mensagem
– Destino• Cria o pseudocabeçalho• Realiza o mesmo cálculo do remetente• Soma o resultado ao checksum
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Checksum– Se o resultado for 0, não houve erros na
mensagem– Checksum é opcional
• Coloca-se 0 quando não deseja
– E se o checksum no remetente resultar em 0?• Neste caso, todos os bits do checksum são marcados
em 1
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Dados– Dados do usuário– O que será entregue para a Camada de Aplicação
Porta Origem Porta Destino
Tamanho Checksum
Dados
0 16 31
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Encapsulamento
Dados
Dados
Dados
Cabeçalho UDP
Cabeçalho UDP
Cabeçalho UDP
Cabeçalho IP
Cabeçalho IP
Cabeçalho Ethernet
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Multiplexação e demultiplexação– Multiplexar: dados que saem da Camada de
Aplicação e passam para a Camada de Transporte• Acrescentar informações
– Demultiplexar: dados que saem da Camada de Transporte e passam para a Camada de Aplicação
• Retirar informações
– Baseados nas portas definidas na comunicação• No destino, UDP aceita as mensagens da Camada de
Rede e desmultiplexa com base na porta destino do UDP
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Multiplexação e demultiplexação– UDP recebe um datagrama– Verifica se a porta de destino combina com
alguma das que podem ser utilizadas– Caso não haja, envia uma mensagem de erro
ICMP de porta inalcançável (port unreacheable), descartando o datagrama
– Se encontra a combinação informada, enfileira na porta da aplicação
• Fila cheia: mensagem descartada
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Multiplexação e demultiplexação
Camada de Rede
UDP: realiza a demultiplexação de acordo com a porta
Porta X Porta Y Porta Z Porta W
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• UDP não realiza diversas ações– Controle de fluxo– Controle de erros– Retransmissão de mensagens incorretas– Sequenciamento de mensagens
• Fornece apenas a principal tarefa dos protocolos de transporte– Entrega dos dados na Camada de Aplicação
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Trata-se de um protocolo simples– Implementação– Utilização
• Aplicações de tempo real (como Voz sobre IP (VoIP), por exemplo) necessitam desta simplicidade
• Deve ser utilizado em aplicações que não requerem segurança nos dados– Velocidade e simplicidade
Redes de Computadores I – Prof. Mateus Raeder
UDP (User Datagram Protocol)
• Desvantagens– Não confirma a entrega dos dados– Não ordena os dados enviados– Os erros devem ser tratados na aplicação
• Vantagens– Facilidade de implementação e utilização– Menos overhead na rede
• Sem mensagens de controle
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• O protocolo TCP implementa a funcionalidade não implementada no UDP– Orientação a conexão– Trata-se, então, de uma implementação mais
complexa
• O protocolo TCP tem o objetivo de sanar os erros de envio das camadas mais baixas– Todas entregando pacotes de forma não confiável
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• As aplicações inúmeras vezes necessitam enviar grandes volumes de dados entre si
• Sistemas não confiáveis e não orientados a conexão– Trazem tarefas nem sempre desejáveis aos
programadores, pois eles são os que precisam controlar os erros que vão ocorrer
• O TCP realiza estes controles para os aplicativos
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• Quatro características– Orientação de streams
• Dados são considerados streams (fluxo) de bits• O receptor recebe a mesma sequência de bytes que o
remetente enviou
– Circuito virtual:• Como uma chamada telefônica (chamada/aceita)• A comunicação deve ser autorizada• Durante transferência, protocolos continuam se
comunicando para eventuais erros
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• Quatro características– Transmissão bufferizada:
• Programas enviam streams de dados através do circuito virtual
• Repassam diversos octetos para o protocolo• Cada aplicativo pode enviar a quantidade de dados que
achar necessário• O protocolo, então, entrega estes octetos na mesma
ordem que recebeu• O protocolo pode, então, dividir o stream de dados em
quantas partes ele desejar
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• Quatro características– Transmissão bufferizada (cont.):
• Quanto mais dados houver no datagrama, mais eficaz e com menos tráfego na rede será a comunicação
• Se a aplicação gerar blocos muito extensos, o protocolo pode dividir em pequenas partes para transmissão
– Conexão full duplex• Permitem transferência de dados nas duas direções
– De A B e de B A
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• O TCP garante os fluxos de uma máquina para a outra sem duplicação e sem perda de dados
• Utiliza-se a técnica conhecida como Confirmação Positiva com Retransmissão– Positive Acknowledgement with Retransmition
• Esta técnica requer que um destinatário envia uma mensagem de confirmação (ACK)
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• O remetente mantém registro de cada pacote enviado– aguarda confirmação para enviar o próximo
pacote
• Quando envia um pacote, dispara um timer – Retransmite o pacote quando o timer expira sem
um ACK retornado
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• Envio sem problemas na transmissãoOrigem Destino
Envio do pacote 2
Envio do pacote 1
Recebe ACK 1
Envio do ACK 1Recebe pacote 1
Envio do ACK 2Recebe pacote 2
Recebe ACK 2
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission Control Protocol)
• Envio com problemas na transmissãoOrigem Destino
Retransmite pacote 1
Envio do pacote 1Início timer
Fim do timer
Envio do ACK 1Recebe pacote 1
Recebe ACK 1