A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Comunicação de dados Protocolos básicos de enlace de dados.

Apresentações semelhantes


Apresentação em tema: "Comunicação de dados Protocolos básicos de enlace de dados."— Transcrição da apresentação:

1 Comunicação de dados Protocolos básicos de enlace de dados

2 Sumário 1) Protocolos básicos de enlace de dados. 2) Um protocolo simplex sem restrições. 3) Um protocolo Simples Stop-and-wait em um canal livre de erros. 4) Um protocolo Simples Stop-and-wait em um canal com ruídos.

3 Introdução Processos independentes, em cada camada, que se comunicam enviando mensagens.

4 Localização e função da Camada de Enlace Parte da Camada de Enlace reside nas interfaces de rede. Outra parte no Sistema Operacional. – Geralmente o software para o processo da Camada de Enlace toma a forma de um driver de dispositivo. Quando a Camada de Enlace recebe um pacote, ela o encapsula em um quadro acrescentando-lhe um cabeçalho e um final.

5 Funções da Camada de Enlace Existem funções de biblioteca denominadas: – to_physical_layer. – from_physical_layer. – to_network_layer. – from_network_layer. – Wait_for_events. Essas funções recebem e enviam quadros e calculam o checksum. – Geralmente implementadas em hardware.

6 Controle de erro Quando o quadro chega, o checksum é calculado. Se houver erro a Camada de Enlace é informada. – Event = chSum_err. Se o quadro chegar intacto, a Camada de Enlace também é avisada para que ela possa recebê-lo usando from_physical_layer e repassar sua carga útil à Camada de Rede. – Event = frame_arrival.

7 Campos do cabeçalho de um quadro hipotético O quadro é composto por quatro campos: – Kind: Informações de controle. – Seq: Número de sequência. – Ack: Confirmação de recebimento. – Info: Pode conter dados (carga útil).

8 Relacionamento entre as camadas A Camada de Rede obtém a mensagem da Camada de Transporte, acrescenta a ele o cabeçalho e repassa-o à Camada de Enlace para inclusão no campo info de um quadro. No destino, a Camada de Enlace extrai o pacote do campo info e o entrega à Camada de Rede.

9 Sumário 1) Protocolos básicos de enlace de dados. 2) Um protocolo simplex sem restrições. 3) Um protocolo Simples Stop-and-wait em um canal livre de erros. 4) Um protocolo Simples Stop-and-wait em um canal com ruídos.

10 Protocolo simplex sem restrições Protocolo o mais simples possível. – Não se preocupa com a possibilidade de algo sair errado. – Dados transmitidos em apenas um sentido. – Camadas de rede do receptor e transmissor estão sempre prontas. – Canal nunca perde quadros. Apenas o campo info é utilizado. Único evento possível é o frame_arrival. – Chegada de um quadro não danificado.

11 Transmissor Loop while infinito que envia dados o mais rápido possível. – Busca um pacote na Camada de Rede. – Cria o quadro. – Transmite o quadro.

12 Receptor Espera que algo aconteça. – Único evento é a chegada de um quadro intacto. – Função wait_for_events retorna com evento frame_arrival. A chamada from_physical_layer remove o quadro do buffer do hardware e o coloca em uma variável onde o código receptor poderá buscá-lo quando necessário. Dados são repassados à Camada de Rede. Camada de Enlace volta a esperar pelo próximo quadro.

13 Sumário 1) Protocolos básicos de enlace de dados. 2) Um protocolo simplex sem restrições. 3) Um protocolo Simples Stop-and-wait em um canal livre de erros. 4) Um protocolo Simples Stop-and-wait em um canal com ruídos.

14 Protocolo simplex stop-and-wait Canal livre de erros Impedir que o transmissor sobrecarregue o receptor com quadros mais rapidamente do que ele conseguirá processá-los. Continuamos a supor que: – O canal é livre de erros. – A comunicação é simples.

15 Situações possíveis Receptor poderoso o bastante para processar todo quadro que chega. Se isto não for possível, então a Camada de Enlace deve ser “lenta” o bastante para que o receptor possa acompanhar o fluxo de quadros.

16 Solução geral Exemplo simples de controle de fluxo: – Receptor oferece feedback ao tansmissor. Depois de enviar o pacote a sua Camada de Rede, o receptor envia um pequeno quadro de volta ao transmissor, permitindo a transmissão do próximo quadro. – Transmissor envia o quadro e aguarda a chegada do pequeno quadro de confirmação.

17 Stop-and-wait Os protocolos onde o transmissor envia um quadro e aguarda uma confirmação são denominados de stop-and-wait (pare e espere).

18 Deduções O canal físico pode ser half-duplex. O transmissor, ao contrário do exemplo anterior, deve esperar pela chegada da confirmação antes de retornar ao loop e buscar o próximo pacote da rede. A Camada de Enlace do transmissor não precisa nunca inspecionar o quadro recebido pois a resposta é sempre uma confirmação. A Camada de Enlace do receptor, após repassar o pacote à Camada de Rede, deve enviar o quadro de reconhecimento antes de retornar ao loop de espera de um evento.

19 Sumário 1) Protocolos básicos de enlace de dados. 2) Um protocolo simplex sem restrições. 3) Um protocolo Simples Stop-and-wait em um canal livre de erros. 4) Um protocolo Simples Stop-and-wait em um canal com ruídos.

20 Protocolo simplex stop-and-wait Canal com ruído Neste modelo vamos imaginar um canal onde ocorrem erros. Neste modelo, estamos supondo que um quadro pode se corromper ou não chegar, sendo função da Camada de Enlace receptora detectar essas ocorrências e avisar à Camada de Enlace transmissora. Este aviso pode ocorrer retornando um recibo (confirmação) confirmando a chegada do quadro integro. No receptor, o hardware calcula o checksum. Se um erro for detectado, ou se o quadro não chegar, a Camada de Enlace receptora não enviará a confirmação.

21 Timer O transmissor possui um timer cuidadosamente calculado. Assim que o quadro é enviado, o timer é acionado. O receptor somente envia o reconhecimento somente se o quadro chegar integro. O transmissor aguarda a chegada da confirmação por um período de tempo (o timer) se o timer do transmissor expirar (timeout), este retransmite o quadro inúmeras vezes até chegar a confirmação.

22 Quadros duplicados A Camada de Rede de A envia um pacote à Camada de Enlace de A. O quadro é transmitido e chega corretamente à Camada de Enlace de B. B repassa o pacote a sua própria Camada de Rede e envia a confirmação para A.

23 Quadros duplicados (2) A confirmação se perde. O canal não faz distinções entre quadros de dados e quadros de controle.

24 Quadros duplicados (3) O transmissor deduz (incorretamente) que o seu quadro se perdeu e retransmite o quadro.

25 Quadros duplicados (4) O quadro duplicado chega integro à Camada de Enlace e, como não contém erros, é passado imediatamente à Camada de Rede, que passa a ter um quadro duplicado.

26 Problema O receptor deve possui alguma forma de distinguir um quadro que ele está recebendo pela primeira vez, de um quadro duplicado.

27 Números de Sequência Uma solução é inserir um número de sequência no quadro. Desta forma, o receptor pode verificar o valor do número de sequência do quadro e determinar se esse é um novo quadro ou uma retransmissão que deve ser descartada.

28 Tamanho do campo número de sequência Eficiência. – Quadros do menor tamanho possível. – Qual é o tamanho do campo número de sequência? Qual é menor tamanho possível de um campo “número de sequência”!? Pode ser de apenas um bit?

29 Diferença entre este protocolo e os anteriores O protocolo Simples Stop-and-wait em um canal com ruídos difere dos anteriores por possuir uma variável cujo valor é memorizado quando a Camada de Enlace está em estado de espera. – Em next_frame_to_send o transmissor memoriza o número do próximo quadro a ser enviado. – Em frame_expected o receptor memoriza o número do próximo frame a ser recebido.

30 Temporizador Quanto deve durar o tempo do temporizador? – Curto demais – Pacotes retransmitidos desnecessariamente. – Amplo demais – Retransmissões necessárias demoram a ocorrer.


Carregar ppt "Comunicação de dados Protocolos básicos de enlace de dados."

Apresentações semelhantes


Anúncios Google