Академический Документы
Профессиональный Документы
Культура Документы
Departamento de Radiotecnia
Verso 2.0
Pg 1 de 67
Departamento de Radiotecnia
4.1.1 A janela deslizante de transmisso no mecanismo Go-Back-N .23 4.1.2 Funcionamento do Go-Back-N sem erros...................................... 28 4.1.3 Controlo de fluxo dos dados no Go-Back-N. ................................. 29 4.1.4 Funcionamento do Go-Back-N com erros...................................... 29 4.1.5 Relao entre mdulo de numerao M e janela de transmisso K no Go-Back-N............................................................................................... 35 4.1.6 Desempenho do Go-Back-N. ........................................................... 38 4.1.6 Consideraes finais sobre o Go-Back-N. ..................................... 42 4.2.1 A janela deslizante de transmisso e recepo no mecanismo Selective Repeat.............................................................................................. 45 4.2.1 Funcionamento do Selective Repeat sem erros. .......................... 49 4.2.2 Controlo de fluxo dos dados no Selective Repeat. ....................... 50 4.2.3 Funcionamento do Selective Repeat com erros. .......................... 50 4.2.4 Relao entre mdulo de numerao M e janelas de transmisso K no Selective Repeat. ................................................................................... 54 4.2.5 Desempenho do Selective Repeat. ................................................. 56 4.2.6 Consideraes finais sobre o Selective Repeat............................ 58
4.3 Piggybacking............................................................................................ 60 5 Estabelecimento e terminao de ligaes................................................... 63 5.1 Inicializao da ligao atravs do um protocolo MASTER-SLAVE..... 64 5.2 Inicializao da ligao atravs do um protocolo BALANCEADO........ 65
Pg 2 de 67
Departamento de Radiotecnia
CRC Cyclic Redundancy Check Mtodo de deteco de erros por cdigos ciclicos.
Pg 3 de 67
Departamento de Radiotecnia
Os mecanismos capazes de detectar erros, e reenviar automaticamente as tramas de informao perdidas no canal, so denominados ARQ Automatic Repeat Request, e enquadram-se na estratgia BEC Backward error correction. Estes sero o objecto de estudo deste captulo. Neste tipo de mecanismos, como referido, o emissor espera do receptor uma trama especial de confirmao de dados que denominada ACK 2(acknowlege) As tcnicas de retransmisso automtica dos dados ARQ, podem ser aplicadas em diversas camadas do modelo OSI3. Ao nvel nas camadas inferiores Camada de Ligao de dados e Camada de Rede (camada 2 e 3 respectivamente) ou ao nvel das camadas superiores Camada de transporte, como o caso do TCP 4 ou camada de aplicao5. A figura 1.1 ilustra este conceito, para o caso de comunicao entre PC1 e PC2, interligados atravs de dois ns de rede.
Em algumas implementaes comerciais, a mensagem de confirmao poder ter outra denominao, como por exemplo RR Receiver Ready 3 OSI Open Standars for interconnection. Modelo de referncia para comunicao de dados que funciona por camadas normalizado pela International Standards Organization (ISO) 4 TCP Transmit Control Protocol. Servio de transmisso fivel de dados implementado na camada de transporte do modelo TCP/IP 5 Normalmente so empregues na camada de aplicao, quando no se recorre a transmisso fivel na camada de transporte, como por exemplo, quando se utiliza o protocolo UDP (User Datagram Protocol) na camada de transporte.
Pg 4 de 67
Departamento de Radiotecnia
Note-se que nas camadas mais baixas (camadas 2 e 3), o protocolo funciona entre computador e n de rede, mas tambm entre os diversos ns de rede, ou seja a confirmao dos dados efectuada entre o n de rede adjacente e computador, bem como entre todos os ns de rede. Nas camadas mais altas (transporte e aplicao), o protocolo funciona extremo a extremo, significando que o emissor espera a mensagem de confirmao directamente do computador de destino. A escolha das camadas onde os mecanismos ARQ so implementados dependem da qualidade do canal ou sistema de transmisso. No caso das ligaes estarem sujeitas a elevadas taxas de erros (BER6), como o caso de ligaes em linhas telefnicas analgicas, ento prefervel que o ARQ funcione entre n de rede e computador, e entre ns de rede (camadas 2 e 3), pois tal acelera a recuperao dos erros ao evitar que a trama errada circule por toda a rede at ao destinatrio, at que este detecte o erro (e solicite ao emissor, o seu reenvio). Hoje em dia, com a boa qualidade das linhas digitais de transmisso que apresentam baixas taxas de erros, torna-se mais favorvel, que os erros sejam detectados apenas no destinatrio (apenas pela camada de transporte ou aplicao no extremo oposto), pois evita as perdas de tempo com a espera de recepo das mensagens de confirmao entre cada um dos ns de rede, bem como processamento adicional entre esses ns de rede e os computadores de destino. A transmisso fivel dos dados, no se limita deteco de erros e retransmisso dos dados, tendo como outras funes assegurar que o emissor no sobrecarrega o receptor, transmitindo uma quantidade de dados superior que este pode suportar. Esta funcionalidade designada controlo de fluxo. Outra funo da transmisso fivel dos dados garantir que o receptor recebe as tramas de dados pela mesma ordem que foram enviadas designada reordenamento. O reordenamento necessrio porque podem existir vrios caminhos entre o emissor e o receptor, podendo algumas tramas serem encaminhadas por caminhos alternativos e chegarem ao receptor fora de ordem. O re-ordenamento implica que todas as tramas de dados sejam numeradas. Por fim, importante garantir que os dados que sejam recebidos mais do que uma vez sejam ignorados (tratamento de duplicados). Os principais objectivos da transmisso fivel dos dados so: 1 Deteco dos erros pelo receptor, recorrendo a tcnicas de paridade ou CRC. 2 Implementao de uma tcnica ARQ, de confirmao positiva ou negativa dos dados e retransmisso automtica em caso de erros. 3 Providenciar controlo de fluxo dos dados, garantindo que o receptor no sobrecarregado com quantidades de dados superiores que este consegue suportar. 4 Providenciar o reordenamento das tramas de dados pelo receptor. Para isto necessrio que as tramas sejam numeradas. 5 Garantir que as tramas recebidas em duplicado sejam ignoradas. Para isto necessrio que as tramas sejam numeradas. As tcnicas ARQ, que sero objecto de estudo nas prximas seces, podem ser subdivididas em diversos mecanismos ou protocolos, que tendo o mesmo objectivo, diferem um pouco na forma como retransmitem os dados em caso de erros. Esto ilustradas na figura 1.2
6
BER Bit Error Rate Taxa de erros de bit. Implica elevada taxa de tramas erradas
Pg 5 de 67
Departamento de Radiotecnia
Figura 1.2 Subdiviso das tcnicas ARQ Nas tcnicas ARQ, a correco dos erros resume-se ao reenvio por parte do emissor, de toda a trama de informao que foi perdida. (A trama de informao contm o conjunto dos bits de informao e o cabealho, com informao de controlo). Note-se que bastar um nico bit errado para danificar toda a trama de informao. 2 Generalidades sobre avaliao de desmpenho Antes de entrar propriamente na anlise de cada uma das tcnicas ARQ, introduziremos alguns conceitos utilizados na anlise de desempenho de qualquer sistema de transmisso de dados. O desempenho de um protocolo, consiste em determinar se este ou no capaz de utilizar todo o dbito binrio disponibilizado pela camada fsica e suportado pelo canal de comunicao. Num sistema real, tal nem sempre possvel devido, por exemplo, ao facto da implementao do mecanismo ARQ necessitar de perder algum tempo espera de confirmaes, ou devido aos tempos de propagao no serem nulos, entre outros factores. Definio: Escoamento, Demanda ou Troughput (S). a quantidade de informao til, que transferida entre a origem e o destino, por unidade de tempo (a informao retransmitida no conta). Normalmente medida em tramas ou pacotes de dados por segundo. Com uma simples converso poder ser medida em bit por segundo.
S [bit / s ] =
Ltotal [bit ] t [s ]
(2.2)
Definio: Utilizao ou Eficincia (U): a fraco de tempo em que o canal est ocupado a transmitir informao til (a informao retransmitida no conta). A utilizao obtida pela relao entre o tempo total de durao da transmisso de informao til no canal e o tempo total de durao da transmisso dos dados. Tambm pode ser medida pela relao entre o troughput (em bit/s) e o dbito binrio do canal.
U=
S [bit / s ] rb [bit / s ]
Pg 6 de 67
(2.3)
Departamento de Radiotecnia
Estes conceitos so ilustrados na figura 2.1. Admitamos que se pretendem transmitir 3 tramas de dados numeradas (0 a 2), por um canal de dbito binrio rb. As tramas tm comprimentos variveis L1, L2 e L3, com durao Tx1, Tx2 e Tx3, respectivamente. t, representa o tempo total necessrio para transmitir toda a informao (til e no til) entre o emissor e o receptor.
Figura 2.1 Troughput e utilizao de um sistema Admitindo que as tramas ilustradas contm apenas informao til (sem cabealhos), com comprimento L0 = 9000 bit , L1 = 3000 bit e L2 = 6000 bit. O canal tem um dbito binrio rb = 3000 bit/s e o tempo total para transferir os dados t = 7.5s, ento:
Tx0 =
9000 = 3s 3000
Tx1 =
3000 = 1s 3000
Tx 2 =
6000 = 2s 3000
Clculo do Troughput do sistema: Envia-se um total de: 9000+3000+6000 = 18000 bit em 7.5 segundos ento:
S [bit / s ] =
S [tramas / s ] =
Clculo da utilizao do sistema O canal s est ocupado com informao til enquanto transmite as tramas 0, 1 e 2.
U=
Pg 7 de 67
Departamento de Radiotecnia
U=
S [bit / s ] rb [bit / s ]
Conclumos pelo valor da utilizao, que o protocolo exemplificado no consegue tirar partido de todo o dbito binrio disponvel no canal (existem tempos de no ocupao do canal) A figura 2.2, ilustra um sistema cuja utilizao de 100%, e consequentemente o Troughput iguala o dbito binrio. Tal consegue-se eliminando tempos de inactividade na transmisso, de modo a transmitir as tramas contnuamente (imediatamente umas a seguir s outras).
Neste caso U =
Pg 8 de 67
Departamento de Radiotecnia
3 O mecanismo StopAndWait A primeira tcnica ARQ a estudar o mecanismo StopAndWait. No mecanismo StopAndWait, por cada trama de informao enviada, o emissor espera do receptor uma trama especial de confirmao denominada ACK (acknowlege). O emissor s poder enviar nova trama de informao, aps receber a trama ACK, referente trama de informao enviada anteriormente. Quer dizer que o emissor envia uma trama de informao para depois parar de transmitir at receber o ACK correspondente, e de seguida continuar com o envio de nova trama de informao. Este processo continua sucessivamente at se concluir o envio total dos dados. Este funcionamento justifica a denominao Stop and Wait 3.1 Funcionamento do StopAndWait O funcionamento sem erros do StopAndWait, est ilustrado na figura 3.1 e resumese ao envio de tramas de informao, e espera pela recepo do respectivo ACK.
Figura 3.1 Funcionamento do Stop And Wait sem erros Nota: A figura 3.1 representa um diagrama temporal ilustrativo do tipo de mensagens envolvidas num protocolo de comunicao unidireccional entre o emissor e o receptor. Este tipo de representao no detalha os tempos de transmisso e propagao envolvidos, bem como os tempos de processamento das tramas nos computadores ou ns de rede. tambm assumido se nada for dito em contrrio que todas as tramas do mesmo tipo tm o mesmo comprimento. Pela figura 3.1, pode-se deduzir que a eficincia deste protocolo no grande, pois mesmo na ausncia de erros (sem retransmisses) no capaz de enviar continuamente tramas de informao, desperdiando algum tempo, enquanto o emissor fica espera das tramas de confirmao (ACK). Esta eficincia pode ser no entanto melhorada caso os tempos de propagao do canal sejam muito baixos. (Esta anlise ser abordada na seco 2.6)
Pg 9 de 67
Departamento de Radiotecnia
M = 2l
(3.1)
Pela equao 3.1, conclumos que para disponibilizar uma numerao compreendida entre 0 e 7 (Mdulo M=8 ou 8 identificadores diferentes), so necessrios l = 3 bit adicionais no cabealho. O Emissor tem que guardar em memoria a ltima trama enviada. Esta memria designada buffer de transmisso, e necessria para o reenvio da trama, caso esta no seja recebida pelo receptor. Como referido anteriormente, as tramas so numeradas, para permitir o reordenamento e evitar duplicaes. Os intervenientes na comunicao, tm que guardar em memria, o nmero da ltima trama enviada, bem como o nmero da prxima trama esperada recepo. Esta numerao incrementada recorrendo a contadores e guardada em variveis no emissor e receptor designadas variveis de estado.
Pg 10 de 67
Departamento de Radiotecnia
No emissor, normalmente a varivel de estado utilizada pelo StopAndWait a seguinte: V(S) ou txseq_no : Representa o prximo n de sequncia que o emissor tenciona utilizar. Esta varivel inicializada no incio da comunicao e incrementada trama a trama. No receptor, normalmente a varivel de estado utilizada pelo StopAndWait a seguinte: V(R) ou rxseq_no : Representa o prximo n de sequncia que o receptor espera receber do emissor. (Esta varivel inicializada a zero, no incio. Ao receber uma trama, se o seu nmero de sequncia for igual ao esperado (rxseq_no = txseq_no), ento incrementa rxseq_no de 1. 3.4 Retransmisso implcita e explcita das tramas de dados No caso da existncia de erros de transmisso, a retransmisso das tramas de informao, pode ser efectuada de forma implcita ou explcita. Retransmisso implcita: despoletada pelo expirar de um temporizador de transmisso e ocorre nos casos em que o receptor no recebe o ACK, correspondente do receptor. A no recepo do ACK, pode ocorrer quando a trama de informao se perde e nunca chega ao receptor (este no tem nada para confirmar), ou quando a trama ACK corrompida por erros, ou at quando esta perde no meio de transmisso, nunca chegando de volta ao emissor. Ver figura 3.2a e 3.2b respectivamente. Para garantir a retransmisso implcita: O emissor tem que implementar um temporizador de transmisso, que iniciado aps a transmisso da trama de informao e parado aps a recepo do ACK correspondente. Retransmisso explicita: despoletada quando o emissor recebe uma trama de ACK negativo, denominada NACK. Este trama de confirmao negativa dos dados, enviada pelo receptor, quando este recebe uma trama de informao corrompida. (O receptor capaz de detectar os erros nas trama recebidas atravs de mecanismos de paridade ou CRC). Ver figura 3.2c A retransmisso explcita utilizada para tentar acelerar o processo de retransmisso de uma trama que chega com erros ao receptor. Por sua vez aumenta a eficincia do protocolo. Qualquer mecanismo ARQ obrigado a implementar um mecanismo de retransmisso implcita e pode opcionalmente implementar um mecanismo de retransmisso explcita.
Pg 11 de 67
Departamento de Radiotecnia
a)
b)
c)
Figura 3.2 Funcionamento do Stop And Wait com erros. a) Perda da trama de informao. b) Perda do ack. c) Trama de informao recebida com erros. Na figura 3.2c, verifica-se que ao receber uma confirmao negativa (Nack), o emissor retransmite imediatamente a trama nmero 0. No h necessidade do expirar do temporizador de transmisso. A confirmao negativa impe geralmente um melhor desempenho, comparativamente ao caso em que o receptor no confirme a trama e obrigue o emissor a expirar completamente o temporizador de transmisso, antes de enviar novamente a trama 0. 3.5 Tratamento de duplicados no StopAndWait. Observando com ateno a figura 3.2b, verifica-se que a perda do ACK, conduz novamente recepo da trama nmero 0 (que j tinha sido correctamente recebida e processada no receptor). Ocorre uma duplicao de trama. O receptor ter que ter a capacidade de detectar esta duplicao, e descartar a trama duplicada, caso contrrio conduzir recepo de informao incorrecta. Para que esta deteco de tramas duplicadas seja possvel, necessrio que as tramas sejam numeradas. Desta forma, o receptor ao receber a trama nmero 0 fica espera da trama nmero 1. Caso receba uma trama nmero 0 seguida de outra trama nmero 0, detecta uma duplicao e descarta a ltima trama nmero 0.
Pg 12 de 67
Departamento de Radiotecnia
Figura 3.3 Stop And Wait. a)Com um identificador e sem erros. b) Com um identificador e com erros. c) Com dois identificadores e com erros.
Pg 13 de 67
Departamento de Radiotecnia
O StopAndWait necessita de pelo menos dois identificadores para numerar as tramas de modo a permitir a deteco de tramas duplicadas no receptor. 3.8 Desempenho do StopAndWait O mecanismo de correco de erros StopAndWait, enquadra-se na categoria dos mecanismos que operam por ciclos, como se pode observar pela figura 3.4 Definio: Um ciclo de transmisso, o intervalo compreendido entre recepo de dois ACK consecutivos.
Figura 3.4 Sistemas que operam por ciclos. A durao de cada ciclo poder ser diferente, pois os tamanhos de cada trama so diferentes, os tempos de processamento de cada trama no emissor e receptor poder variar, etc. Interessa portanto saber qual o intervalo mdio de durao de cada ciclo. Admitindo que cada ciclo tem uma durao mdia de W e que os campos de ___ informao das tramas tm uma durao mdia de V A utilizao em sistemas que operam por ciclos dada por:
___
___
U=
V
___
(3.4)
Pg 14 de 67
Departamento de Radiotecnia
O clculo de durao mdia de cada ciclo relativamente simples. Considere-se que: Tix: Tempo mdio de durao do campo de informao das tramas de informao Thx: Tempo mdio de durao do cabealho (no til) da tramas de Informao. Tax: Tempo mdio de durao da trama Ack. (normalmente s contm cabealho, no contendo Informao). Tp: Tempo de propagao do meio entre o emissor e o receptor. Tpi: Tempo mdio de processamento das tramas de informao no receptor Tpa: Tempo mdio de processamento das tramas Ack no emissor. Sem erros de transmisso, a durao mdia do ciclo de operao est ilustrada na figura 3.5
Figura 3.5 Ciclo de operao sem erros do StopAndWait Agora, facilmente se deduz a utilizao do sistema, que de acordo com a equao 3.4 dada por:
___
U=
V
___
(3.5)
Na prtica, os tempos de processamento nos computadores Tpi e Tpa so baixos, comparativamente a outros tempos envolvidos e consideram-se nulos. Da mesma forma, os comprimentos dos cabealhos Thx bem como o comprimento da trama de Ack - Tax so pequenos quando comparados com os campos de informao, e podem tambm ser considerados nulos. A equao 3.5 pode ento ser simplificada:
___
U=
V
___
Tix 1 Tix + 2T p 1 + 2a Pg 15 de 67
(3.6)
Departamento de Radiotecnia
Tp Tix
Na presena de erros de transmisso, o clculo da durao mdia de cada ciclo de transmisso, tem que ter em linha de conta o nmero mdio de transmisses da mesma trama de informao por cada ciclo. (No esquecer que cada erro origina nova transmisso) Note-se que o ciclo s termina aps a recepo do Ack que confirma que a trama foi correctamente recebida. (Ver figura 3.6) Para facilitar a anlise, vamos assumir o seguinte: Os tempos de processamento nos computadores Tpi e Tpa so nulos. Os comprimentos dos cabealhos de informao no til das tramas de informao e os comprimentos das tramas Ack :Thx e Tax so nulos. O temporizador de transmisso T0, iniciado logo que as tramas de informao comeam a ser enviadas.
Figura 3.6 Ciclo de operao com erros do StopAndWait Seja Nt o nmero mdio de transmisses por cada ciclo, e T0, a durao do temporizador de transmisso. A durao do ciclo de operao com erros agora:
__
W (N t 1).T0 + Tix + 2T p
E a Utilizao:
___
(3.7)
U=
V
___
(3.8)
Pg 16 de 67
Departamento de Radiotecnia
V2.0
U=
V
___
Tix N t (Tix + 2T p )
(3.9)
Para terminar a nossa anlise, h que calcular o nmero mdio de transmisses Nt .Este valor depende do nmero mdio de tramas com erros, ou seja da probabilidade de erro de trama Pf . A probabilidade de erro de trama depende por sua vez da probabilidade de erro de bit Pe.
Pf = 1 (1 Pe )
(3.10)
Em que L representa o nmero de bits que constitui a trama. O valor aproximado do nmero mdio de transmisses por ciclo Nt calcula-se facilmente recorrendo teoria das probabilidades. Admitindo que Pf a probabilidade de uma trama de informao estar errada, ento a existncia de i transmisses no ciclo sempre causada pela ocorrncia de i-1 transmisses falhadas, seguidas de uma transmisso com sucesso. Tal ilustrado na figura 3.7
Figura 3.7 N de transmisses por ciclo de operao A figura 3.7 indica-nos que o emissor transmite por ciclo i tramas de informao. Neste conjunto de tramas, so enviadas i-1 tramas erradas com probabilidade Pf seguidas de uma trama correcta com probabilidade 1-Pf Ento a probabilidade de ocorrerem i transmisses no ciclo a probabilidade de ocorrerem i-1 falhas e um sucesso. (Note-se que e corresponde multiplicao de probabilidades) P[ i transmisses num ciclo] = P[i ] = Pf
( ) (1 P )
i 1 f
(3.11)
Pg 17 de 67
Departamento de Radiotecnia
O valor mdio do nmero de transmisses obtido estatisticamente pelo somatrio dos produtos das probabilidades de ocorrncia de cada evento. Estatisticamente designado esperana matemtica E[i] e obtido por:
N t = E [i ] = i.P[i ] = i (Pf
i =1 i =1
) (1 P ) =
i 1 f
1 1 Pf
(3.12)
Com:
iX
i =1
i 1
1 , (1 X )2
1 < X < 1
(3.13)
Substituindo a equao 3.12 na equao 3.9, chega-se ento utilizao final do StopAndWait na presena de erros de transmisso.
(3.14)
A forma final obtm-se dividindo todos os termos por Tix e com a = 3.9 Consideraes finais sobre o StopAndWait
Terminamos o estudo do mecanismo StopAndWait, com algumas consideraes finais. Relativamente ao modo de funcionamento: O StopAndWait, permite implementar um mecanismo simples de retransmisso automtica de dados em caso de erro, em que por cada trama enviada, o emissor suspende a transmisso enquanto no receber a confirmao correspondente. A retransmisso pode ser implcita ou explcita (recorrendo ao expirar de um temporizador de transmisso, ou ao envio de confirmao negativa por parte do receptor respectivamente). Este funcionamento permite a implementao de um sistema de controlo de fluxo implcito dos dados, pois o receptor ao enviar a confirmao de dados, concede crdito para que o emissor continue a transmitir. Se o receptor atrasar o envio das confirmaes, provoca aumenta do tempo de suspenso da emisso por parte do emissor. Este facto tem como consequncia directa a reduo do fluxo de dados. Relativamente ao mdulo de numerao: O mdulo de numerao de tramas M, tem que ser no mnimo 2 (M=2), para que o receptor seja capaz de detectar tramas duplicadas. As tramas tero numerao disponvel entre 0 e 1.
Pg 18 de 67
Departamento de Radiotecnia
a=
Tp Tix
, e que Tix =
No entanto, a utilizao poder ser elevada para baixos valores de a. Tal acontece para baixos tempos de propagao e dbitos binrios. Portanto estes mecanismos tm aplicaes em comunicaes terrestres a curtas distncias e dbitos binrios modestos. No devero ser utilizadas em ligaes por satlite ou via rdio onde os tempos de propagao so elevados, nem em ligaes de elevado dbito binrio. Observando-se a figura 3.5, verifica-se que se enviar vrias tramas de informao de seguida, sem que haja necessidade de ficar espera de confirmao, aumenta-se a utilizao, pois consegue-se reduzir os tempos de inactividade. Este mtodo denominado Pipelining e ser estudado de seguida. Utilizao em aplicaes comerciais: O StopAndWait, foi usado em diversos protocolos de transmisso de dados nos anos 70 e 80, ao nvel da camada de ligao de dados, (caso dos protocolos BiSync da IBM e Xmodem), como ao nvel da camada de aplicao (caso do protocolo TFTP utilizado na Internet). Actualmente pouco utilizado, devido sua baixa eficincia. Dos trs protocolos que contm aplicaes do StopAndWait acima referidos, o TFTP o nico que nos dias de hoje ainda se mantm activo, devido essencialmente sua simplicidade e utilizao na internet. Estes protocolos so brevemente descritos de seguida. O protocolo Bisync um protocolo de camada de ligao de dados orientado ao carcter, desenvolvido pela IBM. Este utilizava o alfabeto ASCII para codificao dos caracteres de informao e controlo. A deteco de erros feita recorrendo a deteco de paridade horizontal e vertical, em que cada carcter continha um bit para paridade (vertical) e ao final da trama era adicionado um bloco que continha as paridades horizontais (BCC). Este protocolo est em desuso actualmente. O protocolo Xmodem um protocolo de transferncia de ficheiros muito popular, que incorpora uma forma de StopAndWait. A informao transmitida em blocos de caracteres ou tramas de comprimento fixo, constitudos por um cabealho de 3 byte e 128 byte para informao. A deteco de erros efectuada atravs de uma soma de verificao de 1 byte. O cabealho constitudo por um caracter especial denominado Start-Of Header, um byte para numerao de sequncia e um complemento a 2 do nmero de sequncia. O carcter de verificao de erros calculado pela soma complemento a 2 dos 128 byte que constituem a informao. O receptor envia uma mensagem Ack ou Nack cada vez que recebe um bloco (ou trama) de caracteres.
Pg 19 de 67
Departamento de Radiotecnia
O protocolo TFTP Trivial File Transfer Protocol, um protocolo muito simples para transferncia de ficheiros entre computadores interligados por TCP/IP normalizado pelo RFC 13507. Este protocolo recorre a um protocolo de transporte no fivel (UDP), e incorpora uma forma de StopAndWait ao nvel da aplicao. Cada pacote de dados transmitido contm 512 byte de dados e necessita da recepo da confirmao at que o prximo pacote de 512 byte seja enviado. Os mecanismos de temporizao no emissor, bem como numerao de pacotes (aqui as tramas denominam-se pacotes), para tratamento de duplicaes e reordenamento so utilizados.
RFC Request For Comment Formato dos documentos que normalizam os protocolos utilizados na internet. Podem ser encontrados em http://www.ietf.org
Pg 20 de 67
Departamento de Radiotecnia
Figura 4.1 Funcionamento ARQ em pipeline sem erros Definio : Ao nmero de tramas que podero ser enviadas pelo emissor sem que este tenha recebido confirmao, d-se o nome de Janela de Transmisso K. Admitindo que a janela de transmisso K igual a 3 tramas de informao, transmitidas imediatamente umas a seguir a outras, o perodo de ocupao til do canal V = 3Tix . Generalizando para qualquer tamanho de K, V = KTix A durao total do ciclo de operao mantm-se: W (Tix + 2T p ) . A utilizao para um sistema ARQ em Pipeline sem erros e com janela de transmisso K dada por:
__ __ ___ ___
U=
V
__
KTix K Tix + 2T p 1 + 2a
(4.15)
Pg 21 de 67
Departamento de Radiotecnia
A equao 4.15 indica que a utilizao sem erros aparece multiplicada pelo tamanho da janela de transmisso. Facilmente se percebe que a utilizao pode agora atingir os 100%, para valores de K = 1 + 2a. Note-se que caso K > 1 + 2a, matematicamente a utilizao mesmo superior a 100%. No entanto fisicamente a limitao do dbito binrio do canal, impe um limite mximo de troughput igual ao dbito binrio. Sendo assim, a utilizao do canal est limitada entre 0 e 1. Qualquer valor superior a 1 considerado 1 (100%). A figura 4.2 ilustra o sistema ARQ em pipeline, cujo valor de K permite que o canal esteja sempre ocupado com transmisso de informao e por conseguinte obtenha uma utilizao de 100%.
Figura 4.2 Funcionamento ARQ em pipeline sem erros com U=100% Com erros de transmisso, existem alguns pormenores a ter em conta, nomeadamente, a forma como so efectuadas as retransmisses das tramas. Basicamente existem duas possibilidades: i) No caso de o emissor no receber confirmao, de uma trama, envia novamente todas as tramas que esto dentro da janela de transmisso.
ii) No caso de o emissor no receber confirmao, de uma trama, envia novamente apenas a trama que contm os erros. Os mecanismos que adoptam a opo i) designam-se por Go-Back-N Voltar a trs N. Os mecanismos que adoptam a opo ii) designam-se por SelectiveRepeat repetio selectiva. Uma anlise mais detalhada dos mecanismos em Pipeline na presena de erros de transmisso fica reservada para as prximas seces. Facilmente se conclui que o mecanismo StopAndWait, anteriormente estudado pode ser visto como um mecanismo em pipeline com janela de transmisso unitria.
Pg 22 de 67
Departamento de Radiotecnia
Pg 23 de 67
Departamento de Radiotecnia
Figura 4.3 Parmetros da janela de envio A figura 4.3 introduz alguns conceitos que se descrevem: Tramas utilizveis: So aquelas que tm o nmero de sequncia dentro da janela de envio K e podem a qualquer momento ser enviadas sem necessidade de recepo de Ack. (Caso das tramas I(10) a I(15) ) Tramas no utilizveis: So aquelas cujo nmero de sequncia est fora da janela de envio K. Como tal no podero ser transmitidas. (Caso das tramas I(16) a I(20)). Tramas enviadas mas ainda no confirmadas (pendentes): So aquelas que foram transmitidas, mas para as quais o emissor ainda no recebeu o Ack correspondente. A janela de transmisso no avana enquanto estas confirmaes no forem recebidas. (Caso das tramas I(5) a I(9)). Tramas enviadas e j confirmadas: So aquelas que foram transmitidas e o emissor j recebeu o Ack correspondente. A janela de transmisso avana tantas unidades quanto o nmero de Ack recebidos pelo emissor. Como j referido, por cada Ack que o emissor recebe, a janela de transmisso vai avanando uma unidade, aumentando tambm de uma unidade o n de tramas utilizveis e que podero ser transmitidas. A janela vai avanando, tantos quantos Ack o emissor receber. Este mecanismo designa-se janela deslizante8.
Sliding Window Protocol em Ingls. A janela vai deslizando por cada Ack recebido
Pg 24 de 67
Departamento de Radiotecnia
As variveis de estado utilizadas pelo emissor so as seguintes: acked_seq_no : Representa o nmero de sequncia mais elevado da trama j confirmada (acknowledged) pelo receptor. send_base : Representa o n de sequncia da primeira trama enviada e que ainda no foi confirmada. V(S) ou txseq_no : Representa o prximo n de sequncia que o emissor tenciona utilizar. send_window: Representa os nmeros de sequncia que esto dentro da janela de transmisso. Nota: O emissor sabe se a numerao de sequncia est dentro da janela de transmisso, se a varivel send_window se encontrar entre os valores:sdsdsdsdsdsd send_window (send_base) && send_window [(send_base) + (K-1)] ssdsds A nica varivel de estado utilizada pelo receptor a seguinte: V(R) ou rxseq_no: Representa o prximo n de sequncia que o receptor espera receber do emissor. (Esta varivel inicializada a zero, no incio. Ao receber a trama, se o seu nmero de sequncia for igual ao esperado (rxseq_no = send_base), ento incrementa rxseq_no de 1. (Espera a prxima) Um possvel algoritmo de funcionamento do Go-Back-N exemplificado de seguida. Note-se que podero existir diversas variantes implementadas, com maior ou menor nmero de funcionalidades, e consequente maior ou menor robustez. O algoritmo 1, descreve uma implementao simples, mas relativamente robusta, e permite o estudo dos conceitos chave do Go-Back-N nas situaes mais importantes.
Pg 25 de 67
Departamento de Radiotecnia
Pg 26 de 67
Departamento de Radiotecnia
Pg 27 de 67
Departamento de Radiotecnia
Figura 4.4 Operao sem erros do Go9Back9N Em t=1s, enviada a primeira trama I(0). Os valores das variveis so os seguintes: acked_seq_no = -1 : Ainda no h nenhuma trama confirmada. send_base = 0 : Esta a trama enviada ainda no confirmada. txseq_no = 1: Esta a prxima trama a enviar. rxseq_no = 0: Esta a prxima trama esperada pelo receptor. 0 =< send_window <= 3 : Estes so as tramas dentro da janela de transmisso. Em t=2s e em t=3s, so enviadas as tramas I(1) e I(2) respectivamente, sem que ainda tenha sido recebida qualquer confirmao. As alteraes nas variveis so: send_base = 1 e send_base = 2: para t=2s e t=3s respectivamente. txseq_no = 2 e txseq_no = 3: Para t=2s e t=3s respectivamente. rxseq_no = 1 e rxseq_no = 2: Para t=2s e t=3s respectivamente. Note-se que a varivel send_window ainda se mantm: 0 =< send_window <= 3, pois como foi referido a janela s desliza quando o emissor recebe confirmaes correspondentes. (Acks) protocolo de janela deslizante. Em t=4s, recebido o primeiro Ack(0), que corresponde a I(0). tambm enviada I(3). As variveis so agora: acked_seq_no = 0 send_base = 3 txseq_no = 4 rxseq_no = 3 1 =< send_window <= 4
Pg 28 de 67
Departamento de Radiotecnia
Note-se que a varivel send_window incrementou uma unidade: A janela avanou uma unidade. Em t=5s, recebido o segundo Ack(1), que corresponde a I(1). tambm enviada I(4). As variveis so agora: acked_seq_no = 1 send_base = 4: txseq_no = 5 rxseq_no = 4 2 =< send_window <= 5 Note-se que a janela voltou a avanar uma unidade. Apesar deste avano, o seu valor K sempre constante. (Neste caso K = 4). 4.1.3 Controlo de fluxo dos dados no Go-Back-N. O Go-Back-N providencia um mecanismo implcito de controlo de fluxo dos dados, denominado controlo de fluxo por janela deslizante. A quantidade de identificadores de trama limitado, bem como o tamanho da janela de transmisso. Estes factores implicam que o nmero de tramas para envio (utilizveis) seja limitado. Pode-se ento dizer que o receptor concede crdito para que o emissor transmita, pois cada vez que envia um Ack, incrementa o nmero de tramas utilizveis pelo emissor (provocando o avano da janela de transmisso, ilustrado na figura 4.4). Caso o fluxo de dados enviado pelo emissor seja superior capacidade de processamento no receptor, este pode simplesmente atrasar o envio dos Ack, no permitindo o avano da janela no emissor, e obter a desejada reduo de fluxo de dados. 4.1.4 Funcionamento do Go-Back-N com erros. No caso da existncia de erros de transmisso (caso real), a retransmisso das tramas de informao, pode ser efectuada de forma implcita ou explcita. (Ver seco 3.4 para mais detalhes sobre estes dois conceitos). A retransmisso explcita opcional, tem como objectivo tentar acelerar o processo de envio de tramas erradas, e consequentemente aumentar a eficincia do protocolo. Iremos analisar o protocolo, com implementao de retransmisso implcita e explcita, em cenrios onde se perde a trama de informao, a trama de confirmao, e tambm quando a trama de informao chega com erros ao receptor. Cenrios de aplicao da retransmisso implcita: Cenrio 1 A trama de informao perde-se e no chega ao receptor. (A retransmisso efectuada pelo expirar do temporizador de transmisso, ou quando o emissor detecta uma confirmao com nmero de sequncia igual ao anteriormente recebido send_base)
Pg 29 de 67
Departamento de Radiotecnia
Cenrio 2 A trama Ack perde-se ou chega corrompida ao emissor. A retransmisso efectuada no caso da prxima trama de confirmao chegar ao emissor depois do expirar do temporizador de transmisso. Caso chegue uma confirmao antes do temporizador expirar, a trama Ack efectua acknowledgment cumulativo). Cenrios de aplicao da retransmisso explicita: Cenrio 3 A trama de informao chega corrompida ao receptor. Admitindo que a janela de transmisso K = 4, comeamos por estudar o cenrio 1, que est ilustrado nas figura 4.5 e figura 4.6. Descrio de cada um dos cnrios: Cenrio 1 A trama de informao perde-se e no chega ao receptor. Este cenrio, recorre ao mtodo de retransmisso implcita, das tramas de informao perdidas, para os casos em que o temporizador de transmisso expira (figura 4.5), e quando o emissor recebe uma confirmao com o nmero de sequncia igual ao anterior (figura 4.6). O primeiro caso observa-se sempre que o temporizador expira antes que o emissor receba um ACK, com nmero de sequncia igual ao anterior e est ilustrado na figura 4.5, o emissor envia 4 tramas (K=4): I(0) a I(3), sem necessidade de confirmao. A trama I(2) perde-se e no chega ao receptor. Pode-se observar que o receptor apenas toma conhecimento da perda de I(2) aps receber I(3). As suas variveis de estado na recepo indicam que a ltima trama recebida foi a I(1), e espera a trama I(2). Por outro lado, o emissor tambm no tem neste momento conhecimento da perda de I(2), e como a sua janela de emisso ainda no se esgotou (s enviou 3 tramas), continua e envia a prxima trama I(3). Note-se que depois de enviar I(3), o emissor pra de transmitir, pois a sua janela de transmisso esgotou e ainda no recebeu nenhum ACK. Algum tempo depois, o emissor comea a receber os primeiros Acks correspondentes s tramas I(0) e I(1) respectivamente. Esta recepo faz com que a janela avance, e permita a transmisso das tramas seguintes I(4) e I(5). Entretanto, aps o expirar do temporizador de transmisso, (neste caso corresponde trama I(2)), devido falta de confirmao, o emissor suspende a transmisso, volta atrs N e reenvia todas as tramas dentro da janela de transmisso. Neste caso, volta atrs at I(2), e reenvia I(2), I(3), I(4) e I(5).
Pg 30 de 67
Departamento de Radiotecnia
Figura 4.5 Operao com erros do Go9Back9N, com K = 4. Retransmisso implcita por perda da trama de informao A figura 4.6, ilustra o caso em que a trama de informao se perde, mas o emissor recebe uma confirmao duplicada antes que o temporizador de transmisso expire.
Figura 4.6 Operao com erros do Go9Back9N, com K = 4. Retransmisso implcita por recepo de ACK duplicado
Pg 31 de 67
Departamento de Radiotecnia
Neste caso implementa-se uma funcionalidade no emissor, que permite a reduo do tempo necessrio para o reenvio das tramas de informao. Estas podem ser retransmitidas antes do expirar do temporizador de transmisso. O emissor ao detectar a recepo de um ACK, cujo nmero de sequncia seja igual ao ACK anterior, pode implicitamente deduzir que o receptor no recebeu a trama de informao anterior. Imediatamente suspende a transmisso, volta atrs e retransmite as tramas que se encontram na janela de envio. Note-se que apesar de descartar as tramas fora de sequncia, o receptor continua a enviar ACKs, correspondentes ltima trama recebida em sequncia (que tinha sido I(1)), pois ainda no incrementou a varivel de estado da recepo rx_seq). Relembre que os ACK so cumulativos, e confirmam todas as tramas anteriores at I(X) inclusive. A retransmisso implcita para o caso da figura 4.6, est configurada no ponto 5 do algoritmo 1. Ambos os casos estudados no cenrio 1, conduzem duplicao das tramas I(3), I(4) e I(5), que j tinham sido confirmadas. Aqui o receptor capaz de detectar as tramas recebidas em duplicado, pois aps recepo da trama I(1), a sua varivel de estado de recepo indica que a prxima trama esperada I(2). Agora o receptor descarta todas as tramas que receba com nmero de sequncia diferente de 2. No caso de no se implementar retransmisso explicita, este cenrio tambm vlido para o caso da recepo de uma trama com erros (Neste caso I(2)). Ver algoritmo 1 no receptor, ponto 1. Cenrio 2 A trama Ack perde-se ou chega corrompida ao receptor. Neste cenrio, a retransmisso efectuada caso a prxima trama de confirmao chegue ao emissor depois do expirar o temporizador de transmisso (retransmisso implcita). Caso chegue uma confirmao antes do temporizador expirar, esta efectua acknowledgment cumulativo). A figura 4.7 ilustra o segundo caso deste cenrio.
Pg 32 de 67
Departamento de Radiotecnia
Figura 4.7 Operao com erros do Go9Back9N, com K = 4. Cenrio em que se perde a trama de Ack Como se pode observar pela figura 4.7, a trama Ack(0) perde-se. Neste caso o emissor aps enviar I(3), suspende a transmisso, pois a janela esgota. Ao receber a trama Ack(1), antes que o temporizador de transmisso de I(0) expire, o emissor vai assumir que o receptor recebeu correctamente a trama I(0), pois no recebeu nenhum Nack e recebe um Ack da trama de informao enviada com numerao mais alta. Generalizando, a trama Ack, confirma todas as tramas anteriormente recebidas. Este tipo de confirmao designado Acknowledge cumulativo. Cenrio 3 A trama de informao chega corrompida ao receptor. Neste cenrio, a recuperao de erros resolvida recorrendo a qualquer dos mtodos de retransmisso das tramas de informao perdidas: implcita ou explcita. O primeiro mtodo (de aplicao obrigatria) funciona exactamente do mesmo modo que no cenrio 1, pelo que nos iremos concentrar no segundo mtodo (de aplicao opcional). A figura 4.8, ilustra o cenrio 3, admitindo que se recorre retransmisso explcita das tramas de informao. Apesar de ser uma funcionalidade opcional, tem como objectivo reduzir o tempo de retransmisso, pois o emissor no tem de esperar pelo expirar de temporizador de transmisso at ao reenvio.
Pg 33 de 67
Departamento de Radiotecnia
Figura 4.8 Operao com erros do Go9Back9N, com K = 4. Cenrio em que se perde uma trama de informao A retransmisso explcita, implementada atravs do envio de NACKs (Acknowledgement negativo). Agora, se o receptor recebe uma trama corrompida (neste caso I(2)), imediatamente sinaliza o emissor que ao receber uma confirmao negativa (Nack(2)), suspende a transmisso de ACKs e reenvia novamente todas as tramas que se encontram dentro da janela de transmisso. Neste caso, volta atrs at I(2), e reenvia I(2), I(3), I(4) e I(5). Da mesma forma que no cenrio 1, esta retransmisso garante que todas as tramas chegam por ordem ao receptor. As tramas recebidas em duplicado so tambm detectadas e descartadas. Nota: O mecanismo de retransmisso explcita aumenta o grau de complexidade no receptor. O protocolo falha caso no haja precaues especiais (ver figura 4.9). aaaaa Admita que ao receptor chega I(0), I(1) e I(2). I(1) contm erros. O receptor envia ACK(0) e NACK(1). Se a trama NACK(1) se perder, o emissor no toma conhecimento disto. Entretanto ao receber I(2), o receptor envia ACK(1). Neste momento, no emissor a varivel send_base=1 ao receber ACK(1), com X = send_base (ver ponto 3 do algoritmo 1 emisso e ponto 2 do algoritmo 1 recepo). Sendo assim, ACK(1) efectuaria acknowledgment cumulativo, confirmando a trama I(1) erradamente. Esta nunca seria reenviada. Qqqq q Para evitar a falha do protocolo, no caso de erros em I(X) e falha simultnea em NACK(X), o receptor suspende o envio de ACKs e NACs, logo que envia a primeira trama NACK. Adicionalmente implementado um temporizador de NACKs para o caso em que s ocorre a perda do NACK no sentido receptor - emissor. qq
Pg 34 de 67
Departamento de Radiotecnia
Figura 4.9 Falha da retransmisso explicita do Go9Back9N, com K = 4. Cenrio com erros na trama de informao em que o respectivo NACK se perde, sem mecanismos de proteco especiais. 4.1.5 Relao entre mdulo de numerao M e janela de transmisso K no GoBack-N. O mdulo de numerao representa a quantidade de identificadores disponveis para numerao de tramas. O nmero de bits necessrios para numerao mdulo M, dado pela equao 3.1. Uma vez que o nmero de cada trama transmitido no seu cabealho, o nmero de bits utilizados para numerao deve ser mnimo, para reduzir o overhead. O mdulo de numerao depende do tamanho da janela de transmisso, pois quanto maior a janela de transmisso, maior nmero de identificadores sero necessrios para identificar as tramas de informao. O mdulo de numerao, tambm est relacionado com a capacidade do receptor em detectar tramas duplicadas, como veremos adiante. No permitido que tramas de informao diferentes, transmitidas e ainda no confirmadas (pendentes) tenham o mesmo nmero de sequncia. O mdulo de numerao M, tem que ser mnimo para reduo de overhead, mas tem que ser suficiente para providenciar ao receptor a capacidade de deteco de tramas duplicadas.
Pg 35 de 67
Departamento de Radiotecnia
A capacidade de deteco de tramas duplicadas avalia-se para o cenrio com erros, em que se perdem todas as tramas Ack, no sentido receptor emissor. Analisemos um caso, cuja janela de transmisso K = 4, ilustrado na figura 4.10.So necessrios tambm 4 identificadores diferentes para permitir o envio de 4 tramas sem necessidade confirmao. Para tal so necessrios dois bits e o mdulo de numerao M = 4. A numerao dos identificadores disponveis est compreendida entre 0 e 3.
Figura 4.10 Operao com erros do Go9Back9N, com M = K = 4 . Cenrio em que se perdem todas as tramas Ack Analisando a figura 4.10, observa-se que ao emissor no chega nenhuma confirmao referentes s tramas I(0) a I(3). Este suspende a transmisso em I(3), depois de esgotada a janela de envio. Mal o temporizador de transmisso expire, so retransmitidas novamente as tramas I(0) a I(3), que correspondem totalidade da janela de transmisso. Por outro lado, o receptor confirma correctamente todas as tramas, e quando recebe pela primeira vez I(3), espera I(0). A varivel de estado rx_seqno contm o valor 0, pois o mdulo de numerao M=K=4, s permite a utilizao de 4 identificadores de trama (0 a 3). Quando ao receptor chegam novamente as tramas I(0) a I(3), este aceita-as como vlidas, apesar de j terem sido recebidas, pois o seu nmero de sequncia corresponde ao valor esperado.
Pg 36 de 67
Departamento de Radiotecnia
O receptor no capaz de detectar as tramas duplicadas. Para tal, o nmero de identificadores teria que ser superior janela de transmisso em pelo menos uma unidade. A figura 4.11 ilustra a mesma situao de perda de todos os Ack, mas agora M=5 e K=4, permitindo que se utilizem 5 identificadores diferentes para as tramas (numeradas de 0 a 4)
Figura 4.11 Operao com erros do Go-Back-N, com M =5 e K = 4 . Cenrio em que se perdem todas as tramas Ack Agora observa-se que o receptor capaz de detectar as tramas duplicadas, pois ao receber a primeira trama I(3), tem numerao suficiente para poder esperar I(4) como prxima trama vlida. Ao receber novamente as tramas I(0) a I(3), este simplesmente descarta-as, pois a sua numerao no corresponde esperada. Salienta-se que as figuras 4.10 e 4.11, ilustram exemplos em que a retransmisso implcita. Para o caso de retransmisso explcita, o raciocnio mantm-se. A relao entre o mdulo de numerao e a janela de transmisso para o mecanismo Go-Back-N dada pela equao 4.16
M = K +1
(4.16)
Pg 37 de 67
Departamento de Radiotecnia
1 U KTix T + 2Tp ix
Tp Tix
1 U K 1 + 2a
, K 1 + 2a , K < 1 + 2a
(4.18)
As equaes 4.17 ou 4.18, permitem-nos concluir que a utilizao muito boa, atingindo mesmo os 100%, para valores relativamente baixos de tempos de propagao relativamente a tempos de transmisso. Quanto esto em jogo tempos de propagao elevados relativamente a temos de transmisso, a Utilizao pode ser melhorada aumentando a janela de transmisso K, e, ou aumentando o comprimento das tramas de informao. Note-se que:
Tix =
K no pode aumentar demasiado, devido ao overhead causado por mais bits necessrios ao aumento do nmero de identificadores das tramas.
Pg 38 de 67
Departamento de Radiotecnia
Apenas como referncia, para os caso real em que no so nulos, os tempos de processamento nos ns ou computadores, bem como os comprimento dos cabealhos das tramas de informao e comprimento das tramas Ack, a equao 4.17, vem afectada por estes valores e dada por:
1 U = KTix T + T + T + T + T + T + T p pi ax p pa hx ix
Desempenho com erros de transmisso Com erros de transmisso, o clculo da durao mdia de cada ciclo de transmisso, ter que ter em conta o nmero mdio de transmisses por ciclo no sistema. A figura 4.12 ilustra a durao mdia do ciclo de transmisso na presena de erros, para o caso especfico em que se perdem duas tramas I(0) consecutivas, e se recorre a retransmisso implcita.
Figura 4.12 Durao de um ciclo de operao do Go9Back9N, em caso de duas perdas consecutivas de I(0), com K = 4 e retransmisso implicita Seja Nt o nmero mdio de transmisses por cada ciclo, e T0, a durao do temporizador de transmisso e K a janela de transmisso. A durao do ciclo de
Pg 39 de 67
Departamento de Radiotecnia
operao com erros, obtida pela equao 3.8, desprezando os cabealhos das tramas de informao, o tamanho das tramas Ack e os tempos de processamento: E a Utilizao aproximadamente:
___
U=
V
___
(4.20)
U=
V
___
KTix N t (Tix + 2T p )
(4.21)
A equao 4.21, pode ser reescrita na equao 4.22, se analisarmos a utilizao em funo da janela de transmisso K , do tempo de propagao e tempo de transmisso.
1 U KTix N (T + 2Tp ) t ix
Clculo do nmero mdio de transmisses por ciclo. Interessa agora calcular o valor do nmero mdio de transmisses por ciclo Nt, Observando a figura 4.10, Vamos admitir que a janela de transmisso K=4, e que so necessrias 3 transmisses da trama original I(0), at obter sucesso: Foram transmitidas neste caso 4*2 + 1 = 9 tramas A funo que descreve o n total de tramas transmitidas, caso a trama original seja transmitida i vezes :
f (i ) = K .(i 1) + 1 = (1 K ) + Ki
(4.23)
O valor aproximado do nmero mdio de transmisses por ciclo Nt calcula-se facilmente recorrendo teoria de probabilidades. Admitindo que Pf a probabilidade de uma trama de informao estar errada, ento de acordo com o raciocnio da seco 3.8, a probabilidade da transmisso ter sucesso em i tentativas dada pela equao 3.11. O valor mdio do nmero de tramas enviadas at obter sucesso, obtido estatisticamente pelo somatrio dos produtos das probabilidades de ocorrncia de cada evento. Estatisticamente designado esperana matemtica E[i] e obtido por:
Pg 40 de 67
Departamento de Radiotecnia
V2.0
) (1 P )
i 1 f
(4.24)
Substituindo a equao 4.23 na equao 4.24 e desenvolvendo o somatrio, obtemos o nmero mdio de transmisses por ciclo Nt dado pela equao 4.25:
N t = (1 K ) (Pf
i =1
) (1 P ) + k i(P ) (1 P )
i 1 i 1 f f f i =1
1 Pf + KPf K = 1 K + = 1 Pf 1 Pf
Com:
(4.25)
iX i 1 =
i =1
1 , (1 X )2
1 < X < 1
X
i =1
i 1
1 , (1 X )
1 < X < 1
A utilizao final aproximada do Go-Back-N , com erros e desprezando tempos de processamento nos ns e computadores, comprimento dos cabealhos, comprimento das tramas Ack, e temporizador de transmisso T0 = Tix+2Tp , obtm-se substituindo o nmero mdio de transmisses (equao 4.25) na utilizao (equao 4.22)
, KTix Tix + 2T p
(4.26)
(1 Pf ) 1 + Pf ( K 1) U K (1 Pf ) (1 + 2a )[1 + Pf ( K 1)]
, K 1 + 2a
(4.27)
, K < 1 + 2a
Pg 41 de 67
Departamento de Radiotecnia
Pg 42 de 67
Departamento de Radiotecnia
10
HDLC High Level Data Link Protocol LABP Link Access Procedure Balanced
Pg 43 de 67
Departamento de Radiotecnia
4.2 O mecanismo Selective Repeat Tal como o Go-Back-N, o Selective Repeat um mecanismo ARQ em pipeline. A grande diferena reside no facto de agora em caso de erros, o emissor s reenviar a trama que est errada (ou a que simplesmente no chegou ao receptor) em vez de reenviar todas as tramas que sto dentro da janela de emisso. Este mecanismo permite por um lado evitar que sejam enviadas tramas duplicadas, mas por outro lado conduz ao envio de tramas fora de ordem como veremos adiante. Daqui resulta a designao Selective Repeat ou repetio selectiva. O receptor solicita especificamente a trama que pretende que o emissor reenvie. Para que este mecanismo seja capaz de funcionar correctamente em caso de erros, necessrio que se verifiquem os pressupostos da seco 4.1 relativamente ao GoBack-N, mas com as seguintes diferenas: O Receptor tem implementar uma janela de recepo KR e tem que guardar em memoria tantas tramas quanto o valor de KR. Esta memria designada buffer de recepo, necessria para que o receptor efectue a ordenao das tramas recebidas fora de sequncia. Definio: Designa-se janela de recepo Kr, o nmero de tramas que podero chegar ao receptor fora de ordem, sem que este as descarte. Estas tramas so armazenadas em memria para posterior reordenamento. Normalmente o tamanho da janela de transmisso e recepo so iguais, mas nada impede que sejam diferentes. Nota: Pode-se considerar que o mecanismo Go-Back-N estudado anteriormente, apresenta janela de recepo unitria. As tramas continuam a ser numeradas (para evitar a duplicao dos dados, em caso de erros), mas agora o receptor aceita tambm como vlidas, tramas de informao que chegam fora de ordem, desde que estejam dentro dos limites da janela de recepo. Tramas recebidas fora da janela de recepo so descartadas. O emissor tem que implementar um temporizador de transmisso, individual por cada trama enviada. Isto porque s vai reenviar a trama perdida. Para o caso de se implementar retransmisso explcita (Acknowledge negativo - Nack ),o receptor necessita de implementar um temporizador para as tramas Nack emitidas, do mesmo modo que no Go-Back-N. Como referido, o Selective Repeat, permite que o emissor, reenvie apenas a trama que contm erros. Isto conduz recepo de tramas fora de ordem.
Pg 44 de 67
Departamento de Radiotecnia
4.2.1 A janela deslizante de transmisso e recepo no mecanismo Selective Repeat. Admitamos que se pretendem transmitir 16 tramas de dados, numeradas I(0) a I(15) entre dois ns de rede. A janela de transmisso e de recepo so iguais. K igual a 10 tramas. Os conceitos de janela de transmisso e recepo do Selective Repeat esto ilustrados na figura 4.13.
Figura 4.13 Numerao de sequncia do ponto de vista do receptor e emissor no Selective Repeat A figura 4.13 introduz alguns conceitos relativamente janela de recepo que se descrevem (Os conceitos relativamente janela de emisso so os mesmos utilizados no Go-Back-N)
Pg 45 de 67
Departamento de Radiotecnia
Tramas utilizveis: So aquelas que tm o nmero de sequncia dentro da janela de recepo KR e podem a qualquer momento ser recebidas fora de ordem. (Caso das tramas I(6) a I(12) ) Trama esperada: Representa a prxima trama que o receptor espera receber por ordem (tem o prximo nmero de sequncia esperado), mas ainda no foi recebida. Tramas no utilizveis: So aquelas cujo nmero de sequncia est fora da janela de recepo. Como tal no podero ser recebidas. O receptor descarta todas as tramas recebidas fora da janela de recepo. Tramas recebidas fora de ordem: So aquelas que foram recebidas fora de ordem, mas cujo numero de sequncia est dentro da janela de recepo. Estas tramas so aceites e no enviada confirmao. Mais tarde ser efectuado Ack cumulativo ( o caso das tramas I(4) e I(5)). Da mesma forma que a janela de transmisso KS avana uma unidade, por cada confirmao recebida, a janela e recepo KR avana tantas unidades quantas as tramas que so recebidas sem erros e na ordem correcta. As variveis de estado utilizadas pelo receptor so as seguintes: V(R) ou receive_base: Representa o prximo n de sequncia que o receptor espera receber do emissor. (Esta varivel inicializada a zero, no incio. Ao receber uma trama, se o seu nmero de sequncia for igual ao esperado (rxseq_no = send_base), ento incrementa rxseq_no de 1. (Espera o prximo) rx_seqno: Representa o nmero de sequncia da ltima trama recebida. receive_window: Representa os nmeros de sequncia que esto dentro da janela de transmisso.
Nota: O receptor sabe se a numerao de sequncia que est dentro da janela de recepo, se a varivel receive_window se encontrar entre os valores seguintes: receive_window (receive_base) && receive_window [(receive_base) + (K-1)]
Pg 46 de 67
Departamento de Radiotecnia
Um possvel algoritmo simples de funcionamento do Selective Repeat o seguinte: ALGORITMO 2 IMPLEMENTAO DO MECANISMO SELECTIVE-REPEAT No emissor: 1- Caso o emissor tenha dados para enviar: Se o prximo nmero de sequncia X est dentro janela de emisso, envia a trama. Se X [ send_base , (send_base + Ks-1) ]: Envia a trama I(X) Utilizando retransmisso implcita: 2- Caso o temporizador de X expira: - Reenvia apenas a trama I(X). - Reinicia temporizador de I(X) - Continua normalmente (passo1) 3- Caso receba Ack(X) com X [ send_base , tx_seqno-1]: Se a confirmao se refere a uma dentro da janela Ks e j enviada: 3.1- Se X = send_base: a trama mais antiga por confirmar: - Marca trama X como confirmada (ack_seq_no) - Avana a base da janela uma unidade (send_base ++) - Continua normalmente (passo 1) 3.2- Se X send_base: trama enviada no a mais antiga por confirmar - ACK(X) confirma todas as tramas anteriores at X inclusive.(ACK cumulativo).Avana a base da janela tantas unidades quantas tramas que foram confirmadas. (send_base=send_base + X) - Continua normalmente (passo1) 4 - Caso receba Ack(X) com send_base > X > tx_seqno: Se a confirmao se refere a uma trama fora da janela Ks ou ainda no enviada: - Ignora a trama X e no efectua mais nenhuma aco consequente. - Continua normalmente (passo1) Utilizando retransmisso explicita: 5- Caso receba Nack(X) com X [ send_base , tx_seqno ]: Se a confirmao negativa se refere a uma trama enviada: - Reenvia a trama I(X) - Reinicia temporizador de I(X) - Continua normalmente (passo1) 6- Implementa todos os outros casos da retransmisso implcita.
Pg 47 de 67
Departamento de Radiotecnia
Pg 48 de 67
Departamento de Radiotecnia
Figura 4.14 Operao do Selective Repeat sem erros O emissor pode enviar tantas tramas sem necessidade de receber confirmao, quanto o tamanho da janela de emisso, aqui designada Ks. (Inicialmente pode enviar as tramas desde I(0) a I(Ks-1)). Por cada Ack recebido, a janela de emisso avana uma unidade. O receptor implementa agora tambm uma janela (janela de recepo Kr), que indica quais as tramas que poder receber fora de sequncia. Por cada trama recebida na sequncia correcta, (e respectivo Ack enviado), o receptor avana a janela de recepo uma unidade (entrega as tramas por ordem camada superior). Caso a trama recebida no seja a prxima esperada (devido a erros), o receptor aceita-a e confirma-a, se e s se esta se encontrar dentro da janela de recepo. As tramas recebidas fora de sequncia so armazenadas em memria para posterior ordenamento. Caso o nmero de sequncia da trama recebida esteja fora dessa janela, a trama descartada,. A operao com erros ser estudada com mais detalhe adiante. A Janela de recepo implementa um mecanismo de reordenamento de tramas.
Pg 49 de 67
Departamento de Radiotecnia
Note-se que no presente exemplo sem erros, e onde no existem perdas de tramas nem retransmisses, a janela de recepo intil, servindo apenas como varivel que indica ao receptor qual o numero de sequncia da prxima trama esperada. Neste caso, o funcionamento do Selective Repeat exactamente igual ao Go-Back-N e apenas difere do StopAndWait, devido implementao da transmisso de tramas em pipeline. (Janela de emisso suerior a 1) 4.2.2 Controlo de fluxo dos dados no Selective Repeat. Tal como o Go-Back-N, o Selective repeat providencia um mecanismo implcito de controlo de fluxo dos dados, denominado controlo de fluxo por janela deslizante. A quantidade de identificadores de trama limitado, bem como o tamanho da janela de transmisso. Estes factores implicam que o nmero de tramas para envio (utilizveis) seja limitado. Pode-se ento dizer que o receptor concede crdito para que o emissor transmita, pois cada vez que envia um Ack, incrementa o nmero de tramas utilizveis no emissor (provocando o avano da janela de transmisso, ilustrado na figura 4.14). Caso o fluxo de dados enviado pelo emissor seja superior capacidade de processamento no receptor, este pode simplesmente atrasar o envio dos Ack, no permitindo o avano da janela no emissor, e obter a desejada reduo de fluxo de dados. 4.2.3 Funcionamento do Selective Repeat com erros. No caso da existncia de erros de transmisso (caso real), a retransmisso das tramas de informao, pode ser efectuada de forma implcita ou explcita. (Ver seco 3.4 para mais detalhes sobre estes dois conceitos). A retransmisso explcita , mais uma vez, opcional, tem como objectivo tentar acelerar o envio de tramas erradas, e consequentemente aumentar a eficincia do protocolo. Iremos analisar o protocolo, com implementao de retransmisso implcita e explcita, em cenrios onde se perde a trama de informao, a trama de confirmao, e tambm quando a trama de informao chega com erros ao receptor. Cenrios de aplicao da retransmisso implcita: Cenrio 1 A trama de informao perde-se e no chega ao receptor. (A retransmisso efectuada pelo expirar do temporizador de transmisso, ou quando o emissor detecta uma confirmao com nmero de sequncia igual ao anteriormente recebido send_base) Cenrio 2 A trama Ack perde-se ou chega corrompida ao emissor. A retransmisso efectuada no caso da prxima trama de confirmao chegar ao emissor depois deste expirar o temporizador de transmisso. Caso chegue uma confirmao antes do temporizador expirar, esta efectua acknowledgment cumulativo).
Pg 50 de 67
Departamento de Radiotecnia
Figura 4.15 Operao com erros do Selective Repeat, com K = 4. Retransmisso implcita por perda da trama de informao O funcionamento para t=1s e t=2s, o mesmo, anteriormente estudado, para o caso em que no h erros. A janela de recepo Kr, incrementa uma unidade por cada trama correctamente recebida (sem erros e por ordem), e respectiva confirmao enviada. O receptor entrega as tramas I(0) e I(1) imediatamente camada superior do modelo OSI ou TCP/IP para processamento.
Pg 51 de 67
Departamento de Radiotecnia
Em t = 3s, a trama de informao I(2) perde-se e no chega ao receptor. O emissor ainda no recebe qualquer confirmao, mas uma vez que ainda no esgotou a janela de emisso (Ks = 4), continua a transmitir (neste caso I(3)). Ao receptor chega I(3). Atravs do valor das variveis de estado, este verifica que a prxima trama esperada I(2). No entanto, mesmo que I(3) chegue fora de ordem (cor lils), este aceita-a (no a confirma ainda) , pois o seu nmero de sequncia est dentro da janela de recepo Kr (conhecida pela varivel receive_window). Uma vez que I(3) chega fora de ordem, o receptor no avana com a janela de recepo, e a trama no entregue camada superior, para processamento. Em vez disso, I(3) guardada em memria (buffer de recepo), para posterior reordenamento. Em t=4s, t=5s e t=6s, o emissor continua normalmente a enviar as tramas de informao seguintes (I(4) e I(5) respectivamente). O receptor continua espera de I(2). Recebe I(4) e I(5), aceita-as, e coloca-as no buffer de recepo, pois estas esto dentro da janela de recepo, que continua sem avanar. Note-se que agora o receptor esgota a janela de recepo, ou seja no aceita mais nenhuma trama excepto a I(2). Entretanto, em t=6.5s, o temporizador de transmisso da trama I(2) expira sem que haja confirmao. O emissor reenvia-a. Esta era a trama que faltava ao receptor, para que a janela de recepo pudesse avanar. O receptor confirma todas as tramas consecutivas que tem guardado na memria de recepo. Para tal envia a confirmao da ltima trama que recebeu por ordem (que foi I(5)). O Ack(5) confirma I(5) e todas as tramas anteriores - Acknowledgement cumulativo). Nota: O receptor suspende o envio de Acks aps receber uma trama fora de ordem. Isto serve para evitar que o Acknowledgement cumulativo confirme erradamente as tramas ainda no rcebidas. A janela de recepo avana tantas unidades quanto o nmero de tramas previamente recebidas, confirmadas e consecutivas, que estavam guardadas no buffer de recepo. Isto permite que o receptor entregue as tramas I(2), I(3), I(4) e I(5) na ordem correcta camada superior para processamento. (Ver algoritmo 2 no receptor) Cenrio 2 A trama de informao chega corrompido ao receptor Neste cenrio, podero ser aplicados os mtodos de retransmisso implcita ou explcita. No primeiro caso, o funcionamento exactamente igual ao caso anterior, em que a trama de informao se perde. A figura 4.16 ilustra o funcionamento da retransmisso explicita, para o caso em que a trama I(2) chega com erros ao receptor. Este mtodo tambm designado Selective Reject
Pg 52 de 67
Departamento de Radiotecnia
Figura 4.16 Operao do Selective Repeat com erros numa trama de informao e retransmisso explicita Podemos verificar pela figura 4.16, que a trama I(2) chega com erros ao receptor. Este envia uma confirmao negativa, Nack(2), a indicar que a trama est incorrecta. O emissor ao receber o Nack(2), reenvia apenas a trama I(2). Ao receber correctamente I(2), o receptor responde com a confirmao da ltima trama correctamente recebida e que ainda se encontra em memria Ack(5).Tal como no cenrio anterior, utilizado acknowlegdment cumulativo, ou seja Ack(5) confirma as tramas I(2), I(3), I(4) e I(5). O funcionamento da janela de recepo, permite que as tramas sejam entregues camada superior por ordem. Note-se que na retransmisso explcita, o receptor suspende o envio de Acks, depois do envio de um Nack. (Na retransmisso implcita este facto tambm sucede, se receber tramas fora de ordem). Isto necessrio, pois cada trama Ack(X), confirma todas as tramas de informao X e anteriores. (Se assim no fosse, o receptor ao receber I(3), eventualmente enviaria Ack(3), que confirmaria tambm I(2) e esta poderia nunca ser recebida). O receptor s continua novamente a enviar Acks, aps a recepo da trama que foi confirmada negativamente pelo Nack. Neste caso, o receptor ter que implementar um temporizador para as tramas Nack enviadas, para garantir que estas so retransmitidas em caso de corrupo. Ver seco 4.1.4, figura 4.9 cenrio em que o protocolo falha)
Pg 53 de 67
Departamento de Radiotecnia
Cenrio 3 A trama Ack perde-se ou chega corrompida ao receptor. Neste cenrio, a retransmisso efectuada caso a prxima trama de confirmao chegue ao emissor depois do expirar o temporizador de transmisso (retransmisso implcita). Caso chegue uma confirmao antes do temporizador expirar, esta efectua acknowledgment cumulativo). A figura 4.17 ilustra o segundo caso deste cenrio.
Figura 4.17 Operao com erros do Selective Repeat, com K = 4. Cenrio em que se perde a trama de Ack Como se pode observar pela figura 3.17, a trama Ack(1) perde-se. Neste caso, apesar da janela de emisso no avanar, o emissor continua a enviar tramas de dados, pois a janela de emisso no esgota. A trama Ack(2), efectua a confirmao de todas as tramas anteriores at I(2) inclusive. Tal como no Go-Back-N, aplicado acknowledgement cumulativo. O emissor avana a janela de transmisso tantas unidades quanto o valor acumulado (neste caso 2 unidades) e continua normalmente a transmisso. 4.2.4 Relao entre mdulo de numerao M e janelas de transmisso K no Selective Repeat. Tal como no Go-Back-N, o mdulo de numerao ir depender do tamanho da janela de transmisso. Interessa minimizar a quantidade de identificadores disponveis para a trama, mas ao mesmo tempo garantir que as tramas de informao duplicadas so detectadas pelo receptor. Ver seco 4.1.5 para mais detalhes relacionados com o mdulo de numerao de tramas. A capacidade de deteco de tramas duplicadas avalia-se para o cenrio com erros, em que se perdem todas as tramas Ack, no sentido receptor emissor.
Pg 54 de 67
Departamento de Radiotecnia
Analisemos os casos, em que a janela de transmisso K = 3, e o mdulo de numerao toma os valores M=3, M=4 e M=6, ilustrado na figura 4.18 a), b) e c) respectivamente
Figura 4.18 Operao com erros do Selective Repeat, com K = 4. Cenrio em que se perde a trama de Ack Nos casos em estudo, os tamanhos da janela de emisso e recepo so iguais, pelo que designaremos a janela de emisso simplesmente por K. Observando com ateno a figura 4.18 a) verifica-se que com M = 3, a numerao disponvel para as tramas situa-se entre 0 e 2. Com K=3, o emissor envia as tramas I(0), I(1) e I(2) sem necessidade de confirmao. Ao receber a trama I(2), o receptor espera I(0). Ao receber I(0) aceita-a como vlida, pois a numerao repete-se ciclicamente e esta corresponde prxima trama esperada. No entanto I(0), uma trama duplicada, pois foi retransmitida, devido no recepo da confirmao por parte do emissor. Conclui-se que com M = K, no possvel que o receptor detecte tramas duplicadas.
Pg 55 de 67
Departamento de Radiotecnia
M 2K
4.2.5 Desempenho do Selective Repeat.
(4.28)
Da mesma forma que o StopAndWait, e Go-Back-N, o Selective Repeat enquadrase na categoria dos mecanismos que operam por ciclos, (ver seco 3.8). Devido funcionalidade de retransmisso selectiva, de esperar melhor desempenho do que o Go-Back_N. Mesmo assim, em determinados casos, o seu desempenho pode ser deficiente. Desempenho sem erros de transmisso Sem erros de transmisso, o desempenho do Selective Repeat , igual ao desempenho geral de um sistema em pipeline, estudado na seco 3, cuja utilizao aproximada descrita pela equao 4.15. Sendo assim, a anlise de desempenho do Selective Repeat sem erros exactamente igual anlise de desempenho do Go-Back-N, estudado na seco 4.1.6, cuja utilizao descrita pelas equaes 4.17, 4.18 e 4.19. Nada h a acrescentar relativamente ao raciocnio efectuado.
Pg 56 de 67
Departamento de Radiotecnia
Desempenho com erros de transmisso Com erros de transmisso, o clculo da durao mdia de cada ciclo de transmisso, ter na mesma que ter em conta o nmero mdio de transmisses por ciclo no sistema. O raciocnio para o clculo da utilizao do Selective Repeat com erros semelhante ao do Go-Back-N, com a utilizao descrita pelas equaes 4.20, 4.21 e 4.22. A grande diferena de anlise entre os dois protocolos est no clculo do nmero mdio de transmisses por ciclo Nt, que neste caso segue o mesmo raciocnio do StopAndWait ilustrado na figura 3.7. Isto porque por cada trama errada s h uma retransmisso. O nmero mdio de retransmisses descrito pela equao 4.12. Ento a utilizao aproximada para o Selective Repeat, desprezando tempos de processamento nos ns de rede, comprimento dos cabealhos e durao das tramas Ack e com T0=Tix+2Tp, obtm-se substituindo a equao 4.12 na equao 4.21:
___
U=
V
___
(4.29)
(1 Pf ) U KTix (1 Pf ) (T + 2Tp ) ix
Tp Tix
(1 Pf ) U K (1 Pf ) ( 1 + 2a )
, K 1 + 2a , K < 1 + 2a
(4.31)
Pg 57 de 67
Departamento de Radiotecnia
4.2.6 Consideraes finais sobre o Selective Repeat. Terminamos o estudo do mecanismo Selective Repeat, com algumas consideraes finais. Relativamente ao modo de funcionamento: O mecanismo Selective Repeat implementa a tcnica de pipelining tal como o GoBack-N, mas agora o emissor retransmite apenas a trama que se perdeu ou chegou com erros ao receptor. No h neste caso uma sobrecarga adicional do canal, com tramas retransmitidas em duplicado no caso de erros, mas o grau de complexidade aumenta consideravelmente. Esta situao conduz recepo de tramas fora de ordem. O receptor fica agora com a tarefa complexa de ordenar as tramas, antes que as possa entregar camada superior do modelo OSI (ou TCP/IP). Para que esta ordenao seja possvel, necessrio que o receptor implemente no s um buffer de recepo para armazenamento de tramas fora de ordem como tambm uma janela de recepo KR, que lhe permite limitar o nmero de tramas aceites fora de ordem e distinguir os seus nmeros de sequncia. Note-se que o tamanho do buffer de recepo no infinito e tem que ser escolhido de modo a que por um lado no seja demasiado pequeno, para que no se percam tramas, e por outro lado no seja demasiado grande, pois em caso de recepo de tramas fora de ordem aumentaria o tempo de armazenamento de tramas e conduziria a atrasos de entrega de tramas inaceitveis s aplicaes. tambm implementado um mecanismo de confirmao cumulativo em que a trama Ack(X), confirma todas as tramas de informao anteriores. Do ponto de vista do emissor, o funcionamento por janela semelhante ao Go-BackN, mas agora a complexidade aumenta porque necessrio implementar um temporizador de transmisso, por cada trama enviada. Tal como no Go-Back-N, a retransmisso pode ser implcita ou explcita, havendo tambm a necessidade de no ltimo caso o receptor implementar um temporizador para emisso das tramas de confirmao negativa (Nack), e suspender o envio de Acks e Nacks. Relativamente ao mdulo de numerao: O mdulo de numerao de tramas M=2l, necessita de l bits e depende do valor da janela de transmisso K. M 2K, para que o receptor seja capaz de detectar tramas duplicadas. As tramas tero numerao disponvel entre 0 e 2l-1.
Pg 58 de 67
Departamento de Radiotecnia
Relativamente eficincia ou utilizao: Sem erros, a eficincia do Selective Repeat igual do Go-Back-N, e verifica-se pela equao 4.22 que pode atingir os 100%, para valores de K 1 +2a. Com erros, e tal como seria de esperar, a eficincia superior do Go-Back-N, pois agora no h necessidade de retransmitir todas as tramas que se encontram na janela de transmisso, mas apenas a trama errada. Tal melhoria demonstrada comparando a equao 4.31 com a equao 4.27 Utilizao em aplicaes comerciais: O protocolo de transporte fivel utilizado na Internet TCP11 utiliza uma forma do Selective Repeat para providenciar uma transferncia de dados extremo a extremo sem erros. O TCP utilizado atravs de redes que recorrem ao protocolo IP12, para encaminhar os dados numa rede no fivel. Neste caso, o mecanismo ARQ funciona ao nvel da camada de transporte do modelo OSI. Outro dos protocolos que recorrem a uma variante do Selective Repeat o Service Specific Connection Oriented Protocol SSCOP. O mecanismo ARQ do SSCOP foi originalmente desenvolvido para ligaes de alto dbito binrio via satlite onde o produto atraso x dbito binrio elevado. Devido a esta caracterstica, o SSCOP tambm utilizado em redes ATM 13 que tambm apresentam produtos atraso x dbito binrio elevados.
TCP Transmit Control Protocol IP Internet Protocol 13 ATM Assynchronous Transfer Mode Redes de Banda Larga, com tramas de tamanho fixo designadas clulas muito utilizadas hoje em dia nas telecomunicaes.
12
11
Pg 59 de 67
Departamento de Radiotecnia
Figura 4.19 Formato de uma trama de informao. O campo de controlo transporta numerao de sequncia tambm para confirmao
Pg 60 de 67
Departamento de Radiotecnia
Esta a denominao utilizada para numerao de sequncia e variveis de estado no protocolo HDLC. Um dos protocolos mais utilizados na camada de ligao de dados 15 Por uma questo de conveno, agora a trama ACK(N) confirma a trama N-1 e indica ao emissor a prxima trama que o receptor espera.
14
Pg 61 de 67
Departamento de Radiotecnia
A figura 4.20 ilustra o funcionamento da tcnica piggybacking, com os valores das variveis de estado, num fluxo de dados bi-direccional, em que no h erros na transmisso.
Figura 4.20 Piggyback Acknowledgement com tramas de informao no sentido oposto, sem erros de transmisso. Observando com ateno a figura 4.20, verifica-se que o emissor copia os valores das variveis V(S) e V(R) para os campos N(S) e N(R) das tramas de informao transmitidas. O receptor, quando tem dados para transmitir, faz o papel de emissor, e tambm copia o valor de V(S) e V(R) para as tramas de informao. O campo N(R) serve para confirmar a trama anteriormente recebida e o seu valor indica ao emissor qual a prxima trama que o receptor espera. O ACK cumulativo implementado da mesma forma que nos mecanismos ARQ estudados anteriormente. Quando no h dados para enviar, o receptor confirma as tramas de informao, atravs de uma mensagem ACK(N), em que N contm o valor de V(R), e indica qual o valor da prxima trama de informao esperada.
Pg 62 de 67
Departamento de Radiotecnia
Pg 63 de 67
Departamento de Radiotecnia
Figura 5.1 Inicializao de uma ligao atravs de um protocolo Master9Slave O n MASTER inicializa a ligao atravs do envio de uma trama de controlo INIT. O n SLAVE responde com uma confirmao a essa inicializao. Enquanto o SLAVE no confirma a inicializao, declara a ligao como inactiva estado down. O MASTER declara a ligao no estado de inicializao init, enquanto no receber a respectiva confirmao. Nesta fase as camadas superiores, esto informadas do estado da ligao e no lhes permitida a transferncia de dados.
Pg 64 de 67
Departamento de Radiotecnia
Depois de o n MASTER declarar a ligao como operacional estado up, segue-se a fase de transferncia de dados. No final da transferncia o n MASTER sinaliza o SLAVE que pretende terminar a ligao estado disc, que concretiza aps recepo da confirmao deste trmino. Agora a ligao declarada inactiva estado down, e as camadas superiores so informadas deste facto. Este tipo de inicializao, apropriada, quando existem vrios ns de rede a partilhar a mesma ligao fsica. Como apenas um dos ns pode aceder ao meio de transmisso de cada vez, necessrio que um dos ns tenha tambm funes de coordenao do acesso ao meio funo de moderador. Nestas situaes, o MASTER tambm coordena a transferncia de informao, ou seja nenhum n de rede pode transmitir sem que este lhe d permisso. Este tipo de coordenao do acesso ao meio denominado Pooling ou vez. funo do coordenador interrogar cada n que partilha a mesma ligao. Os ns SLAVE, s podero transmitir dados, cada vez que recebem uma interrogao, e lhes permitido o acesso. No h neste caso necessidade de todos os ns saberem exactamente quando a ligao foi inicializada (sincronizao), pois o acesso coordenado exclusivamente pelo n MASTER. 5.2 Inicializao da ligao atravs do um protocolo BALANCEADO Muitas vezes prefervel que qualquer dos ns envolvidos na transferncia de informao possa inicializar a ligao, como o caso da existncia de ligaes ponto a ponto full duplex16. Neste tipo de ligaes no h necessidade de existir um n pr determinado a coordenar o acesso comunicao (moderador). Qualquer um dos ns pode iniciar ou terminar a transferncia de informao, caso tenha dados para enviar. Definio: Designa-se inicializao balanceada, a forma conceptual de inicializao de uma ligao por qualquer um dos ns intervenientes. Neste caso, recorre-se utilizao dois protocolos do tipo MASTER-SLAVE, (no emissor e no receptor) em que ambos podem em qualquer momento ter o papel de MASTER e o papel de SLAVE. O nico requisito novo neste tipo de inicializao a sincronizao dos dois protocolos, para garantir que ambos tm os mesmos perodos correspondentes aos estados operacional up e no operacional down. Note-se que se observar melhor a figura 5.1, em que a funo de MASTER atribua a apenas um n de rede, a ligao era considerada operacional (up) pelo n A, desde a recepo da confirmao da trama INIT at deciso de enviar a trama DISC. Por outro lado, ligao era considerada operacional pelo n B, desde a recepo da trama INIT at recepo da prxima trama DISC.
Ponto a Ponto Ligaes com apenas dois ns. Um em cada extremidade da ligao. Full Duplex Os dados flem em simultneo nos dois sentidos. O canal partilhado apenas por um emissor e um receptor, no havendo necessidade de coordenar o acesso ao meio de transmisso.
16
Pg 65 de 67
Departamento de Radiotecnia
Para um protocolo BALANCEADO, o n A considera uma ligao operacional (up), se esta est operacional de acordo com o protocolo no sentido A->B e de acordo com o protocolo no sentido B->A. O n A, inicia o mecanismo ARQ no incio de um perodo de ligao operacional, e envia tramas de informao com respectivas confirmaes durante este perodo. Seguindo o mesmo raciocnio um n considera uma ligao inoperacional (down), se este se encontra neste estado, em ambos os protocolos, ou seja no sentido A->B e no sentido B->A. A figura 5.2 ilustra o funcionamento de um protocolo BALANCEADO de inicializao da ligao.
Figura 5.2 Inicializao de uma ligao atravs de um protocolo BALANCEADO Para simplificar a sincronizao, iremos assumir que cada trama INIT ou DISC de um n que esteja a actuar como MASTER (o que quer iniciar transmisso), efectua piggyback acknowledge ACK(INIT) ou ACK(DISC) para o protocolo MASTERSLAVE no sentido oposto. Desta forma uma nica trama INIT afecta ambos os protocolos MASTER e SLAVE em ambos os ns, e o sincronismo efectuado aps a recepo da mensagem isolada ACK(INIT).
Pg 66 de 67
Departamento de Radiotecnia
As mensagens isoladas ACK(INIT) ou ACK(DISC) so utilizadas para confirmar as tramas INIT ou DISC respectivamente e so enviadas pelos ns que esto no momento a fazer o papel de SLAVE. Cada n que est a efectuar o papel de MASTER, continua a transmitir tramas INIT ou DISC, at receber o respectivo ACK. (caso queira inicializar ou terminar a ligao respectivamente). A componente de inicializao de um protocolo BALANCEADO, neste caso atravs do envio de INIT e espera por ambas as mensagens INIT e ACK(INIT) designado three way handshake e utilizado em protocolos de transporte, como o TCP. Existe sempre a possibilidade de ambos os ns inicializarem a ligao independentemente uns dos outros ou em simultneo como o caso ilustrado na figura 4.2, em t=2s e t=2.1s. Contudo, neste caso, os ns enviam ambos mensagens de confirmao ACK(INIT), e a ligao s declarada operacional aps a recepo de esta confirmao pr cada um dos ns.
Pg 67 de 67