Inrodução Ins iuo de Info ormáic ca - UF FRGS Redes de Compuadores Conrole de fluxo Revisão 6.03.015 ula 07 Comunicação em um enlace envolve a coordenação enre dois disposiivos: emissor e recepor Conrole de fluxo: Define quanos dados um emissor pode enviar anes de esperar uma confirmação (ack) do recepor Esá relacionado com capacidade de buffer do recepor Conrole de erros: O que fazer quando apenas se deeca erros? Descare do quadro seguido de reransmissão, porém, o QUE reransmiir, COMO e QUNDO? Redes de Compuadores Conrole de fluxo Quesões imporanes Mecanismo de rero-alimenação que informa a fone (emissor) a capacidade de recepção do desino (recepor) Objeivo é eviar perda de dados d por esouro em buffers de recepção Mecanismos básicos: sop-and-wai e janela deslizane nálise considerando d ransmissão sem erros (por enquano) Todos os quadros são ransmiidos com sucesso Nenhum quadro é perdido Nenhum quadro possui erros Ordem de chegada é igual a ordem de emissão Caracerísica do enlace: half-duplex versus full-duplex Duração da ransmissão de um quadro depende: do sinal no meio Função da disância a ser percorrida e da velocidade de propagação Tempo de duração do quadro Função do amanho do quadro e do empo de propagaçãop Quanidade de dados (quadros) que o emissor pode enviar anes de ser obrigado a parar de ransmiir Próxima aula será analisado o que ocorre se houver erros Redes de Compuadores 3 Redes de Compuadores 4
Caracerísica do enlace Duração da ransmissão Enlace half-duplex Os disposiivos podem ransmiir e receber dados comunicação é bidirecional, i porém NÃO PODE haver ransmissões simulâneas. Comparilhado e o sinal é difundido em odo o meio Enlace full-duplex Os disposiivos podem ransmiir e receber dados comunicação é bidirecional e PODE haver ransmissões simulâneas Meio dedicado enre um disposiivo e ouro Soma do empo de propagação ( p ) com a duração do quadro ( q ) Tempo oal da ransmissão = 1 = d / v 1110001011 disância d v 1110001011 ( p ) Tempo de duração do quadro ( q ) L q R Onde, L: amanho do quadro em bis 1 R: axa de ransmissão (bis/sec) V 00.000.000 m/s para meios guiados Redes de Compuadores 5 Redes de Compuadores 6 Exemplo: IEEE 80.3 (padrão original) Quanidade de dados Padrão define: Taxa de ransmissão de 10 Mbps 0.1μs por bi Diâmero da rede: 500 m, composo por 5 segmenos de aé 500 m, inerligados por quaro repeidores Maior disância enre dois disposiivos Cabo coaxial (empo de propagação = 5.6 μs, incluindo os 4 repeidores ) Quadro mínimo igual a 64 byes (51 bis) 500 m e 5.6 μs x = q + p = 51. μs + 5.6 μs = 76.8 μs L 648 51. us q R 10.000. 000 000 Objeivo é não provocar esouro de buffer no recepor Conrole de fluxo Proocolos de conrole de fluxo Conrola a quanidade de dados que pode ser enviada anes do ransmissor ser obrigado a parar de ransmiir Duas esraégias Sop and wai Janela deslizane Redes de Compuadores 7 Redes de Compuadores 8
Proocolo de conrole de fluxo sop-and-wai nálise de desempenho: sop-and-wai Emissor só pode enviar um quadro i depois de er recebido a confirmação da recepção do quadro i -1 Definição i de dois ipos de quadros: quadro de dados d e quadros de conrole (CK) O empo oal para enviar um quadro e receber um ack é dado por: T prop quadro proc prop ack proc 1 1 Tempo de propagação CK CK CK CK s seas represenam quadros e não bis, porano, os gráficos acima não mosram a duração dos quadros. segura a ransmissão Pode ser aproximado por: T prop quadro Eficiência da uilização do meio é: U quadro prop quadro fazendo a prop quadro Tempo de ransmissão Do quadro em si 1 U a 1 Redes de Compuadores 9 Redes de Compuadores 10 nálise do méodo sop-and-wai Melhorias para o sop-and-wai Exemplo: Canal de 1 Mbps, empo de propagação =, e quadro de 1000 bis q = 1000 bis * 1 s = ; p = 1ms; oal = ms Considerando o q do ack desprezível, se em uma ransmissão a cada 3 ms (. p + q ) Enão, o canal de 1 Mbps apresena um desempenho de 333,33.. Kbps!!! Enviar mais de um quadro anes de esperar o ack Explorar capacidade full-duplex para enviar quadros sem esperar o ack Inconvenienes do Sop-and-wai Subuiliza o meio de ransmissão Comunicação é sempre half-duplex mesmo quando o meio permie full-duplex Problema do sop-and-wai é er apenas um quadro em rânsio, por vez. Tempo de ransmissão do quadro Tempo de ransmissão do quadro Redes de Compuadores 11 Redes de Compuadores 1
Envio de n quadros Envio de n quadros coninuamene Exemplo: 1 Mbps, quadro 1000 bis, prop = 1ms 3 ms 1000 bis em 3 ms (axa 333,333 Kbps) 5 ms 3000 bis em 5 ms (axa 600 Kbps) Quesão: Porque simplesmene não aumenar o amanho do quadro? 3 ms Exemplo: 1 Mbps, quadro 1000 bis, prop = 1ms 3 ms 3000 bis em 3 ms (axa 1 Mbps) Possível quando: houver dados d suficienes i para enviar se obém um efeio pipeline Transmie quadro de dados i+1 anes de receber ack do i Meio permiir full duplex o receber o CK é possível reaproveiar o buffer e enviar um quadro novo Redes de Compuadores 13 Redes de Compuadores 14 Proocolo de conrole de fluxo por janela deslizane Implemenação da janela deslizane Permie a origem enviar q quadros sem esperar pela confirmação (ack) do desino Necessário que o desino informe sua capacidade d de absorção de quadros Número de quadros enviados não deve ulrapassar capacidade de buffer do desino Princípio básico: Numerar sequencialmene (módulo N) os quadros a serem ransmiidos capacidade inicial da janela (buffer) é N, depois vai sendo ajusado conforme quadros são enviados e confirmados pelo recepor Informar coninuamene a capacidade de absorção de quadros do desino Conrolar os quadros enviados e recebidos Dois ipos de quadros Quadro de dados: informação e número de seqüência Quadros de conrole: Receive Ready (RR n) e Receive NoReady (RNR n) Numeração sequencial usando k bis (0 a k -1 ) Limiação em k bis fornece o efeio módulo (e.g. k=; 0, 1,, 3, 0, 1,, 3) Semânica dos quadros de conrole: RR n: recebi aé o quadro n-1; pode enviar o quadro n RNR n: recebi aé o quadro n-1; mas não esou prono para receber o quadro n RR e RNR em efeio eo acumulaivo ua Redes de Compuadores 15 Redes de Compuadores 16
Exemplo funcionameno janela deslizane (sem erros) Janela deslizane no youube janela Emissor janela Recepor Simulação da janela deslizane hp://www.youube.com/wach?v=ehasqorydi Q0 Q1 Q Q3 Q0 RR Redes de Compuadores 17 Redes de Compuadores 18 Implemenação janela deslizane nálise de desempenho: janela deslizane r. Ca arissimi -7-ma Quadros enviados e confirmados 5 6 7 0 1 3 Quadros enviados e não confirmados OU que podem ser enviados Quadros recebidos e confirmados S F S i 4 5 6 S L 7 Quadros a serem recebidos OU recebidos e ainda não confirmados 0 S F : primeiro quadro não confirmado S i : quadro recenemene enviado (F i L) S L : úlimo quadro possível de ser enviado 5 6 7 0 1 3 4 5 6 7 0 R F : primeiro quadro possível de ser recebido R i : janela de recepção (F i L), i. é, quanidade de quadros disponíveis (buffer) R L : úlimo quadro possível de ser recebido R F R i R L Redes de Compuadores 19 O uso do canal depende do amanho da janela e do parâmero a Relação enre o empo de propagação e o empo de duração do quadro a q prop quadro Também pode ser viso como a capacidade em bis para preencher odo o meio em relação ao amanho do quadro (L), dado por: d / v d a R L / R v. L Desempenho se raduz pela quanidade de bis no meio Tempo de ransmissão é W = n * quadro Se preencher meio obém eficiência de 100% Redes de Compuadores 0
nálise de desempenho: janela deslizane (con.) Supondo quadro =1, em-se a = propagação pois a = propagação / quadro. Oura forma de ver (eficiência = 1) p pgç Se: Normalizando empo de duração quadro = 1 enão a = empo de propagação Caso 1: W a + 1 O ack de um quadro i é recebido anes da capacidade da janela er se esgoado, ou seja, é possível enviar coninuamene Caso : W < a + 1 O emissor esgoa sua capacidade de ransmissão em = W, ou seja, não pode ransmiir mais quadros aé receber um ack eficiência 1 para W para a 1 W a 1 W a 1 Redes de Compuadores 1 = 0 = 1 = = a = a+1 = a+1 a unidades de empo Quadro 1 Quadro Quadro 1 Quadro a Quadro (a-1) Quadro Quadro 1 Quadro (a+1) Quadro a Quadro 3 Quadro Quadro (a+1) Quadro a Quadro a+3 Quadro a+ ck W a+1 ck Redes de Compuadores Oura forma de ver (eficiência < 1) Supondo quadro =1, em-se a = propagação pgç pois a = propagação / quadro. Piggybacking g = 0 = 1 = = a = a+1 = a+1 a unidades de empo Quadro 1 Quadro Quadro 1 Quadro a Quadro (a-1) Quadro Quadro 1 Quadro (a+1) Quadro a Quadro 3 Quadro Meio vazio ck ck Quadro W Quadro a+3 Quadro a+ W< a+1 Redes de Compuadores 3 Oimização quando há dados sendo ransmiidos nos dois senidos Envio da confirmação (RR n ou RNR n) juno com dados Se não exise dados a serem enviados, se envia quadro RR n (RNR n) Se exise dados a serem enviados, mas não exise ainda uma confirmação a ser enviada, reenvia (repee) o úlimo RR n ou RNR n. <Q0; RR0> <Q0; RR0> <Q0; RR1> <Q1; RR0> <Q1; RR1> <Q0; RR> <Q1; RR0> <Q; RR0> Redes de Compuadores 4
Leiuras complemenares p Sallings, W. Daa and Compuer Communicaions (6 h ediion), Prenice Hall 1999. Capíulo 7, seção 71 7.1 e 73 7.3 Tanenbaum,. Redes de Compuadores (4 a edição), Ediora Campus, 003. Capíulo 3, seções 3.3 e 3.4 Velocidade de propagação (v): Disância que um sinal percorre em um segundo (e.g. 3x10 8 m/s para a luz) (): Tempo necessário para um sinal (bi) viajar de um pono a ouro Obviamene é função da disância a ser percorrida 1110001011 = 1 = d / v disância d v 1110001011 1 Redes de Compuadores 5 Redes de Compuadores 6 Duração emporal de um quadro Uma consaação Função do amanho do quadro (bis) e da axa de ransmissão (bps) Dado por L/R, onde L é amanho do quadro e R a axa de ransmissão Tempo oal de ransmissão (s) Duração do quadro + empo de propagação Tempo oal da ransmissão Tempo de duração do quadro Ex. IEEE80.3: Tempo para envio de um quadro de amanho mínimo = 76.8 μs 10 Mbps 0.1μs por bi Quadro com 64 byes 64 byes x 8 bis x 0.1 μs = 51. μs p/ 500 m de cabo coaxial = 5.6 μs Redes de Compuadores 7 Considerando prop = 15 ms, para quadros de 1000 byes (8000 bis) em uma rede de 1 Gbps. Dados 15 ms Dados 15 ms 30.016 ms 0.008 ms 30.040 ms 0.008 ms ack 0.008 ms 15 ms 0.008008 ms 0.008 ms 0.008 ms ack 15 ms 0.008 ms (obs.: diagramas fora de escala) (a) (b) Redes de Compuadores 8
Uma melhoria: enar fazer um ipo de pipeline pp nálise do méodo sop-and-wai 16 15 14 13 1 11 10 ack ack 9 ack 8 ack 7 ack 6 5 Resulado: canal esá sempre ocupado Para isso é necessário que: Se enha capacidade buffer Canal seja full-duplex Tempo de ransmissão Do quadro em si Problema do sop-and-wai é er apenas um quadro em rânsio, por vez. Inconvenienes do Sop-and-wai Subuiliza o meio de ransmissão Comunicação é sempre half-duplex mesmo quando o meio permie full-duplex Exemplo: Canal de 1 Mbps, empo de propagação =, e quadro de 1000 bis q = 1000 bis * 1 s = ; p = 1ms; oal = ms Considerando o q do ack desprezível, se em uma ransmissão a cada 3 ms (. p + q) Enão, o canal de 1 Mbps apresena um desempenho de 333,33.. Kbps!!! Redes de Compuadores 9 Redes de Compuadores 30 nálise do méodo janela deslizane Melhorias para o sop-and-wai Tempo de ransmissão do quadro Tempo de ransmissão do quadro Permiir o envio de mais de um quadro anes de esperar ack umena a quanidade de dados ransmiidos Quesão: porque simplesmene não aumenar o amanho do quadro? Em meios full-duplex permiir que quadros sejam enviados em um senido e as confirmações (ack) no ouro. Efeio pipeline que melhora a eficiência do canal Se o canal é full-duplex superposição quadros com CK 16 15 14 13 1 11 10 ack ack8 9 ack7 ack6 ack5 Resulado: canal esá sempre ocupado Para isso é necessário que: Se enha capacidade buffer CanalC l seja flld full-duplexl Redes de Compuadores 31 Redes de Compuadores 3