Prévia do material em texto
Análise e desenvolvimento de sistemas Redes de Computadores e sistemas distribuídos Professor: Fernando Silva Moraes E-mail: fernando.moraes@faculdadecesusc.edu.br Aulas 5,6,7 e 8 – Modelos de redes OSI e TCP/IP. Arquitetura e protocolos de redes de computadores. O desenvolvimento de uma arquitetura de redes de computadores consiste em uma tarefa complexa, pois envolve inúmeros aspectos de hardware e software, como interface com o meio de transmissão, especificação, verificação e implementação de protocolos, integração com o sistema operacional, controle de erros, segurança e desempenho. O modelo de camadas surgiu para reduzir a complexidade do projeto de arquitetura de redes. A ideia do modelo de camadas consiste em dividir o projeto de redes em funções independentes e agrupá-las em camadas. Dessa forma, cada nível é responsável por determinados serviços e apenas aquela camada pode oferecê- los. Além disso, o modelo implementa regras para a comunicação entre as camadas, isolando suas funções e garantido a independência entre elas. Através do modelo de camadas, o projeto de rede pode ser dividido mais facilmente e como as camadas são isoladas, não importa como as funções de um nível são implementadas, desde que as regras de comunicação sejam respeitadas. Por meio desta abordagem, uma camada muito complexa poderia ser dividida em subcamadas, sem que essa decisão afete das demais camadas. Além disto, o modelo de camadas traz benefícios para a manutenção do projeto de rede, pois se houver um problema, basta identificar a camada responsável e corrigi-lo. Também se torna possível introduzir novas funcionalidades em uma camada sem afetar as demais, reduzindo o esforço para a evolução do projeto de rede. O modelo de camadas também oferece benefícios comerciais. Por meio deste modelo, diferentes empresas podem oferecer soluções para uma ou mais camadas, permitindo aos usuários adquirir produtos de diferentes fabricantes sem o risco de incompatibilidades entres os diferentes dispositivos. Dessa forma, o mercado se torna mais competitivo, tendendo a reduzir o custo dos produtos para os usuários. Seguindo o modelo de camadas, pode haver duas perspectivas de comunicação, vertical e horizontal. Camada Vertical x Horizontal Uma camada pode ter um ou mais protocolos associados e um protocolo determinado é formado pelas informações de controle contidas no cabeçalho e pelo processamento dessas informações nas respectivas camadas de origem e destino. É importante não confundir os conceitos de serviço e protocolo. Um serviço define o que deve ser feito pela camada, ou seja, as interfaces e parâmetros que permitem a comunicação vertical entre as camadas adjacentes. O protocolo define como o serviço é implementado, ou seja, as informações de controle e processamento realizado pelas camadas no mesmo nível horizontal. O conjunto de protocolos implementados por todas as camadas do modelo é conhecido como pilha de protocolos e serviços. Serviços de rede são serviços oferecidos quando diferentes dispositivos se comunicam. Por exemplo, ao solicitar o download de um arquivo na Internet, usa- se, para isso, serviços da rede, normalmente proporcionados pelo protocolo FTP, que é o protocolo de transferência de arquivos. Exemplo de serviços confiáveis e não confiáveis Camada OSI Modelo de referência OSI Modelo de referência OSI O modelo de referência OSI (Open Systems Interconnection) trata da interconexão de sistemas abertos e baseia-se em uma proposta desenvolvida pela ISO (International Standards Organization) como um primeiro passo em direção à padronização internacional dos protocolos organizados em camadas. Uma informação importante é que o modelo OSI de fato não consiste em uma arquitetura de rede, pois ele não especifica os serviços e protocolos exatos que devem ser usados em cada camada. Ele informa apenas o que cada camada deve fazer. O modelo OSI tem sete camadas. A decisão para a escolha deste número de camadas foi baseado em cinco princípios, sendo eles: uma camada deve ser criada onde houver necessidade de outro grau de erro, cada camada deve executar uma função bem definida, a função de cada camada deve ser escolhida tendo em vista a definição de protocolos padronizados internacionalmente, os limites de camadas devem ser escolhidos para minimizar o fluxo de informações pelas interfaces, o número de camadas deve ser grande o suficiente para que funções distintas não sejam colocadas na mesma camada e pequeno o suficiente para que a arquitetura não se torne difícil de controlar. Primeira camada - física A camada física trata da transmissão de bits por um canal de comunicação. As questões mais comuns tratadas por esta camada são a quantidade de tempo que um bit deve durar, se a transmissão deve ser realizada simultaneamente nos dois sentidos, a forma como a conexão inicial será estabelecida e de que maneira ela será encerrada e quantos pinos o conector de rede terá e qual a finalidade de cada pino. As questões de projeto desta camada também consideram interfaces mecânicas, elétricas e de sincronização e com o meio físico de transmissão. Uma importante funcionalidade desta camada consiste em empregar esquemas de codificação do sinal digital em bits. A representação em formato binário permite representar a informação enviada de um emissor para um receptor no meio de transmissão. As informações transmitidas por meio de uma rede de computadores podem ser divididas em duas categorias, dados e sinais. Os dados consistem em entidades que portam significado dentro de um computador ou em um sistema computacional, por exemplo, um arquivo em formato TXT. Os sinais são impulsos elétricos ou eletromagnéticos utilizados para codificar e transmitir dados, por exemplo, um sinal de rádio. Os conceitos de sinais e dados se relacionam para efetuar uma transmissão, pois os dados precisam ser convertidos em sinais antes de serem transmitidos de um ponto ao outro. Compete à camada 1 a responsabilidade de definir as seguintes características: Cabeamento, especificações elétricas, ópticas ou eletromagnéticas, taxa de dados, número de bits enviados a cada segundo, configuração da linha, que pode ser ponto a ponto ou multiponto, modo de transmissão entre dois dispositivos, que podem ser simplex, Half-duplex ou full-duplex. Segunda camada – Enlace de dados A principal tarefa da camada de enlace de dados é transformar um canal de transmissão normal em uma linha que pareça livre de erros de transmissão. Para fazer isso, a camada de enlace mascara os erros reais, de modo que a camada de rede não os veja. Essa tarefa é realizada fazendo que o transmissor divida os dados de entrada em um conjunto de quadro de dados e os transmita sequencialmente. Em geral, este conjunto de quadros têm algumas centenas ou alguns milhares de bytes. Se o serviço for confiável, o receptor confirmará a recepção correta de cada quadro, enviando um quadro de confirmação. Outra questão que a camada de enlace aborda é como evitar que um transmissor rápido envie uma grande quantidade de dados para um receptor lento. Normalmente, é necessário que exista um mecanismo capaz de regular o tráfego para informar ao transmissor quando o receptor pode aceitar mais dados. As redes de broadcast têm uma questão adicional a ser resolvida na camada de enlace, como controlar o acesso ao canal compartilhado. Uma subcamada especial da camada de enlace de dados, a subcamada de controle de acesso ao meio trata desse problema. É na camada 2 que temos as placas de rede, switches e bridges como enlaces de dados por serem dispositivos que agem por meio do endereço MAC. O protocolo utilizado nessa camada é, em sua maioria, o Ethernet ou Fast Ethernet. Terceira camada - Rede A camada de rede, que é a camada 3, é responsável pelo endereçamento lógico dos dispositivos de rede, fazendo com que o pacote de dados de suaorigem chegue até o destinatário final em diferentes redes (links). O protocolo que essa camada utiliza é o IP (Internet Protocol). Embora a camada de enlace realize o controle da entrega do pacote, a camada de rede garante que cada pacote seja transmitido de seu ponto de origem até seu destino final. Quando o pacote de dados é transmitido apenas entre a mesma rede (links), em geral não há necessidade dos serviços da camada de rede. Somente em diferentes redes. Assim, a camada de rede traça o roteamento (caminhos) pelo qual os pacotes vão passar pelas redes até que os dados sejam totalmente entregues ao receptor. E, se necessário, traçará caminhos alternativos, caso haja algum interrompido ou inoperante. Exemplo de equipamento que trabalha nesta camada é o roteador, pois ele é responsável pelas rotas de entrega dos pacotes. Quarta Camada - Transporte A função básica da camada de transporte é aceitar dados da camada acima dela, dividi-los em unidades menores quando preciso e repassá-los à camada de rede, garantindo que todos os fragmentos chegarão corretamente à outra extremidade. A camada de transporte também determina que tipo de serviço deve ser fornecido à camada de sessão. O tipo mais popular de conexão de transporte consiste no canal ponto a ponto livre de erros. Este serviço entrega mensagens ou bytes na mesma ordem em que eles foram enviados. No entanto, esta camada também provê um serviço de transporte sem nenhuma garantia quanto à ordem da entrega e à propagação de mensagens para múltiplos destinos. A camada de transporte é uma verdadeira camada de ponta a ponta, que liga a origem ao destino. Então, após os pacotes virem da camada de rede, já com seus “remetentes/destinatários”, é hora de entrega-los, como se as cartas tivessem acabado de sair do correio (camada de rede), e o carteiro fosse as transportar (camada transporte). Junto dos protocolos de endereçamento (IP e IPX), agora entram os protocolos de transporte (TCP e UDP). Quinta Camada - Sessão A camada de Sessão permite que os usuários em diferentes máquinas estabeleçam sessões de comunicação entre eles. Uma sessão oferece diversos serviços, inclusive o controle de diálogo, o gerenciamento de tokens.O controle de diálogo descreve o controle de quem deve transmitir a cada momento, como analogia podemos colocar como se fosse um farol (sinaleira), em sinal verde envia o protocolo com a mensagem, em sinal vermelho bloqueia e aguarda o canal liberar. O gerenciamento de tokens impede que duas partes tentem executar a mesma operação crítica ao mesmo tempo. A sincronização realiza a verificação periódica de longas transmissões para permitir que elas continuem a partir do ponto em que estavam ao ocorrer uma falha e a subsequente recuperação. Sexta Camada - Apresentação Como camada de conversão de dados, é a sexta camada do modelo OSI, que tem a função de converter os dados binários em uma linguagem adequada para que os seres humanos consigam interpretá-los, ou seja, em linguagem visual. Logo, é a responsável por traduzir, compreender e criptografar os pacotes de dados. Em dois sistemas, em geral, os programas em execução trocam informações na forma de strings, (é um código que serve para ajudar o modem a melhorar, manter, ajustar a conexão da placa de modem)números, entre outros, e, para serem transmitidas, as informações são convertidas em fluxos de bits. Assim, a camada de apresentação faz tal conversão e traduz o fluxo de bits para os sistemas de diferentes computadores que possuem codificações diferentes. É também nessa camada que atua a questão de compactação dos dados, um exemplo clássico é quando utilizamos um software, como o WinZip ou WinRAR, para compactar a informação, pois é a camada de apresentação que está agindo nesse processo Sétima camada - Aplicação A camada de aplicação é responsável por cuidar da comunicação entre as aplicações, que são aplicativos dos usuários do computador e serviços dos sistemas. Logo, essa camada proporciona a possibilidade do usuário, seja humano ou software, acessar a rede. Quando o usuário digita um endereço em seu navegador de Internet, para acessar uma página na Web, é enviado o nome da página ao servidor que hospeda o sítio, utilizando, para isso, o protocolo HTTP (Hyper Text Transfer Protocol), que constitui a base da Internet, em que o servidor transmite a página ao navegador. Assim, ela proporciona uma interface entre o navegador de Internet com o usuário e suporte a serviços. Outros protocolos de aplicação são usados nessa camada para acesso ao e-mail, transferência de arquivos remotos, gerenciamento de bancos de dados compartilhados e outros tipos de serviços de informação distribuídos. Importante. Resumo do modelo OSI Modelo de Referência TCP/IP TCP/IP Com o crescente tráfego de informações e dados na década de 70, na época da ARPANET, com o exército americano e, logo em seguida, com universidades e centros de pesquisas conectadas em rede, “os protocolos existentes começaram a ter problemas de interligação entre elas, o que forçou a criação de uma nova arquitetura de referência” (TANEBAUM; WETHRALL, 2011, p. 28). Surge, assim, o modelo TCP/IP (Transmission Control Protocol/ Internet Protocol – (Protocolo de Controle de Transmissão/Protocolo de Internet), como referência para a Internet, por ter uma coleção de protocolos que são utilizados com o objetivo de promover a comunicação entre dispositivos interligados em redes. Graças a seus dois protocolos, TCP e IP, esse modelo se tornou referência para a comunicação em redes. Na década de 90, observou-se a grande disseminação da Internet, consolidando o modelo TCP/IP como base na utilização da rede global da informação. Com o avanço das tecnologias, foi necessária a criação de um comitê técnico, composto por agências, fabricantes, pesquisadores, entre outros, cujo nome é IETF (Internet Engineering Task Force – Grupo de Trabalho da Engenharia da Internet), com a finalidade de criar padrões de normalização tecnológicas da Internet, com os seguintes objetivos e garantir a interoperabilidade entre os equipamentos de diferentes fabricantes que integram a Internet, padronizar os protocolos e as interfaces de acesso e serviços desses protocolos. As definições discutidas pelo IETF são publicadas em um conjunto de documentos chamados de Requests for Comments (RFC), que apresentam especificações técnicas para a Internet. Com eles temos as especificações formais de protocolos de comunicação de dados e recursos que descrevem o uso desses protocolos. É por meio dos RFC que se divulgam novos protocolos, permitindo uma avaliação e melhoria das ideias. Alguns RFC importantes são especificados como: » 768: User Datagram Protocol (UDP); » 791: Internet Protocol (IP); » 792: Internet Control Message Protocol (ICMP); » 793: Transmission Control Protocol (TCP); » 854: Telnet Protocol (TELNET); » 894: IP over Ethernet; » 959: File Transfer Protocol (FTP); » 1034, 1035: Domain Name System (DNS); » 1541: Dynamic Host Configuration Protocol (DHCP). O modelo de arquitetura TCP/IP possui suas funções divididas em camada da mesma forma que o OSI. A diferença principal nestas estruturas é o número de camadas encontradas em cada modelo: no OSI encontramos 7 camadas, enquanto no TCP/IP somente 4: Aplicação, Transporte, Rede e Interface de rede. Os modelos de referência OSI e TCP/IP possuem a implementação de camadas com serviços independentes como ponto comum. Outra semelhança que podemos citar é que os dois modelos se baseiam no conceito de pilha. No entanto, os modelos OSI e TCP/IP possuem diferenças entre si. O modelo OSI busca especificar o funcionamento das redes, descrevendo as funções pertencentes a cada uma das camadas com três conceitos fundamentais, que são: serviços, interfaces e protocolos. » Os serviços descrevem as responsabilidades de cada camada, seja acima dela ouabaixo, ou seja, o funcionamento. » A interface possui o papel de informar a próxima camada se os processos estão aptos para serem acessados. Assim, ela especifica os parâmetros e resultados das camadas. » Os protocolos usados em uma camada são de responsabilidade dela, que pode alterar os protocolos sem influir no software da camada superior. As camadas do conjunto de TCP/IP trata dos protocolos, que podem ser mesclados e combinados dependendo das necessidades do sistema, que auxiliam nos processos de comunicação. Assim, os protocolos são espécies de linguagem utilizadas para que dois dispositivos se comuniquem entre si. Outra diferença está ligada ao tipo de conexão da comunicação, que pode ser: comunicação sem conexão, em que os pacotes são transmitidos da origem para o destino, sem fazer uma conexão formal antes; e comunicação orientada a conexões, que mantém um diálogo entre origem e destino, de modo a estabelecer conexão antes de transmitir os dados. No modelo OSI, a camada de transporte aceita apenas a comunicação orientada a conexões. Já no modelo TCP/IP, essa camada aceita ambos modos de comunicação. Protocolos da camada TCP/IP Principais protocolos e serviços Com a Internet, é possível conectar milhares de dispositivos computacionais ao redor do mundo. Diversos são os tipos de meios físicos que possibilitam essa interligação, que podem ser meios magnéticos, pares trançados, cabo coaxial, fibras ópticas, os quais proporcionam a computadores pessoais, TVs, telefones celulares, quadros de imagens, entre outros, a interligação entre eles pela Internet. Mas, para que a comunicação ocorra entre diversos dispositivos diferentes, utilizam-se, para isso, protocolos de comunicação. Protocolos são regras que indicam como os dispositivos podem se comunicar, de maneira que possibilite a troca de informação entre eles. Ao acessar a página do Google, por exemplo, o serviço ocorre quando, inicialmente, o dispositivo se comunica com o outro por meio do navegador de Internet. Utiliza-se, para isso, o serviço Apache (servidor de Internet), tendo a comunicação proporcionada pelo protocolo HTTP. É importante ressaltar que um computador pode fazer diferentes comunicações simultaneamente, como receber e-mails, acessar a Internet e transferir arquivos, e suas aplicações são distinguidas pelo número da porta utilizada pelos protocolos na camada de aplicação. Vejamos alguns números de portas mais utilizadas na comunicação com o protocolo TCP: Protocolo IP Falamos até o momento sobre camadas OSI, TCP, mas o que é o IP? Para que a comunicação ocorra entre diferentes dispositivos, utiliza-se o protocolo IP. Responsável pelos encaminhamentos dos dados na rede, cada dispositivo recebe um endereço IP, pelo qual é identificado. Assim, o protocolo IP permite o transporte de uma mensagem de uma origem até um destino. Comparando é nosso “passaporte”, sem ele não conseguimos sair do país de origem para o destino. Como funções importantes, o IP atribui um esquema de endereçamento (endereço IP) e roteia os caminhos de decisão de transporte das mensagens entre os dispositivos interligados nas redes. Se um computador tiver duas placas de rede instaladas nele, cada uma delas recebe um endereço IP específico e único. Desse modo, “é importante observar que um endereço IP não se refere realmente a um host (dispositivo). Na verdade, ele se refere a uma interface de rede” (TANENBAUM; WETHERALL, 2011, p. 276), que pode ser um roteador com duas interfaces de rede, por exemplo. O endereço IPv4 (IP versão 4) é composto por quatro octetos separados por pontos, expressos de forma decimal, de 0 a 255, para a melhor visualização do usuário final, por exemplo, 189.34.242.229. Assim, os endereços chamados IPv4 possuem 32 bits (equivale a 4 bytes, pois 8 bits representa 1 byte). Como o dispositivo de rede só reconhece dígitos binários (0 ou 1), cada octeto pode possuir valores de 00000000 (8 zeros) a 11111111 (8 uns). Já em decimal, como mencionamos, pode ser valores de 0 a 255. Por exemplo, o endereço IP: 11010000 11110101 00011100 10000011 é representado por 208.245.28.131. O endereço IPv4 é dividido em classes para facilitar sua distribuição no mundo. Para essa divisão, tomamos por base sempre o primeiro octeto. Por exemplo, o endereço IP 192.10.243.1 é de classe C, porque o seu primeiro octeto se enquadra na classe C. A = 1.0.0.0 a 127.255.255.255 B = 128.0.0.0 a 191.255.255.255 C = 192.0.0.0 a 223.255.255.255 D = 244.0.0.0 a 239.255.255.255 E = 240.0.0.0 a 255.255.255.255 Máscaras de rede Agregado ao endereço IP, temos a definição da máscara de rede que faz a divisão das classes IP, a qual especifica a parte do endereço que representa a rede e a outra que informa a quantidade de dispositivos (hosts) na rede. Na classe A, temos apenas um octeto que faz referência à rede, com os demais octetos disponíveis para os dispositivos, com isso temos 256 endereços de rede e mais de 16 milhões de possibilidades de conexões de dispositivos nessas redes (224 = 16.777.216). Representação binária Classe A Protocolo IP – IPV6 Devido ao crescimento do uso da Internet, que resultou no aumento de interligação de dispositivos, o IPv4 passou a apresentar limitações, porque os endereços de 32 bits se esgotam com o tempo. Diante disso, a IEFT desenvolveu um novo padrão de endereçamento, cujo nome é IPv6 (IP versão 6), para atender não apenas às necessidades atuais, mas também às necessidades das aplicações futuras. O IPv6 aumenta a capacidade de endereçamento de 32 bits para 128 bits, representa um aumento enorme (296) no espaço de endereços. Sua representação utiliza caracteres hexadecimal (0 a 9 e também os caracteres A, B, C, D, E, F). É escrito como 8 grupos de 4 dígitos hexadecimais separados por dois pontos, como, por exemplo: 0000:0000:0000:0000:0000:FFFF:C0A8:000A convertendo novamente para IPV4 seria o IP 192.168.0.10. Protocolo DHCP O DHCP (Dynamic Host Configuration Protocol), protocolo de configuração dinâmica de host, atua em uma estrutura cliente e servidor para fornecer automaticamente endereço IP aos dispositivos da rede, como também os endereços da máscara da rede, gateway e servidor DNS. Evita-se, com isso, perda de tempo, aumento na mão de obra especializada e a possibilidade de equivocadamente distribuir o mesmo número IP para dois ou mais dispositivos ao configurá-los, resultando em conflito de IPs na rede. Durante o processo de inicialização de um computador, por exemplo, é estabelecida uma comunicação pela rede desse dispositivo com o servidor, o qual, dinamicamente, atribui um endereço IP único para aquele dispositivo, bem como os demais endereços de configuração de rede. Protocolo DNS O DNS (Sistemas de Nomes de Domínio) é um protocolo de aplicação que converte o nome do domínio para um endereço IP, que é a identificação do servidor para o qual o domínio está atrelado. Ele consulta o servidor de nomes para transformar a URL no endereço IP a ser utilizado pela camada de rede, no endereçamento da mensagem. Referências Bibliográficas Fontes web: Conversor IPV4 para IPV6: https://pt.rakko.tools/tools/23/ Conversor IPV6 para IPV4: https://www.whatsmydns.net/ipv6-to- ipv4?q=0000%3A0000%3A0000%3A0000%3A0000%3Affff%3Ac0a8%3A000a MORIMOTO, Carlos E. Redes: guia prático. 2. ed. Porto Alegre: Sul Editores, 2011. SOUSA, Lindeberg Barros de. Protocolos e Serviços de Redes. São Paulo: Érica, 2014 TANENBAUM, Andrew S.; WETHERALL, David. Redes de Computadores. São Paulo: Pearson Prentice Hall, 2011. TANENBAUM, Andrew S; WETHERALL, David. Redes de Computadores. 5. ed. São Paulo: Pearson Prenice Hall, 2011. KUROSE, James F.; ROSS, Keith W. Redes de Computadores e a Internet: uma abordagem top-down. São Paulo: Pearson Education do Brasil, 2013. LOUREIRO, César Augusto Hass; SCHMITT, Marcelo AugustoRauh; PERES, André; OLIVEIRA, Alex Martins de. Redes de Computadores III: níveis de enlace e físico. Porto Alegre: Bookman, 2014. COMER, Douglas E. Interligação de redes com TCP/IP: princípios, protocolos e arquitetura. Cap. 2 e 3 STALLINGS, William. Redes e sistemas de comunicação de dados. 3 e 4 https://pt.rakko.tools/tools/23/ https://www.whatsmydns.net/ipv6-to-ipv4?q=0000%3A0000%3A0000%3A0000%3A0000%3Affff%3Ac0a8%3A000a https://www.whatsmydns.net/ipv6-to-ipv4?q=0000%3A0000%3A0000%3A0000%3A0000%3Affff%3Ac0a8%3A000a Slide 1 Slide 2: Análise e desenvolvimento de sistemas Slide 3: Aulas 5,6,7 e 8 – Modelos de redes OSI e TCP/IP. Arquitetura e protocolos de redes de computadores. Slide 4 Slide 5: Camada Vertical x Horizontal Slide 6 Slide 7: Exemplo de serviços confiáveis e não confiáveis Slide 8: Camada OSI Slide 9: Modelo de referência OSI Slide 10: Primeira camada - física Slide 11: Segunda camada – Enlace de dados Slide 12: Terceira camada - Rede Slide 13: Quarta Camada - Transporte Slide 14: Quinta Camada - Sessão Slide 15: Sexta Camada - Apresentação Slide 16: Sétima camada - Aplicação Slide 17: Resumo do modelo OSI Slide 18: Modelo de Referência Slide 19: TCP/IP Slide 20 Slide 21 Slide 22 Slide 23: Protocolos da camada TCP/IP Slide 24: Principais protocolos e serviços Slide 25 Slide 26: Protocolo IP Slide 27 Slide 28: Máscaras de rede Slide 29: Representação binária Classe A Slide 30: Protocolo IP – IPV6 Slide 31: Protocolo DHCP Slide 32: Protocolo DNS Slide 33: Referências Bibliográficas Slide 34