Conjunto de protocolo de Internet - Internet protocol suite

O conjunto de protocolos da Internet, comumente conhecido como TCP / IP, é o conjunto de protocolos de comunicação usados ​​na Internet e em redes de computadores semelhantes . Os protocolos básicos atuais do conjunto são o Transmission Control Protocol (TCP) e o Internet Protocol (IP).

Durante o seu desenvolvimento, versões de que eram conhecidos como o Departamento de Defesa ( DoD ) modelo porque o desenvolvimento do método de rede foi financiada pelo Departamento de Estados Unidos da Defesa através DARPA . Sua implementação é uma pilha de protocolo .

O pacote de protocolos da Internet fornece comunicação de dados ponta a ponta, especificando como os dados devem ser empacotados, endereçados, transmitidos, roteados e recebidos. Essa funcionalidade é organizada em quatro camadas de abstração , que classificam todos os protocolos relacionados de acordo com o escopo de rede de cada protocolo. Do mais baixo ao mais alto, as camadas são a camada de enlace , contendo métodos de comunicação para dados que permanecem em um único segmento de rede (enlace); a camada de internet , fornecendo internetworking entre redes independentes; a camada de transporte , lidando com a comunicação host-a-host; e a camada de aplicativo , fornecendo troca de dados processo a processo para aplicativos.

Os padrões técnicos subjacentes ao conjunto de protocolos da Internet e seus protocolos constituintes são mantidos pela Internet Engineering Task Force (IETF). O conjunto de protocolos da Internet é anterior ao modelo OSI , uma estrutura de referência mais abrangente para sistemas de rede em geral.

História

Pesquisa inicial

Diagrama da primeira conexão internetworked
Um SRI International Packet Radio Van , usado para a primeira transmissão interligada de três vias .

O conjunto de protocolos da Internet resultou de pesquisa e desenvolvimento conduzido pela Agência de Projetos de Pesquisa Avançada de Defesa ( DARPA ) no final dos anos 1960. Depois de iniciar a ARPANET pioneira em 1969, a DARPA começou a trabalhar em uma série de outras tecnologias de transmissão de dados. Em 1972, Robert E. Kahn ingressou no Escritório de Tecnologia de Processamento de Informação da DARPA , onde trabalhou em redes de pacotes de satélite e redes de pacotes de rádio baseadas em terra, e reconheceu o valor de ser capaz de se comunicar entre as duas. Na primavera de 1973, Vinton Cerf , que ajudou a desenvolver o protocolo ARPANET Network Control Program (NCP) existente, juntou-se à Kahn para trabalhar em modelos de interconexão de arquitetura aberta com o objetivo de projetar a próxima geração de protocolo para a ARPANET. Eles aproveitaram a experiência da comunidade de pesquisa da ARPANET e do Grupo de Trabalho de Rede Internacional , presidido por Cerf.

Até o verão de 1973, Kahn e Cerf tinha trabalhado uma reformulação fundamentais, em que as diferenças entre os protocolos de rede locais estavam escondidos usando um comum protocolo internetwork , e, em vez da rede ser responsável pela confiabilidade, como no actual ARPANET protocolos , esta função foi delegada aos anfitriões. Cerf credita Hubert Zimmermann e Louis Pouzin , projetista da rede CYCLADES , importantes influências neste projeto. O novo protocolo foi implementado como Programa de Controle de Transmissão em 1974.

Inicialmente, o Programa de Controle de Transmissão gerenciava tanto as transmissões de datagramas quanto o roteamento, mas conforme a experiência com o protocolo crescia, os colaboradores recomendaram a divisão da funcionalidade em camadas de protocolos distintos. Os defensores incluíram Jonathan Postel, do Instituto de Ciências da Informação da University of Southern California , que editou o Request for Comments (RFCs), a série de documentos técnicos e estratégicos que documentou e catalisou o desenvolvimento da Internet e o grupo de pesquisa de Robert Metcalfe no Xerox PARC . Postel afirmou: "Estamos bagunçando nosso projeto de protocolos de Internet ao violar o princípio de camadas." O encapsulamento de diferentes mecanismos tinha como objetivo criar um ambiente onde as camadas superiores pudessem acessar apenas o que fosse necessário das camadas inferiores. Um design monolítico seria inflexível e levaria a problemas de escalabilidade. Na versão 3 do TCP, escrito em 1978, o Programa de Controle de Transmissão foi dividido em dois protocolos distintos, o Protocolo de Internet como camada sem conexão e o Protocolo de Controle de Transmissão como um serviço orientado a conexão confiável .

O projeto da rede incluiu o reconhecimento de que ela deveria fornecer apenas as funções de transmissão e roteamento eficiente do tráfego entre os nós finais e que todas as outras informações deveriam estar localizadas na borda da rede, nos nós finais. Esse design é conhecido como princípio de ponta a ponta . Usando este projeto, tornou-se possível conectar outras redes à ARPANET que usavam o mesmo princípio, independentemente de outras características locais, resolvendo assim o problema inicial de internetworking de Kahn. Uma expressão popular é que o TCP / IP, o produto final do trabalho de Cerf e Kahn, pode atropelar "duas latas e um barbante". Anos depois, como uma piada, a especificação do protocolo formal IP over Avian Carriers foi criada e testada com sucesso.

A DARPA contratou a BBN Technologies , a Stanford University e a University College London para desenvolver versões operacionais do protocolo em várias plataformas de hardware. Durante o desenvolvimento do protocolo, o número da versão da camada de roteamento de pacotes progrediu da versão 1 para a versão 4, esta última instalada na ARPANET em 1983. Ficou conhecido como Internet Protocol versão 4 (IPv4) como o protocolo que ainda é em uso na Internet, ao lado de seu sucessor atual, Internet Protocol versão 6 (IPv6).

Implementação antecipada

Em 1975, um teste de comunicações IP de duas redes foi realizado entre Stanford e a University College London. Em novembro de 1977, um teste de IP de três redes foi conduzido entre sites nos Estados Unidos, Reino Unido e Noruega. Vários outros protótipos IP foram desenvolvidos em vários centros de pesquisa entre 1978 e 1983. Antes do "Dia da Bandeira" de 1o de janeiro de 1983, a Internet usava NCP em vez de TCP como protocolo da camada de transporte.

Um computador denominado roteador é fornecido com uma interface para cada rede. Ele encaminha pacotes de rede para frente e para trás entre eles. Originalmente, um roteador era chamado de gateway , mas o termo foi alterado para evitar confusão com outros tipos de gateways .

Adoção

Em março de 1982, o Departamento de Defesa dos Estados Unidos declarou o TCP / IP como o padrão para todas as redes de computadores militares. No mesmo ano, NORSAR e o grupo de pesquisa de Peter Kirstein na University College London adotaram o protocolo. A migração da ARPANET para TCP / IP foi oficialmente concluída no dia 1 de janeiro de 1983, quando os novos protocolos foram ativados permanentemente.

Em 1985, o Internet Advisory Board (posteriormente Internet Architecture Board ) realizou um workshop de três dias sobre TCP / IP para a indústria de computadores, com a presença de 250 representantes de fornecedores, promovendo o protocolo e levando ao seu crescente uso comercial. Em 1985, a primeira conferência Interop enfocou a interoperabilidade de rede pela adoção mais ampla do TCP / IP. A conferência foi fundada por Dan Lynch, um dos primeiros ativistas da Internet. Desde o início, grandes corporações, como IBM e DEC, participaram do encontro.

IBM, AT&T e DEC foram as primeiras grandes corporações a adotar TCP / IP, apesar de terem protocolos proprietários concorrentes . Na IBM, a partir de 1984, o grupo de Barry Appelman fez o desenvolvimento TCP / IP. Eles navegaram na política corporativa para obter um fluxo de produtos TCP / IP para vários sistemas IBM, incluindo MVS , VM e OS / 2 . Ao mesmo tempo, várias empresas menores, como a FTP Software e o Wollongong Group , começaram a oferecer pilhas TCP / IP para DOS e Microsoft Windows . A primeira pilha VM / CMS TCP / IP veio da Universidade de Wisconsin.

Algumas das primeiras pilhas TCP / IP foram escritas sozinhas por alguns programadores. Jay Elinsky e Oleg Vishnepolsky  [ ru ] da IBM Research escreveram pilhas TCP / IP para VM / CMS e OS / 2, respectivamente. Em 1984, Donald Gillies no MIT escreveu um TCP multi-conexão ntcp que rodou sobre a camada IP / PacketDriver mantida por John Romkey no MIT em 1983-4. Romkey aproveitou esse TCP em 1986, quando a FTP Software foi fundada. A partir de 1985, Phil Karn criou um aplicativo TCP multi-conexão para sistemas de rádio amador (KA9Q TCP).

A disseminação do TCP / IP foi impulsionada ainda mais em junho de 1989, quando a Universidade da Califórnia, Berkeley, concordou em colocar o código TCP / IP desenvolvido para BSD UNIX em domínio público. Vários fornecedores corporativos, incluindo IBM, incluíram este código em versões comerciais de software TCP / IP. A Microsoft lançou uma pilha TCP / IP nativa no Windows 95. Este evento ajudou a cimentar o domínio do TCP / IP sobre outros protocolos em redes baseadas na Microsoft, que incluíam Systems Network Architecture (SNA) da IBM e em outras plataformas, como Digital Equipment Corporation 's DECnet , Open Systems Interconnection (OSI) e Xerox Network Systems (XNS).

No entanto, por um período no final da década de 1980 e início da década de 1990, engenheiros, organizações e nações foram polarizados sobre a questão de qual padrão , o modelo OSI ou o conjunto de protocolos da Internet resultaria nas melhores e mais robustas redes de computadores.

Especificação formal e padrões

Os padrões técnicos subjacentes ao conjunto de protocolos da Internet e seus protocolos constituintes foram delegados à Internet Engineering Task Force (IETF).

A arquitetura característica do Internet Protocol Suite é sua ampla divisão em escopos operacionais para os protocolos que constituem sua funcionalidade principal. A especificação definidora do conjunto é RFC 1122, que descreve amplamente quatro camadas de abstração . Eles resistiram ao teste do tempo, pois a IETF nunca modificou essa estrutura. Como tal modelo de rede, o Internet Protocol Suite é anterior ao modelo OSI, uma estrutura de referência mais abrangente para sistemas de rede em geral.

Princípios arquitetônicos chave

Fluxo de dados conceituais em uma topologia de rede simples de dois hosts ( A e B ) conectados por um link entre seus respectivos roteadores. O aplicativo em cada host executa operações de leitura e gravação como se os processos estivessem diretamente conectados entre si por algum tipo de canal de dados. Após o estabelecimento desse tubo, a maioria dos detalhes da comunicação são ocultados de cada processo, pois os princípios básicos de comunicação são implementados nas camadas inferiores do protocolo. Por analogia, na camada de transporte a comunicação aparece como host-a-host, sem conhecimento das estruturas de dados do aplicativo e dos roteadores de conexão, enquanto na camada de internetworking, os limites de rede individuais são atravessados ​​em cada roteador.
Encapsulamento de dados de aplicativos descendo pelas camadas descritas no RFC 1122

O princípio de ponta a ponta evoluiu ao longo do tempo. Sua expressão original colocava a manutenção do estado e da inteligência geral nas bordas, e pressupunha que a Internet que conectava as bordas não retinha nenhum estado e se concentrava na velocidade e na simplicidade. As necessidades reais de firewalls, tradutores de endereço de rede, caches de conteúdo da web e similares forçaram mudanças neste princípio.

O princípio de robustez afirma: "Em geral, uma implementação deve ser conservadora em seu comportamento de envio e liberal em seu comportamento de recebimento. Ou seja, deve ter o cuidado de enviar datagramas bem formados, mas deve aceitar qualquer datagrama que possa interpretar ( por exemplo, não se oponha a erros técnicos onde o significado ainda é claro). " "A segunda parte do princípio é quase tão importante: o software em outros hosts pode conter deficiências que tornam imprudente explorar recursos de protocolo legais, mas obscuros."

O encapsulamento é usado para fornecer abstração de protocolos e serviços. O encapsulamento é geralmente alinhado com a divisão do conjunto de protocolos em camadas de funcionalidade geral. Em geral, um aplicativo (o nível mais alto do modelo) usa um conjunto de protocolos para enviar seus dados pelas camadas. Os dados são posteriormente encapsulados em cada nível.

Um dos primeiros documentos arquitetônicos, RFC  1122 , enfatiza os princípios arquitetônicos sobre as camadas. O RFC 1122, intitulado Requisitos do Host , é estruturado em parágrafos que se referem a camadas, mas o documento se refere a muitos outros princípios arquitetônicos e não enfatiza as camadas. Ele define vagamente um modelo de quatro camadas, com as camadas tendo nomes, não números, da seguinte maneira:

  • A camada de aplicativo é o escopo dentro do qual aplicativos, ou processos , criam dados do usuário e comunicam esses dados a outros aplicativos em outro ou no mesmo host. As aplicações de fazer uso dos serviços fornecidos por as camadas inferiores subjacentes, especialmente a camada de transporte que proporciona fiáveis ou não confiáveis tubos para outros processos. Os parceiros de comunicação são caracterizados pela arquitetura do aplicativo, como o modelo cliente-servidor e rede ponto a ponto . Esta é a camada em que operam todos os protocolos de aplicativos, como SMTP, FTP, SSH, HTTP. Os processos são endereçados por meio de portas que representam essencialmente serviços .
  • A camada de transporte realiza comunicações host a host na rede local ou em redes remotas separadas por roteadores. Ele fornece um canal para as necessidades de comunicação dos aplicativos. UDP é o protocolo básico da camada de transporte, fornecendo um serviço de datagrama sem conexão confiável . O protocolo de controle de transmissão fornece controle de fluxo, estabelecimento de conexão e transmissão confiável de dados.
  • A camada da Internet troca datagramas através dos limites da rede. Ele fornece uma interface de rede uniforme que oculta a topologia (layout) real das conexões de rede subjacentes. Portanto, é também a camada que estabelece a internetworking. Na verdade, ele define e estabelece a Internet. Essa camada define as estruturas de endereçamento e roteamento usadas para o conjunto de protocolos TCP / IP. O protocolo principal neste escopo é o Protocolo da Internet, que define os endereços IP . Sua função no roteamento é transportar datagramas para o próximo host, funcionando como um roteador IP, que possui a conectividade com uma rede mais próxima do destino final dos dados.
  • A camada de link define os métodos de rede dentro do escopo do link de rede local em que os hosts se comunicam sem a intervenção de roteadores. Essa camada inclui os protocolos usados ​​para descrever a topologia da rede local e as interfaces necessárias para afetar a transmissão dos datagramas da camada da Internet para os hosts vizinhos.

Camada de link

Os protocolos da camada de enlace operam dentro do escopo da conexão de rede local à qual um host está conectado. Esse regime é chamado de link na linguagem TCP / IP e é a camada de componente mais baixa do conjunto. O link inclui todos os hosts acessíveis sem atravessar um roteador. O tamanho do link é, portanto, determinado pelo design do hardware de rede. Em princípio, o TCP / IP é projetado para ser independente de hardware e pode ser implementado em praticamente qualquer tecnologia de camada de link. Isso inclui não apenas implementações de hardware, mas também camadas de link virtual, como redes privadas virtuais e túneis de rede .

A camada de link é usada para mover pacotes entre as interfaces da camada de Internet de dois hosts diferentes no mesmo link. Os processos de transmissão e recebimento de pacotes no link podem ser controlados no driver de dispositivo da placa de rede , bem como em firmware ou por chipsets especializados . Eles executam funções, como enquadramento, para preparar os pacotes da camada da Internet para transmissão e, finalmente, transmitir os quadros para a camada física e por meio de transmissão . O modelo TCP / IP inclui especificações para converter os métodos de endereçamento de rede usados ​​no protocolo da Internet para endereços de camada de link, como endereços de controle de acesso à mídia (MAC). Todos os outros aspectos abaixo desse nível, entretanto, são implicitamente assumidos como existentes e não são explicitamente definidos no modelo TCP / IP.

A camada de link no modelo TCP / IP tem funções correspondentes na Camada 2 do modelo OSI.

Camada de Internet

Internetworking requer o envio de dados da rede de origem para a rede de destino. Esse processo é chamado de roteamento e é suportado pelo endereçamento e identificação do host usando o sistema de endereçamento IP hierárquico . A camada de Internet fornece uma facilidade de transmissão de datagrama não confiável entre hosts localizados em redes IP potencialmente diferentes, encaminhando datagramas a um roteador de próximo salto apropriado para retransmissão posterior a seu destino. A camada da Internet tem a responsabilidade de enviar pacotes através de redes potencialmente múltiplas. Com esta funcionalidade, a camada da Internet possibilita a internetworking, a interoperação de diferentes redes IP e, essencialmente, estabelece a Internet.

A camada da Internet não faz distinção entre os vários protocolos da camada de transporte. O IP transporta dados para uma variedade de diferentes protocolos de camada superior . Cada um desses protocolos é identificado por um número de protocolo exclusivo : por exemplo, Internet Control Message Protocol (ICMP) e Internet Group Management Protocol (IGMP) são protocolos 1 e 2, respectivamente.

O protocolo da Internet é o principal componente da camada da Internet e define dois sistemas de endereçamento para identificar os hosts da rede e localizá-los na rede. O sistema de endereços original da ARPANET e seu sucessor, a Internet, é o protocolo da Internet versão 4 (IPv4). Ele usa um endereço IP de 32 bits e, portanto, é capaz de identificar aproximadamente quatro bilhões de hosts. Essa limitação foi eliminada em 1998 com a padronização do protocolo da Internet versão 6 (IPv6), que usa endereços de 128 bits. As implementações de produção IPv6 surgiram aproximadamente em 2006.

Camada de transporte

A camada de transporte estabelece canais de dados básicos que os aplicativos usam para troca de dados de tarefas específicas. A camada estabelece a conectividade host-a-host na forma de serviços de transferência de mensagem ponta a ponta que são independentes da rede subjacente e da estrutura de dados do usuário e da logística de troca de informações. A conectividade na camada de transporte pode ser categorizada como orientada à conexão , implementada em TCP, ou sem conexão , implementada em UDP. Os protocolos nesta camada podem fornecer controle de erro , segmentação , controle de fluxo , controle de congestionamento e endereçamento de aplicativo ( números de porta ).

Com o objetivo de fornecer canais de transmissão específicos do processo para aplicativos, a camada estabelece o conceito de porta de rede . Esta é uma construção lógica numerada alocada especificamente para cada um dos canais de comunicação de que um aplicativo precisa. Para muitos tipos de serviços, esses números de porta foram padronizados para que os computadores clientes possam endereçar serviços específicos de um computador servidor sem o envolvimento de descoberta de serviço ou serviços de diretório .

Como o IP fornece apenas uma entrega de melhor esforço , alguns protocolos da camada de transporte oferecem confiabilidade.

TCP é um protocolo orientado a conexão que aborda vários problemas de confiabilidade ao fornecer um fluxo de bytes confiável :

  • os dados chegam em ordem
  • os dados têm erro mínimo (ou seja, exatidão)
  • dados duplicados são descartados
  • pacotes perdidos ou descartados são reenviados
  • inclui controle de congestionamento de tráfego

O mais recente protocolo de transmissão de controle de fluxo (SCTP) também é um mecanismo de transporte orientado a conexão confiável. Ele é orientado por fluxo de mensagens, não por fluxo de bytes como o TCP, e fornece vários fluxos multiplexados em uma única conexão. Ele também fornece suporte multihoming , no qual um final de conexão pode ser representado por vários endereços IP (representando várias interfaces físicas), de forma que, se uma falhar, a conexão não será interrompida. Ele foi desenvolvido inicialmente para aplicativos de telefonia (para transportar SS7 sobre IP).

A confiabilidade também pode ser alcançada executando o IP sobre um protocolo de link de dados confiável, como o Controle de link de dados de alto nível (HDLC).

O User Datagram Protocol (UDP) é um protocolo de datagrama sem conexão . Como o IP, é um protocolo não confiável e de melhor esforço. A confiabilidade é abordada por meio da detecção de erros usando um algoritmo de soma de verificação. UDP é normalmente usado para aplicativos como streaming de mídia (áudio, vídeo, voz sobre IP etc.) em que a chegada pontual é mais importante do que a confiabilidade, ou para aplicativos de consulta / resposta simples, como pesquisas de DNS , em que a sobrecarga de configurar um conexão confiável é desproporcionalmente grande. O protocolo de transporte em tempo real (RTP) é um protocolo de datagrama usado em UDP e projetado para dados em tempo real, como mídia de streaming .

Os aplicativos em qualquer endereço de rede são diferenciados por suas portas TCP ou UDP. Por convenção, certas portas bem conhecidas estão associadas a aplicativos específicos.

O transporte do modelo TCP / IP ou camada host-a-host corresponde aproximadamente à quarta camada no modelo OSI, também chamada de camada de transporte.

Camada de aplicação

A camada de aplicativo inclui os protocolos usados ​​pela maioria dos aplicativos para fornecer serviços ao usuário ou trocar dados de aplicativo pelas conexões de rede estabelecidas pelos protocolos de nível inferior. Isso pode incluir alguns serviços básicos de suporte de rede, como protocolos de roteamento e configuração de host. Exemplos de protocolos de camada de aplicativo incluem o protocolo de transferência de hipertexto (HTTP), o protocolo de transferência de arquivos (FTP), o protocolo de transferência de correio simples (SMTP) e o protocolo de configuração dinâmica de hosts (DHCP). Os dados codificados de acordo com os protocolos da camada de aplicação são encapsulados em unidades de protocolo da camada de transporte (como fluxos TCP ou datagramas UDP), que por sua vez usam protocolos de camada inferior para efetuar a transferência real de dados.

O modelo TCP / IP não considera as especificidades de formatação e apresentação de dados e não define camadas adicionais entre as camadas de aplicação e transporte como no modelo OSI (camadas de apresentação e sessão). De acordo com o modelo TCP / IP, essas funções pertencem às bibliotecas e às interfaces de programação de aplicativos . A camada de aplicativo no modelo TCP / IP é frequentemente comparada a uma combinação da quinta (sessão), sexta (apresentação) e sétima (aplicativo) camadas do modelo OSI.

Os protocolos da camada de aplicativos são frequentemente associados a aplicativos cliente-servidor específicos , e os serviços comuns têm números de portas bem conhecidos reservados pela Internet Assigned Numbers Authority (IANA). Por exemplo, o HyperText Transfer Protocol usa a porta do servidor 80 e o Telnet usa a porta do servidor 23. Os clientes que se conectam a um serviço geralmente usam portas efêmeras , ou seja, números de porta atribuídos apenas para a duração da transação aleatoriamente ou a partir de um intervalo específico configurado no aplicativo.

Na camada de aplicação, o modelo TCP / IP distingue entre protocolos de usuário e protocolos de suporte . Os protocolos de suporte fornecem serviços a um sistema de infraestrutura de rede. Os protocolos de usuário são usados ​​para aplicativos de usuário reais. Por exemplo, FTP é um protocolo de usuário e DNS é um protocolo de suporte.

Embora os aplicativos geralmente estejam cientes das qualidades principais da conexão da camada de transporte, como os endereços IP de endpoint e números de porta, os protocolos da camada de aplicativo geralmente tratam os protocolos da camada de transporte (e inferiores) como caixas pretas que fornecem uma conexão de rede estável através da qual se comunicam . A camada de transporte e as camadas de nível inferior não se preocupam com as especificações dos protocolos da camada de aplicação. Roteadores e switches normalmente não examinam o tráfego encapsulado, mas apenas fornecem um conduíte para ele. No entanto, alguns aplicativos de firewall e de limitação de largura de banda usam inspeção profunda de pacotes para interpretar os dados do aplicativo. Um exemplo é o protocolo de reserva de recursos (RSVP). Às vezes, também é necessário que os aplicativos afetados pelo NAT considerem a carga útil do aplicativo.

Nomes de camadas e número de camadas na literatura

A tabela a seguir mostra vários modelos de rede. O número de camadas varia entre três e sete.

RFC 1122, Internet STD 3 (1989) Cisco Academy Kurose, Forouzan Comer, Kozierok Stallings Tanenbaum Modelo de Referência Arpanet (RFC 871) Modelo OSI
Quatro camadas Quatro camadas Cinco camadas Quatro + uma camadas Cinco camadas Cinco camadas Três camadas Sete camadas
"Modelo de Internet" "Modelo de Internet" "Modelo de Internet de cinco camadas" ou "pacote de protocolos TCP / IP" "Modelo de referência de 5 camadas TCP / IP" "Modelo TCP / IP" "Modelo de referência de 5 camadas TCP / IP" "Modelo de referência Arpanet" Modelo OSI
Aplicativo Aplicativo Aplicativo Aplicativo Aplicativo Aplicativo Processo de aplicação Aplicativo
Apresentação
Sessão
Transporte Transporte Transporte Transporte Host-a-host ou transporte Transporte Hospedagem a hospedagem Transporte
Internet Internetwork Rede Internet Internet Internet Rede
Ligação Interface de rede Link de dados Link de dados (interface de rede) Acesso à rede Link de dados Interface de rede Link de dados
Fisica (Hardware) Fisica Fisica Fisica

Alguns dos modelos de rede são de livros didáticos, que são fontes secundárias que podem entrar em conflito com a intenção da RFC 1122 e outras fontes primárias da IETF .

Comparação de camadas TCP / IP e OSI

As três camadas superiores no modelo OSI, ou seja, a camada de aplicação, a camada de apresentação e a camada de sessão, não são distinguidas separadamente no modelo TCP / IP que possui apenas uma camada de aplicação acima da camada de transporte. Embora alguns aplicativos de protocolo OSI puros, como o X.400 , também os combinem, não há nenhum requisito de que uma pilha de protocolo TCP / IP imponha uma arquitetura monolítica acima da camada de transporte. Por exemplo, o protocolo de aplicativo NFS é executado no protocolo de apresentação External Data Representation (XDR), que, por sua vez, é executado em um protocolo chamado Remote Procedure Call (RPC). O RPC fornece transmissão de registro confiável, para que possa usar o transporte UDP de melhor esforço com segurança.

Diferentes autores interpretaram o modelo TCP / IP de maneira diferente e discordam se a camada de link, ou qualquer aspecto do modelo TCP / IP, cobre questões da camada 1 ( camada física ) OSI , ou se o TCP / IP assume que existe uma camada de hardware abaixo do camada de link.

Vários autores tentaram incorporar as camadas 1 e 2 do modelo OSI ao modelo TCP / IP, uma vez que são comumente referidas nos padrões modernos (por exemplo, pelo IEEE e ITU ). Isso geralmente resulta em um modelo com cinco camadas, onde a camada de link ou camada de acesso à rede é dividida nas camadas 1 e 2 do modelo OSI.

O esforço de desenvolvimento do protocolo IETF não se preocupa com estratificação estrita. Alguns de seus protocolos podem não se encaixar perfeitamente no modelo OSI, embora as RFCs às vezes se refiram a ele e geralmente usem os antigos números da camada OSI. A IETF afirmou repetidamente que o protocolo da Internet e o desenvolvimento de arquitetura não se destinam a ser compatíveis com OSI. A RFC 3439, referente à arquitetura da Internet, contém uma seção intitulada: "Layering Considered Harmful".

Por exemplo, as camadas de sessão e apresentação do conjunto OSI são consideradas incluídas na camada de aplicativo do conjunto TCP / IP. A funcionalidade da camada de sessão pode ser encontrada em protocolos como HTTP e SMTP e é mais evidente em protocolos como Telnet e o protocolo de iniciação de sessão (SIP). A funcionalidade da camada de sessão também é realizada com a numeração de portas dos protocolos TCP e UDP, que estão incluídos na camada de transporte do conjunto TCP / IP. As funções da camada de apresentação são realizadas nas aplicações TCP / IP com o padrão MIME na troca de dados.

Os protocolos IETF podem ser encapsulados recursivamente, conforme demonstrado por protocolos de encapsulamento, como o Encapsulamento de Roteamento Genérico (GRE). GRE usa o mesmo mecanismo que o OSI usa para tunelamento na camada de rede.

Implementações

O conjunto de protocolos da Internet não pressupõe nenhum ambiente de hardware ou software específico. Requer apenas a existência de uma camada de hardware e software capaz de enviar e receber pacotes em uma rede de computadores. Como resultado, o pacote foi implementado em praticamente todas as plataformas de computação. Uma implementação mínima de TCP / IP inclui o seguinte: Protocolo de Internet (IP), Protocolo de Resolução de Endereço (ARP), Protocolo de Mensagem de Controle de Internet (ICMP), Protocolo de Controle de Transmissão (TCP), Protocolo de Datagrama de Usuário (UDP) e Gerenciamento de Grupo da Internet Protocolo (IGMP). Além de IP, ICMP, TCP, UDP, o Internet Protocol versão 6 requer Neighbour Discovery Protocol (NDP), ICMPv6 e Multicast Listener Discovery (MLD) e geralmente é acompanhado por uma camada de segurança IPSec integrada .

Veja também

Bibliografia

Referências

links externos