• Nenhum resultado encontrado

Redes de Computadores. Protocolos Peer-to-Peer Protocolos ARQ Aula 8 Profa. Priscila Solís Barreto

N/A
N/A
Protected

Academic year: 2021

Share "Redes de Computadores. Protocolos Peer-to-Peer Protocolos ARQ Aula 8 Profa. Priscila Solís Barreto"

Copied!
25
0
0

Texto

(1)

Redes de

Computadores

Protocolos Peer-to-Peer

Protocolos ARQ

Aula 8

(2)

Protocolos Peer-to-Peer

•  Os processos Peer-to-Peer executam um protocolo da camada n para fornecer serviços à camada (n+1)

•  O peer (n+1) chama o peer n e lhe transfere Service Data

Units (SDUs) a serem transmitidas

•  Os peers da camada n trocam Protocol Data Units (PDUs) para executar a transmissão •  A camada n entrega os SDUs

(3)

Modelos de Serviço

•  O modelo de serviço especifica o serviço de

transferência de informação que a camada n

oferece à camada (n+1)

•  O serviço pode ser orientado a conexão ou

sem conexão

•  O modelo de serviço permite:

– Escolhas no tamanho e estrutura da mensagem

– Sequenciamento e confiança

– Temporização e controle de fluxo

– Multiplexação

(4)

Confiabilidade e sequenciamento

•  Confiabilidade: quando ?

– Sequenciamento: mensagens ou streams

entregues em ordem?

– duplicidade

•  Como fornecer comunicação confiável ?

– TCP e HDLC

•  Os protocolos ARQ combinan a deteção de

erros, retransmissão e sequenciamento para

fornecer confiabilidade e ordenamento

(5)

Controle de Fluxo

•  Para que serve ?

– Se a camada destino (n+1) não recupera a

informação suficientemente rápido, as camadas

de destino n podem ter overflow

•  O controle de fluxo é um conjunto de

mecanismos de regulação que controlam a

transferência de acordo a disponibilidade de

buffers no destino

(6)

Temporização

•  Nas aplicações multimídia:

–  As aplicações que envolvem voz e vídeo geram unidades de informação que são relacionadas no tempo

–  A rede introduz atraso e jitter

–  A aplicação de destino deve reconstruir a relação temporal entre as unidades de voz e vídeo

•  Como se faz a reconstrução ?

–  Protocolos de recuperação de temporização usam timestamps e numeração de sequencia para regular as diferenças

(7)

Privacidade, Autenticação e

Integridade

•  Privacidade: garantir que a informação

transferida não pode ser lida por outros

•  Integridade: garantir que a informação não é

alterada enquanto transferida

•  Autenticação : verificar que emissor e

receptor são os que dizem ser

•  Os protocolos de segurança garantem estes

serviços. Ex: IPSec, SSL

(8)

Fim a Fim ou Salto a Salto

•  Um tipo de serviço se implementa a partir de

um protocolo

– Fim a fim, através da rede

– Através de cada salto na rede

•  Exemplos:

– Verificar erros em cada salto da rede ou somente

entre emissor e receptor ?

– Executar controle de fluxo em cada salto da rede

ou somente entre emissor e receptor ?

(9)

Controle de Erro na Camada

de Enlace

3 2 1 1 2 1 2 3 2 1 2 1 Meio 1 2 Entidade da Camada Física Entidade da Camada de Enlace 3 Entidade da Camada de Rede Física Enlace Física Enlace A B A B Pacotes Pacotes Quadros (a) (b) • O enlace de dados funciona como um fio, conectando diretamente os sistemas •  Os quadros podem ser corrompidos ou perdidos, mas chegam em ordem •  o enlace de dados executa verificação de erro e retransmissão

(10)

Controle de Erro na Camada

de Transporte

Física Enlace Física Enlace Sistema Final α Rede Rede Física Enlace Rede Física Enlace Rede Transporte Transporte Mensagens Mensagens Segmentos Sistema Final Β Rede

•  Protocolo de Transporte (TCP) envia segmentos atraves da rede e executa checagem fim a fim e retransmissão •  Se assume que a rede não é confiável

(11)

Quando utilizar cada enfoque ?

1 2 3 4 5

Data Data Data

ACK/NAK

Data

1 2 3 4 5

Data Data Data Data

ACK/ NAK ACK/ NAK ACK/ NAK ACK/ NAK

Fim a Fim (Ex. TCP)

(12)

Elementos Básicos do ARQ

Sequencia de Pacotes

Sequencia de Pacotes sem erro

Quadros de Informação Quadros De Controle Transmissor Receptor CRC Pacote de Informação Cabeçalho Estação A Estação B Quadro de Informação Quadro de Controle CRC Cabeçalho

Objetivo: garantir que uma sequencia de pacotes de informação seja entregue em ordem e sem erros ou duplicações, ainda na

(13)

ARQ – Alguns termos

•  Janela Deslizante ( Sliding window) : um

conjunto de sequencias que correspondem a

quadros que podem ser enviados ou

transmistidos

•  Serão estudados : Stop-and-Wait ARQ,

Go-Back N ARQ, Selective Repeat ARQ

•  Elementos básicos:

•  Código de deteção de erro

•  ACKs (confirmações positivas)

•  NACKs (confirmações negativas)

•  Temporizadores

(14)

A necessidade dos números

de sequencia

(a) Perda do quadro 1

A B quadro 0 quadro 1 ACK quadro 1 ACK tempo Time-out quadro 2 (b) ACK perdido A B quadro 0 quadro 1 ACK quadro 1 ACK tempo Time-out quadro 2 ACK

Nas partes (a) e (b) o emissor A funciona igual, mas na parte (b) o receptor (B) aceita o quadro 1 duas vezes

Como pode o receptor saber que o segundo quadro também é o quadro 1?

Ao adicionar número de sequencia de quadro no cabeçalho

(15)

Sem ACKs numerados

•  Como pode o receptor saber que o segundo ACK é do quadro 0? Usando número de sequencia no cabeçalho do ACK

•  Rnext é o número de sequencia do próximo quadro

esperado pelo receptor

•  Quantos bits são necessários para o número de sequencia ? A B quadro 0 quadro 0 ACK quadro 1 ACK tempo time-out quadro 2

A estação transmissora A interpreta de forma errada os ACKs duplicados e assume que o segundo ACK confirma o quadro 1

(16)

Informação de Estados para o

STOP and WAIT ARQ

Emissor Receptor Slast Rnext 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (0,0) (0,1) (1,0) (1,1) Temporizador Estado Global: (Slast, Rnext)

Quadro 0 sem erros chega ao receptor ACK para o quadro 0 chega ao emissor ACK para o quadro 1 chega ao

emissor Quadro 1 sem erros chega ao receptor

Estação A Rnext Estação B

(17)

STOP and WAIT ARQ

Emissor

Estado Pronto

1.  Esperar pedido da camada superior para transmitir pacote

2.  Quando chega o pedido, transmitir quadro como o Slast atualizado e o CRC

3.  Ir para o Estado de Espera

Estado de Espera

1.  Esperar pelo ACK ou timeout expirar; bloquear pedidos das camadas

superiores

2.  Se o timeout expira

1.  Retransmitir o quadro e inicializar timer

3. Se é recebido um ACK

Se o número de sequencia é

incorreto ou com erros: ignorar ACK Se o número de sequencia é correto então Rnext=(Slast+1) mod 2 , aceitar quadro e ir ao Estado Pronto

Receptor

Sempre no Estado Pronto

1.  Esperar pela chegada de um novo quadro 2.  Quando o quadro chega, checar erros

3.  Se não são detectados erros e o número de sequencia está correto (Slast=Rnext), então

-  Aceitar o quadro

-  Atualiar Rnext=(Rnext+1) mod 2 -  Enviar quadro ACK com Rnext -  Entregar o pacote à camada

superior

4. Se não são detectados erros e o número de sequencia está incorreto então descartar o quadro e enviar quadro ACK com Rnext 5. Se são detectados erros, descartar o quadro

(18)

Componentes do Atraso no

STOP and WAIT ARQ

Tempo

tf do quadro

A

B

tprop tproc tack tprop

tproc

t0 = tempo total para transmitir um quadro

t0= 2tprop+ 2tpro+ tf + tack tack= na / R e tf= nf / R

t0 é o tempo básico para enviar um quadro e receber um ACK, na ausência de erros

(19)

Eficiência na Transmissão

•  O protocolo é ineficiênte quando o tempo para receber um ACK é grande em comparação ao tempo de

transmissão do quadro. Primeiro bit do quadro Último bit do quadro Receptor prepara ACK e o envia Chega o ACK Tempo que o canal permanece

desocupado

Quadro de 1000 bits  1 Mbps usa 10 ms para transmitir Se a espera por um ACK = 1 ms, a eficiência é de 10/11= 91% Se a espera por um ACK = 20 ms, a eficiência é de 10/30 = 33%

(20)

Eficiência na Transmissão

•  A taxa efetiva de transmissão de informação do

protocolo na ausência de erros é dada por:

R0

eff = # bits de informação entregues / tempo total requerido para entregar os bits de

informação

= nf –n0/ t0, em que n0 é o numero de bits de overhead no quadro (header + CRC)

Eficiência na transmissão:

Efeito do overhead do

quadro

Efeito do quadro ACK Efeito do produto atraso x largura de banda

(21)

Go Back n ARQ

Melhora o Stop and Wait ao eliminar a espera

•  Mantém o canal ocupado enviando quadros de forma continua

•  Permite uma janela de tamanho Ws de quadros excedentes

•  A janela do receptor é de tamanho 1

•  Usa uma sequencia de numeração m-bit

•  Se um ACK para um quadro antigo chega antes de tamanho da janela ser alcançado, pode-se continuar transmitindo

•  Se a janela é esaurida, se volta e se retransmitem os quadros excedentes

(22)

GO BACK n ARQ

A B fr 0 fr 1 fr 2 fr 3 fr 4 fr 5 fr 6 fr 3 tempo A C K 1 erro Quadros fora de sequencia

Go-Back-4: 4 quadros foram enviados voltar 4

fr 5 fr 6 fr 4 fr 7 fr 8 fr 9 A C K 2 A C K 3 A C K 4 A C K 5 A C K 6 A C K 7 A C K 8 A C K 9

(23)

Comparação Stop and Wait e GO Back N ARQ

A B fr 0 fr 1 fr 2 fr 3 fr 0 tempo erro Quadros fora de sequencia

4 quadros excedentes  voltar 4

fr 2 fr 3 fr 1 fr 4 fr 5 fr 6 A B tempo fr 0 fr 0 erro Time-out expira fr 1 A C K 1 Stop-and-Wait Go-Back-N A C K 1 A C K 2 A C K 3 A C K 4 A C K 5 A C K 6

(24)

Timer Slast Slast+1 Srecent Slast+Ws-1 Timer Timer emissor receptor ... Recebe janela Buffers Slast S last+Ws-1 ... Envia janela Srecent Quadros transmitidos e confirmados Rnext quadros recebidos

receptor somente aceita um quadro sem erro e com

número de sequencia Rnext ...

(25)

A B fr 0 fr 1 fr 2 fr 3 fr 0 tempo fr 1 fr 2 fr 3 A C K 1 M =22 = 4, Go-Back - 4: A C K 4 A C K 2 A C K 3 Transmissor volta 4

Receptor tem Rnext=0, mas não sabe se o ACK para o quadro 0

foi recebido, então não pode distinguir se este é para o frame

0 antigo ou novo A B fr 0 fr 1 fr 2 fr 0 fr 1 tempo fr 2 A C K 1 M=22=4, Go-Back-3: A C K 2 A C K 3 Transmissor volta 3

O Receptor tem Rnext=3 , então rejeita o quadro velho com seq= 0 Janela com número fixo de bits

Referências

Documentos relacionados