Baixe o app para aproveitar ainda mais
Prévia do material em texto
INTRODUÇÃO ÀS REDES DE COMPUTADORES Copyright © Todos os direitos desta obra são da Escola Superior Aberta do Brasil. www.esab.edu.br Diretor Geral: Nildo Ferreira Secretário Geral: Aleçandro Moreth Diagramadores: Felipe Silva Lopes Caliman Rayron Rickson Cutis Tavares Produção do Material Didático-Pedagógico Escola Superior Aberta do Brasil Sumário 1. Apresentação ................................................................................................................9 2. Visão Geral dos Protocolos e Órgãos de Padronização ....................................................10 3. Modelo de Referência OSI .............................................................................................18 4. Aplicação, Apresentação e Sessão.................................................................... .............24 5. Transporte, Rede, Enlace de Dados e Física ....................................................................33 6. Mais sobre o Modelo OSI.......................................................................... .....................45 7. Resumo .........................................................................................................................51 8. Apresentação 1 .............................................................................................................52 9. O Modelo da Internet: TCP/IP ........................................................................................53 10. Protocolos da Camada de Aplicação ..............................................................................60 11. Protocolos da Camada de Transporte: TCP e UDP ...........................................................81 12. Protocolos da Camada de Rede (Internet) ...................................................................112 13. Protocolos da Camada Física .......................................................................................129 14. Resumo 2 ....................................................................................................................143 15. Apresentação 2 ..........................................................................................................144 16. Endereçamento IPv4 ...................................................................................................145 17. IPv6: A Nova Geração do Protocolo IP...........................................................................158 18. Protocolos MAN e WAN................................................................................................171 19. Protocolos Wireless .....................................................................................................184 20. SDN e Novos Protocolos Definem as Redes do Futuro ..................................................195 21. Resumo 3....................................................................................................................209 22. GLOSSÁRIO ..................................................................................................................210 23. BIBLIOGRAFIA .............................................................................................................236 www.esab.edu.br 4 Palavras do Tutor Caros alunos, é com muita alegria que a ESAB chega até você através deste material de estudo preparado e pensado exclusivamente sobre o mundo dos Protocolos de Redes. Entender o correto funcionamento de uma rede de computadores tem tudo a ver com o correto entendimento dos protocolos de comunicação que essas redes fazem uso. Pois são os protocolos de comunicações que constituem a linguagem pela qual os computadores dentro de uma rede se comunicam uns com os outros. A palavra “protocolo” foi criada muito antes do surgimento das redes de computadores. Portanto, a palavra “protocolo” na sua concepção inicial abrangeu um leque extenso de significados, variando desde um conjunto de formalidades públicas até, por exemplo, os critérios a serem cumpridos no detrimento de determinada atividade. Existem os protocolos de estado, por sua vez, são todos os procedimentos padrões a serem executados quando há algum evento em que estão presentes representantes de países, federações, estados, etc. Tudo isso no mundo dos seres humanos, mas agora, na era das redes de comunicações digitais, na era da Internet, da interconexão globalizada, essa palavra “Protocolo” entrou com muito mais rigor no mundo digital. Pois os computadores são muito mais educados que os seres humanos, eles são firmes e corretos na hora de se comunicar uns com outros. Por exemplo, para iniciar uma conversação entre dois computadores, um deles deve pedir permissão para começar a comunicação, só entrarão em conversação mútua, se e somente se, o computador requisitado outorgue essa permissão, caso www.esab.edu.br 5 negativo não existirá a comunicação e ambos ficarão à espera de outra oportunidade e sem nada de brigas! Portanto, a presente apostila, e consequentemente o módulo completo, tem como único objetivo de servir como um apoio presencial para a disciplina de Protocolos de Redes e seu conteúdo foi pensado de forma que possa ser útil para seu aprendizado fácil e didático ao longo do curso. Neste material você conhecerá de forma completa os principais protocolos de comunicações muito utilizados nas atuais redes, sobre todo a família de protocolos TCP/IP, que constitui o motor da Internet, sem o TCP/IP, a Internet como a conhecemos atualmente, praticamente não existiria. Para que você possa fazer um bom uso desta apostila é de fundamental importância a leitura, resolução das atividades e acesso às referências extras apresentadas no final da mesma. Desejamos assim um excelente aprendizado e que você possa utilizar e colocar em prática os conhecimentos adquiridos e relativos aos Protocolos de Redes estudados neste módulo. Não esqueça de ler constantemente este material, e tirar suas dúvidas ou observações com o tutor, acompanhar regularmente a disciplina em seu ambiente de aprendizagem, além de interagir com o suporte acadêmico, professores, tutores e colegas. Lembre-se, o seu sucesso depende de seu esforço e dedicação. Um grande abraço e bons estudos! Prof./Tutor Aníbal D. A. Miranda Sobre o Módulo Familiarização do aluno com os conceitos básicos e fundamentais dos Protocolos de Redes, entender que sem tais protocolos a interconexão entre computadores seria praticamente impossível, www.esab.edu.br 6 a linguagem das máquinas são os protocolos de comunicações entre elas. Como será visto ao longo deste módulo, existe uma hierarquia de comunicação entre os diferentes dispositivos de uma rede e a correta implementação e configuração dos diferentes protocolos de comunicações nos diversos equipamentos de rede farão que todo o sistema funcione de forma fluida e sem interrupções. Dessa forma, entender a importância dos diferentes protocolos de comunicações, nos vários níveis (hierarquias) para um correto diálogo e funcionamento entre todos os dispositivos e sistemas interligados de telecomunicações e redes de computadores, para um professional da Tecnologia da Informação (TI) é mandatório Objetivos Temos três (3) objetivos muito bem definidos nesta apostila, cada objetivo cobre cinco (5) unidades de forma consecutiva, ou seja, o 1º objetivo corresponde às primeiras cinco unidades, isto é, das unidades 1 até a 5, depois, o nosso 2º objetivo corresponde da unidade 6 até a unidade 10 e o último e 3º objetivo vai da unidade 11 até a unidade 15 da apostila. Sendo estes objetivos os seguintes. 1º Objetivo é ter uma ideia clara sobre a definição e o conceito de um protocolo de rede, como surgem e quais são os documentos necessários para escrever e apresentar um novo protocolo ou atualizar um já existente, também saber quais são os principais órgãos padronizadores de protocolos e regras de funcionamentodas redes de computadores e finalmente ter uma ideia clara do modelo de referência OSI da ISO. O nosso 2º objetivo é de ter uma visão muito clara sobre as bondades e funcionalidades do modelo TCP/IP que é o motor da atual Internet, www.esab.edu.br 7 conhecer quais são os principais protocolos da família TCP/IP, quais suas funções e sobre todo, aonde é que eles operam, isto é, em quais camadas do modelo TCP/IP, esses tópicos são de fundamental importância para todo professional da área de TI. O nosso último objetivo tem vários assuntos importantes, todos eles correlacionados entre si, começamos com fornecer ao aluno uma base sólida sobre o endereçamento IPv4, para logo, conhecer os benefícios da nova geração desse protocolo, o IPv6, depois rever os protocolos ponto-a-ponto das redes metropolitanas e de área estendida, na sequência estudar sobre os principais protocolos das redes sem fio para finalmente fecharmos com um novo paradigma na área das reses de computadores, o protocolo OpenFlow que é o motor das redes definidas por software ou redes do tipo SDN. Portanto, são esses os três grandes objetivos deste módulo acreditamos que o conteúdo é bem completo e dá o pontapé inicial para permitir ao aluno pesquisas mais abrangentes nessa fascinante área dos Protocolos de Redes. Ementa Neste módulo apresentamos os conceitos gerais e completos sobre os Protocolos de Redes, órgãos mundiais padronizadores dos protocolos; o modelo de referência OSI; o modelo TCP/IP; principais funcionalidades dos protocolos da família TCP/IP; endereçamento IP; a nova versão IPv6; protocolos MAN e WAN; protocolos de redes sem fio de vários tamanhos de cobertura desde os 10 metros até mais de 100 Km.; conhecer as redes definidas por software (SDN) que é o novo paradigma em protocolos de redes. www.esab.edu.br 8 Sobre o Autor Engenheiro eletrônico especializado nas áreas de Teleinformática e Telecomunicações. Mestrado e Doutorado outorgados pelo Instituto Tecnológico de Aeronáutica (ITA) em 1998 e 2004 respectivamente. A Tese de Mestrado rendeu o primeiro prêmio “Comandante Quandt de Telecomunicações” na TELEXPO de São Paulo em 1999. Categoria: Trabalhos Técnicos. Autor de softwares na área de engenharia de tráfego, principalmente para medir, analisar e emular o comportamento agregado de pacotes IP. Autor de vários artigos técnicos apresentados em importantes congressos a nível nacional e internacional. Boa experiência no estudo, análise, dimensionamento e implementação de projetos na área de Teleinformática. www.esab.edu.br 9 1º Eixo Temático: Visão Geral dos Protocolo de Redes e o Mode- lo OSI Apresentação: Neste 1º eixo temático temos como objetivo o estudo do conceito de Protocolo, saber quais os órgãos e entidades padronizadoras destes protocolos de redes e também um estudo profundo do modelo de referência OSI, essencial para o entendimento dos Protocolos de Redes. • Unidade 1: Visão Geral dos Protocolos e Órgãos de Padronização • Unidade 2: Modelo de Referência OSI • Unidade 3: Primeiro Bloco: Aplicação, Apresentação e Sessão • Unidade 4: Segundo Bloco: Transporte, Rede, Enlace de Dados e Física • Unidade 5: Mais sobre o Modelo OSI www.esab.edu.br 10 Introdução Dentro do âmbito das redes de computadores, a palavra protocolo é chave e se encontra em todos os níveis, isto porque, praticamente seria impossível que os computadores que compõem uma rede se comuniquem uns com outros se os protocolos não existissem, a mesma situação ocorre ao nível de rede, não existiria uma comunicação entre redes se os protocolos de comunicações não existissem, ou seja, a condição necessária e suficiente para que os computadores dentro de uma rede e consequentemente as redes funcionem e se comuniquem da maneira como elas o fazem atualmente é devido à existência dos protocolos de comunicação. O que é Protocolo? Protocolo é um conjunto de informações, decisões, normas e regras definidas a partir de um ato oficial, como audiência, conferência ou negociação. Na realidade, a palavra Protocolo abrange um leque extenso de significados, podendo variar desde um conjunto de formalidades públicas até os critérios a serem cumpridos no detrimento de determinada atividade, por exemplo (SIGNIFICADOS, 2016). Um protocolo também pode se referir a um conjunto de normas e regras firmadas entre duas ou mais partes, como consequência de uma reunião deliberativa. Tudo isso no âmbito da vida cotidiana dos seres humanos, mas, e no mundo dos computadores? www.esab.edu.br 11 Bem, no mundo dos computadores os protocolos são muito mais eficazes, pois os computadores são muito mais educados que os humanos. E nesse sentido que um protocolo de comunicação entre computadores é uma especificação de uma série de regras que regem a comunicação. Por isso chamamos também os protocolos de rede de protocolos de comunicação. Protocolo é a palavra que denomina “as regras” que organizam e regem a sincronização da comunicação entre dois sistemas computacionais. Ou seja, controla e possibilita a transferência de dados. Estes podem ser implementados por software ou por hardware ou ambos. Seja qual for, o protocolo segue uma linha ou tendência baseado em um padrão ou modelo de referência. É desta forma que a comunicação entre computadores é organizada em diversas camadas de programas (softwares) e hardware, umas sobre as outras, englobando, frequentemente, vários protocolos, este agrupamento é conhecido como pilhas de protocolos. Os diferentes tipos de protocolos executam diferentes e mais variadas tarefas que possibilitam a correta comunicação entre os dispositivos da rede, isto é, em conjunto eles formam pilhas (ou famílias) de protocolos que executam uma função maior. Pilhas de Protocolo Existem diversas pilhas (conjuntos) ou famílias de protocolos, entre as principais temos as seguintes: www.esab.edu.br 12 • O modelo de referência OSI (Open Systems Interconnect) • O modelo da Internet ou modelo TCP/IP • O modelo Novell da Netware com sua pilha de protocolos IPX/SPX • O modelo da Apple, o AppleTalk • O modelo da Digital Equipment Corporation (DECnet) • O modelo SNA (System Network Architecture) da IBM. Os protocolos mais atuais ou recentes, para interconexão com a Internet, são determinados pela IETF (Internet Engineering Task Force), a IEEE (Institute of Electric & Electronic Engineeers) e a ISO (International Organization for Standardization) para outros tipos de protocolos. O Setor de Normatização das Telecomunicações ou ITU-T (Telecommunication Standardization Sector) é uma área da União Internacional de Telecomunicações (ITU) responsável por coordenar padronizações relacionadas a telecomunicações. Sendo, também, este órgão (a ITU-T) quem controla os protocolos de telecomunicações, assim como a formatação de todos eles. Os princípios da engenharia de sistemas são aplicados na criação e desenvolvimento dos protocolos de rede. As organizações que efetuam o desenvolvimento dos protocolos de rede estão descritas logo a seguir com seus respectivos sites para consulta; lá se encontram disponíveis documentos que descrevem como foram padronizadas determinadas funções ou implementações para rede, normalmente tais documentos são chamados de RFC (Request For Comments). Qualquer proposta de padronização que é submetida passa por um processo antes de virar uma RFC. Incialmente ela recebe o nome de Draft Proposal, ou algo assim como uma proposta inicial em rascunho. As propostas são analisadas por um grupo de www.esab.edu.br 13 trabalho conforme a área que se referem e se aprovadas por votação, recebe um número e se torna uma RFC. Mesmo assim, vale a pena mencionar que um protocolo para ser utilizado na Internet não necessariamente precisa se tornar um padrão Internet (BRAGA, 2013). As RFCs podem ter os seguintes status: S:Internet Standard, PS: Proposed Standard, DS: Draft Standard, BCP: Best Current Practices, E: Experimental, I: Informational e finalmente, H: Historic. Formas de Submissão de um documento RFC A seguir temos exemplos de RFCs que definem alguns dos principais protocolos utilizados na Internet (COIMBRA, 2009): • Internet Protocol (IP) – RFC 791 • Transmission Control Protocol (TCP) – RFC 793 • Telnet Protocol – RFC 764 • File Transfer Protocol (FTP) – RFC 765 • Simple Mail Transfer Protocol (SMTP) – RFC 788 • Simple Network Management Protocol (SNMP) – RFC 1157 • Post Office Protocol (POP, POP3) – RFC 1939 • Domain Name System (DNS) – RFC 1034 e RFC 1035 www.esab.edu.br 14 • Dynamic Host Configuration Protocol - IPv4 and IPv6 Dual- Stack Issues (DHCPv4 & DHCP v6) – RFC 4477 • Classless Inter-Domain Routing (CIDR) – RFC 159 • Virtual Private Network (VPN) – RFC 4026 • Hypertext Transfer Protocol (HTTP) – RFC 2068 • Internet Protocol version 6 (IPv6) – RFC 2373 Quem Pode Escrever um Documento RFC? A resposta para esta pergunta é, qualquer ser humano pode escrever um RFC, desde que o faça, em inglês e siga a formatação recomendada. Para ser publicada, entretanto, ela deve passar por algumas etapas bem definidas. Tais etapas, a formatação e os tipos de RFCs estão descritas em dezenas de RFCs. A publicação e o repositório de RFCs são de responsabilidade do RFC Editor, embora não pareça à primeira vista é formado por um conjunto de pessoas (e, de organizações), que atuam sobre um emaranhado complexo de normas, regras e definições, para eficazmente expor, de maneira simples, um imenso conhecimento sobre a Internet, seus protocolos e milhares de outras informações úteis a pessoas e instituições envolvidas e/ou interessadas (RFC Editor). No passado, entretanto, o RFC Editor estava a cargo de uma única pessoa: Jon Postel. A partir dele foi estabelecido o correto funcionamento do RFC Editor, e em FAQs2 se tem um bom lugar para entender muito ao respeito (BRAGA, 2013). Organizações Padronizadoras Temos as seguintes organizações que padronizam normas e protocolos para a Internet, www.esab.edu.br 15 ITU (International Telecommunication Union) A União das Telecomunicações Internacionais (ITU, em inglês), é uma organização que promove os padrões para as telecomunicações globais. Antigamente era conhecida como a CCITT ou “Consultative Committee for International Telegraphy and Telephony” (ITU, 2017). ISO (International Standard Organization) É uma organização não governamental, criada em 1947, estabelecida em Genebra, Suíça, é uma rede dos institutos de padrões nacionais de aproximadamente 130 países. O escritório central em Genebra coordena o sistema e publica os padrões finais. A missão da ISO é promover o desenvolvimento da estandardização e das atividades com ela relacionadas no mundo com o objetivo de facilitar a troca de serviços e bens, e para promover a cooperação a nível intelectual, científico, tecnológico e econômico. Todos os trabalhos realizados pela ISO resultam em acordos internacionais os quais são publicados como Standards Internacional. De onde provém o nome ISO? Muitas pessoas têm reparado na falta de semelhança entre o acrônimo em Inglês da Organização e a palavra “ISO”. Mas, ISO não é um acrônimo. Efetivamente, “ISO” é uma palavra, derivada do grego “isos”, que significa “igual”, raiz do prefixo “iso”, que aparece em uma grande quantidade de termos. De “igual” até “standard” é fácil continuar por esta linha de pensamento que foi o que levou a escolher “ISO” como o nome de dita Organização. IANA (Internet Assigned Numbers Authority) É operada pela ICANN, é uma das instituições mais antigas da Internet, e está em atividade desde a década de 70. A IANA é a entidade responsável por coordenar alguns dos elementos www.esab.edu.br 16 fundamentais que mantêm a Internet funcionando normalmente. Embora a Internet seja conhecida por ser uma rede mundial sem uma coordenação central, existe a necessidade técnica de que alguns componentes essenciais da Internet tenham uma coordenação global – e esse é o papel de coordenação da IANA (IANNA, 2017). ICANN (Internet Corporation for Assigned Names and Num- bers) É responsável pela coordenação global do sistema de identificadores exclusivos da Internet, tais como nomes de domínio (.org, .net, .com, .edu, .mil, etc.,) e códigos de países como (.br, .uk, .ch, .at, etc.) e os endereços usados em vários protocolos da Internet que ajudam os computadores a se comunicarem pela Internet. A administração criteriosa e cuidadosa desses recursos é vital para a operação da Internet, de modo que os participantes globais da ICANN se reúnem periodicamente para elaborar políticas que garantam a continuidade da segurança e estabilidade da Internet. A ICANN é uma entidade internacional sem fins lucrativos em benefício público (ICANN, 2017). IETF (Internet Engineering Task Force) A organização IETF, é a Força Tarefa de Engenharia da Internet e é a responsável pela formação e desenvolvimento de padrões para a Internet. Ela é aberta e se utiliza do trabalho voluntário para funcionar, não tendo uma organização formal (IETF, 2017). IEEE (Institute of Electrical and Electronics Engineers) Este instituto que associa aos engenheiros elétricos e eletrônicos do mundo todo, é uma organização sem fins lucrativos, estabelecida nos Estados Unidos. Ela é a maior em número de membros (profissionais). A IEEE foi formada em 1963 pela fusão do Institute www.esab.edu.br 17 of Radio Engineers (IRE) e do American Institute of Electrical Engineers (AIEE). Os membros da IEEE são estudantes e engenheiros elétricos, eletrônicos e da ciência da computação, trabalhadores de telecomunicações, cientistas, etc. É dos trabalhos científicos da IEEE que se estabelecem as maiores realizações nos padrões globais de hardware e software (IEEE, 2017). Conclusão Portanto, um protocolo, como visto ao longo desta Unidade inicial, é um conjunto de normas e regras que constituem uma linguagem comum usada para permitir que dois ou mais computadores se comuniquem entre si sem problemas. Assim como acontece no mundo real, se duas pessoas não falarem a mesma língua elas não poderão se comunicar de forma correta. No mundo dos computadores ocorre o mesmo fenômeno, se eles não falarem o mesmo idioma (leia-se, protocolo) eles pouco ou nada se entenderão. www.esab.edu.br 18 Introdução Inicialmente, as redes de computadores surgiram e foram desenvolvidas para comunicar equipamentos do mesmo fabricante o que causava um problema de compatibilidade entre as soluções tecnológicas de outros fabricantes. Portanto, era urgente padronizar ou fazer uma Interface entre todas essas tecnologias para que elas possam coexistir sem problemas. Portanto, uma solução foi enxergar o problema da compatibilidade entre dispositivos por níveis ou hierarquias, ou seja, criando moldes ou modelos de referência que sejam guias de construção para que os fabricantes de hardware e software tentarem (ao máximo) unificar seus produtos. Nesse sentido, o modelo OSI trata da interconexão de sistemas abertos, ou seja, sistemas que estão abertos à comunicação com outros sistemas. Vejamos como é feito isso. Enfoque em Níveis Um modelo de referência é uma espécie de guia para orientar como as comunicações devem ocorrer. São agrupadas em níveis (camadas) as diversas funções que devem ser implementadas. Pode-se dizer que um sistema de comunicação projetado desta forma é uma arquitetura de níveis. Como já foi visto um protocolo é um conjunto de regras que regulam e controlam a comunicação entre as partes envolvidas. Com o intuito de reduzir a complexidade do projeto, a maioria das www.esab.edu.br 19 redes foi organizada como uma série de níveis ou camadas, que são colocadas uma sobre a outra. O número, o nome, o conteúdo e a função de cada camadadifere de uma rede para outra. Em todas as redes, no entanto, o objetivo de cada camada é oferecer determinados serviços para as camadas superiores (WIKIBOOKS). A camada n de uma máquina comunica-se com a camada n de outra máquina. Para que isso seja possível, ela baseia-se num conjunto de convenções e regras que vão permitir gerenciar esta comunicação, que foi nomeada de protocolo da camada n, ou, simplesmente, protocolo n. Exemplo de uma arquitetura por níveis ou camadas, no caso, este exemplo apresenta n=7 camadas Uma analogia simples, seria comparar as camadas como se fossem os departamentos de uma grande empresa, onde cada departamento efetua uma tarefa, mas que, cada um deles ajuda ao todo alcançar o seu objetivo. Para que a comunicação flua de forma coerente e sem problemas, são implementadas regras (protocolos) que são procedimentos executados por uma www.esab.edu.br 20 camada específica. Dessa forma, no enfoque em níveis, cada camada pode ter um conjunto de protocolos que efetue as tarefas de forma similar conforme as necessidades da rede ou do sistema operacional. Esse tipo de desenvolvimento é aconselhável, pois se aproveita dos serviços já implementados em outras camadas; somente é necessário ficar preocupado com as funções do nível especifico e não com as de qualquer outro nível. Caso seja necessário, outro protocolo efetuará o tratamento dos dados para possibilitar a comunicação. Esse processo de tratamento é chamado de vínculo (binding). O Modelo OSI No final da década de 1970, foi criado um modelo de referência que foi chamado de OSI (Open Systems Interconnection), este modelo foi desenvolvido pela ISO (International for Standardization Organization). A proposta desse modelo era conectar diferentes tipos de redes e sistemas, criando uma referência para os fabricantes desenvolverem os protocolos, tanto em software como em hardware, adequadamente. Pode-se dizer que ajudou bastante e atualmente se tem alguma compatibilidade entre todos os sistemas de redes, mas ainda existem soluções proprietárias que seguem padrões próprios. A tendência dos sistemas operacionais é prover suporte para protocolos desenvolvidos nesse padrão, sobre todo no modelo TCP/IP que será estudado nas próximas unidades. Todavia o modelo OSI é o padrão para o desenvolvimento de arquitetura para redes. Neste modelo de referência consta tudo o que é necessário para efetuar a comunicação através das mídias www.esab.edu.br 21 de rede, desde uma simples aplicação até a construção de um computador. O modelo de referência OSI separa as funções em camadas ou níveis. No decorrer deste modulo será explicado (em detalhe) como funciona o modelo de referência OSI, citando quais as funções básicas que acontecem em cada camada deste modelo que é a base para entender como funcionam os protocolos de rede e a comunicação entre dispositivos. Podem-se solucionar vários dos problemas de rede através de testes para detectar em que nível se encontra a falha de comunicação. O modelo de referência OSI possui sete níveis (ou camadas): 1) Nível Físico (Physical Layer) 2) Nível de Enlace (Data Link Layer) 3) Nível Rede (Network Layer) 4) Nível Transporte (Transport Layer) 5) Nível Sessão (Session Layer) 6) Nível Apresentação (Presentation Layer) 7) Nível Aplicação (Application Layer) Deve-se lembrar sempre que o modelo OSI não é um modelo físico e sim um conjunto de orientações que os desenvolvedores de aplicações de redes podem usar para criar e implementar ferramentas de software (e hardware) que sejam executadas em uma rede. É possível dividir o modelo OSI em dois blocos conforme sua finalidade. O primeiro bloco define como as aplicações dentro das estações finais se comunicam entre si e compreende as camadas superiores e o segundo bloco define como os dados são transmitidos de uma ponta à outra, este segundo bloco compreende as camadas inferiores como mostrado a seguir. www.esab.edu.br 22 O modelo OSI Portanto, o primeiro bloco compreende as seguintes camadas: • Nível de Aplicação (7): Fornece uma interface com o usuário. • Nível de Apresentação (6): Apresenta os dados e fornece criptografia. • Nível de Sessão (5): Separa os dados de diferentes aplicações. E o segundo bloco é constituído pelas camadas inferiores, isto é, • Nível de Transporte (4): Pode oferecer um envio confiável ou não confiável e realiza correção de erro antes de transmitir. • Nível de Rede (3): Oferece endereçamento lógico que o Roteador utilize para determinar o caminho a seguir. • Nível de Enlace (2): Neste nível, os pacotes de dados são transformados em bytes e os bytes em quadros, oferece acesso à mídia usando endereço MAC (Media Access Control), este MAC pode ser considerado uma subcamada a qual faz Interface com a camada inferior ou física e realiza a detecção de erro, mas não os corrige. Deve-se ressaltar que a Interface desta camada 2 com a camada superior 3 é www.esab.edu.br 23 através da subcamada LLC (Logical Link Control) da camada 2. • Nível Físico (1): Move bits entre dispositivos, neste nível são especificados parâmetros tais como a voltagem dos Inal elétrico enviado, velocidade no fio e a pinagem das interfaces com os cabos. Exemplo de uma comunicação entre dois computadores utilizando o modelo OSI www.esab.edu.br 24 A camada de Aplicação é a Interface praticamente pela qual o usuário (humano) pode interagir com todo o resto das outras camadas de forma direta ou indiretamente. Esta camada e a que mais notamos no dia a dia, pois interagimos direto com ela através de pacotes de softwares como cliente de correio eletrônico, programas de mensagens instantâneas, navegadores (Browsers) da Internet, etc. Nesse sentido e sem temor de errar pode-se disser que é nesta camada de Aplicação onde atuam praticamente todas as Interfaces dos protocolos, como por exemplo, o SMTP, o DNS, o VPN, o Telnet, o FTP, o HTTP, etc. E esta camada pode tanto iniciar quanto finalizar qualquer um dos serviços oferecidos por esses protocolos (VENTURA, 2002). Baseado em requisições de algum usuário da rede, esta camada seleciona os serviços a serem fornecidos por funções das camadas mais baixas. Esta camada deve providenciar todos os serviços diretamente relacionados aos usuários. Portanto, a camada de aplicação serve como a janela onde os processos de rede, iniciados pelo usuário, entram em ação (MICROSOFT, 2017). Essa camada contém uma variedade de funções normalmente necessárias, entre as mais relevantes temos, • Redirecionamento de dispositivo e o compartilhamento de recursos • Acesso remoto a arquivos www.esab.edu.br 25 • Acesso de impressora remota • Comunicação entre processos • Gerenciamento de rede • Serviços de diretório • Mensagens eletrônicas (como e-Mail) • Terminais de rede virtuais • Identificação da intenção das partes envolvidas na comunicação e sua disponibilidade e autenticidade • Estabelecimento de autoridade para comunicar-se Acordo sobre o mecanismo de privacidade • Determinação da metodologia de alocação de custo • Determinação de recursos adequados para prover uma qualidade de serviços aceitável • Sincronização de cooperação para aplicações • Seleção da disciplina de diálogo • Responsabilidade da recuperação de erros de estabelecimento • Acordo na validação de dados • Transferência de informações Serviços de Divulgação Faz a divulgação dos serviços disponíveis aos clientes empregando métodos ativos e passivos para divulga-los. Sendo que o método ativo consiste no uso de servidores que divulgam seus serviços de forma ativa através de broadcast. E da parte dos usuários, eles podem requisitar serviços específicos, e os servidores responderão com uma lista de serviços suportados. E o método passivo é realizado através de um registro central,onde os serviços oferecidos se encontram, o qual é consultado pelos usuários, para determinar quais serviços estão disponíveis e como acessá-los. www.esab.edu.br 26 Método de Uso dos Serviços de Divulgação Os clientes podem acessar os serviços usando três métodos: 1) Interrupção de chamadas do sistema operacional: As aplicações no sistema cliente fazem uma chamada de serviço ao sistema operacional que determina se é uma chamada de recursos locais, que são resolvidos pelo sistema operacional local, ou uma chamada de recursos de rede, onde o sistema operacional envia a solicitação para o servidor apropriado. A determinação de quem responde ao pedido de serviço do cliente é feita pelo Redirecionador. 2) Operação remota: Aqui o sistema operacional do computador cliente faz uma interface direta com a rede, conectando-o a um servidor. As solicitações do sistema operacional do cliente aparecem iguais às solicitações do sistema do próprio servidor, portanto o servidor não está diretamente informado da existência independente dos sistemas clientes. 3) Operação de cooperação: os sistemas operacionais de servidor e cliente são tão avançados que o limite entre eles fica indistinto. Os sistemas operacionais funcionam juntos para coordenar o uso dos recursos nos dois respectivos computadores, na verdade os computadores que participam de um processamento cooperativo, compartilham todos os seus recursos. Um computador pode iniciar um processo em outro para tirar proveito de alguns ciclos (de relógio) para processamento próprio. www.esab.edu.br 27 O Redirecionador foi o mecanismo sobre o qual foram desenvolvidos os Sistemas Operacionais de Rede A transparência dos requisitos é fundamental nos Sistemas Operacionais de Redes (SOR). Nesse sentido os SORs devem atuar de forma que os usuários utilizem os recursos de outras estações da rede como se estivessem operando localmente. A solução encontrada para estender o Sistema Operacional Local (SOL) dos computadores da rede, sem modificar sua operação local, foi a introdução de um módulo Redirecionador. O Redirecionador funciona interceptando as chamadas feitas pelas aplicações ao SOL, desviando aquelas que dizem respeito a recursos remotos para o módulo do SOR, responsável pelos serviços de comunicação que providenciam ao dispositivo remoto. Para as aplicações de usuário a instalação do SOR é percebida apenas pela adição de novos recursos (recursos verticais) aos que elas possuíam anteriormente. www.esab.edu.br 28 Um resumo desta camada de Aplicação é apresentado na seguinte tabela, Camada de Apresentação A camada de apresentação formata os dados a serem apresentados na camada de aplicativo. Ela pode ser considerada o tradutor da rede. Essa camada pode converter dados de um formato usado pela camada de aplicativo em um formato comum na estação de envio e, em seguida, converter esse formato comum em um formato conhecido pela camada de aplicativo na estação de recepção (MISCROSOFT, 2017). Nesta camada basicamente são realizados os seguintes processos apresentados os dados, aqui também é feito o processamento de criptografia, ou seja, este nível apresenta os dados ao nível de aplicação e é responsável pela tradução de dados e formatação de código. A função desta camada é interpretar e fazer a manutenção da sintaxe e semântica quando da execução de aplicações remotas, estabelecendo um formato de dados comum entre os diferentes sistemas operacionais dos computadores que estão se comunicando. Portanto, a camada de apresentação é responsável por: www.esab.edu.br 29 • Transformação de dados • Formatação de dados Sintaxe de seleção • Sintaxe de seleção A transformação de dados é o ato de traduzir os dados entre diferentes formatos. Exemplos de diferenças entre formatos de dados incluem ordem de bytes (poderia ser lido da esquerda para a direita, ou vice-versa) e conjunto de caracteres (caracteres ASCII ou conjunto de caracteres EBCDIC, da IBM), bem como diferenças na representação numérica. Essencialmente este nível possui uma série de protocolos especializados em traduzir os dados que vem da camada de Aplicação, neste sentido esta camada pode definir como os dados padrões devem ser formatados. Por exemplo, na parte gráfica que envolve multimídia, vídeos e imagens podem ser encontrados os seguintes formatos: • TIFF (Tagged Image File Format) • JPEG (Joint Photographic Experts Group) • MIDI (Musical Instrument Digital Interface) • MPEG (Moving Picture Experts Group) • GIF (Graphic Interchange Format) • RTF (Rich Text Format) A formatação de dados (texto, figuras, arquivos binários, etc.) serve para que o computador receptor entenda o que o computador emissor envia. Um bom lembrete para esta camada de Apresentação é a palavra Formatação, já que é neste nível que os formatos são definidos para ser enviados e/ou recebidos das outras máquinas. Basicamente esta camada trata dos seguintes processos e métodos: www.esab.edu.br 30 Camada de Sessão A camada de sessão permite o estabelecimento de sessões entre processos em execução em estações diferentes (MICROSOFT, 2017). Ela fornece o seguinte: • Estabelecimento, manutenção e término de sessões: Permite que dois processos de aplicativo em máquinas diferentes estabeleçam, usem e terminem uma conexão, conhecida como sessão. • Suporte a sessões: Realiza as funções que permitem que esses processos se comuniquem pela rede, realizando tarefas de segurança, reconhecimento de nomes, registro em log e assim por diante. • Gerenciamento de diálogos: Negociar a utilização de tokens para troca de dados, sincronização e liberação da conexão de sessão. • Sincronização: Definir pontos de sincronização em diálogos possibilitando interrupções e retornos (caso ocorram erros, o diálogo deve ser retomado a partir do ponto de sincronização). • Gerenciamento de atividades: Permite que mensagens www.esab.edu.br 31 sejam divididas pelo usuário em unidades lógicas menores independentes (atividades). • Relatório de exceções: Caso ocorram problemas, estes podem ser relatados ao parceiro de um determinado usuário. Portanto, a camada de Sessão oferece bons e variados recursos para tornar eficiente a transferência de informação entre computadores. Uma boa sugestão para se lembrar desta camada são as palavras Diálogo e Conversações. Existem alguns protocolos e interfaces no nível de Sessão, tais como: • NFS (Network File System) • SQL (Structured Query Language) • RPC (Remote Procedure Call) • X-Window (Interface gráfica para sistemas UNIX) • ASP (Apple Talk Session Protocol) • DNA SCP (Digital Network Architecture Session Control Protocol) Esta camada gerencia todas as atividades das camadas inferiores. Ela faz isso através de conexões virtuais, que são estabelecidas quando a estação transmissora troca mensagens com a estação receptora, e diz a ela para iniciar e manter um enlace (link) de comunicação. Isto é similar ao que acontece quando alguém se conecta a uma rede. Uma vez feito o login pelo usuário, a conexão é mantida até o logout, mesmo sem acesso contínuo à rede. Localizada acima da camada de Transporte e abaixo da camada de Apresentação, a sua localização é propicia para a criação e o gerenciamento de uma ou mais sessões entre as máquinas conectadas. www.esab.edu.br 32 A seguinte tabela resume os aspectos e funcionalidades básicas da camada de Sessão: www.esab.edu.br 33 Camada de Transporte A camada de Transporte garante que as mensagens sejam entregues sem erros, em sequência e sem perdas ou duplicações. Ela elimina para os protocolos de camadas superiores qualquer preocupação a respeito da transferência de dados entre eles e seus pares. O tamanho e a complexidade de um protocolo de transporte dependem do tipo de serviço que ele pode obter da camada de Rede (MICROSOFT, 2017). Para uma camadade Rede confiável com capacidade de circuito virtual, uma camada de transporte mínima é necessária. Se a camada de Rede não for confiável e/ou apenas tiver suporte para datagramas, o protocolo de transporte deverá incluir procedimentos externos de detecção e recuperação de erros. A camada de transporte fornece o seguinte: • Segmentação de mensagens: Aceita uma mensagem da camada acima dela (sessão), divide a mensagem em unidades menores (se ela ainda não for suficientemente pequena) e transmite as unidades menores até a camada de rede. A camada de transporte na estação de destino remonta a mensagem. • Confirmação de mensagem: Fornece uma entrega completa e confiável de mensagens com confirmações. • Controle de tráfego de mensagens: Instrui a estação de transmissão a se “retirar” quando não houver buffers de mensagens disponíveis. www.esab.edu.br 34 • Multiplexação de sessão: Multiplexa vários fluxos de mensagem ou sessões em um vínculo lógico e controla quais mensagens pertencem a quais sessões (consulte camada de Sessão). Normalmente, a camada de transporte pode aceitar mensagens relativamente grandes, mas existem limites rigorosos de tamanho de mensagens impostos pela camada de rede (ou inferior). Consequentemente, a camada de Transporte deve dividir (Segmentar) as mensagens em unidades menores, ou quadros, acrescentando um cabeçalho ao início de cada segmento. As informações de cabeçalho da camada de Transporte devem então incluir informações de controle, como sinalizadores de início e fim de mensagem, para permitir que a camada de Transporte na outra extremidade reconheça os limites da mensagem. Além disso, se as camadas inferiores não mantiverem a sequência, o cabeçalho de transporte deverá conter informações de sequência para permitir que a camada de transporte na extremidade receptora junte as partes na ordem certa antes de entregar a mensagem recebida para a camada acima (MICROSOFT, 2017). Camadas de Ponta a Ponta Ao contrário das camadas inferiores de “sub-rede”, cujo protocolo está entre nós imediatamente adjacentes, a camada de transporte e as camadas acima dela são verdadeiras camadas de “origem até o destino”, ou ponta a ponta, e desconsideram os detalhes dos recursos de comunicações subjacentes. Os softwares da camada de transporte (e os softwares acima deles) na estação de origem realizam uma conversa com softwares semelhantes na estação de destino, usando cabeçalhos de mensagens e mensagens de controle (MICROSOFT, 2017). www.esab.edu.br 35 Funcionamento Básico A função básica da camada de Transporte é aceitar dados da camada de sessão, quebrá-los em unidades menores se necessário, passar estes para a camada de rede e assegurar que todas as peças (pacotes) chegarão corretamente ao outro extremo. Protocolos de transporte são empregados para estabelecimento, manutenção e liberação de conexões de transporte que representam um caminho duplo (Full-duplex) para os dados entre dois endereços de transporte. O modelo OSI define três fases de operação dentro da camada de transporte: 1. Fase de estabelecimento: O objetivo desta fase é o estabelecimento de conexões entre funções de serviços das camadas mais altas. A qualidade dos serviços de conexão pode ser negociada durante esta fase. 2. Fase de transferência: Esses serviços têm como objetivo a transferência de dados de acordo com a qualidade dos serviços descritos na fase de estabelecimento. 3. Fase de terminação: Esses serviços permitem encerrar uma sessão terminando a conexão, sendo notificadas ambas as partes. www.esab.edu.br 36 Basicamente a camada trata dos seguintes processos e métodos: Camada de Rede A camada de rede controla a operação da sub-rede, decidindo que caminho físico os dados devem seguir com base nas condições da rede, na prioridade (qualidade) do serviço ou QoS (Quality of Service) e em outros fatores (MICROSOFT, 2017). Ela fornece o seguinte: • Roteamento: Roteia quadros entre redes. • Controle do tráfego da sub-rede: Roteadores (sistemas intermediários da camada de rede) podem instruir uma estação de envio a “desacelerar” sua transmissão de quadros quando o buffer do roteador começar a ficar cheio. • Fragmentação de pacotes: Se ela determinar que o tamanho da unidade máxima de transmissão (MTU) do roteador downstream é menor que o tamanho do quadro, um roteador poderá fragmentar um quadro para transmissão e remontagem na estação de destino. • Mapeamento de endereços lógicos/físicos: Converte www.esab.edu.br 37 endereços lógicos, ou nomes, em endereços físicos. • Contabilidade de uso da sub-rede: Tem funções de contabilidade para manter o controle dos quadros encaminhados por sistemas intermediários da sub-rede, para produzir informações de cobrança. Sub-rede de Comunicações O software de camada de rede acrescenta cabeçalhos a cada pacote de dados para que as camadas de rede dos sistemas (roteadores) intermediários dentro da rede corporativa possam reconhecê-los e usá-los para rotear esses pacotes de dados ao endereço de destino. Essa camada dispensa as camadas superiores da necessidade de conhecer informações sobre as tecnologias de transmissão de dados comutação intermediária usadas para conectar sistemas (MICROSOFT, 2017). Ela estabelece, mantém e finaliza conexões nas instalações de comunicações intervenientes (um ou vários sistemas intermediários na sub-rede de comunicação). Na camada de rede e nas camadas abaixo dela, existem protocolos de par entre um nó e seu vizinho imediato, mas o vizinho pode ser um nó através do qual os dados são roteados, e não a estação de destino. As estações de origem e de destino podem ser separadas por vários sistemas intermediários. Funcionamento Básico Estabelece uma conexão lógica entre dois pontos, cuidando do tráfego e roteamentos dos dados da rede. Roteamento é o processo de escolha do caminho pelo qual iremos enviar os datagramas, este processo pode ser dividido em: • Roteamento Direto: Comunicação entre dois computadores alocados em uma mesma rede física ou rede de área local (LAN). www.esab.edu.br 38 • Roteamento Indireto: Conexão entre dois computadores alocados em redes distintas. Neste caso, é necessário o uso de roteadores Gateways para efetuar o encaminhamento dos datagramas (blocos de dados) à rede destino. Este tipo de roteamento é típico em redes de área estendida (WAN). O algoritmo de roteamento IP utiliza tabelas de roteamento que contém endereços de possíveis destinos e a maneira de alcançá- los, alocadas em computadores e Gateways. Temos então uma rede de comutação por mensagens com inteligência de roteamento descentralizada. A camada de Rede também controla o congestionamento das sub-redes, ou seja, evita os gargalos quando muitos pacotes estão presentes na sub-rede ao mesmo tempo. Outros problemas são inerentes a esta camada tais como pacotes que não chegam ao destino devido ao tamanho, incompatibilidade de endereços em redes distintas, protocolos diferentes, etc. Esta camada ocultará da camada de Transporte qualquer conhecimento a respeito dos sistemas de trânsito (retransmissões), roteamento e tecnologia utilizada no meio de comunicação (fibra óptica, comutação de pacotes, satélites, redes locais, etc.) Basicamente a camada trata dos seguintes processos e métodos: www.esab.edu.br 39 Camada de Enlace de Dados É nesta camada que são gerados os quadros (frames) Ethernet, que atualmente são conhecidos como os quadros FastEthernet ou GigaEthernet. A camada de Enlace de Dados proporciona uma transferência de quadros de dados sem erros de um nó para outro através da camada inferior, ou seja, da camada Física, permitindo que as camadas acima dela assumam a transmissão praticamente sem erros através do vínculo (MICROSOFT, 2017). Para fazer isso, a camada de vínculo de dados fornece: • Estabelecimento e término do vínculo: estabelecee finaliza o vínculo lógico entre dois nós. • Controle de tráfego de quadros: instrui o nó de transmissão a se “retirar” quando não houver buffers de quadros disponíveis. www.esab.edu.br 40 • Sequenciamento de quadros: transmite/recebe quadros sequencialmente. • Confirmação de quadros: fornece/espera confirmações de quadros. Faz a detecção e recuperação de erros que ocorrem na camada física, retransmitindo quadros não confirmados e lidando com o recebimento de quadros duplicados. • Delimitação de quadros: cria e reconhece limites de quadros. • Verificação de erros de quadro: verifica a integridade dos quadros recebidos. • Gerenciamento do acesso à mídia: determina quando o nó “tem o direito” de utilizar o meio físico. Funcionamento Básico A função desta camada é converter o fluxo de dados sem formatação, fornecido pela camada física em conjuntos de quadros que por sua vez serão utilizados pela camada de Rede para retirar a carga de pacotes que cada quadro transporta. Vários métodos de enquadramento são utilizados, como a contagem de bits, ou caracteres, e a inserção de caracteres e flags através da inserção de bits. Os protocolos que atuam na camada de Enlace de Dados podem oferecer recursos de controle para retransmissão de quadros (frames) com falhas ou perdidos. Outra função importante da camada de enlace de dados, é o controle de fluxo, na qual ela impede que um transmissor (servidor) rápido “afogue” um receptor lento. E nesta camada de Enlace de Dados que se encontra a divisão entre hardawre e software, pois ela teve que ser subdividida em duas subcamadas, uma fazendo a Interface com a camada de www.esab.edu.br 41 Rede (implementada quase toda em software) e a outra fazendo a Interface com a camada Física (implementada praticamente em hardware com um pouco de firmware). Camada Física A camada Física, a camada inferior do modelo de referência OSI e pode ser considerada a porta de saída ou entrada de um computador para com o mundo externo, está encarregada da transmissão e recepção do fluxo continuo de bits (em banda base) brutos não estruturados através de um meio físico (cabo de rede). Esta camada descreve as interfaces elétricas/ópticas, mecânicas e funcionais com o meio físico e transporta os sinais para todas as camadas superiores (MICROSOFT, 2017). Ela fornece o seguinte: • Codificação de dados: modifica o padrão de sinal digital simples (1s e 0s) usado pelo computador para acomodar melhor as características do meio físico e para ajudar na sincronização de bits e quadros. Ela determina o seguinte: 1. Qual estado de sinal representa um 1 binário 2. Como a estação de recepção sabe quando um “tempo de bit” começa 3. Como a estação de recepção delimita um quadro 4. Quantos microssegundos deve durar um digito binário (bit) • Conexão com o meio físico, acomodando várias possibilidades no meio: 1. Um transceptor externo (MAU) será usado para conexão com o meio? 2. Como a conexão inicial é estabelecida entre as partes e como ela é desfeita quando os dois lados tiverem terminado? www.esab.edu.br 42 3. Se a transmissão deve proceder em ambas as direções de forma simultânea? 4. Quantos pinos têm os conectores e para o quê cada um deles é usado? • Técnica de transmissão: determina se os bits codificados serão transmitidos por sinalização de banda base (digital) ou de banda larga (analógica). • Transmissão de meio físico: transmite bits como sinais elétricos ou ópticos apropriados para o meio físico e determina: 1. Quais opções de meio físico podem ser usadas 2. Quantos volts/db devem ser usados para representar um determinado estado de sinal, usando um meio físico específico Funcionamento Básico As tarefas de planejamento desta camada devem garantir que quando um computador envia um bit 1, independente da distância que o separe do computador de destino, este bit deve ser recebido como um bit 1 e não como um bit 0. As tarefas de planejamento aqui se envolvem amplamente com interfaces mecânicas, elétricas, e de procedimento, e com o mediador de transmissão física, que fica abaixo da camada física. Esta camada é a única que possui acesso físico ao meio de transmissão da rede devendo, portanto, se preocupar com fatores como as especificações elétricas, mecânicas, funcionais e procedurais da interface física entre o equipamento e o meio de transmissão, ou seja, a camada Física tem como função básica a adaptação do sinal ao meio de transmissão. www.esab.edu.br 43 Podemos relacionar abaixo, as principais características inerentes à camada física: • Mecânicas: propriedades físicas da interface com o meio físico de transmissão, incluindo, por exemplo, o tipo de conector utilizado. • Elétricas: se relacionam com a representação de um bit em termos de, por exemplo, nível de tensão utilizado e taxa de transmissão de bits. • Funcionais: definem as funções a serem implementadas por esta interface; • Procedurais: especificam a sequência de eventos trocados durante a transmissão de uma série de bits através do meio de transmissão A camada física possui ainda as seguintes funções: • Estabelecimento/encerramento de conexões: ativa e desativa conexões físicas mediante solicitação a entidades da camada de enlace • Transferência de dados: a unidade de transmissão utilizada é o bit. O nível físico tem como função transmitir os bits na mesma ordem em que chegam da camada de enlace (no computador de origem) e entregá-los à camada de enlace na mesma ordem que chegaram (no computador de destino) • Gerenciamento das conexões: gerência da qualidade de serviço das conexões físicas estabelecidas. Deve monitorar taxa de erros, disponibilidade de serviço, taxa de transmissão, atrasos do fluxo de bits, etc. Ao pensar na camada Física pensar em um fluxo, um trem de bits, em sinais elétricos e meios de comunicação (cabos de cobre, cabos coaxiais, fibras, radio enlace, etc.). Os repetidores e Hubs www.esab.edu.br 44 atuam neste nível / camada. Os padrões de nível físico utilizados são, por exemplo, Ethernet (IEEE 802.3), Token-Ring (IEEE 802.5), X.21, X.21 bis, V.24, V.28, RS-232C, I.430, I.431, etc. Basicamente a camada Física deve tratas dos seguintes processos e métodos: www.esab.edu.br 45 Introdução Sabe-se, então, que o modelo OSI consta de sete (7) camadas. Nesta unidade veremos como cada camada do computador A se comunicam com as camadas do mesmo nível do computador B, esse tipo de comunicação é conhecido como “Peer Communication”, ou seja, algo assim como “Comunicação entre Pares” de protocolos. Modelo OSI de forma prática: Exemplo de envio de correio electrónico utilizando o protocolo SMTP www.esab.edu.br 46 Por exemplo, na figura anterior os protocolos da camada de Aplicação do computador A falam com os protocolos da camada de Aplicação do computador B, da mesma forma os protocolos de Rede (da máquina A) se comunicarão (única e exclusivamente) com os protocolos da camada de Rede da máquina B, os de Transporte com os de Transporte, os de Sessão com os de Sessão e assim por diante, esse é o conceito de comunicação entre pares. Adicionando Cabeçalhos As camadas geram pedidos (informação, dados) que são adicionados a um cabeçalho que contém as solicitações ou informações da camada em questão. Esses dados atravessam as camadas, por exemplo, da camada 7 para a camada 1 e daí ele vai para o meio de transmissão (cabo, fibra, radio enlace, etc.) e sobem da camada 1 para a camada 7. Em cada camada os dados vão experimentando algo, isto é, vãos sendo adicionados cabeçalhos (se os dados estiverem descendo) ou removidos (se os dados estiverem subindo). Esses cabeçalhos adicionam informações extras, essas informações são indispensáveis para que cada camada de aplicação consiga comunicar-se uma com a outra e sejam feitas tarefas específicas em cada camada. www.esab.edu.br 47Aplicação Apresentação Sessão Transporte Rede Enlace de Dados Física Aplicação Apresentação Sessão Transporte Rede Enlace de Dados Física Dados Dados CA Dados CA Dados CS Dados CT Dados CR Dados CED bits TED Computador A Computador B CR 1010010111101001010010100001 Cabeçalhos adicionados aos Dados à medida que descem da aplicação do computador A Na figura anterior é possível observar a adição de cabeçalhos por cada camada que os dados iniciais (enviados pelo computador A) atravessam, também é possível observar que na camada de Enlace de Dados é adicionado, além de um cabeçalho CED (Cabeçalho Enlace de Dados), um bloco de informação indicando o fim TED (Terminação Enlace de Dados) desse conjunto de dados. Portanto, o conjunto total é denominado de Quadro (Frame) que, uma vez formado, é enviado à camada Física e assim, transmitido como um trem de bits, seja através de um cabo de rede ou ondas de rádio frequência (RF) para o destinatário (computador B). Como as camadas superiores utilizam das funcionalidades das camadas inferiores, isso se chama de pilha. Portanto, uma pilha de protocolos é um grupo hierárquico de protocolos que funciona de forma conjunta – geralmente em um único www.esab.edu.br 48 computador. Os Dados que constituem basicamente dígitos binários (bits) receberam um nome apropriado dependendo da camada que se encontrem, na próxima unidade serão apresentados estes nomes quando estudemos o modelo da Internet ou modelo TCP/IP. Complexidade do Modelo OSI A maneira de observação, temos o seguinte, a descrição de cada camada em detalhes engloba uma serie de aspectos técnicos que poderia consumir um tempo de leitura imenso e gerar até uma leitura redundante do que já foi visto. O modelo OSI é muito complexo se explicado em detalhe e pode deixar ao leitor uma sensação não muito agradável, a não ser que seja um desenvolvedor de software e hardware de redes que só nesse caso, um estudo muito mais detalhado deste modelo, é mandatório. Primeiro Objetivo deste Módulo E é dessa forma caro aluno que chegamos ao nosso primeiro objetivo deste módulo, esperasse que uma ideia clara sobre o que é um protocolo, organizações padronizadoras assim como o famoso modelo de referências OSI tenham sido bem assimilados, pois com base nesses conceitos é que os próximos dois objetivos serão fundamentados, sobre todo no nosso segundo objetivo que é o estudo detalhado do protocolo que movimenta a a Internet, praticamente é o motor da grande rede, sem ele simplesmente a Internet não existiria como a conhecemos atualmente, falamos do modelo ou família de protocolos TCP/IP. Portanto, no nosso segundo objetivo tentaremos desvendar os mistérios que envolvem esse maravilhoso modelo TCP/IP. www.esab.edu.br 49 O modelo OSI tentou solucionar o problema da interconexão de redes com distintas arquiteturas? DICA SAIBA MAIS O modelo de referência OSI foi baseado em algum outro modelo anterior? Se sim, qual teria sido esse modelo ou padrão anterior? www.esab.edu.br 50 ESTUDO COMPLEMENTAR Se a camada Enlace de Dados não estiver funcionando o tráfego nunca irá conseguir ir da camada de aplicação para a física, pois no meio do caminho a camada de Enlace de Dados não está funcionando! Nessas condições, qual seria a sua solução. PARA SUA REFLEXÃO Você acha que o modelo de referências OSI poderia ter sido desenvolvido com mais ou menos camadas? Por que? www.esab.edu.br 51 Foi apresentado de forma clara e concisa o conceito de Protocolo, qual o documento que deve ser escrito para criar um novo padrão ou protocolo de rede, foram estudadas as entidades padronizadoras mundiais de protocolos e finalmente foi visto em detalhe o modelo de referência OSI da ISO, modelo fundamental para entender o funcionamento das redes, sendo que o funcionamento delas é baseado única e exclusivamente em Protocolos desenvolvidos em software ou hardware. www.esab.edu.br 52 Topologias e Arquiteturas das Redes Apresentação: Neste 2º eixo temático, temos de início a apresentação completa sobre o modelo da Internet, ou em outras palavras, a família de Protocolos TCP/IP, logo na sequencia serão vistos e estudados os principais protocolos desta família TCP/IP, encontrados em cada nível deste modelo de 4 camadas, a saber, protocolos da camada de Aplicação, de Transporte, de Rede e finalmente os protocolos da camada Física. • Unidade 6: O Modelo da Internet: TCP/IP • Unidade 7: Protocolos da Camada de Aplicação • Unidade 8: Protocolos da Camada de Transporte: TCP e UDP • Unidade 9: Protocolos da Camada de Rede (Internet) • Unidade 10: Protocolos da Camada Física www.esab.edu.br 53 Introdução O modelo TCP/IP foi elaborado a partir de um projeto pioneiro do Departamento de Defesa dos Estados Unidos em construir uma rede de comunicações à prova de ataques, esta rede chegou a ser conhecida como nome de DARPANet (Defense Advanced Research Projects Agency), ou seja, a agencia de pesquisa avançada do Departamento de Defesa. O objetivo básico era construir um sistema descentralizado e robusto de forma tal que, a destruição de uma das suas partes, não provocasse com que a rede toda seja comprometida e ela se mantivesse em funcionamento (IETF, 2017). Esse sistema foi concebido no auge da Guerra Fria, tendo o projeto iniciado no final da década de 1960. O modelo TCP/IP que conhecemos hoje não nasceu desta forma, evoluiu até a forma mais próxima do que o conhecemos hoje e foi oficialmente adotado, em 1983, na interconexão do Departamento de Defesa (ARPANet) e algumas universidades americanas. Como sabemos, o modelo OSI foi um esforço da organização ISO para se ter um modelo padrão de comunicações baseado em camadas. A primeira proposta, ISO 7498-1, foi lançada em 1984 (depois da publicação das normas do TCP/IP). No final da década de 1980, a ISO fez um esforço para que esse padrão fosse adotado pelas corporações, quando o modelo TCP/ IP já tinha uma grande base instalada, com muitas aplicações www.esab.edu.br 54 construídas com base nele. Desta forma, apesar do processo formal e rigor técnico do modelo de referência OSI, o padrão de facto eleito pela indústria foi o TCP/IP (LEINER, 2012). O Modelo TCP/IP A ARPANet foi a primeira rede operacional de computadores baseada na técnica de comutação de pacotes, e pode ser considerada a rede precursora da Internet atual. Nasceu com o objetivo de conectar as bases militares e os departamentos de pesquisa do governo americano. A ARPANet surgiu como uma rede que permaneceria ativa caso um (ou vários) dos servidores perdessem a conexão, e para isso, ela necessitava de protocolos que assegurassem e fornecessem essa robustez e tais funcionalidades, trazendo confiabilidade, flexibilidade e que fossem fáceis de serem implementados. Foi desenvolvida então, na Universidade de Berkeley na Califórnia, a arquitetura TCP/IP. O modelo TCP/IP, quando comparado com o modelo OSI, apresenta duas camadas que se formam a partir da fusão de algumas camadas deste último, vejamos: 1. A camada de Aplicação do TCP/IP: Composta pelas camadas de Aplicação, Apresentação e Sessão do modelo de referência OSI. 2. A camada Física do TCP/IP: Composta pela camada de Enlace de Dados e a camada Física do modelo OSI. Veja na ilustração abaixo esta comparação: www.esab.edu.br 55 Comparação entre o modelo de referência OSI e o modelo da Internet o TCP/IP A seguir, teremos uma breve explicação, porém completa sobre cada uma das camadas da família de protocolos (o modelo) TCP/ IP. Camada de Aplicação É formada pelos protocolos utilizados pelas diversas aplicações do modelo TCP/IP. Esta camada não possui um padrão comum. O padrão é estabelecido por cada aplicação. Isto é, o FTP possui seu próprio protocolo, assim como os serviços de Telnet, SMTP, POP3, DNS, Ping, BOOTP, TFTP, HTTP, SNMP, etc.Camada de Transporte Esta camada é também conhecida como a camada Fim-a-Fim, isto é, uma entidade desta camada só se comunica com a sua entidade-par no computador de destino. É nesta camada que se faz o controle da conversação entre as aplicações intercomunicadas da rede. Nesta camada dois protocolos são muito bem destacados: www.esab.edu.br 56 • TCP (Transport Control Protocol): Orientado à conexão • UDP (User Datagram Protocol): Não orientado à conexão Devido ao fato de ser o protocolo de transporte TCP orientado à conexão, é usual visualizar este protocolo como sendo muito mais confiável do que o UDP devido a que precisa de confirmações positivas (ACK), por parte do receptor, antes de fazer o envio de novos segmentos de dados. O acesso das aplicações à camada de transporte é feito através de portas que recebem um número inteiro para cada tipo de aplicação (COMER, 2013), para isto são utilizados 16 bits (2 bytes), ou seja, ao todo são 216 = 65.536 portas que podem ser utilizadas pelos protocolos das camadas de transporte. Mais sobre a comunicação TCP (orientada à conexão) nas próximas Unidades. Camada de Rede Esta camada é a primeira normalizada do modelo. Também conhecida como camada da Internet, é responsável pelo endereçamento, roteamento e controle de envio e recepção dos pacotes de dados. Ela não é orientada à conexão. Esta camada realiza a comunicação entre máquinas locais (dentro da mesma LAN) ou remotas (dentro de uma MAN ou WAN) através do protocolo IP (Internet Protocol). Para identificar cada computador e qualquer dispositivo de rede que possa ser endereçado e a própria rede onde todos estes aparelhos de rede estão situadas, é definido um número identificador, que comumente é denominado de endereço IP, que é independente de outras formas de endereçamento que possam existir nos níveis inferiores. No caso de existir endereçamento nos níveis inferiores é realizado um mapeamento para possibilitar a www.esab.edu.br 57 conversão de um endereço IP em um endereço deste nível. O endereço IP é conhecido como o endereço lógico do dispositivo de rede, sendo que o endereço MAC, estudado em anteriores Unidades, é o endereço físico do dispositivo em questão. Comunicação entre dois computadores utilizando o protocolo TCP/IP Na figura anterior vemos a comunicação de duas máquinas dentro de uma rede corporativa, essa rede está composta de duas sub redes a LAN A e a LAN B, conectadas por um roteador, nessa figura vemos claramente os endereços lógicos e físicos de ambos os computadores A e B. Os endereços IP e MAC são fundamentais para a correta comunicação entre qualquer par de computadores locais ou remotos. www.esab.edu.br 58 Camada Física Esta camada é a responsável de fazer a abstração do hardware para fornecer uma correta interface com as camadas superiores do modelo TCP/IP, isto deve ser feito com os diversos tipos de redes, por exemplo, X.25, ATM, FDDI, Ethernet, Token-Ring, Frame Relay, PPP, SLIP, PPPoE, etc. Por causa da grande variedade de tecnologias de rede, ela não é normalizada pelo modelo, o que provê a possibilidade de interconexão e interoperação com redes heterogêneas. Cada serviço corresponde a um protocolo específico. No caso de e-mails, este serviço é atendido pelo protocolo SMTP, que, ao ser feita uma solicitação de e-mail (envio ou recebimento) ao TCP/IP, este é atendido pelo SMTP. No caso do WWW, usado para visualização de páginas HTML, o protocolo usado é o HTTP. Existem ainda inúmeros outros. A seguinte figura apresenta alguns dos protocolos de aplicação que fazem uso de diferentes protocolos de Transporte, que por sua vez fazem uso de certos protocolos de Rede, porem todo eles fazem uso da camada Física para o envio e recepção de informação. Modelo bastante completo e funcional da família TCP/IP Portanto, podemos concluir que o TCP/IP representa um conjunto de protocolos de rede projetado e desenvolvido entre as décadas www.esab.edu.br 59 de 60 e 70 (inicialmente) como um projeto do Departamento de Defesa dos EUA, e com o objetivo de interconectar redes de computadores de universidades e sedes militares do governo americano. Nas últimas décadas foi bastante aprimorado e tornou-se um padrão “de facto”, ganhou muita popularidade com o crescimento da rede mundial de computadores, basicamente o TCP/IP é o motor da Internet (COMER, 2013). Nomes dos Conjuntos de Dados pela Camada Para lembrar, no modelo da Internet, o TCP/IP, cada camada tem seu próprio nome para o conjunto de dados enviados, vejamos, • Na camada de Aplicação temos as Mensagens enviadas/ recebidas pelo usuário. • Na camada de Transporte temos os Segmentos TCP ou UDP. • Na camada de Rede temos os Pacotes IP. • Na camada Física temos os quadros (ou Frames) Ethernet, que são conjuntos de bits com campos que indicam o início e fim de cada quadro. www.esab.edu.br 60 Introdução A camada de Aplicação é a que faz Interface com o usuário e é pela qual que poderá usufruir de forma efetiva dos recursos da rede. A camada de Aplicação é o ponto de pelo qual o usuário poder acessar à Internet ou então poderá escrever (desenvolver) aplicações (software) de rede. Nesse sentido, • Cada aplicação pode usar protocolos de aplicação pré- existentes ou podem ser criados novos protocolos para tais aplicações. • Os protocolos podem ser abertos e definidos em RFCs, tais como o HTTP, FTP, SMTP, POP3, etc. • Ou podem ser proprietários: Definidos por cada desenvolvedor, como por exemplo, WhatsApp, Skype, Messenger, etc. Todos os protocolos que serão vistos aqui na camada de Aplicação, a maioria deles são serviços oferecidos aos usuários, portanto, estes protocolos normalmente estão disponíveis nas máquinas servidoras da rede e podem ser requisitados a qualquer momento por qualquer usuário (cliente) do sistema. Principais Protocolos de Aplicação FTP (File Transfer Protocol) Publicado inicialmente na RFC 959, é o protocolo que possibilita a transferência de arquivos entre duas máquinas sejam locais ou www.esab.edu.br 61 remotas. Além de um protocolo ele apresenta também uma Interface com o usuário para facilitar as transferências de dados (arquivos). Ele precisa de uma autenticação na máquina remota que normalmente seria um servidor FTP, após a autenticação no servidor, o cliente FTP pode realizar as transferências de arquivos desejados. Para acessar um servidor FTP o processo de login é o seguinte, normalmente uma grande maioria de servidores FTP podem suportar, se assim foram configurados, o acesso de um “usuário” do o tipo anónimo “Anonymous” e como senha deverá ser ingressado um endereço de e-mail, se todo ocorreu sem problemas o usuário estará dentro do servidor FTP e poderá realizar as transferências de arquivos desejadas. Funcionamento de um servidor FTP Após fazer todas as transferências possíveis (Downloads e Uploads), vale lembrar o seguinte, se o servidor FTP é público, então é bem possível que o usuário não tenha permissão para enviar, isto é, não possa fazer Uploads de arquivos e só lhe seja permitido trazer, ou seja, só possa fazer Downloads de arquivos (binários ou de texto) para sua máquina local, caso o servidor FTP seja particular o usuário poderia ou não ter essas permissões, vai depender de como foi configurado o servidor FTP. Portanto, logo após o usuário ter feito todas as transferências de arquivos pertinentes, para finalizar a sessão FTP, ele deverá digitar no www.esab.edu.br 62 prompt o comando “bye” (Adeus) para fazer o logout do sistema e liberar a sua sessão de FTP. Outra forma de encerrar uma sessão FTP é não fazer nada em aproximadamente 30 segundos, o servidor após esse tempo de inatividade dá um logout automático para o usuário. TFTP (Trivial File Transfer Protocol) Publicado nas RFC 1350, 2347 e 2348, é uma versão reduzida ou simplificada do protocolo FTP,é recomendável evitar o seu uso devido a que não pede uma autenticação do usuário requisitante. Somente seu uso é justificado quando é feita a primeira carga do sistema operacional de Switches e roteadores. Após efetuar essa operação é recomendável desabilitá-lo, pois certos vírus informáticos poderiam se aproveitar da porta de entrada desse protocolo e se espalhar pela rede. O uso do TFTP praticamente só tem desvantagens, por exemplo, não se faz autenticação, não é possível fazer a listagem de diretórios ou arquivos, não é seguro, somente é utilizado para enviar e receber arquivos, mas sem garantia alguma. SMTP (Simple Mail Transfer Protocol) Publicado inicialmente na RFC 821, com atualizações nas RFC 788 e 5321. Este protocolo possibilita o envio de mensagens de correio eletrônico (e-Mails) para o servidor SMTP. Ele utiliza um método de Spool (fila) para efetuar dito envio. Ele fica consultando o meio de armazenamento que pode ser um disco rígido e efetuando através de software a entrega das mensagens de correio eletrônico aos destinatários. O protocolo SMTP é usado quando o e-mail é entregue a partir de um cliente de e-mail a um servidor de e-mail ou quando o e-mail é entregue a partir de um servidor de e-mail para outro. www.esab.edu.br 63 IMAP (Internet Message Access Protocol) Publicado inicialmente na RFC 3501, com atualizações nas RFCs 4351 e 6851. O protocolo IMAP tem acesso a todas as pastas de sua conta e deixa o status das mensagens igual tanto no servidor como no software e realiza a sincronia das mensagens, mantendo a conexão para que as alterações e mensagens novas recebidas sejam atualizadas quase que em tempo real. POP (Post Office Protocol) Publicado inicialmente na RFC 918, com atualizações e melhoras nas RFCs 1081, 1939, 2449 e 5034. Este protocolo POP traz as mensagens do servidor e as salva localmente no computador do usuário, não deixando uma cópia das mensagens no servidor – a menos que você marque a opção “deixar uma cópia no servidor” nas configurações do seu programa de e-mail. Esse protocolo tem acesso apenas à Caixa de Entrada, não conseguindo baixar nenhuma outra pasta de sua conta. Os protocolos IMAP e POP são protocolos padrão da Internet para recebimento de e-mail, ou seja, eles fazem com que as mensagens sejam trazidas do servidor para a sua máquina, smartphone ou tablet. O protocolo SMTP é o que faz o envio de e-mails para o servidor (COMER, 2013). www.esab.edu.br 64 SMTP IMAP, POP3 PC Servidor SMTP, IMAP, POP Tablets SmartPhones Clientes Uso dos protocolos de envio e recebimento de mensagens de e-mail Resumindo, a diferença principal é que o POP baixa as mensagens para o cliente e permite que elas sejam armazenadas no servidor, mas não existe sincronia nesse processo. Já as versões IMAP4 e POP3 podem sincronizar a caixa de e-mails com o conteúdo do servidor, permitindo que um e-mail seja sincronizado entre vários locais sem perda de mensagens entre locais diferentes (salvo diretórios locais, todas as mensagens dentro do diretório do e-mail são sincronizadas) (PIRES, 2013). SNMP (Simple Network Management Protocol) Publicado na RFC 1157 e com melhoras e atualizações nas RFCs 3413 e 5343. O protocolo SNMP é utilizado para efetuar o gerenciamento de rede, ele faz a coleta e a manipulação de dados de dispositivos de rede. Geralmente isso é feito periodicamente, onde cada dispositivo ativo de rede (Switch, Roteador, Servidor, etc.) fornece o seu status para a máquina gerenciadora. Ele é um ótimo meio de se obter informações sobre a saúde da ou pode ser www.esab.edu.br 65 um transtorno caso alguém mal-intencionado utilize os dados para obter informações sobre dispositivos críticos da LAN. O dispositivo a ser monitorado ou gerenciado é denominado de agente SNMP e quem gerencia é o gerente SNMP (ou servidor SNMP), somente o gerente tem prioridade par se comunicar com os agentes a qualquer momento utilizando as seguintes mensagens (STALLING, 1999), • Get Request: Para solicitar a leitura de algum parâmetro de um agente. • Get Response: Resposta do agente para uma mensagem enviada do gerente • Get Next Request: Lê o valor da variável (parâmetro) seguinte do agente • Set Request: Para modificar ou atualizar uma ou mais variáveis (parâmetros) de um agente. • Trap: Em caso de falha de qualquer agente é disparada (de maneira independente) uma mensagem de alerta (Trap) para o gerente. • Inform Request: Confirmação do recebimento do Trap por parte do gerente • Get Bulk Request: O gerente solicita uma tabela para o agente O agente SNMP no item a ser gerenciado, contempla uma tabela de informações que pode ser consultada ou modificada pelo gerente. Desta forma, é possível por exemplo consultar como está o tráfego de rede em determinada porta de um Switch ou qual o estado de memória em uma máquina Java. www.esab.edu.br 66 Funcionamento do protocolo SNMP: O servidor SNMP (gerente) gerenciando os agentes Para que esta consulta possa ser feita, o gerente tem que conhecer as informações que podem ser obtidas do agente SNMP. Isso é garantido pelo uso de algo semelhante a um dicionário de dados, a saber, a MIB (Management Information Base) e os OID (Object Identifiers). A MIB é a base de informações de gerenciamento que todo dispositivo ativo de rede tem, um OID é o identificador de um objeto único dentro da MIB. Uma MIB é composta de vários OIDs. Por exemplo, a MIB de um roteador terá objetos a serem gerenciados das 3 camadas, Física, Enlace de Dados e de Rede, a MIB de um Switch, só terá objetos que podem ser gerenciados até a camada de Enlace de Dados (4LINUX, 2017). DNS (Domain Name Service) Publicado inicialmente nas RFCs 882, 883 e 973, com atualizações e melhoras nas RFCs 1034 e 1035. O DNS define um esquema de gerenciamento de nomes, hierárquico e distribuído. Ele define a www.esab.edu.br 67 sintaxe dos nomes usados na Internet, regras para delegação de autoridade na definição de nomes, uma base de dados distribuída que associa nomes a atributos (entre eles o endereço IP) e um algoritmo distribuído que é utilizado para mapear nomes em endereços. Pois, é mais fácil para os usuários digitar endereços em vez de números IP de 32 bits (que são utilizados no sentido de abrir uma conexão ou enviar um datagrama IP), a base de dados do DNS permite que as aplicações traduzam esse endereço para que a aplicação consiga localizar a máquina correta com a qual se comunicar. Existem servidores que mantém essa lista de nomes e endereços em um BD e que estão conectadas à Internet. Esse tipo de informação é armazenado em um sistema de domínios (Domain System). É utilizada uma serie de servidores interconectados, ao invés de um único servidor centralizado (para garantir sua disponibilidade). Essa pratica também facilita a inserção de entradas na base de dados, pois se fosse centralizada em uma única instituição não haveria agilidade bastante para se efetuar todas as atualizações a nível global. Os servidores em conjunto formam uma espécie de árvore que contém todos os domínios da estrutura institucional. Os nomes têm uma estrutura e nomeação similar conforme sua finalidade e localidade. Um exemplo típico pode ser o motor de busca: www. esab.edu.br. Para poder encontrar o endereço (número) IP associado a este nome pode-se passar por uma série de servidores (até 4 servidores de nomes podem ser contatados). A primeira coisa que será consultada através do servidor central é onde se localiza o servidor “BR”. Esse servidor é responsável pelo gerenciamento dos nomes www.esab.edu.br 68 das instituições/empresas brasileiras conectadas à Internet (COMER, 2007). Exemplo de formação do um nome de Domínio O servidor raiz traz como resultado da pesquisa o endereço IP de vários servidores de nome para o nível “BR” (pode existir mais que um servidor de nomes
Compartilhar