34
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -

Redes de Computadores I

  • 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

Page 1: Redes de  Computadores I

Redes de Computadores I

Prof. Mateus Raeder

Universidade do Vale do Rio dos Sinos- São Leopoldo -

Page 2: Redes de  Computadores I

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

Page 3: Redes de  Computadores I

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á

Page 4: Redes de  Computadores I

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

Page 5: Redes de  Computadores I

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

Page 6: Redes de  Computadores I

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

Page 7: Redes de  Computadores I

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

Page 8: Redes de  Computadores I

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

Page 9: Redes de  Computadores I

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

Page 10: Redes de  Computadores I

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

Page 11: Redes de  Computadores I

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

Page 12: Redes de  Computadores I

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

Page 13: Redes de  Computadores I

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

Page 14: Redes de  Computadores I

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

Page 15: Redes de  Computadores I

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

Page 16: Redes de  Computadores I

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

Page 17: Redes de  Computadores I

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

Page 18: Redes de  Computadores I

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

Page 19: Redes de  Computadores I

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

Page 20: Redes de  Computadores I

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

Page 21: Redes de  Computadores I

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

Page 22: Redes de  Computadores I

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

Page 23: Redes de  Computadores I

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

Page 24: Redes de  Computadores I

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

Page 25: Redes de  Computadores I

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

Page 26: Redes de  Computadores I

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

Page 27: Redes de  Computadores I

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

Page 28: Redes de  Computadores I

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

Page 29: Redes de  Computadores I

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

Page 30: Redes de  Computadores I

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

Page 31: Redes de  Computadores I

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)

Page 32: Redes de  Computadores I

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

Page 33: Redes de  Computadores I

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

Page 34: Redes de  Computadores I

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