Um protocolo de comunicação é um sistema de regras que permite que duas ou mais entidades de um sistema de comunicação transmitam informações por meio de qualquer tipo de variação de uma quantidade física . O protocolo define as regras, sintaxe , semântica e sincronização de comunicação e possíveis
métodos de recuperação de erros . Os protocolos podem ser implementados por hardware , software ou uma combinação de ambos.
[1] Os sistemas de comunicação usam formatos bem definidos para a troca de várias mensagens. Cada mensagem tem um significado exato com a intenção de obter uma resposta de uma gama de respostas possíveis pré-determinadas para aquela situação particular. O comportamento especificado é geralmente independente de como deve ser
implementado . Os protocolos de comunicação devem ser acordados pelas partes envolvidas. [2] Para chegar a um acordo, um protocolo pode ser desenvolvido em um padrão técnico . Uma
linguagem de programação descreve o mesmo para cálculos, então há uma analogia próxima entre protocolos e linguagens de programação: os protocolos estão para a comunicação o que as linguagens de programação estão para os cálculos . [3]Uma formulação alternativa afirma
que os protocolos estão para a comunicação o que os algoritmos estão para a computação . [4] Vários protocolos geralmente descrevem diferentes aspectos de uma única comunicação. Um grupo de protocolos projetados para trabalhar juntos é conhecido como um conjunto de protocolos; quando
implementados no software, eles são uma pilha de protocolo . Os protocolos de comunicação da Internet são publicados pela Internet Engineering Task Force (IETF). O IEEE (Instituto de
Engenheiros Elétricos e Eletrônicos) lida com redes com e sem fio e a Organização Internacional para Padronização (ISO) lida com outros tipos. O ITU-T lida com protocolos e formatos de telecomunicações para a
rede telefônica pública comutada (PSTN). Conforme a PSTN e a Internet convergem , os padrões também estão sendo direcionados para a convergência. Sistemas de comunicaçãoHistóriaUm dos primeiros usos do termo protocolo em um contexto de comutação de dados ocorre em um memorando intitulado Um Protocolo para Uso na Rede de Comunicações de Dados NPL escrito por Roger Scantlebury e Keith Bartlett em abril de 1967. [5] [6] Na ARPANET , o ponto de partida para a comunicação host-a-host em 1969 foi o protocolo 1822 , que definia a transmissão de mensagens para um IMP. [7] O Programa de Controle de Rede para a ARPANET foi implementado pela primeira vez em 1970. [8] A interface NCP permitiu que o software aplicativo se conectasse através da ARPANET implementando protocolos de comunicação de nível superior , um exemplo inicial do conceito de camadas de protocolo . [9] A pesquisa de rede no início dos anos 1970 por Robert E. Kahn e Vint Cerf levou à formulação do Programa de Controle de Transmissão (TCP). [10] Sua especificação RFC 675 foi escrita por Cerf com Yogen Dalal e Carl Sunshine em dezembro de 1974, ainda um projeto monolítico na época. O International Networking Working Group concordou com um padrão de datagrama sem conexão que foi apresentado ao CCIT em 1975, mas não foi adotado pela ITU ou pela ARPANET. [11] Pesquisas internacionais, particularmente o trabalho de Rémi Després , contribuíram para o desenvolvimento do padrão X.25 , baseado em circuitos virtuais pelo ITU-T em 1976. [12] [13] Os fabricantes de computadores desenvolveram protocolos proprietários como os da IBM Arquitetura de rede de sistemas (SNA), DECnet da Digital Equipment Corporation e sistemas de rede Xerox . [14] O software TCP foi reprojetado como uma pilha de protocolo modular. Originalmente referido como IP / TCP , foi instalado na SATNET em 1982 e na ARPANET em janeiro de 1983. O desenvolvimento de um pacote de protocolo completo em 1989, conforme descrito em RFC 1122 e A RFC 1123 estabeleceu a base para o crescimento do TCP / IP como um conjunto de protocolos abrangente como o componente principal da Internet emergente . [15] Trabalhos internacionais em um modelo de referência para padrões de comunicação levaram ao modelo OSI , publicado em 1984. Por um período no final dos anos 1980 e início dos anos 1990, engenheiros, organizações e nações se tornaram polarizados sobre a questão de qual padrão , o modelo OSI ou a Internet conjunto de protocolos, resultaria nas melhores e mais robustas redes de computadores. [16] [17] [18] ConceitoAs informações trocadas entre dispositivos por meio de uma rede ou outra mídia são regidas por regras e convenções que podem ser definidas nas especificações do protocolo de comunicação. A natureza da comunicação, os dados reais trocados e quaisquer comportamentos dependentes do estado , são definidos por essas especificações. Em sistemas de computação digital, as regras podem ser expressas por algoritmos e estruturas de dados . Os protocolos estão para a comunicação o que algoritmos ou linguagens de programação estão para os cálculos. [3] [4] Os sistemas operacionais geralmente contêm um conjunto de processos cooperativos que manipulam dados compartilhados para se comunicarem entre si. Essa comunicação é governada por protocolos bem conhecidos, que podem ser incorporados ao próprio código do processo. [19] [20] Em contraste, porque não há memória compartilhada , os sistemas de comunicação precisam se comunicar uns com os outros usando um meio de transmissão compartilhado . A transmissão não é necessariamente confiável e os sistemas individuais podem usar hardware ou sistemas operacionais diferentes. Para implementar um protocolo de rede, os módulos de software do protocolo fazem interface com uma estrutura implementada no sistema operacional da máquina. Esta estrutura implementa a funcionalidade de rede do sistema operacional. [21] Quando algoritmos de protocolo são expressos em uma linguagem de programação portátil, o software de protocolo pode ser independente do sistema operacional . Os frameworks mais conhecidos são o modelo TCP / IP e o modelo OSI . Na época em que a Internet foi desenvolvida, as camadas de abstração provaram ser uma abordagem de projeto bem-sucedida tanto para o projeto do compilador quanto do sistema operacional e, dadas as semelhanças entre as linguagens de programação e os protocolos de comunicação, os programas de rede originalmente monolíticos foram decompostos em protocolos cooperativos. [22] Isso deu origem ao conceito de protocolos em camadas que hoje em dia constituem a base do projeto de protocolo. [23] Os sistemas normalmente não usam um único protocolo para lidar com uma transmissão. Em vez disso, eles usam um conjunto de protocolos cooperativos, às vezes chamado de conjunto de protocolos . [24] Alguns dos conjuntos de protocolos mais conhecidos são TCP / IP , IPX / SPX , X.25 , AX.25 e AppleTalk . Os protocolos podem ser organizados com base na funcionalidade em grupos, por exemplo, existe um grupo de protocolos de transporte . As funcionalidades são mapeadas nas camadas, cada camada resolvendo uma classe distinta de problemas relacionados a, por exemplo: funções de aplicativo, transporte, internet e interface de rede. [25] Para transmitir uma mensagem, um protocolo deve ser selecionado de cada camada. A seleção do próximo protocolo é realizada estendendo a mensagem com um seletor de protocolo para cada camada. [26] Requisitos básicosTransferir os dados pela rede é apenas parte do problema de um protocolo. Os dados recebidos devem ser avaliados no contexto do andamento da conversa, portanto, um protocolo deve incluir regras que descrevam o contexto. Diz-se que esse tipo de regras expressa a sintaxe da comunicação. Outras regras determinam se os dados são significativos para o contexto em que a troca ocorre. Diz-se que esse tipo de regra expressa a semântica da comunicação. As mensagens são enviadas e recebidas em sistemas de comunicação para estabelecer a comunicação. Os protocolos devem, portanto, especificar as regras que regem a transmissão. Em geral, muito do seguinte deve ser abordado: [27] Formatos de dados para troca de dados Bitstrings de mensagem digital são trocados. As bitstrings são divididas em campos e cada campo carrega informações relevantes para o protocolo. Conceitualmente, o bitstring é dividido em duas partes chamadas cabeçalho e carga útil . A mensagem real é transportada na carga útil. A área do cabeçalho contém os campos relevantes para a operação do protocolo. Bitstrings mais longos do que a unidade de transmissão máxima (MTU) são divididos em pedaços de tamanho apropriado. [28] Formatos de endereço para troca de dados Os endereços são usados para identificar o remetente e o (s) destinatário (s) pretendido (s). Os endereços são transportados na área de cabeçalho das bitstrings, permitindo que os receptores determinem se as bitstrings são de interesse e devem ser processadas ou ignoradas. Uma conexão entre um remetente e um receptor pode ser identificada usando um par de endereços (endereço do remetente, endereço do receptor) . Normalmente, alguns valores de endereço têm significados especiais. Um endereço all- 1 s pode significar um endereçamento de todas as estações na rede, portanto, o envio para este endereço resultaria em uma transmissão na rede local. As regras que descrevem os significados do valor do endereço são chamadas coletivamente de esquema de endereçamento . [29] Mapeamento de endereço Às vezes, os protocolos precisam mapear endereços de um esquema em endereços de outro esquema. Por exemplo, para converter um endereço IP lógico especificado pelo aplicativo em um endereço Ethernet MAC. Isso é conhecido como mapeamento de endereço . [30] Encaminhamento Quando os sistemas não estão conectados diretamente, os sistemas intermediários ao longo da rota para o (s) destinatário (s) pretendido (s) precisam encaminhar mensagens em nome do remetente. Na Internet, as redes são conectadas por meio de roteadores. A interconexão de redes por meio de roteadores é chamada de internetworking . Detecção de erros de transmissão A detecção de erros é necessária em redes onde a corrupção de dados é possível. Em uma abordagem comum, um CRC da área de dados é adicionado ao final dos pacotes, possibilitando ao receptor detectar diferenças causadas por corrupção. O receptor rejeita os pacotes nas diferenças CRC e organiza de alguma forma a retransmissão. [31] Reconhecimentos O reconhecimento da recepção correta de pacotes é necessário para a comunicação orientada à conexão . Agradecimentos são enviados dos destinatários de volta para seus respectivos remetentes. [32] Perda de informações - tempos limite e novas tentativas Os pacotes podem ser perdidos na rede ou atrasados em trânsito. Para lidar com isso, em alguns protocolos, um remetente pode esperar uma confirmação da recepção correta do receptor dentro de um determinado período de tempo. Assim, em tempos limite , o remetente pode precisar retransmitir as informações. [a] No caso de um link permanentemente interrompido, a retransmissão não tem efeito, então o número de retransmissões é limitado. Exceder o limite de tentativas é considerado um erro. [33] Direção do fluxo de informação A direção precisa ser tratada se as transmissões só puderem ocorrer em uma direção por vez, como em links half-duplex, ou de um remetente por vez, como em um meio compartilhado . Isso é conhecido como controle de acesso à mídia . Devem ser tomadas providências para acomodar o caso de colisão ou contenção em que duas partes, respectivamente, transmitam ou desejem transmitir simultaneamente. [34] Controle de sequência Se bitstrings longas forem divididas em partes e, em seguida, enviadas para a rede individualmente, as partes podem se perder ou atrasar ou, em alguns tipos de redes, tomar rotas diferentes para seu destino. Como resultado, as peças podem chegar fora da sequência. As retransmissões podem resultar em peças duplicadas. Ao marcar as peças com informações de sequência no remetente, o receptor pode determinar o que foi perdido ou duplicado, solicitar as retransmissões necessárias e remontar a mensagem original. [35] Controle de fluxo O controle de fluxo é necessário quando o emissor transmite mais rápido do que o receptor ou o equipamento de rede intermediário pode processar as transmissões. O controle de fluxo pode ser implementado por mensagens do receptor ao remetente. [36] Fila Os processos de comunicação ou máquinas de estado empregam filas (ou "buffers"), geralmente filas FIFO, para lidar com as mensagens na ordem de envio e, às vezes, podem ter várias filas com priorização diferenteProjeto de protocoloOs princípios da engenharia de sistemas foram aplicados para criar um conjunto de princípios de design de protocolo de rede comuns. O projeto de protocolos complexos freqüentemente envolve a decomposição em protocolos mais simples e cooperativos. Esse conjunto de protocolos cooperativos é algumas vezes chamado de família de protocolos ou suíte de protocolos, [24] dentro de uma estrutura conceitual. Os sistemas de comunicação operam simultaneamente. Um aspecto importante da programação simultânea é a sincronização do software para receber e transmitir mensagens de comunicação em um sequenciamento adequado. A programação simultânea tem sido tradicionalmente um tópico em textos de teoria de sistemas operacionais. [37] A verificação formal parece indispensável porque os programas concorrentes são notórios pelos bugs ocultos e sofisticados que contêm. [38] Uma abordagem matemática para o estudo de concorrência e comunicação é referida como processos sequenciais de comunicação (CSP). [39] A simultaneidade também pode ser modelada usando máquinas de estado finito , como as máquinas de Mealy e Moore . As máquinas Mealy e Moore são utilizadas como ferramentas de design em sistemas eletrônicos digitais encontrados na forma de hardware usado em telecomunicações ou dispositivos eletrônicos em geral. [40] [ melhor fonte necessária ] A literatura apresenta inúmeras analogias entre comunicação e programação de computadores. Por analogia, um mecanismo de transferência de um protocolo é comparável a uma unidade de processamento central (CPU). A estrutura apresenta regras que permitem ao programador projetar protocolos cooperativos independentemente uns dos outros. LayeringNo projeto de protocolo moderno, os protocolos são dispostos em camadas para formar uma pilha de protocolos. A estratificação é um princípio de design que divide a tarefa de design do protocolo em etapas menores, cada uma das quais realiza uma parte específica, interagindo com as outras partes do protocolo apenas em um pequeno número de maneiras bem definidas. A estratificação permite que as partes de um protocolo sejam projetadas e testadas sem uma explosão combinatória de casos, mantendo cada projeto relativamente simples. Os protocolos de comunicação em uso na Internet são projetados para funcionar em ambientes diversos e complexos. Os protocolos da Internet são projetados para simplicidade e modularidade e se encaixam em uma hierarquia grosseira de camadas funcionais definidas no Internet Protocol Suite . [41] Os dois primeiros protocolos de cooperação, o Transmission Control Protocol (TCP) e o Internet Protocol (IP) resultaram da decomposição do Transmission Control Program original, um protocolo de comunicação monolítico, neste pacote de comunicação em camadas. O modelo OSI foi desenvolvido internacionalmente com base na experiência com redes anteriores à Internet como modelo de referência para comunicação geral com regras muito mais rígidas de interação de protocolo e estratificação rigorosa. Normalmente, o software aplicativo é construído sobre uma camada de transporte de dados robusta. Subjacente a essa camada de transporte está um mecanismo de entrega e roteamento de datagramas que normalmente não tem conexão na Internet. A retransmissão de pacotes através das redes acontece em outra camada que envolve apenas tecnologias de link de rede, que geralmente são específicas para certas tecnologias de camada física, como Ethernet . A disposição em camadas oferece oportunidades para a troca de tecnologias quando necessário, por exemplo, os protocolos são frequentemente empilhados em um arranjo de túnel para acomodar a conexão de redes diferentes. Por exemplo, o IP pode ser encapsulado em uma rede de modo de transferência assíncrona (ATM). Camada de protocoloAs camadas de protocolo constituem a base do projeto do protocolo. [23] Ele permite a decomposição de protocolos únicos e complexos em protocolos cooperativos mais simples. [41] Cada camada de protocolo resolve uma classe distinta de problemas de comunicação. Juntas, as camadas formam um esquema ou modelo de camadas. Computações lidam com algoritmos e dados; A comunicação envolve protocolos e mensagens; Portanto, o análogo de um diagrama de fluxo de dados é algum tipo de diagrama de fluxo de mensagem. [4] Para visualizar as camadas de protocolo e suítes de protocolo, um diagrama dos fluxos de mensagens dentro e entre dois sistemas, A e B, é mostrado na figura 3. Os sistemas, A e B, ambos fazem uso do mesmo suíte de protocolo. Os fluxos verticais (e protocolos) estão no sistema e os fluxos de mensagens horizontais (e protocolos) estão entre sistemas. Os fluxos de mensagens são governados por regras e formatos de dados especificados por protocolos. As linhas azuis marcam os limites das camadas de protocolo (horizontais). Camada de softwareOs protocolos de suporte de software têm uma organização em camadas e sua relação com as camadas de protocolo é mostrada na figura 5. Para enviar uma mensagem no sistema A, o módulo de software da camada superior interage com o módulo diretamente abaixo dele e entrega a mensagem a ser encapsulada. O módulo inferior preenche os dados do cabeçalho de acordo com o protocolo que implementa e interage com o módulo inferior, que envia a mensagem pelo canal de comunicação para o módulo inferior do sistema B. No sistema receptor B ocorre o inverso, então, em última análise, a mensagem é entregue em sua forma original para o módulo superior do sistema B. [42] A tradução do programa é dividida em subproblemas. Como resultado, o software de tradução também é dividido em camadas, permitindo que as camadas do software sejam projetadas independentemente. A mesma abordagem pode ser vista nas camadas TCP / IP. [43] Os módulos abaixo da camada de aplicativo geralmente são considerados parte do sistema operacional. A passagem de dados entre esses módulos é muito mais barata do que a passagem de dados entre um programa de aplicação e a camada de transporte. O limite entre a camada de aplicativo e a camada de transporte é chamado de limite do sistema operacional. [44] Camada estritaAderir estritamente a um modelo em camadas, uma prática conhecida como estrita camada, nem sempre é a melhor abordagem para a rede. [45] A estratificação estrita pode ter um impacto negativo no desempenho de uma implementação. [46] Embora o uso de camadas de protocolo seja hoje onipresente no campo das redes de computadores, ele tem sido historicamente criticado por muitos pesquisadores [47] por duas razões principais. Em primeiro lugar, abstrair a pilha de protocolos desta forma pode fazer com que uma camada superior duplique a funcionalidade de uma camada inferior, um exemplo principal sendo a recuperação de erro tanto por link quanto de ponta a ponta. [48] Padrões de design para protocolos da camada de aplicativoProblemas comumente recorrentes no projeto e implementação de protocolos de comunicação podem ser tratados por padrões de várias linguagens de padrões diferentes: Linguagem de Padrões para Protocolos de Comunicação em Nível de Aplicativo ( CommDP ), [49] [50] Padrões de Design de Serviço, [51] Patterns of Enterprise Application Architecture, [52] Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing. [53] A primeira dessas linguagens de padrão concentra-se no projeto de protocolos e não em suas implementações. Os outros tratam de questões em ambas as áreas ou apenas na última. Especificação formalOs métodos formais de descrição da sintaxe de comunicação são Abstract Syntax Notation One (um padrão ISO ) e Augmented Backus-Naur form (um padrão IETF ). Modelos de máquinas de estados finitos [54] [55] e máquinas de estados finitos comunicantes [56] são usados para descrever formalmente as possíveis interações do protocolo. Desenvolvimento de protocoloPara que a comunicação ocorra, os protocolos devem ser selecionados. As regras podem ser expressas por algoritmos e estruturas de dados. A independência do hardware e do sistema operacional é aprimorada expressando os algoritmos em uma linguagem de programação portátil. A independência da fonte da especificação fornece uma interoperabilidade mais ampla. Os padrões de protocolo são normalmente criados com a obtenção da aprovação ou suporte de uma organização de padrões, que inicia o processo de padronização. Esta atividade é conhecida como desenvolvimento de protocolo . Os membros da organização de padrões concordam em aderir ao resultado do trabalho de forma voluntária. Freqüentemente, os membros estão no controle de grandes fatias de mercado relevantes para o protocolo e, em muitos casos, os padrões são impostos por lei ou pelo governo porque são considerados importantes para o interesse público, portanto, obter a aprovação pode ser muito importante para o protocolo. A necessidade de padrões de protocoloA necessidade de padrões de protocolo pode ser demonstrada observando o que aconteceu com o protocolo bi-sync (BSC) inventado pela IBM . BSC é um protocolo de nível de link inicial usado para conectar dois nós separados. Ele não foi originalmente planejado para ser usado em uma rede multinó, mas isso revelou várias deficiências do protocolo. Na ausência de padronização, fabricantes e organizações se sentiam livres para 'aprimorar' o protocolo, criando versões incompatíveis em suas redes. Em alguns casos, isso foi feito deliberadamente para desencorajar os usuários de usar equipamentos de outros fabricantes. Existem mais de 50 variantes do protocolo bi-sync original. Pode-se supor que um padrão teria evitado que pelo menos parte disso acontecesse. [21] Em alguns casos, os protocolos ganham domínio do mercado sem passar por um processo de padronização. Esses protocolos são chamados de padrões de fato . Os padrões de fato são comuns em mercados emergentes, nichos de mercado ou mercados monopolizados (ou oligopolizados). Eles podem segurar um mercado em um controle muito negativo, especialmente quando usados para assustar a concorrência. De uma perspectiva histórica, a padronização deve ser vista como uma medida para neutralizar os efeitos negativos dos padrões de fato. Exceções positivas existem; um sistema operacional 'padrão de fato' como o GNU / Linux não tem esse controle negativo sobre seu mercado, porque as fontes são publicadas e mantidas de forma aberta, convidando assim a competição. A padronização, portanto, não é a única solução para a interconexão de sistemas abertos . Organizações de PadrõesAlgumas das organizações de padrões relevantes para os protocolos de comunicação são a International Organization for Standardization (ISO), a International Telecommunication Union (ITU), o Institute of Electrical and Electronics Engineers (IEEE) e a Internet Engineering Task Force (IETF). O IETF mantém os protocolos em uso na Internet. O IEEE controla muitos protocolos de software e hardware na indústria eletrônica para dispositivos comerciais e de consumo. A ITU é uma organização guarda-chuva de engenheiros de telecomunicações que projetam a rede telefônica pública comutada (PSTN), bem como muitos sistemas de comunicação de rádio . Para eletrônicos marinhos, os padrões NMEA são usados. O World Wide Web Consortium (W3C) produz protocolos e padrões para tecnologias da web. As organizações de padrões internacionais devem ser mais imparciais do que as organizações locais com um interesse nacional ou comercial a considerar. As organizações de padrões também fazem pesquisa e desenvolvimento para padrões do futuro. Na prática, as organizações de padronização mencionadas cooperam estreitamente umas com as outras. [57] O Processo de PadronizaçãoO processo de padronização começa com a ISO comissionando um subgrupo de trabalho do subcomitê. O grupo de trabalho emite rascunhos de trabalho e documentos de discussão para as partes interessadas (incluindo outros órgãos de normalização), a fim de provocar discussões e comentários. Isso irá gerar muitas perguntas, muita discussão e geralmente algum desacordo sobre o que o padrão deve fornecer e se pode satisfazer todas as necessidades (geralmente não). Todos os pontos de vista conflitantes devem ser levados em consideração, muitas vezes como meio de compromisso, para avançar para uma proposta preliminar do grupo de trabalho. A minuta da proposta é discutida pelos organismos de normalização dos países membros e outras organizações de cada país. Comentários e sugestões são comparados e visões nacionais serão formuladas, antes que os membros da ISO votem na proposta. Se rejeitado, o projeto de proposta deve considerar as objeções e contrapropostas para criar um novo projeto de proposta para outra votação. Depois de muitos comentários, modificações e compromissos, a proposta atinge o status de um esboço de padrão internacional e, por fim, um padrão internacional . O processo normalmente leva vários anos para ser concluído. O rascunho do papel original criado pelo designer será substancialmente diferente do padrão e conterá alguns dos seguintes 'recursos':
As normas internacionais são reeditadas periodicamente para lidar com as deficiências e refletir as mudanças de visão sobre o assunto. [58] Padronização OSIUma lição aprendida com a ARPANET , a predecessora da Internet, foi que os protocolos precisam de uma estrutura para operar. Portanto, é importante desenvolver uma estrutura de uso geral preparada para o futuro, adequada para protocolos estruturados (como protocolos em camadas) e sua padronização. Isso evitaria padrões de protocolo com funcionalidade sobreposta e permitiria uma definição clara das responsabilidades de um protocolo nos diferentes níveis (camadas). [59] Isso deu origem ao modelo de referência OSI Open Systems Interconnection (RM / OSI), que é usado como uma estrutura para o projeto de protocolos e serviços padrão em conformidade com as especificações de várias camadas. [60] No modelo OSI , os sistemas de comunicação são presumidos como conectados por um meio físico subjacente que fornece um mecanismo de transmissão básico (e não especificado). As camadas acima são numeradas (de um a sete); a n- ésima camada é referida como (n) -camada. Cada camada fornece serviço para a camada acima dela (ou no topo para o processo de aplicação) usando os serviços da camada imediatamente abaixo dela. As camadas se comunicam por meio de uma interface, chamada de ponto de acesso de serviço . As camadas correspondentes em cada sistema são chamadas de entidades de mesmo nível . Para se comunicar, duas entidades de mesmo nível em uma determinada camada usam um protocolo (n), que é implementado usando serviços da camada (n-1). Quando os sistemas não estão conectados diretamente, são usadas entidades de mesmo nível intermediárias (chamadas de relés ). Um endereço identifica exclusivamente um ponto de acesso de serviço. Os domínios de nomenclatura de endereço não precisam ser restritos a uma camada, portanto, é possível usar apenas um domínio de nomenclatura para todas as camadas. [61] Para cada camada, existem dois tipos de padrões: padrões de protocolo que definem como entidades de mesmo nível em uma determinada camada se comunicam e padrões de serviço que definem como uma determinada camada se comunica com a camada acima dela. Na versão original do RM / OSI, as camadas e suas funcionalidades são (da camada mais alta para a mais baixa):
Em contraste com o esquema de camadas TCP / IP , que assume uma rede sem conexão, o RM / OSI assumiu uma rede orientada à conexão. As redes orientadas para conexão são mais adequadas para redes de longa distância e as redes sem conexão são mais adequadas para redes locais. O uso de conexões para se comunicar implica em alguma forma de sessão e circuitos (virtuais), portanto, a camada de sessão (no modelo TCP / IP ausente). Os membros constituintes da ISO estavam principalmente preocupados com redes de área ampla, então o desenvolvimento de RM / OSI concentrado em redes orientadas a conexão e redes sem conexão foram apenas mencionados em um adendo ao RM / OSI. [69] Na época, a IETF teve que lidar com isso e com o fato de que a Internet precisava de protocolos que simplesmente não existiam. Como resultado, o IETF desenvolveu seu próprio processo de padronização baseado em "consenso bruto e código em execução". [70] O processo de padronização é descrito pela RFC2026 . Atualmente, o IETF se tornou uma organização de padrões para os protocolos em uso na Internet. RM / OSI estendeu seu modelo para incluir serviços sem conexão e, por causa disso, tanto o TCP quanto o IP podem ser desenvolvidos em padrões internacionais. TaxonomiasOs esquemas de classificação para protocolos geralmente se concentram no domínio de uso e função. Como um exemplo de domínio de uso, os protocolos orientados à conexão e os protocolos sem conexão são usados em redes orientadas à conexão e redes sem conexão, respectivamente. Um exemplo de função é um protocolo de encapsulamento , que é usado para encapsular pacotes em um protocolo de alto nível, de forma que os pacotes possam ser passados por um sistema de transporte usando o protocolo de alto nível. Um esquema de camadas combina função e domínio de uso. Os esquemas de estratificação dominantes são os propostos pela IETF e pela ISO. Apesar do fato de que as suposições subjacentes dos esquemas de camadas são diferentes o suficiente para garantir a distinção dos dois, é uma prática comum comparar os dois relacionando protocolos comuns às camadas dos dois esquemas. [71] O esquema de camadas do IETF é chamado de camadas de Internet ou camadas de TCP / IP . O esquema de camadas da ISO é chamado de modelo OSI ou camadas ISO . Na configuração do equipamento de rede, muitas vezes é feita uma distinção entre os termos da técnica: o termo "protocolo" refere-se estritamente à camada de transporte e o termo "serviço" se refere a protocolos que utilizam um "protocolo" para transporte. No caso comum de TCP e UDP, os serviços são diferenciados por números de porta. A conformidade com esses números de porta é voluntária, portanto, em sistemas de inspeção de conteúdo, o termo "serviço" refere-se estritamente aos números de porta, e o termo "aplicativo" costuma ser usado para se referir a protocolos identificados por meio de assinaturas de inspeção. Veja também
Notas
Referências
Bibliografia
Leitura adicional
links externos
Quais são os três requisitos definidos pelos protocolos usados nas comunicações de rede para possibilitar a transmissão da mensagem pela rede escolha três?2 / 2 ptsPergunta 5 Quais são os três requisitos definidos pelos protocolos usados nas comunicações de rede para possibilitar a transmissão da mensagem pela rede? (Escolha três.) especificações do conector codificação de mensagem Correto! Correto! seleção de meio físico tamanho da mensagem Correto!
Quais são as duas características do IP?Características do protocolo IP
O IP foi desenvolvido como um protocolo com baixa sobrecarga. Ele somente fornece as funções necessárias para enviar um pacote de uma origem a um destino por um sistema de redes interconectadas. O protocolo não foi elaborado para rastrear e gerenciar o fluxo dos pacotes.
Quais duas funções são fornecidas pela camada de rede?As funções exercidas na camada de rede do modelo OSI estão listados abaixo: Tráfego direção ao destino final. Dirigindo; lógico endereços de rede e serviços endereços.
Qual protocolo é usado por um cliente para se comunicar com segurança com um servidor da Web?O protocolo SSL (Secure Sockets Layer — Camada de Portas de Segurança) permite a comunicação segura entre os lados cliente e servidor de uma aplicação web, por meio de uma confirmação da identidade de um servidor e a verificação do seu nível de confiança.
|