O Modelo OSI (criado em 1970 e formalizado em 1983) é um modelo de referência da ISO que tinha como principal objetivo ser um modelo standard, para protocolos de comunicação entre os mais diversos sistemas, e assim garantir a comunicação end-to-end.[1]
Este modelo divide as redes de computadores em 7 camadas, de forma a se obter camadas de abstração. Cada protocolo implementa uma funcionalidade assinalada a uma determinada camada.
Segundo Tanenbaum o Modelo OSI não é uma arquitetura de redes, pois não especifica os serviços e protocolos exatos que devem ser usados em cada camada. Ele apenas informa oque cada camada deve fazer.
O Modelo OSI permite comunicação entre máquinas heterogêneas e define diretivas genéricas para a construção de redes de computadores (seja de curta, média ou longa distância) independente da tecnologia utilizada.[2]
História
A Organização Internacional para a Normalização (do inglês: International Organization for Standardization - ISO), foi uma das primeiras organizações a definir formalmente uma arquitetura padrão com objetivo de facilitar o processo de interconectividade entre máquinas de diferentes fabricantes, assim em 1984 lançou o padrão chamado Interconexão de Sistemas Abertos (do inglês: Open Systems Interconnection - OSI) ou Modelo OSI.
A Organização Internacional para a Normalização (ISO) começou a desenvolver a sua estrutura de arquitetura OSI, com quatro componentes principais: um modelo abstrato de rede, o chamado Modelo de Referência Básico ou sete camadas do modelo, e um conjunto de protocolos específicos e outros dois de menor relevância.
O conceito de um modelo de sete camadas foi fornecida pelo trabalho de Charles Bachman, Serviços de Informação da Honeywell. Vários aspectos do projeto OSI evoluíram a partir de experiências com a ARPANET, a Internet incipiente, NPLNET, EIN, CYCLADES rede e o trabalho em IFIP WG6.1. O novo projeto foi documentado em ISO 7498 e seus adendos diferentes. Neste modelo, um sistema de rede foi dividido em camadas. Dentro de cada camada, uma ou mais entidades se encarrega de implementar sua funcionalidade. Cada entidade interage diretamente apenas com a camada imediatamente abaixo dela, e dispõe de instalações para utilização pela camada de cima.
Protocolos ativam um sinal elétrico de um host para interagir com uma entidade correspondente na mesma camada em outro host. Definições de serviços abstratamente descrevem a funcionalidade fornecida a um (N), camada por uma camada de (N-1), em que N era uma das sete camadas de protocolos de funcionamento no hospedeiro local.
Os documentos padrões OSI estão disponíveis no ITU-T como o X.200 série de recomendações. Algumas das especificações do protocolo também estão disponíveis como parte da série X ITU-T. O equivalente a ISO e ISO / IEC para o modelo OSI estavam disponíveis a partir de ISSO, mas apenas alguns deles sem taxas.
A ISO costuma trabalhar em conjunto com outra organização, a União Internacional de Telecomunicações (do inglês: International Telecommunications Union - ITU), publicando uma série de especificações de protocolos baseados na arquitetura OSI. Estas séries são conhecidas como 'X ponto', por causa do nome dos protocolos: X.25, X.500, etc.
Implementação do sistema aberto
Etapas obrigatórias para atingir interoperabilidade, compatibilidade, portabilidade e escalabilidade exigidos no sistema aberto (OSI):
- definição do modelo: define o que cada camada deve fazer, isto é, define os serviços que cada camada deve oferecer;
- definição dos protocolos de camada: define os componentes que fazem parte do modelo (padrões de interoperabilidade e portabilidade), não só os relacionados à comunicação, mas também alguns não relacionados, como a estrutura de armazenamento de dados;
- seleção dos perfis funcionais: realizada pelos órgãos de padronização de cada país que escolhem os padrões que lhes cabem, baseados em condições tecnológicas, base instalada, visão futura, etc.
Camadas
O conceito de layers ou camadas de software separa os módulos de um software em camadas, cada uma com sua contribuição para a execução do software. As camadas separam o código-fonte de forma lógica podendo gerar pacotes físicos, mas não implicam necessariamente em separação física, assim as camadas podem compartilhar CPU e até mesmo processos.[3]
Este modelo é dividido em camadas hierárquicas, ou seja, cada camada usa as funções da própria ou da camada anterior, para esconder a complexidade e transparecer as operações ao usuário, seja ele um programa ou uma outra camada.
As camadas são empilhadas na seguinte ordem:
- 7. Camada de aplicação;
- 6. Camada de apresentação;
- 5. Camada de sessão;
- 4. Camada de transporte;
- 3. Camada de rede;
- 2. Camada de enlace de dados;
- 1. Camada física.
De acordo com a recomendação X.200, existem sete camadas, de 1 a 7, com uma camada na parte inferior. Cada camada é genericamente conhecida como uma camada de N. Um "N +1 entidade" (a camada N +1) solicita serviços de uma "entidade N" (na camada N).
Em cada nível, nove entidades (N-entidade pares) interagem por meio do protocolo de N através da transmissão de unidades de dados de protocolo (PDU).
A Unidade de Dados de Serviço (SDU) é uma unidade específica de dados que foram passados de uma camada OSI para uma camada inferior, e que a camada inferior ainda não encapsulou em uma unidade de dados de protocolo (PDU). Uma SDU é um conjunto de dados que são enviados por um usuário dos serviços de uma determinada camada, e é transmitida semanticamente inalterada a um usuário do serviço peer.
A PDU é uma camada de N e o SDU camada de N-1. Com efeito, a SDU é a "carga útil" de uma dada PDU. Isto é, o processo de alteração de um SDU a uma PDU é constituído por um processo de encapsulamento, realizada pela camada inferior. Todos os dados contidos no SDU fica encapsulado dentro do PDU. A camada de N-1 adiciona cabeçalhos ou rodapés, ou ambos, para a SDU, transformando-a numa PDU de camada N-1. Os cabeçalhos ou rodapés adicionados fazem parte do processo utilizado para tornar possível a obtenção de dados de uma fonte para um destino.
Alguns aspectos ortogonais, tais como gestão e segurança, envolvem todas as camadas.
Serviços de segurança não estão relacionados com uma camada específica: eles podem ser relacionados por uma série de camadas, tal como definido pela ITU-T recomendação X.800.
Estes serviços visam melhorar a tríade CIA (confidencialidade, integridade e disponibilidade) dos dados transmitidos. Na verdade, a disponibilidade de serviço de comunicação é determinada pelo projeto de rede e/ou de gestão de rede protocolos. Escolhas adequadas para estes são necessárias para proteger contra negação de serviço.[carece de fontes]
1 - Camada Física
A camada física define especificações elétricas e físicas dos dispositivos. Em especial, define a relação entre um dispositivo e um meio de transmissão, tal como um cabo de cobre ou um cabo de fibra óptica. Isso inclui o layout de pinos, tensões, impedância da linha, especificações do cabo, temporização, hubs, repetidores, adaptadores de rede, adaptadores de barramento de host (HBA usado em redes de área de armazenamento) e muito mais. A camada física é responsável por definir se a transmissão pode ser ou não realizada nos dois sentidos simultaneamente. Sendo a camada mais baixa do modelo OSI, diz respeito a transmissão e recepção do fluxo de bits brutos não-estruturados em um meio físico. Ela descreve as interfaces elétricas, ópticas, mecânicas e funcionais para o meio físico e transporta sinais para todas as camadas superiores.
2 - Camada de Ligação de Dados ou Enlace de Dados
A camada de ligação de dados também é conhecida como de enlace ou link de dados. Esta camada detecta e, opcionalmente, corrige erros que possam acontecer no nível físico. É responsável por controlar o fluxo (recepção, delimitação e transmissão de quadros) e também estabelece um protocolo de comunicação entre sistemas diretamente conectados.
3 - Camada de Rede
A camada de rede fornece os meios funcionais e de procedimento de transferência de comprimento variável de dados de sequências de uma fonte de acolhimento de uma rede para um host de destino numa rede diferente (em contraste com a camada de ligação de dados que liga os hosts dentro da mesma rede), enquanto se mantém a qualidade de serviço requerido pela camada de transporte. A camada de rede realiza roteamento de funções, e também pode realizar a fragmentação e remontagem e os erros de entrega de relatório. Roteadores operam nesta camada, enviando dados em toda a rede estendida e tornando a Internet possível. Este é um esquema de endereçamento lógico - os valores são escolhidos pelo engenheiro de rede. O esquema de endereçamento não é hierárquico.
A camada de rede pode ser dividida em três subcamadas:
- Sub-rede de acesso - considera protocolos que lidam com a interface para redes, tais como X.25;
- Sub-rede dependente de convergência - necessária para elevar o nível de uma rede de trânsito, até ao nível de redes em cada lado;
- Sub-rede independente de convergência - lida com a transferência através de múltiplas redes. Controla a operação da sub rede roteamento de pacotes, controle de congestionamento, tarifação e permite que redes heterogêneas sejam interconectadas.
4 - Camada de Transporte
A camada de transporte é responsável por receber os dados enviados pela camada de sessão e segmentá-los para que sejam enviados a camada de rede, que por sua vez, transforma esses segmentos em pacotes. No receptor, a camada de Transporte realiza o processo inverso, ou seja, recebe os pacotes da camada de rede e junta os segmentos para enviar à camada de sessão.
Isso inclui controle de fluxo, ordenação dos pacotes e a correção de erros, tipicamente enviando para o transmissor uma informação de recebimento, garantindo que as mensagens sejam entregues sem erros na sequência, sem perdas e duplicações.
A camada de transporte separa as camadas de nível de aplicação (camadas 5 a 7) das camadas de nível físico (camadas de 1 a 3). A camada 4, Transporte, faz a ligação entre esses dois grupos e determina a classe de serviço necessária como orientada à conexão, com controle de erro e serviço de confirmação ou sem conexões e nem confiabilidade.
O objetivo final da camada de transporte é proporcionar serviço eficiente, confiável e de baixo custo. O hardware e/ou software dentro da camada de transporte e que faz o serviço é denominado entidade de transporte.
A entidade de transporte comunica-se com seus usuários através de primitivas de serviço trocadas em um ou mais TSAP(Transport Service Access Point), que são definidas de acordo com o tipo de serviço prestado: orientado ou não à conexão. Estas primitivas são transportadas pelas TPDU (Transport Protocol Data Unit).
Na realidade, uma entidade de transporte poderia estar simultaneamente associada a vários TSA e NSAP (Network Service Access Point black). No caso de multiplexação, associada a vários TSAP e a um NSAP e no caso de splitting, associada a um TSAP e a vários NSAP.
A ISO define o protocolo de transporte para operar em dois modos:
- Orientado a conexão
- Não-Orientado a conexão.
Como exemplo de protocolo orientado à conexão, temos o TCP, e de protocolo não orientado à conexão, temos o UDP. É óbvio que o protocolo de transporte não orientado à conexão é menos confiável. Ele não garante - entre outras coisas - a entrega das TPDU, nem tão pouco a ordenação das mesmas. Entretanto, onde o serviço da camada de rede e das outras camadas inferiores é bastante confiável - como em redes locais - o protocolo de transporte não orientado à conexão pode ser utilizado, sem o overhead inerente a uma operação orientada à conexão.
O serviço de transporte baseado em conexões é semelhante ao serviço de rede baseado em conexões. O endereçamento e controle de fluxo também são semelhantes em ambas as camadas. Para completar, o serviço de transporte sem conexões também é muito semelhante ao serviço de rede sem conexões. Constatado os fatos acima, surge a seguinte questão: "Por que termos duas camadas e não uma apenas?". A resposta é sutil, mas procede: A camada de rede é parte da sub-rede de comunicações e é executada pela concessionária que fornece o serviço (pelo menos para as WAN). Quando a camada de rede não fornece um serviço confiável, a camada de transporte assume as responsabilidades, melhorando a qualidade do serviço.
5 - Camada de Sessão
Responsável pela troca de dados e a comunicação entre hosts, a camada de Sessão permite que duas aplicações em computadores diferentes estabeleçam uma comunicação, definindo como será feita a transmissão de dados, pondo marcações nos dados que serão transmitidos. Se porventura a rede falhar, os computadores reiniciam a transmissão dos dados a partir da última marcação recebida pelo computador receptor.
6 - Camada de Apresentação
A camada de Apresentação, também chamada camada de Tradução, converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado na transmissão desse dado, ou seja, um formato entendido pelo protocolo usado. Um exemplo comum é a conversão do padrão de caracteres (código de página) quando o dispositivo transmissor usa um padrão diferente do ASCII. Pode ter outros usos, como compressão de dados e criptografia.
Os dados recebidos da camada 6 estão descomprimidos, e a camada 6 do dispositivo receptor fica responsável por comprimir esses dados. A transmissão dos dados torna-se mais rápida, já que haverá menos dados a serem transmitidos: os dados recebidos da camada 4 foram "encolhidos" e enviados à camada 1.
Para aumentar a segurança, pode-se usar algum esquema de criptografia neste nível, sendo que os dados só serão decodificados na camada 6 do dispositivo receptor.
Ela trabalha transformando os dados em um formato no qual a camada de aplicação possa aceitar, minimizando todo tipo de interferência.
7 - Camada de Aplicação
A camada de aplicação corresponde às aplicações (programas) no topo da camada OSI que serão utilizadas para promover uma interação entre a máquina-usuário (máquina destinatária e o usuário da aplicação). Esta camada também disponibiliza os recursos (protocolo) para que tal comunicação aconteça, por exemplo, ao solicitar a recepção de e-mail através do aplicativo de e-mail, este entrará em contato com a camada de Aplicação do protocolo de rede efetuando tal solicitação (POP3 ou IMAP).
Tudo nesta camada é relacionado ao software. Alguns protocolos utilizados nesta camada são: HTTP, SMTP, FTP, SSH, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping, etc.
Resumo
CAMADA | BEstage |
---|---|
7 - Aplicação | Funções especialistas (transferência de arquivos, envio de e-mail, terminal virtual) |
6 - Apresentação | Formatação dos dados, conversão de códigos e caracteres |
5 - Sessão | Negociação e conexão com outros nós, analogia |
4 - Transporte | Oferece métodos para a entrega de dados ponto-a-ponto |
3 - Rede | Roteamento de pacotes em uma ou várias redes |
2 - Enlace | Detecção de erros |
1 - Física | Transmissão e recepção dos bits brutos através do meio de transmissão |
Arquitetura Internet
O padrão aberto técnico da Internet, o Protocolo de Controle de Transmissão (do inglês: Transmission Control Protocol - TCP), surgiu de uma necessidade específica do Departamento de Defesa dos Estados Unidos, que necessitava de uma rede que pudesse sobreviver a qualquer condição, até mesmo uma guerra nuclear.[4]O Modelo de Referência e a Pilha de Protocolos TCP/IP tornam possível a comunicação de dados entre dois computadores em qualquer parte do mundo.
Devido ao surgimento massivo de redes de computadores, a International Organization for Standardization (ISO) realizou uma pesquisa sobre esses vários esquemas de rede e percebeu-se a necessidade de se criar um modelo de rede para ajudar os desenvolvedores a implementar redes que poderiam comunicar-se e trabalhar juntas (modelo de referência OSI).
Diferentemente do modelo OSI, que possui sete camadas, o modelo TCP/IP possui quatro camadas[5], são elas:
- Camada 4: A camada de Aplicação
- Camada 3: A camada de Transporte
- Camada 2: A camada de Internet
- Camada 1: A camada de Enlace
Tabela de exemplos
Camada | Exemplos | suite TCP/IP | SS7 | suite AppleTalk | suite OSI | suite IPX | SNA | UMTS |
---|---|---|---|---|---|---|---|---|
7 - Camada de aplicação | HL7, Modbus | HTTP, SMTP, SNMP, FTP, NFS, NTP, BOOTP, DHCP, RMON, POP3, IMAP, TELNET, DNS, LDAP, SSL | ISUP, INAP, MAP, TUP, TCAP | AFP, PAP | FTAM, X.400, X.500, DAP | APPC | ||
6 - Camada de apresentação | TDI, ASCII, EBCDIC, MIDI, MPEG | XDR, TLS | AFP, PAP | |||||
5 - Camada de sessão | Named Pipes, NetBIOS, SIP, SAP, SDP | Estabelecimento da sessão TCP | ASP, ADSP, ZIP | NWLink | DLC? | |||
4 - Camada de transporte | NetBEUI | TCP, TFTP |UDP, RTP, SCTP, SSL, DCCP,SCTP,RSVP | ATP, NBP, AEP, RTMP | TP0, TP1, TP2, TP3, TP4 | SPX, RIP | |||
3 - Camada de rede | NetBEUI, Q.931 | IP, ICMP, IPsec, RIP, OSPF, BGP,ARP, NAT, Roteador | MTP-3, SCCP | DDP | X.25 (PLP), CLNP | IPX | RRC (Radio Resource Control) | |
2 - Camada de ligação de dados | Ethernet, Token Ring, FDDI, PPP, HDLC, Q.921, Frame Relay, Bridge, ATM, Fibre Channel | MTP-2 | LocalTalk, TokenTalk, EtherTalk, Apple Remote Access, PPP | X.25 (LAPB), Token Bus | 802.3 framing, Ethernet II framing | SDLC | MAC (Media Access Control) | |
1 - Camada física | Alicate,RS-232, V.35, V.34, Q.911, T1, E1, CDDI, 10BASE-T,100BASE-TX, ISDN, Repetidor, SONET, DSL, 802.11 | MTP-1 | Localtalk on shielded, Localtalk on unshielded (PhoneNet) | X.25 (X.21bis, EIA/TIA-232, EIA/TIA-449, EIA-530, G.703) | Twinax | PHY (Physical Layer) |
Ver também
Referências
- ↑ PINTO, Pedro. Redes – Sabe o que é o modelo OSI? [1] Acesso em 19.nov.2013
- ↑ Projeto de Redes - O Modelo OSI | http://www.projetoderedes.com.br/artigos/artigo_modelo_osi.php | Acessado em 08 agosto 2012
- ↑ Cleuton Sampaio. Guia de Campo do Bom Programador. Brasport; ISBN 978-85-7452-516-7. p. 194.
- ↑ Walter Cunha - Modelo OSI x TCP/IP | http://waltercunha.com/blog/index.php/2009/04/22/modelo-osi-x-tcpip/ | Acessado em 08 de agosto de 2012
- ↑ Tanenbaum, Tanenbaum, Wetherall (2011). Redes de Computadores 5 ed. [S.l.]: Pearson. p. 28
- Peterson, Larry L, Davie, Bruce S. Computer Networks. Morgan Kaufman Publishers.