Comutação/Transferência de DadosProfessor Adjunto do Departamento de Engenharia Inform�tica do ISEP Na maioria dos casos os nós entre os quais se pretende transferir informação não estão ligados por uma linha dedicada, basicamente porque se pretende que de um dado conjunto de E nós, qualquer um deles possa comunicar com qualquer um dos outros (E-1) nós. Em termos de topologia (disposição física dos nós e das linhas) a situação descrita é conhecida por "fully-connected", contudo torna-se rápidamente impraticável com o aumento do número de estações, já que são necessárias E x (E-1)/2 linhas, além disso em cada nó necessita de (E-1) interfaces para assegurar as ligações.
Para tornar viável a comunicação entre um grande número de nós surge o conceito de rede de comunicação, trata-se acima de tudo de um serviço de transferência de dados entre nós. Cada nó possui uma única interface ligada à rede, esta assegura a transferência de dados entre qualquer um dos nós que lhe estão ligados. Numa topologia "full-connected" o nó de destino para os dados emitidos está implicito pois para cada destino possível existe uma interface separada. Numa rede de comunicação corrente, cada nó possui apenas uma interface que usa para comunicar com qualquer um dos outros nós. Quando um nó emite dados torna-se necessário indicar à rede qual é o nó de destino para esses dados, para o efeito utilizam-se endereços. Cada nó ligado a uma rede de comunicação possui um endereço unico que o identifica, a rede lida com os endereços de forma a fazer chegar os dados ao nó correcto. As redes de comunicação podem ser divididas em duas categorias distintas:
As redes de "broadcast" são essencialmente usadas em implementações locais (LAN), trata-se de implementações em que a funcionalidade da rede é em grande parte transferida para os nós. A rede em sí é apenas um meio físico partilhado por todos os nós, os dados emitidos chegam a todos os nós (daí a designação "broadcast"), cada nó procede a uma filtragem, eliminando os dados que não lhe são destinados. Mesmo no domínio LAN as redes de "broadcast" são cada vez menos usadas em favor de soluções comutadas. O acesso ao meio condicionado das redes "broadcast" produz eficiências baixas. Um exemplo critico é o das redes Ethernet (802.3) que usam o mecanismo de acesso CSMA/CD. Sob uma taxa de transmissão de 10 Mbps dificilmente se obtém taxas efectivas superiores a 1 Mbps, as implementações Fast Ethernet (100 Mbps) dificilmente atingem débitos superiores a 10 Mbps. Também aqui a evolução mais aconselhável é no sentido da comutação. Redes de ComutaçãoAs redes de comutação são constituidas por um conjunto de nós intermédios, com várias ligações entre sí, mas geralmente com uma topologia mais simples do que "full-connected" (por razões económicas). Os nós intermédios funcionam como um conjunto que assegura que os dados chegam ao destino correcto, o modo como a rede assegura a transferência dos dados pode obdecer a vários principios, dado origem a diversos tipos de rede de comutação. Comutação de circuitosTrata-se de uma técnica na qual a rede assegura um circuito físico entre emissor e receptor, a comunicação é constituida por três fases caracteristicas:
A comutação de circuitos físicos é uma técnica bastante rudimentar, usada por exemplo nas redes telefónicas publicas, tendo algumas caracteristicas que interessa destacar:
Comutação de mensagensTrata-se do envio de mensagens através da rede, nó a nó desde a origem até ao destino, não existe qualquer fase anterior ao envio de dados, a mensagem é enviada para a rede juntamente com o endereço de destino e a rede encarrega-se de a fazer chegar ao destino. O conceito de mensagem é aqui extremamente lato, trata-se de blocos de dados de qualquer tipo, mas que deverão ser autónomos. Por exemplo se pretendemos transferir um ficheiro, o ficheiro é a mensagem e é enviado integralmente numa unica emissão nunca podendo ser dividido em bocados. As mensagens são integralmente recebidas em cada nó por onde passam, só depois são enviadas ao nó seguinte ("store & forward"), este processo introduz atrasos significativos. Sendo n o número de nós pelos quais a mensagem passa (também conhecido por número de "hop's"), o atraso total será n x Tt, ignorando atrasos de propagação, processamento e espera em filas nos nós. Os exemplos correntes no nível 2 escasseiam, mas existem alguns casos bem conhecidos no nível de aplicação, o mais notório é sem dúvida o dos sistemas de correio electrónico. A comutação de mensagens introduz uma seria de possibilidades que não existiam na comutação de circuitos e anula alguns dos seus inconvenientes:
Comutação de PacotesOs grandes problemas levantados pela comutação de mensagens poderiam ser resolvidos se os dados a enviar forem divididos em blocos mais pequenos. Na comutação de pacotes são impostas restrições quanto à quantidade de informação a enviar de cada vez, esses blocos de informação tomam a designação genérica de pacotes, ou especificamente na camada de ligação lógica a designação de "tramas" ("frames"). Geralmente as "tramas" possuem tamanho variável até um valor máximo imposto. Imagine-se o envio de um ficheiro, raramente uma única "trama" será suficiente, a questão é saber como a rede vai lidar com uma sequência de "tramas" que estão relacionadas entre sí. O problema é que se as "tramas" forem tratadas pela rede com mensagens os caminhos seguidos pelas "tramas" poderão ser diferentes e podem chegar ao destino em ordem diversa da de emissão. Existem duas abordagens para este problema:
A figura seguinte ilustra o comportamento das técnicas descritas numa rede com dois nós intermédios: O caso mais divulgado de aplicação da comutação de pacotes é o protocolo X.25. As redes X.25, implementam comutação de pacotes que assenta (encapsulamento) sobre a transmissão de "tramas" na camada de ligação lógica segundo o protocolo LAP-B (idêntico ao HDLC). Na altura em que surgiram as redes X.25 a qualidade das linhas de transmissão era muito baixa e os erros de transmissão extremamente frequentes. As redes X.25 proporcionam comunicações fiáveis sobre as piores condições, para o conseguirem implementam controlo de erros independente em cada linha interna da rede. Algumas das caracteristicas das redes X.25 são:
Todas estes mecanismos tornam a especificação X.25 bastante pesada, a qualidade actual das linhas de transmissão torna desnecessário tantos mecanismos que tendem a tornar as redes menos eficiêntes. Como é do conhecimento geral, quanto menos mecanismos de controlo forem implementados maior será a eficiência, desde que não ocorram erros. Por esta razão surgiram recentemente alternativas ao X.25 que são na realidade implementações parciais onde alguma funcionalidade original é eliminada:
Surgem aqui duas designações para a transferência de dados "relaying" e "switching".
"Packet Relay"Os pacotes de nível 3 apenas asseguram o encaminhamento, são encapsulados em "tramas" (nível 2) que asseguram o controlo de fluxo. "Frame Switch"Não implementa o nível 3, logo não trabalha com pacotes, apenas "tramas". As "tramas" são fiáveis, implementam controlo de fluxo e erros ("janela deslizante") e claro asseguram as funções de encaminhamento. "Frame Relay"Versão não fiável do "Frame Switch", apenas pode ser usado em linhas de elevada qualidade. Não existe controlo de fluxo ou erros. Sem qualquer controlo de erros toma a designação "Frame Relay Type 1". Na implementação "Frame Relay Type 2" efectua controlo de erros na interface exterior da rede (entre os dois pontos de ligação à rede), os nós intermédios continuam a funcionar em "cut-through". "Cell Relay"Trata-se de uma variante do "Frame Relay Type 2". Proporciona controlo de fluxo e erros apenas entre os nós finais. No interior da rede os nós asseguram apenas o encaminhamento. As "tramas" possuem um tamanho fixo e tomam a designação de células. Esta é a técnica usada nas redes ATM. |