Curso de Redes: Modelos ISO/OSI e TCP/IP
por
em 15-12-2008 às 13:05 (50423 Visualizações)
Leia as partes anteriores desse curso antes de prosseguir
Devido a repercussão do último post dessa série tomei a decisão de criar isso aqui como um "curso". Inclusive criei uma categoria Curso de redes pra quem quiser visualizar essa sequência de posts...
Mas antes que alguém comece a dizer: Quem você pensa que é pra dar um curso?! Bem, não sou ninguém de importante ou grande! Absolutamente! Mas sou alguém que quer ajudar os outros e contribuir com o Under-Linux. Mas porque acho que tenho condições de criar um "curso de rede"?! Realmente não me apresentei...
Sou formado em Engenharia Elétrica/Telecomunicação, possuo certificação CCNA e trabalho desde 2004 com a área de redes de computadores, inclusive já trabalhei na área de cursos da Cisco. Como disse não sou nada de mais. Sou só alguém que quer ajudar
Deixando de enrolação, vamos logo!
Nesa parte do curso vamos começar a tratar a parte que muitos dizem ser a mais chata! Eu pessoalemente acho ela essencial. Não tem como entender redes, sem entender esse post de agora. Muitos vão falar: "Você resumiu muito as camadas!!" Bem, minha idéia é fazer um resumido agora e depois dedicar um post pra cada camada!
"Mas de que camadas você ta falando???"
Vamos começar pra descobrir....
O que são protocolos
Protocolo é um acordo entre as partes que se comunicam, estabelecendo como se dará a comunicação. O protocolo é uma descrição formal de um conjunto de regras e convenções que governam a maneira de comunicação entre os dispositivos em uma rede. Os protocolos determinam o formato, temporização, seqüência, e controle de erros na comunicação de dados. Sem os protocolos, o computador não pode criar ou reconstruir o fluxo de bits recebido de outro computador no seu formato original. Estas regras para redes são criadas e mantidas por diferentes organizações e comitês. Incluídos nestes grupos estão:
- Institute of Electrical and Electronic Engineers (IEEE);
- American National Standards Institute (ANSI);
- Telecommunications Industry Association (TIA);
- Electronic Industries Alliance (EIA);
- International Telecommunications Union (ITU), anteriormente conhecida como Comité Consultatif International Téléphonique et Télégraphique (CCITT)
- FIPS Federal Information Processing Standards
- MILSTD Military Standards
- FCC Federal Communications Comission
- IANA Internet Assigned Number Authority
- IETF Internet Engineering Task Force
- IRTF Internet Research Task Force
- Internet Engineering Steering Group
Os sistemas de comunicação de dados não usam apenas um único protocolo para tratar todas as tarefas de transmissão. Esse processo requer uma pilha de protocolos cooperativos, denominados algumas vezes de família de protocolos ou pilha de protocolos. Alguns exemplos de funcionalidades dos protocolos:
- Indisponibilidade: Causada por falha de um host ou roteador, seja por falha de hardware ou crise no sistema operacional, ou um enlace de transmissão pode falhar ou ser desconectado acidentalmente. Alguns protocolos detectam tais falhas e recuperar-se delas.
- Congestionamento de redes: Mesmo quando todo o hardware e software operam corretamente, as redes têm capacidade finita que pode ser ultrapassada. Os protocolos precisam encontrar formas para que uma máquina em congestionamento possa suprir o excesso de tráfego.
- Demora ou perda de pacotes: Algumas vezes, os pacotes demoram muito ou são perdidos. Os protocolos precisam aprender sobre as falhas ou adaptar-se a longas demoras.
- Danificação de dados: Interferência elétro-magnética ou falhas de hardware pode causar erros de transmissão que danificam o conteúdo dos dados transmitidos. Os protocolos necessitam detectar e recuperar tais erros.
- Duplicação de dados ou erros seqüenciais: Redes que oferecem rotas múltiplas podem transmitir dados fora de seqüência ou podem transmitir pacotes duplicados. Os protocolos necessitam reorganizar os pacotes e detectar/descartar pacotes duplicados.
Considerados em conjunto, esses problemas parecem enormes. É difícil entender como é possível preparar um único protocolo que poderá tratar todos eles. Aplica-se então a velha máxima de guerra: Dividir para conquistar, onde cada camada assume a responsabilidade de tratar uma parte do problema.
As Camadas conceituais dos protocolos
Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante que todos os dispositivos da rede usem a mesma linguagem, ou protocolo. Podemos imaginar todos os protocolos empilhados verticalmente em camadas como na figura abaixo:
http://under-linux.org/members/magnu...57-camadas.png
No exemplo acima a Camada 4 da origem se comunica com a Camada 4 no computador de destino. É muito importante frisar que a comunicação é realizada entre camadas pares, isto é, a camada 4 de origem se comunica com a camada 4 de destino, a camada 3 de origem se comunica com a camada 3 de destino, a camada... Nunca ocorrerá comunicação entre camadas de níveis diferentes. Isto se deve ao fato das regras e convenções usadas para uma camada serem desconhecidas para camadas diferentes. Seria algo similar como colocar um brasileiro (que só sabe falar português) pra falar com um japonês (que só sabe falar japonês).
Quando um dado é enviado da origem para o destino, o dado é tratado por todas as camadas, de cima para baixo, até chegar à camada mais baixa e ser transmitido, por isso costumamos dizer que a camada N prove serviço para a camada N+1. Quando o pacote chega ao destino os protocolos desfazem a construção do pacote que foi feito no lado da fonte. Isto é feito na ordem inversa, de baixo para cima.
Na prática, o protocolo é muito mais complexo do que o modelo mostrado. Cada camada toma decisões em relação à correção da mensagem e escolhe uma ação apropriada baseada no tipo de mensagem ou no endereço de destino.
Modelo ISO/OSI
Voltando para o lado histórico das redes. Nos meados de 1980, as empresas começaram a sentir os problemas causados pela rápida expansão. Assim como pessoas que não falam o mesmo idioma têm dificuldade na comunicação entre si, era difícil para as redes que usavam diferentes especificações e implementações trocarem informações. O mesmo problema ocorreu com as empresas que desenvolveram tecnologias de rede proprietária ou particular. As tecnologias de rede que seguiam estritamente as regras proprietárias não podiam comunicar-se com tecnologias que seguiam diferentes regras proprietárias.
Para tratar dos problemas de incompatibilidade entre as redes, a ISO realizou uma pesquisa nos modelos de redes como Digital Equipment Corporation net (DECnet), Systems Network Architecture (SNA) e TCP/IP a fim de encontrar um conjunto de regras aplicáveis a todas as redes. Com o resultado desta pesquisa, a ISO criou um modelo de rede que ajuda os fabricantes na criação de redes que são compatíveis com outras redes.
O modelo de referência da Open System Interconnection (OSI) lançado em 1984 foi o modelo descritivo de rede que foi criado pela ISSO, por isso é chamado de ISSO/OSI. Ele proporcionou aos fabricantes um conjunto de padrões que garantiam uma maior compatibilidade e interoperabilidade entre as várias tecnologias de rede produzidas pelas companhias ao redor do mundo.
O modelo ISO contém sete camadas conceituais organizadas como mostra a figura abaixo:
http://under-linux.org/members/magnu...s/6759-osi.png
Abaixo um resumo básico sobre as 7 camadas do modelo ISSO/OSI:
Camada Física. Especifica a interconexão física, incluindo as características elétricas de voltagem e corrente. Dizemos que na camada física é responsável pelos fios, conectores, voltagens, taxa de dados, hubs e tranceivers.
Camada de enlace de dados. O protocolo de nível dois define o formato dos quadros e especifica como as duas máquinas reconhecem os limites do quadro e implementa um primeiro nível de detecção de erro. Dizemos que na camada de enlace é responsável pelo controle de acesso ao meio, placas de redes, bridges, switches e endereçamento MAC.
Camada de rede. Contém a funcionalidade que completa a definição da interação entre o host e a rede. Esse nível define: a unidade básica de transferência na rede; endereçamento lógico; escolha do melhor caminho; entrega por melhor esforço; transferência de dados confiável através do meio. Dessa forma a camada de rede é responsável por Endereços IPs, endereçamentos IPXs, roteamento, protocolos de roteamento e pelos roteadores.
Camada de transporte. Oferece confiabilidade ao fazer com que o host de destino se comunique com o host central. É a camada que provê comunicação fim-a-fim com controle de erro e retransmissão. Também é responsabilidade dessa camada o controle de fluxo e de congestionamento.
Camada de sessão. Permite que os usuários de diferentes máquinas estabeleçam sessões entre eles, oferecendo serviços de controle de diálogo, entre outros.
Camada de apresentação. É voltada a incluir funções de que muitos programas aplicativos precisam ao usar a rede. Torna possível a comunicação entre computadores com diferentes representações de dados pois ela define a formatação, compressão e construção das estruturas de dados.
Camada de aplicação. São os próprios programas/aplicativos que usam a rede, comumente necessários para os usuários. Exemplos incluem o correio eletrônico e o programa de transferência de arquivos e navegadores.
Modelo TCP/IP
O padrão histórico e técnico da Internet é o modelo TCP/IP. O Departamento de Defesa dos Estados Unidos (DoD) desenvolveu o modelo de referência TCP/IP porque queria uma rede que pudesse sobreviver a qualquer condição, mesmo a uma guerra nuclear. Em um mundo conectado por diferentes tipos de meios de comunicação como fios de cobre, microondas, fibras ópticas e links de satélite, o DoD queria a transmissão de pacotes a qualquer hora e em qualquer condição. Este problema de projeto extremamente difícil originou a criação do modelo TCP/IP.
Ao contrário das tecnologias de rede proprietárias mencionadas anteriormente, o TCP/IP foi projetado como um padrão aberto. Isto queria dizer que qualquer pessoa tinha a liberdade de usar o TCP/IP. Isto ajudou muito no rápido desenvolvimento do TCP/IP como padrão.
O modelo TCP/IP tem as seguintes quatro camadas:
Os projetistas do TCP/IP decidiram que os protocolos de mais alto nível deviam incluir os detalhes da camada de sessão e de apresentação do OSI. Eles simplesmente criaram uma camada de aplicação que trata de questões de representação, codificação e controle de diálogo.
Como disse, nos próximos posts vou abordar cada camada tratando seus protocolos, PDUs, fomatos de encapsulamento e detalhar seu funcionamento! Então se preparem, pois o difícil está por vir.
Quem tiver dúvidas favor utilziar os comentários!
Obrigado...
Comentários
+ Enviar Comentário