Modelo OSI e relacionamento com protocolos de rede

27

Quando a maioria dos estudantes de rede aprende pela primeira vez sobre o modelo OSI, gasta muito tempo tentando descobrir em qual camada do modelo um protocolo específico se encaixa. Temos muitas perguntas sobre as camadas OSI neste fórum, e elas geralmente são como:

  • Em qual camada OSI o IS-IS opera?
  • O HTML é um protocolo de apresentação ou aplicativo?
  • Os túneis VPN são de camada 2 ou 3?

Como um aluno (ou profissional) entenderá a relação entre o modelo OSI e os protocolos com os quais trabalha?

Ron Trunk
fonte

Respostas:

35

Há dois fatos importantes sobre o modelo OSI a serem lembrados:

  1. É um modelo conceitual. Isso significa que descreve um grupo idealizado, abstrato e teórico de funções de rede. Ele não descreve nada que alguém realmente criou (pelo menos nada que esteja em uso hoje).

  2. Não é o único modelo. Existem outros modelos, principalmente o conjunto de protocolos TCP / IP (RFC-1122 e RFC-1123), muito mais próximo do que está atualmente em uso.

Um pouco da história: você provavelmente já ouviu falar dos primeiros dias da rede de pacotes, incluindo a ARPANET, a antecessora da Internet. Além dos esforços do Departamento de Defesa dos EUA para criar protocolos de rede, vários outros grupos e empresas também estavam envolvidos. Cada grupo estava desenvolvendo seus próprios protocolos no novo campo de comutação de pacotes. A IBM e as empresas de telefonia estavam desenvolvendo seus próprios padrões. Na França, os pesquisadores estavam trabalhando em seu próprio projeto de rede chamado Cyclades.

O trabalho no modelo OSI começou no final da década de 1970, principalmente como uma reação à crescente influência de grandes empresas como IBM, NCR, Burroughs, Honeywell (e outras) e seus protocolos e hardware proprietários. A idéia por trás disso era criar um padrão aberto que proporcionasse interoperabilidade entre diferentes fabricantes. Mas como o modelo ISO era de escopo internacional, tinha muitos interesses políticos, culturais e técnicos concorrentes. Demorou mais de seis anos para chegar a um consenso e publicar os padrões.

Enquanto isso, o modelo TCP / IP também foi desenvolvido. Era simples, fácil de implementar e, o mais importante, era gratuito. Você precisou adquirir as especificações padrão da OSI para criar o software. Toda a atenção e esforços de desenvolvimento gravitaram para o TCP / IP. Como resultado, o modelo OSI nunca foi implementado como um conjunto de protocolos e o TCP / IP se tornou o padrão para a Internet.

O ponto é, todos os protocolos em uso hoje em dia, o conjunto TCP / IP; protocolos de roteamento como RIP, OSPF e BGP; e protocolos host OS, como Windows SMB e Unix RPC, foram desenvolvidos sem o modelo OSI em mente. Às vezes, eles têm alguma semelhança com isso, mas os padrões OSI nunca foram seguidos durante seu desenvolvimento. Portanto, é uma tarefa tola tentar encaixar esses protocolos no OSI. Eles simplesmente não se encaixam exatamente.

Isso não significa que o modelo não tenha valor; ainda é uma boa idéia estudá-lo para que você possa entender os conceitos gerais. O conceito das camadas OSI é tão tecido na terminologia da rede, que falamos das camadas 1, 2 e 3 no discurso cotidiano da rede. A definição das camadas 1, 2 e 3 é, se você olhar um pouco, bastante bem aceita. Por esse motivo, vale a pena conhecer.

As coisas mais importantes a entender sobre o modelo OSI (ou qualquer outro) são:

  • Podemos dividir os protocolos em camadas
  • Camadas fornecem encapsulamento
  • Camadas fornecem abstração
  • Camadas separam funções de outras pessoas

Dividir os protocolos em camadas nos permite falar sobre seus diferentes aspectos separadamente. Torna os protocolos mais fáceis de entender e mais fáceis de solucionar. Podemos isolar funções específicas facilmente e agrupá-las com funções semelhantes de outros protocolos.

Cada "função" (em termos gerais) encapsula a (s) camada (s) acima dela. A camada de rede encapsula as camadas acima dela. A camada de enlace de dados encapsula a camada de rede e assim por diante.

Camadas abstraem as camadas abaixo dela. Seu navegador da web não precisa saber se você está usando TCP / IP ou outra coisa na camada de rede (como se houvesse outra coisa). Para o seu navegador, as camadas inferiores fornecem apenas um fluxo de dados. Como esse fluxo consegue aparecer está oculto no navegador. O TCP / IP não sabe (ou se importa) se você está usando Ethernet, um modem a cabo, uma linha T1 ou satélite. Apenas processa pacotes. Imagine como seria difícil projetar um aplicativo que tivesse que lidar com tudo isso. As camadas abstraem as camadas inferiores, tornando o design e a operação do software muito mais simples.

Desacoplamento: em teoria, você pode substituir uma tecnologia específica por outra na mesma camada. Desde que a camada se comunique com a camada acima e abaixo da mesma maneira, não importa como é implementada. Por exemplo, podemos remover o muito conhecido protocolo da camada 3, IP versão 4, e substituí-lo pelo IP versão 6. Todo o resto deve funcionar exatamente da mesma maneira. Para o seu navegador ou seu modem a cabo, isso não deve fazer diferença.

O modelo TCP / IP é o conjunto de protocolos TCP / IP (surpresa!). Ele tem apenas quatro camadas, e tudo o que está acima do transporte é apenas "aplicação". É mais simples de entender e evita perguntas intermináveis, como "Esta é a camada de sessão ou a camada de apresentação?" Mas também é apenas um modelo, e algumas coisas não ele também não se encaixa bem, como protocolos de encapsulamento (GRE, MPLS, IPSec, para citar alguns).

Por fim, os modelos são uma maneira de representar idéias abstratas invisíveis, como endereços, pacotes e bits. Desde que você tenha isso em mente, o modelo OSI ou TCP / IP pode ser útil para entender a rede.

Ron Trunk
fonte
11
Eu sempre me perguntei por que nos referimos ao modelo OSI quando, na realidade, o modelo TCP / IP se encaixa melhor.
Ryan Foley
5
@RyanFoley, verdadeiro em muitos casos. No entanto, quando se trata de solucionar problemas (e principalmente ensiná-lo), é melhor ter camadas físicas e de dados separadas para resolver os problemas de cada um separadamente. Por exemplo, é bom saber a diferença em um dispositivo Cisco entre uma interface que está ativa / ativa, uma que está ativada / desativada e outra que está ativada / desativada.
YLearn
"Por exemplo, podemos remover o muito conhecido protocolo da camada 3, a versão 4 do IP, e substituí-lo pela versão 6. do IP. Todo o resto deve funcionar exatamente da mesma maneira. Para o seu navegador ou seu modem a cabo, isso não deve fazer diferença. " Infelizmente, isso faz a diferença porque as abstrações estão vazando. Os aplicativos e protocolos de transporte precisam saber sobre o endereçamento usado pelo protocolo da Internet.
Peter Green
Bem, é por isso que modelos são apenas modelos.
Ron Trunk
11
joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions Construímos abstrações para ocultar os detalhes feios da coisa subjacente, mas alguns detalhes da coisa subjacente vazam e causam problemas. Uma coisa que vaza até o topo da pilha é o sistema de endereçamento.
Peter Green
2

Há alguma confusão aqui. Só porque uma função parece não caber em uma camada não significa que não. O OSI é flexível e permite objetos e subcamadas onde as implementações práticas são mapeadas no modelo. Algumas das funções de uma camada também podem ser duplicadas em outras camadas. Além disso, o processamento não precisa acontecer na camada Aplicativo. Finalmente, o OSI era mais do que um modelo, foi implementado na íntegra por alguns fabricantes. Eu trabalhei no projeto DEC. A praticidade significa que apenas certas partes do OSI são usadas hoje.

MAW
fonte
1

Todos os protocolos de roteamento IGP (Interior Gateway Protocols) funcionam na camada 3. O BGP externo trabalha na camada 4, enquanto o interno trabalha na camada 3.

Camada física - lida com dispositivos de rede de hardware, como laptops, telefones celulares, desktops. Sabe-se que a camada 1 é um domínio de colisão, PDU da camada 1 (a unidade de dados do protocolo é bits).

Camada de dados / link - Esta camada se refere aos switches da camada 2, domínios de broadcast, VLANS, STP, VTP. A unidade de dados de protocolo dessa camada é chamada de quadros.

Camada de rede - é quando o roteamento ocorre, a maioria dos protocolos de roteamento funciona nessa camada. Isso também é conhecido como camada IP, onde os VLANS se comunicam. A PDU para essa camada é conhecida como pacotes.

Camada de transporte - A camada de transporte lida com portas TCP e UDP, é para onde os pacotes das camadas 3 são enviados para suas portas de destino. É importante lembrar que o TCP é um protocolo orientado a conexões, enquanto o UDP é um protocolo orientado a conexões (entrega de dados não garantida). A PDU para esta camada é datagramas.

Camada de sessão - A camada de sessão é onde os pacotes são encapsulados de serem decapsulados da camada 3. Essa camada lida com várias linguagens de programação do servidor, nas quais você pode criar aplicativos baseados em software e convertê-los em ->

A camada de apresentação - essa camada é sobre os códigos do cliente que você vê no seu navegador da web ou, quando você clica com o botão direito do mouse e exibe a fonte, esses são principalmente códigos HTM / CSS / Javascript que permitem exibir seu ->

A camada Aplicativo - É aqui que a GUI (interface gráfica do usuário) converte os códigos HTML / CSS da camada 6 para essa camada. O que você vê no seu navegador é a interface gráfica do usuário. A camada 5,6,7 PDU é chamada de mensagem.

Espero que estas respondam a todas as perguntas relacionadas ao OSI.

Em qual camada OSI o IS-IS opera? - Camada 3
O HTML é um protocolo de apresentação ou aplicativo? - Apresentação
Os túneis da VPN são da camada 2 ou 3? -> L2TP é a camada 2 -> os túneis da VPN normalmente funcionam na camada3, como o IPSEC.

chris
fonte
11
Isso não responde ao OP; ele nunca perguntou o que cada camada fazia, ele perguntou o que alguém deveria entender sobre os conceitos subjacentes.
Ryan Foley
11
Informativo é ótimo, mas este é um site de problemas / soluções. Sua resposta é ótima se a pergunta for "Quais são as diferentes camadas do modelo OSI e o que cada uma faz?" . A questão é sobre os fundamentos que apoiam o modelo OSI, não o modelo OSI diretamente. Ótima percepção, mas má resposta para esta pergunta específica.
Ryan Foley
5
Chris, agradeço suas respostas e, em grande medida, você está correto. Mas o ISIS roda em cima do IP, isso faz com que a camada 4? E o BGP? Ele roda em cima do TCP. É a camada 5? O que quero dizer é que, embora você possa espremer protocolos nas camadas, eles realmente não se encaixam. Se você observar a especificação da camada de apresentação OSI, não acho que o HTML se qualifique. Até a OSI admitiu que a camada 2 era muito ampla e precisou dividi-la em duas subcamadas.
Ron Trunk
2
O modelo OSI é apenas um modelo teórico. Mesmo que o protocolo de roteamento <nome aqui> use pacotes (L2 | L3), ele também faz parte do L7, já que é um aplicativo e deve calcular a tabela de roteamento e, talvez, a mesma camada entre eles. Nem tudo é preto e branco.
mulaz 20/02
3
@Ron, o ISIS não é um protocolo IP nativo. OSPF é. (Só para acrescentar mais confusão :-).)
John Jensen
1

HTTP (não HTML) tem a camada de apresentação e aplicação. Os túneis da VPN adicionam camadas de sobreposição à pilha existente: pode ser a camada 2 ou a camada 3, dependendo do tipo. Então você poderá ver essa (s) camada (s) adicionada (s) duas vezes no pacote.

alexlev2004
fonte
11
Certamente você pode rotular as coisas como achar melhor, mas o HTTP foi desenvolvido sem levar em consideração o modelo OSI e não está em conformidade com as especificações. O mesmo se aplica às VPNs - os padrões OSI nunca as anteciparam. Portanto, qualquer semelhança é, como se costuma dizer, completamente coincidente.
Ron Tronco de
0

Uma das poucas coisas que realmente são do modelo OSI são os certificados X.509 e grandes pedaços de LDAP provenientes do X.500. A outra coisa é o X.400 para mensagens, o MS Exchange tinha isso pelo menos no 5.5, não tenho certeza se versões posteriores o incluíam.

Portanto, o OSI é um modelo, no domínio da rede perdeu a corrida contra o TCP / IP e eu realmente não entendo por que isso ainda é ensinado aos alunos. Tentar colocar coisas como MPLS nesse modelo não faz nenhum sentido.

Indo mais fundo, você sofrerá as grandes organizações que tentam impor padrões, coisas horríveis como ASN.1 e BER ... superengenham tudo.

TabTwo
fonte