1 Redes de comunicação de dados Nos anos 70 e 80 ocorreu uma fusão dos campos de ciência da computação e comunicação de dados. Isto produziu vários fatos relevantes: Não há diferenças fundamentais entre processamento de dados (computadores) e comunicação de dados (transmissão e equipamentos de comutação); Não há diferenças fundamentais entre comunicação de dados, voz e vídeo; A distinção entre computador com um processador, computador com multiprocessadores, redes locais, redes metropolitanas e redes de longa distância não é clara. 1.1 Aplicações Compartilhamento de recursos: programas, equipamentos e dados disponíveis para qualquer um na rede não importando a localização da fonte ou do usuário. Serviços E-mail, FTP, Telnet, acesso a web; Vídeo conferência; Acesso a banco de dados; Aplicações Cliente/Servidor. 1.2 Cobertura Geográca das Redes Redes de Longa Distância (Wide Area Networks WANs) Cobrem grandes áreas (paises, continentes, mundo) Usam linhas telefônicas alugadas (caras!): Taxa de acesso do usuário: 56kbps 155Mbps tipicamente Enlaces de comunicações compartilhados: comutadores e roteadores. Ex.: IBM SNA, rede X.25, Internet Redes Locais (Local Area Networks LANs) Cobrem escritórios ou edifícios; Único enlace (canal compartilhado) (barato!); Taxa do usuário: 10Mbps1Gbps. Ex.: Ethernet, Token Rings, Appletalk. Redes Metropolitanas (Metropolitan Area Networks - MANs) Metropolitan Area Network Cobrem uma cidade, geralmente interconectam diferentes LANs em uma mesma cidade. 1
2 Tipos de serviços de comunicação fornecidos pela rede Em uma rede de comunicação, os sistemas nais, por exemplo os computadores, trocam mensagens entre si através do meio de comunicação. Para a Internet os serviços de comunicação que permitem essa troca de mensagens são de dois tipos: serviço orientado a conexão e serviço não orientado a conexão. 2.1 Serviços orientados a conexão Nesse serviço as máquinas origem e destino estabelecem uma conexão antes que quaisquer dados sejam transferidos. Os quadros enviados são numerados fazendo com que eles sejam recebidos na ordem correta e sem erros. Na Internet os serviços orientados a conexão vêm acompanhados de outros serviços entre eles transferência conável de dados, controle de uxo e controle de congestionamento. A transferência de dados conável é obtida por meio de conrmações e retransmissões. Em outras palavras, uma mensagem (acknowledgement) é enviada pela máquina receptora à máquina transmissora conrmando a chegada do serviço. Caso a mensagem não chegue, haverá retransmissão. O controle de uxo evita que um dos lados de uma conexão sobrecarregue o outro enviando pacotes muito rapidamente. O controle de congestionameto evita que o sistema pare. Isso é feito forçando os sistemas nais a diminuir a velocidade de envio de pacotes e determinando rotas para o uxo de pacotes na rede. Utilizando estes serviços, a transferência de dados é realizada em três etapas: estabelecimento de conexão (inicialização das variáveis e contadores), a transferência de dados e a desconexão (liberação de variáveis e contadores). 2.2 Serviços não orientados a conexão Não há apresentação mútua nesse tipo de serviço. Quando um dos lados de uma aplicação quer enviar pacotes ao outro, a aplicação remetente simplesmente envia. Cada mensagem carrega seu endereço de destino completo e cada mensagem é roteada através de um sistema independente. Uma conseqüência disso é que se duas mensagens são enviadas ao mesmo endereço a primeira mensagem pode chegar depois da segunda devido as rotas escolhidas. 3 Comutação por circuitos e comutação por pacotes A comutação por circuitos e comutação por pacotes dizem respeito a forma como a malha de roteadores se conecta para prover a comunicação para os sistemas nais. Para transmissão de dados (voz, imagem, texto) em longas distâncias, a comunicação é realizada através de nós intermediários de comutação (roteadores). Esses nós de comutação não se preocupam com o conteúdo dos dados, fornecem facilidade de chaveamento para mover dados de um nó a outro, até o destino. 2
3.1 Comutação por circuitos Os recursos ao longo de um caminho cam reservados (buers, largura de banda) para prover a comunicação. Um exemplo clássico de comutação de circuito ocorre quando você se conecta através do seu microcomputador (via Home Banking através de um número telefônico exclusivo para este serviço) com o seu banco para efetuar operações bancárias, como, por exemplo, solicitar um talão de cheques. A comutação por circuitos envolve três fases: (1) Estabelecimento da conexão (circuito); (2) Transmissão de dados e (3) Término da conexão. Este tipo de conexão possui uma grande vantagem e outra grande desvantagem: Vantagens Sistema menos sujeito a falhas. Após a conexão estabelecida entre as partes, o canal que é aberto para a comunicação não estará acessível a outro equipamento, oferecendo assim um alto grau de conabilidade. Desvantagens Há falta de exibilidade, pois se ocorrer a necessidade de comunicação com outro equipamento/ sistema, será necessário a troca de circuito de comunicação. Na comutação por circuitos a conexão nó a nó é geralmente multiplexada: Multiplexação por Divisão do Tempo ou Divisão na Freqüência. Para a multiplexação por divisão em freqüência (FDM), cada canal de voz ou dados é deslocado para uma freqüência especíca, com o objetivo de enviar vários canais de voz em freqüência diferentes em um mesmo condutor, conforme exemplica a Figura 1. Figura 1: Multiplexação por divisão em frequência Na multiplexação por divisão no tempo (TDM), o tempo é dividido em intervalos xos de duração T denominado frames. Cada frame é subdivido em N subintervalos denominados slots. Denomina-se canal ao slot, um em cada frame, identicado por uma posição dentro desses frames (Sinal Digital). A Figura 2 exemplica a multiplexação por divisão. 3
3.2 Comutação de pacotes Figura 2: Multiplexação por divisão no tempo Os recursos não são reservados, são utilizados sob demanda. Os pacotes podem ter que esperar para conseguir acesso ao enlace. Os equipamentos que estiverem participando da comunicação na rede estarão ligados através de roteadores (mesmo circuito) e, desta forma, poderão trocar informações entre si. O nome comutação de pacotes se dá pelo fato de que, as mensagens que são enviadas pela rede, devem ser quebradas em pacotes (Packets). Este procedimento é realizado para melhorar o desempenho da comunicação. Estes pacotes são formados por um endereço de origem, um endereço de destino, a seqüência do pacote na quebra da mensagem total. Esta seqüência ou numeração é necessária para que o destinatário possa ordenar os pacotes e montar o quebra-cabeça para em seguida poder interpretar o conteúdo da mensagem. Em geral, os dados são transmitidos em pequenos pacotes de, tipicamente, 1000 bytes. Cada pacote contém uma porção de informação do usuário mais informações de controle (endereçamento e roteamento). Pacotes são recebidos, armazenados 9( buered) e transmitidos para o nó seguinte Store and forward. Quando uma rede de comutação de pacotes não segmenta as mensagens em pacotes pode-se dizer que ela faz comutação por mensagens. Portanto, a comutação de pacotes (Packet switching) é tratada de duas formas: Datagrama pacotes independentes. O roteamento é baseado no endereço destino, a internet é assim; Circuitos virtuais O roteamento é feito pelo circuito virtual que é estabelecido antes de iniciar a troca de mensagens redes ATM, Frame relay e X.25. Após o estabelecimento, cada pacote contém o identicador do circuito virtual, ao invés do endereço da destinatária. 4
Na estratégia datagrama, dois pacotes que possuem o mesmo destino e que sejam provenientes de um mesmo usuário poderão ser encaminhados de forma diferente pela rede, ao passo que, na estratégia circuito virtual, ambos deverão seguir a mesma rota. A estratégia datagrama poderá ocasionar a entrega de pacotes no receptor em uma ordem completamente diferente daquela na qual os pacotes foram gerados pelo transmissor. Na estratégia circuito virtual, isto não ocorre, o que implica em que a rede seja orientada a conexão. Evita-se, assim, que sejam utilizados algoritmos pesados de reordenação nos receptores. 3.3 Comutação por pacotes versus circuitos São apresentadas duas situações em que são comparadas as comutações por circuitos e por pacotes. A situação 1 está representada na Tabela 1. A situação dois é ilustrada através da Figura 3, onde se tem: Atraso de propagação: tempo para um sinal se propagar de um nó para o próximo, geralmente desprezível; Tempo de transmissão: tempo para o transmissor enviar todo o pacote; Atraso no nó de comutação: tempo para o nó executar o processamento necessário para executar o chaveamento do pacote. Tabela 1: Situação em que há compartilhamento de enlace de 1 Mbps Usuário alterna períodos Ativo 10% do tempo total de conexão, 100 Kbps. Inatividade Comutação por circuitos Teria 10 usuários Reserva de 100 kbps Comutação por pacotes Probabilidade de haver mais de 10 usuários ativos simultaneamente é de 0,0017 Probabilidade de haver de 10 ou menos usuários ativos simultaneamente é de 0,9983. A taxa agregada é menor que 1Mbps Se houver mais de 10 usuários ativos a taxa agregada poderá exceder a capacidade e a la de saída começa a crescer com probabildade innita. Exercício 1. Da análise da Figura 3, exemplique uma situação em que a comutação empregando datagrama é mais rápida que comutação por circuitos e comutação por circuitos virtuais. 5
Figura 3: Comutação por circuitos e comutação por pacotes: circuito virtual e datagrama 2. Dene-se: N número de nós entre 2 sistemas; L é o comprimento da mensagem em bits; B a taxa de dados em bps; P o tamanho do pacote em bits; H o cabeçalho por pacote; S tempo para estabelecer o circuito em segundos (comutação de circuitos e circuito virtual); D é o tempo de propagação por enlace. Seja N = 4; L = 3200; B = 9600; P = 1024; H = 16; S = 0, 2 e D = 0, 001. Calcule o atraso m a m para comutação de circuitos, circuito virtual e datagrama. Ignore o tempo de processamento e tempo para conrmações (acks). 3. Considere o envio de voz do computador A para o computador B por meio de uma rede de comutação de pacotes. O computador A converte simultaneamente a voz analógica em uma cadeia digital de bits de 64Kbps. Ele então agrupa os bits em pacotes de 48 bytes. Há apenas um enlace entre os computadores A e B. Sua taxa de transmissão é de 1Mbps e seu atraso de propagação de 2 10 3 segundos. Assim que o computador A recolhe um pacote ele o envia ao computador B. Assim que o computador B recebe um pacote completo, ele converte imediatamente os bits do pacote em sinal analógico. Quanto tempo decorre entre o momento em que 1 bit é criado e o momento que ele é decodicado? 6