Redes de computadores I Prof: Diovani Milhorim Comutação de dados Redes de comunicação: 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 dado um conjunto de E nós, este possa se comunicar com qualquer um dos outros (E-1) nós. O número de linhas dedicadas ao interligarmos fisicamente estes nós se torna muito grande. Comutação de dados Redes de comunicação: Em termos de topologia (disposição física dos nós e das linhas) a situação descrita é conhecida por "fully-connected“. Isto torna-se rapidamente 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. Comutação de dados Redes de comunicação: Número de nós em uma rede “fully-connected”. Número de nós 2 3 4 5 6 20 Linhas 1 3 6 10 15 190 Interface/nó 2 2 3 4 5 19 Comutação de dados Redes de comunicação: 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. Comutação de dados Redes de comunicação: 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. Comutação de dados Redes de comunicação: As redes de comunicação podem ser divididas em duas categorias distintas: Redes de "Broadcast" Redes de Comutação. Comutação de dados Redes de broadcast: 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. Comutação de dados Redes de broadcast: 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. Comutação de dados Redes de Comutação As redes de comutação são constituídas 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 correto, o modo como a rede assegura a transferência dos dados pode obedecer a vários princípios, dado origem a diversos tipos de rede de comutação. Comutação de dados Comutação de pacotes X comutação de circuitos. A comunicação de dados pode-se dar atráves de três mecanismos básicos; Comutação por circuitos Comutação por pacotes Comutação por circuito virtual. Comutação de dados Comutação por circuito Em redes de telecomunicações, é um tipo de alocação de recursos para transferência de informação que se caracteriza pela utilização permanente destes recursos durante toda a transmissão. Comutação de dados Comutação por circuito Trata-se de uma técnica na qual a rede assegura um circuito físico entre emissor e receptor É uma técnica apropriada para sistemas de comunicações que apresentam tráfego constante (ex: a comunicação de voz), necessitando de uma conexão dedicada para a transferência de informações contínuas. Comutação de circuitos Essencialmente, uma comunicação via comutação de circuitos entre duas estações se subdivide em três etapas: 1. 2. 3. Uma rota fixa entre as estações envolvidas é estabelecida para que elas possam se comunicar As estações envolvidas podem trocar informações entre si, transmitindo e recebendo dados através do circuito já estabelecido. Após um período indeterminado, a conexão é finalmente encerrada, quase sempre pela ação de uma das estações comunicantes Comutação de circuitos A comutação de circuitos físicos é uma técnica bastante rudimentar, usada por exemplo nas redes telefônicas publicas, tendo algumas características que interessa destacar: Existe um atraso inicial para o estabelecimento do circuito físico Depois de estabelecido o circuito físico a tranferência de dados é feita a uma taxa constante, sem atrasos assinaláveis nos nós intermédios Quando dois nós estão em comunicação encontram-se totalmente inacessíveis para terceiros. A gestão dos recursos pela rede é muito deficiente: os recursos necessários à comunicação ficam reservados durante toda a comunicação, independentemente da utilização que tiverem. Sob taxas de utilização muito elevadas a rede pode simplesmente recusar o estabelecimento do circuito por falta de recursos. Comutação de circuitos Chaveamento Existem maneiras diferentes de se alocar canais de comunicação em comutação de circuitos. São elas: Chaveamento espacial: é estabelecido um caminho entre duas estações por meio de enlaces físicos permanentes durante toda a comunicação. Multiplexação: Chaveamento de freqüências: é estabelecida uma associação entre dois canais de freqüência em cada enlace (FDM) Chaveamento do tempo: é estabelecida uma associação de dois canais de tempo em cada enlace. Cada nó intermediário associa um canal TDM síncrono de uma linha com outro canal TDM síncrono de outra linha Chaveamento por Código Comutação de circuitos Comutação de mensagens Trata-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. Comutação de circuitos Comutação de mensagens 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 arquivo, o arquivo é a mensagem e é enviado integralmente numa unica emissão nunca podendo ser dividido em bocados. Comutação de circuitos Comutação de mensagens 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. Comutação de circuitos Comutação de mensagens 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: A utilização dos recursos é muito mais eficiênte pois as linhas apenas são ocupadas durante o tempo necessário à transferência das mensagens entre os nós. Por muito elevada que seja a utilização existe sempre a possibilidade de as mensagens circularem, embora com atrasos por espera nos nós Não existe necessidade de o nó de destino estar activo, a rede pode armazenar a mensagem e entregar mais tarde. A mensagem pode ter diversos destinos sendo copiada pela rede de modo a ser entregue a todos eles. Comutação de circuitos Comutação de mensagens O conceito de mensagem e os atrasos produzidos tornam este tipo de comutação inadequado para trocas intensas de pequenas quantidades de informação entre nós (tráfego interactivo). Uma vez que uma mensagem é transmitida sucessivamente entre nós consecutivos o controle de fluxo e erros pode ser realizado pela própria rede. A rede pode ser heterogénea, nomeadamente com velocidades de trasmissão distintas no seu interior. Fica aberto caminho para a definição de graus de prioridade: em cada saída de cada nó existe uma fila de espera. As filas de espera são habitualmente geridas com uma disciplina de serviço FCFS ("First Come First Served"), mas é simples implementar um sistema de prioridades. Comutação de circuitos Comutação por pacotes Os 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"). Comutação de circuitos Comutação por pacotes Geralmente as "tramas" possuem tamanho variável até um valor máximo imposto. Imagine-se o envio de um arquivo, 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. Comutação por pacotes Temos dois tipos de comutação por pacotes: Comutação a pacote por datagrama: Comutação de pacote por circuito virtual: Comutação por pacotes Comutação por pacotes Datagramas nesta abordagem ignora-se o problema que fica delegado para os níveis superiores resolverem, um serviço de "datagramas" não garante a ordem de entrega. Comutação por pacotes Comutação de pacotes por datagrama A rota de cada pacote é individual. Diferentes pacotes podem seguir rotas distintas. Pacotes podem chegar fora de ordem ao seu destino. Exemplo: Protocolo IP Comutação por pacotes Vantagens da comutação a pacote Efetiva para dados em rajadas. Facilidade em prover largura de faixa sob demanda com taxas variáveis. • Desvantagens da comutação a pacote Atrasos variáveis. Dificuldade em garantir QoS (serviço do melhor esforço). Pacotes podem chegar fora de ordem Comutação por pacotes Comutação de pacotes por circuito virtual Esta técnica utiliza alguns principios da comutação de circuitos, mas o circuito é meramente lógico. Existem igualmente três fases na comunicação: Estabelecimento do circuito virtual - o nó de origem pede à rede um circuito virtual para ligação a um dado endereço de destino, a rede define um caminho e atribuilhe um identificador que devolve ao nó. Transmissão - as "tramas" são enviadas, mas em lugar do endereço de destino contêm o identificador do caminho a seguir, deste modo todas as "tramas" seguem o mesmo caminho, estando por isso a ordem assegurada. Terminação do Circuito Virtual Comutação por pacotes Comutação de pacotes por circuito virtual Todos os pacotes associados a uma sessão seguem a mesma rota. A rota é escolhida no início da sessão Pacotes são identificados com o VC# que designa a rota. O número do VC deve ser único em cada enlance, mas pode se alterar de enlace para enlace. Ex: ATM (Asynchronous transfer mode) Comutação por circuitos Vantagens dos circuitos virtuais Economiza cálculos de rotas (Precisa ser feito somente uma vez no início da sessão). Economiza o tamanho do cabeçalho. Facilita o fornecimento de QoS. Mais complexo.– Menos flexível