Pilha de protocolos - Protocol stack
A pilha de protocolo ou pilha de rede é uma implementação de um conjunto de protocolos de rede de computadores ou família de protocolos . Alguns desses termos são usados alternadamente, mas, estritamente falando, o conjunto é a definição dos protocolos de comunicação e a pilha é a implementação de software deles.
Os protocolos individuais dentro de um pacote são freqüentemente projetados com um único propósito em mente. Essa modularização simplifica o design e a avaliação. Como cada módulo de protocolo geralmente se comunica com dois outros, eles são comumente imaginados como camadas em uma pilha de protocolos. O protocolo mais baixo sempre lida com a interação de baixo nível com o hardware de comunicação. Cada camada superior adiciona recursos adicionais. Os aplicativos do usuário geralmente lidam apenas com as camadas superiores.
Descrição geral do pacote de protocolos
T ~ ~ ~ T [A] [B]_____[C]
Imagine que três computadores: A , B , e C . Ambos A e B têm equipamento de rádio e podem se comunicar por ondas de rádio usando um protocolo de rede adequado (como IEEE 802.11 ). B e C são conectados por meio de um cabo, usando-o para trocar dados (novamente, com a ajuda de um protocolo, por exemplo, protocolo ponto a ponto ). No entanto, nenhum desses dois protocolos será capaz de transportar informações de A para C , porque esses computadores estão conceitualmente em redes diferentes. Um protocolo de inter-rede é necessário para conectá-los.
Pode-se combinar os dois protocolos para formar um terceiro poderoso, dominando a transmissão a cabo e sem fio, mas um superprotocolo diferente seria necessário para cada combinação possível de protocolos. É mais fácil deixar os protocolos básicos sozinhos e projetar um protocolo que possa funcionar sobre qualquer um deles (o protocolo da Internet é um exemplo). Isso formará duas pilhas de dois protocolos cada. O protocolo entre redes se comunicará com cada um dos protocolos básicos em sua linguagem mais simples; os protocolos básicos não se comunicam diretamente entre si.
Um pedido de computador Um para enviar um pedaço de dados para C é feita pelo protocolo superior, que (através de quaisquer meios) sabe que C é alcançável por meio de B . É, portanto, instrui o protocolo sem fios para transmitir o pacote de dados para B . Nesse computador, os manipuladores da camada inferior passarão o pacote para o protocolo inter-redes, que, ao reconhecer que B não é o destino final, invocará novamente as funções de nível inferior. Desta vez, o protocolo de cabo é usado para enviar os dados para C . Ali, o pacote recebido é novamente passado para o protocolo superior, que (com C sendo o destino) irá passá-lo para um protocolo superior ou aplicação em C .
Na implementação prática, as pilhas de protocolo geralmente são divididas em três seções principais: mídia, transporte e aplicativos. Um determinado sistema operacional ou plataforma geralmente terá duas interfaces de software bem definidas: uma entre as camadas de mídia e transporte e outra entre as camadas de transporte e aplicativos. A interface de mídia para transporte define como o software de protocolo de transporte usa determinados tipos de mídia e hardware e está associada a um driver de dispositivo . Por exemplo, este nível de interface definiria como o software de transporte TCP / IP se comunicaria com o controlador de interface de rede . Exemplos dessas interfaces incluem ODI e NDIS no ambiente Microsoft Windows e DOS . A interface de aplicativo para transporte define como os programas de aplicativo usam as camadas de transporte. Por exemplo, este nível de interface definiria como um programa de navegador da web se comunicaria com o software de transporte TCP / IP. Exemplos dessas interfaces incluem sockets Berkeley e STREAMS System V em ambientes do tipo Unix e Winsock para Microsoft Windows.
Exemplos
| Protocolo | Camada |
|---|---|
| HTTP | Aplicativo |
| TCP | Transporte |
| IP | Internet ou rede |
| Ethernet | Link ou link de dados |
| IEEE 802.3ab | Fisica |
Camada de abrangência
Uma característica importante de muitas comunidades de interoperabilidade com base em uma pilha de protocolo comum é uma camada de abrangência , um termo cunhado por David Clark
"Certos protocolos são projetados com o objetivo específico de superar as diferenças nas camadas inferiores, de modo que acordos comuns não sejam necessários. Em vez disso, a camada fornece as definições que permitem que a tradução ocorra entre uma gama de serviços ou tecnologias utilizadas abaixo. Assim, em termos um tanto abstratos, em e acima de tal camada, os padrões comuns contribuem para a interoperação, enquanto abaixo da camada é usada a tradução. Essa camada é chamada de "camada de abrangência" neste documento. Na prática, a interoperação real é alcançada pelo definição e uso de camadas abrangentes eficazes. Mas há muitas maneiras diferentes de criar uma camada abrangente. "
Na pilha de protocolos da Internet, o Internet Protocol Suite constitui uma camada de abrangência que define um serviço de melhor esforço para o roteamento global de datagramas na Camada 3 . A Internet é a comunidade de interoperação baseada nesta camada de abrangência.
Veja também
- Otimização de camada cruzada
- DECnet
- Modelo de internetworking hierárquico
- Guerras de protocolo
- Arquitetura recursiva entre redes
- Camada de serviço
- Sistema de Sinalização Nº 7
- Arquitetura de rede de sistemas
- Protocolo de aplicação sem fio
- X.25
Referências
-
^
"O que é uma pilha de protocolo?" . WEBOPEDIA. 24 de setembro de 1997 . Página visitada em 2010-02-21 .
Uma [pilha de protocolo é um] conjunto de camadas de protocolo de rede que funcionam juntas. O modelo de referência OSI que define sete camadas de protocolo é freqüentemente chamado de pilha, assim como o conjunto de protocolos TCP / IP que definem a comunicação pela Internet.
-
^ Georg N. Strauß (2010-01-09). "The OSI Model, Part 10. The Application Layer" . Ika-Reutte. Arquivado do original em 20/03/2012 . Página visitada em 2010-02-21 .
A camada de aplicativo é a camada superior do modelo OSI e fornece serviços que oferecem suporte direto aos aplicativos do usuário, como acesso a banco de dados, e-mail e transferência de arquivos.
- ^ David Clark (1997). Interoperação, interfaces abertas e arquitetura de protocolo . A certeza imprevisível: livros brancos . Conselho Nacional de Pesquisa. ISBN 9780309060363.