Inicio dos trabalhos.... Classificação de redes • Duas dimensões importantes: – Tecnologia de transmissão – Escala Tecnologia de transmissão – Redes de difusão (Broadcast networks); e – Redes ponto-a-ponto (Point-to-point Networks). Redes de difusão • Redes de difusão apresentam as seguintes características: – Canal único de comunicação, compartilhado por todas as máquinas da rede; – Tráfego de pequenas mensagens, chamadas às vezes de pacotes, enviadas por uma máquina e recebidas por todas; – Pacotes com campo de endereço que especifica para que máquina o mesmo deve ser entregue (unicasting); Redes de difusão • Unicast • Broadcasting • Multicasting Redes ponto-a-ponto • Redes ponto-a-ponto apresentam as seguintes características: – Canal exclusivo de comunicação para interligação de quaisquer duas máquinas na rede; – Tráfego de pacotes enviados por uma máquina origem para uma única máquina destino; – Para ir de uma origem para um destino um pacote pode ter de passar por uma ou mais máquinas intermediárias; – Múltiplas rotas, de diferentes custos (tamanho, velocidade, atraso), podem existir entre uma origem e um destino, de modo que algoritmos de roteamento (escolha da melhor rota) desempenham um papel relevante nessas redes. Escala – redes pequenas, localizadas em uma mesma região geográfica, tendem a usar transmissão por difusão; – redes grandes e geograficamente espalhadas usam transmissão ponto-a-ponto. REDES LOCAIS DE COMPUTADORES (LOCAL AREA NETWORK – LAN) • Redes privadas, localizadas em um único prédio ou campus de poucos quilômetros de tamanho; • Se distinguem dos outros tipos de rede por três características: – Seu tamanho restrito; – Sua tecnologia de transmissão; e – Sua topologia. • A tecnologia de transmissão se caracteriza, normalmente, por: – Um canal de comunicação simples ao qual são conectadas todas as máquinas; – Velocidade de transmissão da ordem de 100, 1.000 Mbps (Gigabit Ethernet) ou 10.000 Mbps (10 GigE) com baixo atraso (dezenas de microsegundos) e poucos erros; – Avanços recentes permitem velocidades ainda maiores com baixo investimento. • As topologias mais utilizadas são: – Barramento, onde, em um dado instante, uma máquina tem e permissão de transmitir e todas as outras não podem transmitir • Com mecanismo de arbitragem usado para resolver conflitos quando duas ou mais máquinas quiserem transmitir ao mesmo tempo; • Esse mecanismo pode ser centralizado ou distribuído; IEEE 802.3, mais conhecido como Ethernet, é uma rede de difusão baseada em barramento bastante conhecida. – Anel, que apresenta um mecanismo de transmissão semelhante ao usado no barramento; • IEEE 802.5, mais conhecido como IBM token ring, é uma rede de difusão baseada em anel bastante conhecida. – Estrela interliga computadores através de switches ou qualquer outro concentrador/comutador. • É caracterizada por um elemento central que "gerencia" o fluxo de dados da rede, estando diretamente conectado (ponto-aponto) a cada nó, daí surgiu a designação "Estrela". – Hierarquica ou em árvore, possui uma série de barramentos interconectados. • Cada ramificação significa que o sinal deverá se propagar por dois caminhos diferentes. • Esta topologia é muito usada para supervisionar aplicações de tempo real, como algumas de automação industrial e automação bancária. – Quando uma operação exige acesso a informações que não estão disponíveis na agência, elas são buscadas no computador central. Se este não tiver acesso direto a estas informações, redicionará a busca para outro computador da rede que as detém. – Malha Todos os nós estão atados a todos os outros nós, como se estivessem entrelaçados. • Vários caminhos possíveis por onde a informação pode fluir da origem até o destino • O tempo de espera é reduzido e eventuais problemas não interrompem o funcionamento da rede • Um problema encontrado é em relação às interfaces de rede, já que para cada segmento de rede seria necessário instalar, em uma mesma estação, um número equivalente de placas de rede • Uma vez que cada estação envia sinais para todas as outras com frequência, a largura da banda de rede não é bem aproveitada. – Redes Hibridas ou Mistas União de mais de um tipo • Redes de difusão podem ser divididas em estáticas e dinâmicas (dependendo de como o canal de transmissão é utilizado): – Estáticas: dividem o tempo disponível do canal em intervalos discretos e usam um algoritmo de distribuição circular: • permitindo que cada máquina transmita somente quando recebe um intervalo de tempo; • desperdiçam capacidade do canal quando uma máquina não tem nada para transmitir durante o intervalo de tempo que lhe foi atribuído; – Dinâmicas: um mecanismo de arbitragem (centralizado ou distribuído) recebe requisições de utilização do canal e as atende ou não de acordo com a ocupação do canal. • REDES METROPOLITANAS (METROPOLITAN AREA NETWORK – MAN) – Basicamente são uma versão maior das Redes Locais, usando tecnologias semelhantes; – Suportam, em geral, dados e voz (telefonia), podendo estar associadas à rede de televisão via cabo; – Redes Wireless se enquadram em redes MAN MAN • REDES DE LONGA DISTÂNCIA (WIDE AREA NETWORK – WAN) – Espalham-se por uma área geográfica grande: p.ex. um país; – Máquinas são conectadas por uma subrede de comunicação, cujo trabalho é transportar mensagens de máquina a máquina, como um sistema telefônico; – Como separam os aspectos puros de comunicação (subrede) dos aspectos das aplicações (máquinas), seu projeto é mais simplificado. WAN • Na maioria das WANs, a subrede consiste de dois componentes distintos: – Linhas de transmissão, também chamados de circuitos, canais ou troncos, que transportam bits entre elementos da rede; – Elementos de comutação, computadores especializados, usados para conectar duas ou mais linhas de transmissão: • escolhendo sempre o melhor caminho para os dados percorrerem para chegar ao seu destino; • São chamados de vários nomes: – – – – Nós de comutação de pacotes; Sistemas intermediários; Comutadores de dados; Roteadores (termo preferido). • Em uma Rede de Longa Distância, a subrede de transmissão pode ser organizada como: – ponto-a-ponto; e – ponto-a-multiponto. • Na forma ponto-a-ponto, a transmissão de dados entre duas máquinas que não compartilham um canal de comunicação se dá pela utilização de máquinas intermediárias: – em um princípio de organização de subrede chamado de ponto-aponto (point-to-point) ou de armazena-e-segue (store-and-forward) ou comutação de pacote (packet-swithing). • Na forma ponto-a-ponto uma consideração importante de projeto é a topologia de conexão de roteadores. • Na forma ponto-a-multiponto, um sistema de satélites ou de rádio é usado como difusor dos dados Exemplo de Rede ponto-a-multiponto REDES SEM FIO • O crescimento do uso dos dispositivos vem proporcionando um interesse cada vez maior em redes sem fio (wireless networks). • Uma rede totalmente baseada em ondas eletromagnéticas SOFTWARE PARA REDES DE COMPUTADORES • As primeiras redes de computadores foram projetadas tendo: – Hardware como a preocupação principal; – Software como um coadjuvante; • Essa estratégia não funciona mais hoje em dia: – O software é considerado uma das partes mais importantes na concepção de novas tecnologias de redes de computadores; • Para reduzir a complexidade de projeto: – A maioria das redes são organizadas como uma série de camadas ou níveis, cada uma construída sobre a outra; – O número de camadas, o nome, o conteúdo e a função de cada camada varia de rede para rede, embora em todas as redes, o objetivo de cada camada seja oferecer para a camada superior certos serviços, liberando a camada superior de se preocupar com os detalhes de implementação desses serviços; – A camada N de uma máquina da rede desenvolve uma troca de dados com a camada N de outra máquina; – As regras e convenções que regem essa troca de dados são conhecidas como protocolos da camada N. • Basicamente, um protocolo é um acerto entre as partes que se comunicam sobre como a comunicação deve se desenvolver – Quem fala primeiro? – Como se identificar um para o outro? – Se um não entender uma dada mensagem, como proceder para pedir a repetição da mesma? – etc. • Um exemplo de uma rede em cinco níveis pode ser visto na figura abaixo. Camadas, protocolos e interfaces • Um conjunto de camadas e protocolos de comunicação entre camadas do mesmo nível define uma Arquitetura de Rede. Por exemplo, a Internet usa a arquitetura TCP/IP. • Uma lista de protocolos usados por um certo sistema define uma Pilha de Protocolos. Exemplo de fluxo de informação na arquitetura de 5 camadas CONSIDERAÇÕES DE PROJETO PARA AS CAMADAS • Várias considerações dever ser feitas no projeto das camadas do software de redes. Algumas das mais importantes são: – Identificação de máquinas e/ou processos: uma rede congrega vários computadores, alguns dos quais têm múltiplos processos, logo é preciso existir um mecanismo de endereçamento de máquinas e processos entre os computadores de uma rede; – Formas de transmissão de dados: como os dados trafegam na rede quando se dá a comunicação entre duas máquinas? • Mão única (simplex): transmissão somente em um sentido no canal de transmissão; • Mão dupla alternada (half-duplex): transmissão em ambos os sentidos, um sentido de cada vez; • Mão dupla total (full-duplex): transmissão em ambos os sentidos, ao mesmo tempo. – Controle de erro: como os canais de comunicação não são totalmente confiáveis, é necessário algum tipo de controle de erros para garantir confiabilidade nas comunicações; – Seqüênciamento: dado que nem todo canal de transmissão preserva a ordem das mensagens, algum tipo de controle de sequenciamento deve existir para permitir ao receptor reordenar as mensagens antes de entregá-las ao programa aplicativo; – Controle de mutiplexação: como aglutinar pequenas mensagens em blocos maiores para melhor aproveitar a capacidade de um canal de comunicação? – Controle de encaminhamento de dados: que caminho uma mensagem deve seguir quando existe mais de um disponível para se atingir um mesmo destino? Algoritmos de tomada de decisão (roteamento) devem ser usados para esse fim. – Controle de fluxo: como informar a um emissor rápido que um receptor lento não comporta mais mensagens? – Controle de fragmentação: como transmitir mensagens longas sobre canais de comunicação com limitações no tamanho dos blocos de dados que eles podem transmitir? SERVIÇO ORIENTADO À CONEXÃO E SERVIÇO NÃO ORIENTADO À CONEXÃO • Serviço Orientado à Conexão (Connection-Oriented): – É aquele onde o usuário do serviço precisa estabelecer uma conexão (trocar dados de controle) com a entidade par na máquina destino antes de enviar mensagens para a mesma. – Após encerrar a transferência de mensagens, deve encerrar a conexão de forma explícita; – O aspecto essencial da conexão é que ela atua como um tubo: o emissor coloca objetos (bits) em uma ponta, e o receptor os recebe na outra ponta, na mesma ordem; É um serviço confiável de entrega de dados (baseado na confirmação de recebimento); SERVIÇO ORIENTADO À CONEXÃO E SERVIÇO NÃO ORIENTADO À CONEXÃO • Serviço não orientado à Conexão ou sem conexão (Connectionless): – É aquele onde o usuário do serviço envia mensagens para a entidade par na máquina destino sem comunicação prévia; – O aspecto essencial da transmissão é que cada mensagem trafega com informações completas do destinatário e cada mensagem pode seguir caminhos distintos na rede, podendo chegar ou não ao seu destino; – É um serviço não confiável de entrega de dados. OSI – Modelo em camadas • Possibilita a comunicação entre tipos diferentes de hardware e de software de rede. • Evita que as modificações em uma camada afetem as outras, possibilitando maior rapidez no seu desenvolvimento. • Cada camada OSI individual tem um conjunto de funções que ela deve executar para que os pacotes de dados trafeguem de uma origem a um destino em uma rede. O Modelo OSI – Transmissão de dados Dados Aplicação 7 Aplicação Apresentação 6 Apresentação Sessão 5 Sessão Transporte 4 Transporte Rede 3 Rede Enlace 2 Enlace Físico 1 Físico Dados O Modelo OSI – Principais vantagens Redução de custo, devido à padronização de produtos; 7 Aplicação 6 Apresentação 5 Sessão 4 Transporte 3 Rede 2 Enlace 1 Físico Permite independência no desenvolvimento de software e hardware; Agiliza a adoção de novas tecnologias; Facilita a detecção e correção de problemas na rede; Utilizado como referência para as diversas arquiteturas de rede. Unidades de Dados utilizadas pelo modelo OSI 7 Aplicação 6 Apresentação 5 Sessão 4 Transporte Segmento 3 Rede Datagrama 2 Enlace Quadro 1 Físico Bit Mensagem O Modelo OSI – Principais funções das Camadas 7 Aplicação 6 Apresentação 5 Sessão 4 Transporte 3 Rede 2 Enlace CONTROLE DE ERROS (QUADROS) 1 Físico TRANSMISSÃO (BITS) APLICATIVOS SINTAXE SINCRONIZAÇÃO (MENSAGENS) EMPACOTEAMENTO (SEGMENTOS) ROTEAMENTO (DATAGRAMAS) Exemplo de aplicação do modelo OSI: Configuração de Redes Locais. LAN 1 Host Aplicação Apresentação Sessão Transporte Rede Enlace Física 7 6 5 4 3 2 1 LAN 2 Host 7 6 5 4 Roteador Roteador Switch Switch Hub Hub 3 2 1 Hub – Implementa o barramento de interligação dos Host na Camada Física (Por exemplo: Ethernet); Switch – Comutador de Camada 2 (Enlace), fazendo a interligação entre os segmentos de uma Rede Local. Roteador – Comutador que encaminha tráfego através da rede Wan, atuando junto à Camada 3 ( Rede). O modelo TCP/IP Comparação Arquitetura OSI Arquitetura TCP/IP Aplicação Apresentação Aplicação Sessão Transporte Transporte Rede Internet Enlace Físico Rede • Camada de Rede • Camada de abstração de hardware – interface com os diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, etc). • Equivalente às camadas 1 e 2 (física e enlace) do modelo OSI – Funções de identificação do meio e acesso ao meio • LAN: IEEE 802.3, 802.4, 802.5, etc. • WAN: X.25, HDLC, etc. Aplicação Transporte Internet Rede • Camada Internet • Estabelece a troca de pacotes sem conexão através da malha da rede física. • Roteamento entre as diferentes sub-redes, assim como funções para evitar congestionamento. • Padronizado em um formato de pacote e protocolo IP - Internet Protocol. Aplicação Transporte Internet Rede • Camada de transporte • Permite a dois pontos da estabelecerem uma conversação. rede – Exatamente igual OSI • TCP (Transmission Control Protocol) provê um serviço confiável e orientado à conexão. Implementa um mecanismo de checksum. • UDP (User Datagram Protocol) provê um serviço não-confiável e não orientado a conexão, com melhor tempo de resposta Aplicação Transporte Internet Rede • Camada de aplicação • Reúne os protocolos que fornecem serviços de comunicação ao sistema ou ao usuário. Pode-se separar os protocolos de aplicação em: – Protocolos de serviços básicos: fornecem serviços para atender as próprias necessidades do sistema de comunicação TCP/IP: DNS, DHCP – Protocolos de serviços para o usuário: FTP, HTTP, Telnet, SMTP, POP3, IMAP e outros Aplicação Transporte Internet Rede