TCP/IP

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Esta página ou secção não cita nenhuma fonte ou referência, o que compromete sua credibilidade (desde junho de 2011).
Por favor, melhore este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto por meio de notas de rodapé. Encontre fontes: Googlenotícias, livros, acadêmicoYahoo!Bing. Veja como referenciar e citar as fontes.

O TCP/IP (também chamado de pilha de protocolos TCP/IP) é um conjunto de protocolos de comunicação entre computadores em rede. Seu nome vem de dois protocolos: o TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão) e o IP (Internet Protocol - Protocolo de Internet, ou ainda, protocolo de interconexão). O conjunto de protocolos pode ser visto como um modelo de camadas (Modelo OSI), onde cada camada é responsável por um grupo de tarefas, fornecendo um conjunto de serviços bem definidos para o protocolo da camada superior. As camadas mais altas estão logicamente mais perto do usuário (chamada camada de aplicação) e lidam com dados mais abstratos, confiando em protocolos de camadas mais baixas para tarefas de menor nível de abstração.

História TCP/IP[editar | editar código-fonte]

O TCP/IP foi desenvolvido em 1969 pelo U.S. Departament of Defense Advanced Research Projects Agency, como um recurso para um projeto experimental chamado de ARPANET (Advanced Research Project Agency Network) para preencher a necessidade de comunicação entre um grande numero de sistemas de computadores e várias organizações militares dispersas. O objetivo do projeto era disponibilizar links (vínculos) de comunicação com alta velocidade, utilizando redes de comutação de pacotes. O protocolo deveria ser capaz de identificar e encontrar a melhor rota possível entre dois sites (locais), além de ser capaz de procurar rotas alternativas para chegar ao destino, caso qualquer uma das rotas tivesse sido destruída. O objetivo principal da elaboração de TCP/IP foi na época, encontrar um protocolo que pudesse tentar de todas as formas uma comunicação caso ocorresse uma guerra nuclear. A partir de 1972 o projeto ARPANET começou crescer em uma comunidade internacional e hoje se transformou no que conhecemos como Internet. Em 1983 ficou definido que todos os computadores conectados ao ARPANET passariam a utilizar o TCP/IP. No final dos anos 80 o Fundação Nacional de Ciências em Washington, D.C, começou construir o NSFNET, um backbone para um supercomputador que serviria para interconectar diferentes comunidades de pesquisa e também os computadores da ARPANET. Em 1990 o NSFNET se tornou o backbone das redes para a Internet, padronizando definitivamente o TCP/IP.

Especificação

De 1973 a 1974, o grupo CERF de redes de pesquisas de Stanford trabalhou os detalhes da ideia do protocolo TCP/IP, resultando em sua primeira especificação. A influência técnica significativa foi o trabalho da Xerox PARC, que produziu o PARC (Packet Universal protocolo suite), muito do que existia naquela época.[necessário esclarecer]

DARPA então contratado pela BBN Technologies, da Universidade de Stanford e da University College London (UCL) para desenvolver versões operacionais do protocolo sobre diferentes plataformas de hardware. Quatro versões foram desenvolvidas: TCP v1, v2 TCP, TCP v3 e v3 IP e TCP / IP v4. O último protocolo ainda está em uso hoje.

Em 1975, foi realizada um teste de comunicação entre as duas redes TCP/IP entre Stanford e UCL (as duas universidades citadas anteriormente). Em novembro de 1977, foi realizado um teste entre três redes TCP/IP entre os sites nos EUA, Reino Unido e Noruega. Vários outros protótipos TCP/IP foram desenvolvidos em múltiplos centros de pesquisa entre 1978 e 1983. A migração da ARPANET para o TCP/IP foi oficialmente concluído no dia da bandeira, 01 de janeiro de 1983, quando os novos protocolos foram permanentemente ativados.

Benefícios do protocolo TCP/IP[editar | editar código-fonte]

O TCP/IP sempre foi considerado um protocolo bastante pesado,[carece de fontes?] exigindo muita memória e hardware para ser utilizado. Com o desenvolvimento das interfaces gráficas, com a evolução dos processadores e com o esforço dos desenvolvedores de sistemas operacionais em oferecer o TCP/IP para as suas plataformas com performance igual ou às vezes superior aos outros protocolos, o TCP/IP se tornou um protocolo indispensável. Hoje ele é tido como “The Master of the Network” (O Mestre das Redes),[carece de fontes?] pois a maioria das LANs exige a sua utilização para acesso ao mundo externo. O TCP/IP oferece alguns benefícios, dentre eles:

  • Padronização: um padrão, um protocolo roteável que é o mais completo e aceito protocolo disponível atualmente. Todos os sistemas operacionais modernos oferecem suporte para o TCP/IP e a maioria das grandes redes se baseia em TCP/IP para a maior parte de seu tráfego.
  • Interconectividade: uma tecnologia para conectar sistemas não similares. Muitos utilitários padrões de conectividade estão disponíveis para acessar e transferir dados entre esses sistemas não similares, incluindo FTP (File Transfer Protocol) e Telnet (Terminal Emulation Protocol).
  • Roteamento: permite e habilita as tecnologias mais antigas e as novas se conectarem à Internet. Trabalha com protocolos de linha como PPP (Point to Point Protocol) permitindo conexão remota a partir de linha discada ou dedicada. Trabalha como os mecanismos IPCs e interfaces mais utilizados pelos sistemas operacionais, como Windows sockets e NetBIOS.
  • Protocolo Robusto: escalável, multiplataforma, com estrutura para ser utilizada em sistemas operacionais cliente/servidor, permitindo a utilização de aplicações desse porte entre dois pontos distantes.
  • Internet: é através da suíte de protocolos TCP/IP que obtemos acesso a Internet. As redes locais distribuem servidores de acesso a Internet (proxy servers) e os hosts locais se conectam a estes servidores para obter o acesso a Internet. Este acesso só pode ser conseguido se os computadores estiverem configurados para utilizar TCP/IP.

Protocolos para Internet[editar | editar código-fonte]

Protocolos Internet (TCP/IP)
Camada Protocolo
5.Aplicação HTTP, SMTP, FTP, SSH, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping ...
4.Transporte TCP, UDP, RTP, SCTP, DCCP ...
3.Rede IP (IPv4, IPv6) , ARP, RARP, ICMP, IPsec ...
2.Enlace Ethernet, 802.11 (WiFi), 802.1Q (VLAN), 802.1aq (SPB), 802.11g, HDLC, Token ring, FDDI, PPP,Switch ,Frame relay,
1.Física Modem, RDIS, RS-232, EIA-422, RS-449, Bluetooth, USB, ...

Os protocolos para Internet formam o grupo de protocolos de comunicação que implementam a pilha de protocolos sobre a qual a internet e a maioria das redes comerciais funcionam. Eles são algumas vezes chamados de "protocolos TCP/IP", já que os dois protocolos: o protocolo TCP - Transmission Control Protocol (Protocolo de Controle de Transmissão); e o IP - Internet Protocol (Protocolo de Internet) foram os primeiros a serem definidos.

O modelo OSI descreve um grupo fixo de sete camadas que pode ser comparado, a grosso modo, com o modelo TCP/IP. Essa comparação pode causar confusão ou trazer detalhes mais internos para o TCP/IP.

O modelo inicial do TCP/IP é baseado em 4 níveis: Host/rede; Inter-rede; Transporte; e Aplicação. Surgiu, então, um modelo híbrido, com 5 camadas, que retira o excesso do modelo OSI e melhora o modelo TCP/IP: Física; Enlace; Rede; Transporte; e Aplicação.

Resumidamente, o modelo é o que podemos chamar de uma "solução prática para problemas de transmissão de dados". Textualmente isto pode parecer muito genérico, pois na realidade para melhor compreensão de um protocolo TCP/IP deveremos usar exemplos práticos. Este modelo é ocasionalmente conhecido como modelo DoD, devido à influência fundamental da ARPANET em 1970 (operado pela DARPA, uma agência do Departamento de Defesa dos Estados Unidos).

Camadas da pilha dos protocolos internet[editar | editar código-fonte]

O modelo ou arquitetura TCP/IP de encapsulamento busca fornecer abstração aos protocolos e serviços para diferentes camadas de uma pilha de estruturas de dados (ou simplesmente pilha).

No caso do modelo inicial do TCP/IP, a pilha possuía quatro camadas:

Camada Exemplo
4 - Aplicação
(5ª, 6ª e 7ª camada OSI)
HTTP, HTTPS, FTP, DNS
Essa parte contem todos os protocolos para um serviço específico de comunicação de dados em um nível de processo-a-processo (por exemplo: como um web browser deve se comunicar com um servidor da web). [protocolos de routing como BGP e RIP, que, por uma variedade de razões, são executados sobre TCP e UDP respectivamente, podem também ser considerados parte da camada de aplicação]
3 - Transporte
(4ª camada OSI)
TCP, UDP, SCTP, RTP
Essa parte controla a comunicação host-a-host. [protocolos como OSPF, que é executado sobre IP, podem também ser considerados parte da camada de rede]
2 - Internet
(3ª camada OSI)
Para TCP/IP o protocolo é IP, MPLS
Essa parte é responsável pelas conexões entre as redes locais, estabelecendo assim a interconexão. [protocolos requeridos como ICMP e IGMP é executado sobre IP, mas podem ainda ser considerados parte da camada de rede; ARP não roda sobre IP]
1 - Rede (Interface com Rede)
(1ª e 2ª camada OSI)
Essa é a parte conhecida como física pois trata-se das tecnologias usadas para as conexões como: Ethernet, Wi-Fi,Modem, etc. No modelo OSI, essa camada também é física, porém, é dividido em duas partes: física e enlace de dados. A física é a parte do hardware e a enlace de dados é a parte lógica do hardware; mac address.

As camadas mais próximas do topo estão logicamente mais perto do usuário, enquanto aquelas mais abaixo estão logicamente mais perto da transmissão física do dado. Cada camada tem um protocolo de camada acima e um protocolo de camada abaixo (exceto as camadas da ponta, obviamente) que podem usar serviços de camadas anteriores ou fornecer um serviço, respectivamente.

Enxergar as camadas como fornecedores ou consumidores de serviço é um método de abstração para isolar protocolos de camadas acima dos pequenos detalhes de transmitir bits através, digamos, de ethernet, e a detecção de colisão enquanto as camadas abaixo evitam ter de conhecer os detalhes de todas as aplicações e seus protocolos.

Essa abstração também permite que camadas de cima forneçam serviços que as camadas de baixo não podem fornecer. Por exemplo, o IP é projetado para não ser confiável e é um protocolo best effort delivery. Isso significa que toda a camada de transporte deve indicar se irá ou não fornecer confiabilidade e em qual nível.

O TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão), é um protocolo orientado a conexões confiável que permite a entrega sem erros de um fluxo de bytes.

O UDP fornece integridade de dados (via um checksum) mas não fornece entrega garantida; já o TCP fornece tanto integridade dos dados quanto garantia de entrega (retransmitindo até que o destinatário receba o pacote).

Comparação com o modelo OSI[editar | editar código-fonte]

Modelo OSI
Camada Protocolo
7.Aplicação HTTP, SMTP, FTP, SSH, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping ...
6.Apresentação XDR, TLS ...
5.Sessão NetBIOS ...
4.Transporte NetBEUI, TCP, UDP, RTP, SCTP, DCCP, RIP ...
3.Rede IP (IPv4, IPv6), IPsec, ICMP, ARP, RARP, NAT ...
2.Enlace Ethernet, 802.11 WiFi, IEEE 802.1Q, 802.11g, HDLC, Token ring, FDDI, PPP, Switch, Frame relay, ATM ...
1.Física Modem, RDIS, RS-232, EIA-422, RS-449, Bluetooth, USB, 10BASE-T, 100BASE-TX, ISDN, SONET, DSL ...

Existe a discussão de como mapear o modelo TCP/IP convencionalmente de 4 camadas dentro do modelo OSI que possui o padrão de 7 camadas. Como os modelos TCP/IP e OSI não combinam exatamente, não existe uma única resposta para esta questão.

Além do mais, o modelo OSI não é realmente rico o suficiente nas camadas mais baixas para capturar a verdadeira divisão de camadas; é necessário uma camada extra (a camada internet) entre as camadas de transporte e de rede. Protocolos específicos para um tipo de rede que rodam em cima de estrutura de hardware básica precisam estar na camada de rede. Exemplos desse tipo de protocolo são ARP e o Spanning Tree Protocol (usado para manter pontes de rede redundantes em "espera" enquanto elas são necessárias). Entretanto, eles são protocolos locais e operam debaixo da funcionalidade internet. Reconhecidamente, colocar ambos os grupos (sem mencionar protocolos que são logicamente parte da camada internet, mas rodam em cima de um protocolo internet, como ICMP) na mesma camada pode ser um tanto confuso, mas o modelo OSI não é complexo o suficiente para apresentar algo melhor.

Geralmente, as três camadas mais acima do modelo OSI (aplicação, apresentação e sessão) são consideradas como uma única camada (aplicação) no modelo TCP/IP. Isso porque o TCP/IP tem uma camada de sessão relativamente leve, consistindo de abrir e fechar conexões sobre TCP e RTP e fornecer diferentes números de portas para diferentes aplicações sobre TCP e UDP. Se necessário, essas funções podem ser aumentadas por aplicações individuais (ou bibliotecas usadas por essas aplicações). Similarmente, IP é projetado em volta da ideia de tratar a rede abaixo dele como uma caixa preta de forma que ela possa ser considerada como uma única camada para os propósitos de discussão sobre TCP/IP.

O modelo TCP/IP está dividido em quatro camadas:

  1. Camada de aplicação (FTP, SMTP, TELNET, HTTP, HTTPS, etc)
  2. Camada de transporte (TCP, UDP, etc)
  3. Camada de rede (IP)
  4. Camada física (Ethernet, etc)

Semelhanças:

  • Ambos têm camadas;
  • Ambos têm camadas de aplicação, embora incluam serviços muito diferentes;
  • Ambos têm camadas de transporte e de rede comparáveis;
  • A tecnologia de comutação de pacotes (e não comutação de circuitos) é presumida por ambos;
  • Os profissionais da rede precisam conhecer ambos.

Diferenças:

  • TCP/IP combina os aspectos das camadas de apresentação e de sessão dentro da sua camada de aplicação;
  • TCP/IP combina as camadas física e de enlace do OSI em uma camada;
  • TCP/IP parece ser mais simples por ter menos camadas;
  • Os protocolos do TCP/IP são os padrões em torno dos quais a Internet se desenvolveu, portanto o modelo TCP/IP ganha credibilidade apenas por causa dos seus protocolos. Em contraste, nenhuma rede foi criada em torno de protocolos específicos relacionados ao OSI, embora todos usem o modelo OSI para guiar seu raciocínio.

As camadas[editar | editar código-fonte]

O que segue é uma descrição de cada camada na pilha da suíte.

A camada de aplicação[editar | editar código-fonte]

A camada de aplicação é a camada que a maioria dos programas de rede usa de forma a se comunicar através de uma rede com outros programas. Processos que rodam nessa camada são específicos da aplicação; o dado é passado do programa de rede, no formato usado internamente por essa aplicação, e é codificado dentro do padrão de um protocolo.

Alguns programas específicos são levados em conta nessa camada. Eles proveem serviços que suportam diretamente aplicações do usuário. Esses programas e seus correspondentes protocolos incluem o HTTP (navegação na World Wide Web), FTP (transporte de arquivos), SMTP (envio de email), SSH (login remoto seguro), DNS (pesquisas nome <-> IP) e muitos outros.

Uma vez que o dado de uma aplicação foi codificado dentro de um padrão de um protocolo da camada de aplicação ele será passado para a próxima camada da pilha IP.

Na camada de transporte, aplicações irão em sua maioria fazer uso de TCP ou UDP, e aplicações servidoras são frequentemente associadas com um número de porta. Portas para aplicações servidores são oficialmente alocadas pela IANA (Internet Assigned Numbers Authority) mas desenvolvedores de novos protocolos hoje em dia frequentemente escolhem os números de portas por convicção própria. Uma vez que é raro ter mais que alguns poucos programas servidores no mesmo sistema, problemas com conflito de portas são raros. Aplicações também geralmente permitem que o usuário especifique números de portas arbitrários através de parâmetros em tempo de execução.

Aplicações cliente conectando para fora geralmente usam um número de porta aleatório determinado pelo sistema operacional. O pacote relacionado à camada de aplicação é chamado Mensagem. Nessa camada ficam localizadas as interfaces sockets e NetBIOS.

A sockets oferece uma interface de programação de aplicativos (API) que é padronizada para os diversos sistemas operacionais e que permite a comunicação de protocolos de transporte com diferentes convenções de endereçamento como TCP/IP e o IPX/SPX.

A NetBIOS proporciona uma interface de programação de aplicativo (API) para os protocolos que suportam a convenção de nomes NetBIOS para endereçamento como o próprio TCP/IP, IPX/SPX e ainda o NetBEUI.

Existem diversos protocolos nesta camada.Como exemplo de alguns deles podemos citar:

  • SMTP (Simple Mail Transport Protocol) é utilizado para a comunicação entre serviços de correio eletrônico na Internet.
  • POP (Post Office Protocol) é utilizado para recuperação de mensagens de correio eletrônico via Internet.
  • IMAP (Internet Mail Access Protocol) - também é utilizado para recuperação de mensagens de correio eletrônico via Internet, mas de forma mais avançada que o POP3.
  • HTTP (Hypertext Transport Protocol) – utilizado para a publicação de sites WEB na Internet.
  • FTP (File Transfer Protocol) – utilizado para publicação de arquivos na Internet.

A camada de transporte[editar | editar código-fonte]

Os protocolos na camada de transporte podem resolver problemas como confiabilidade (o dado alcançou seu destino?) e integridade (os dados chegaram na ordem correta?). Na suíte de protocolos TCP/IP os protocolos de transporte também determinam para qual aplicação um dado qualquer é destinado.

Os protocolos dinâmicos de routing, que tecnicamente cabem nessa camada do TCP/IP, são geralmente considerados parte da camada de rede. Como exemplo tem-se o OSPF (protocolo IP número 89).

O TCP, número 6 do protocolo IP, é um mecanismo de transporte "confiável", orientado à conexão e que fornece um stream de bytes confiável, garantindo assim que os dados cheguem íntegros (não danificados e em ordem). O TCP tenta continuamente medir o quão carregada a rede está e desacelera sua taxa de envio para evitar sobrecarga. Além disso, o TCP irá tentar entregar todos os dados corretamente na seqüência especificada. Essas são as principais diferenças dele para com o UDP, e pode se tornar desvantajoso em streaming, em tempo real ou aplicações de routing com altas taxas de perda na camada internet.

Recentemente criou-se SCTP (Stream Control Transmission Protocol, Protocolo de Transmissão de Controle de Stream), que também consiste em um mecanismo de transporte "confiável". Ele provê suporte a multihoming, onde o final de uma conexão pode ser representada por múltiplos endereços IP (representando múltiplas interfaces físicas), de maneira que, se algum falhar, a conexão não é interrompida. Ele foi desenvolvido inicialmente para transportar SS7 sobre IP em redes telefónicas, mas também pode ser usado para outras aplicações.

O UDP (User Datagram Protocol), número 17 do protocolo IP, é um protocolo de datagrama sem conexão. Ele é um protocolo de "melhor esforço" ou "não confiável". Não porque ele é particularmente não confiável, mas porque ele não verifica se os pacotes alcançaram seu destino, e não dá qualquer garantia que eles irão chegar na ordem. Se uma aplicação requer estas características, então ela mesma terá que provê-las ou usar o protocolo TCP.

O UDP é tipicamente usado por aplicações como as de mídia de streaming (áudio, vídeo etc), onde a chegada na hora é mais importante do que confiabilidade, ou para aplicações de simples requisição/resposta como pesquisas de DNS, onde o overhead de configurar uma conexão confiável é desproporcionalmente largo.

O DCCP está atualmente em desenvolvimento pelo IETF. Ele provê controle de fluxo das semânticas do TCP, enquanto mantém o modelo de serviço de datagramas do UDP visível para o usuário. O DHCP é incrementado automaticamente sem intervenção do usuário.

Tanto o TCP quanto o UDP são usados para transmitir um número de aplicações de alto nível. As aplicações em qualquer endereço de rede são distinguidas por seus endereços de porta TCP ou UDP. Por convenção, certas portas "bem conhecidas" estão associadas com aplicações específicas.

O pacote da camada de transporte é chamado segmento.

A camada de rede[editar | editar código-fonte]

Como definido anteriormente, a camada de rede resolve o problema de obter pacotes através de uma rede simples. Exemplos de protocolos são o X.25 e o Host/IMP da ARPANET.

Com o advento da internet novas funcionalidades foram adicionadas nesta camada, especialmente para a obtenção de dados da rede de origem e da rede de destino. Isso geralmente envolve rotear o pacote através de redes distintas que se relacionam através da internet.

Na suíte de protocolos para a internet, o IP executa a tarefa básica de levar pacotes de dados da origem para o destino. O protocolo IP pode transmitir dados para diferentes protocolos de níveis mais altos, esses protocolos são identificados por um único número de protocolo IP.

Alguns dos protocolos transmitidos por IP, como o ICMP (usado para transmitir informação de diagnóstico sobre a transmissão IP) e o IGMP (usado para gerenciar dados multicast) são colocados acima do IP mas executam funções da camada internet. Isso ilustra uma incompatibilidade entre os modelos da internet e OSI. Todos os protocolos de routing, como o BGP, o OSPF e o RIP são também parte da camada de internet, muito embora eles possam ser vistos como pertencentes a camadas mais altas na pilha.

O datagrama (PDU) da camada de rede é geralmente conhecido como "pacote". Lembrando que todas as camadas tem seu PDU que variam o nome em : Dados (Aplicação), Segmento (Transporte), Pacote (Rede), Quadros (Enlace) e Bits (Física e LLC que é sub-camada de enlace).

A camada de enlace (não é parte do modelo TCP/IP)[editar | editar código-fonte]

A camada de enlace não é realmente parte do modelo TCP/IP, mas é o método usado para passar quadros da camada de rede de um dispositivo para a camada de rede de outro. Esse processo pode ser controlado tanto em software (device driver) para a placa de rede quanto em firmware ou chipsets especializados. Esses irão executar as funções da camada de enlace de dados como adicionar um header de pacote para prepará-lo para transmissão, então de fato transmitir o quadro através da camada física. Do outro lado, a camada de enlace irá receber quadros de dados, retirar os headers adicionados e encaminhar os pacotes recebidos para a camada de rede. Essa camada é a primeira normatizada do modelo, é responsável pelo endereçamento, roteamento e controle de envio e recepção. Ela não é orientada à conexão, se comunica pelos datagramas (pacotes de dados).

Entretanto, a camada de enlace não é sempre tão simples. Ela pode também ser um VPN (Virtual Private Network, Rede Privada Virtual) ou túnel, onde pacotes da camada de internet, ao invés de serem enviados através de uma interface física, são enviados usando um protocolo de tunneling e outra (ou a mesma) suíte de protocolos. O VPN ou túnel é usualmente estabelecido além do tempo, e tem características especiais que a transmissão direta por interface física não possui (por exemplo, ele pode criptografar os dados que passam através dele). Esse uso recursivo de suíte de protocolos pode ser confuso uma vez que a "camada" de enlace é agora uma rede inteira. Mas é um método elegante para implementar funções frequentemente complexas. Embora seja necessário muito cuidado para prevenir que um pacote já empacotado e enviado através de um túnel seja mais uma vez empacotado e reenviado pelo mesmo.

O pacote da camada de enlace é conhecido como quadro.

A camada física[editar | editar código-fonte]

A camada de interface de rede ou física é a primeira camada. Também chamada camada de abstração de hardware, tem como função principal a interface do modelo TCP/IP com os diversos tipos de redes (X.25, ATM, FDDI, Ethernet, Token Ring, Frame Relay, sistema de conexão ponto-a-ponto SLIP,etc.) e transmitir os datagramas pelo meio físico, sinais físicos, tem a função de encontrar o caminho mais curto e confiável. Como há uma grande variedade de tecnologias de rede, que utilizam diferentes velocidades, protocolos, meios transmissão, etc. , esta camada não é normatizada pelo modelo, o que provê uma das grandes virtudes do modelo TCP/IP: a possibilidade de interconexão e inter-operação de redes heterogêneas.

Esta camada lida com os meios de comunicação, corresponde ao nível de hardware, ou meio físico, que trata dos sinais eletrônicos, conector, pinagem, níveis de tensão, dimensões físicas, características mecânicas e elétricas etc. Os protocolos da camada física enviam e recebem dados em forma de pacotes, que contém um endereço de origem, os dados propriamente ditos e um endereço de destino. Os datagramas já foram construídos pela camada de redes.

É responsável pelo endereçamento e tradução de nomes e endereços lógicos em endereços físicos. Ela determina a rota que os dados seguirão do computador de origem até o de destino. Tal rota dependerá das condições da rede, prioridade do serviço e outros fatores.

Também gerencia o tráfego e taxas de velocidade nos canais de comunicação. Outra função que pode ter é o agrupamento de pequenos pacotes em um único para transmissão pela rede (ou a subdivisão de pacotes grandes). No destino os dados são recompostos no seu formato original.

Características

  • Ela estabelece e encerra as conexões.
  • Notificação e correção de falhas.
  • Podem ser guiados, através de cabos.
  • Podem ser não guiados, sem fio: rádio, micro-ondas.
  • Pode usar o sinal analógico ou digital.
  • Permite a transmissão de mais de um sinal em um mesmo meio físico.
  • Esta camada não define protocolos, mas diz como usar os protocolos já existentes.
  • Mapeia os endereços lógicos em físicos, ou seja, transforma os endereços lógicos em físicos.
  • Os bits são codificados por Manchester Encoding ou Differencial Manchester Encoding
  • Pode ser considerada uma das mais importantes, pois permitem que os dados cheguem ao destino da forma mais eficiente possível. O protocolo IP situa-se nessa camada.

Três funções importantes:

  1. Determinação do caminho: rota seguida por pacotes da origem ao destino. Algoritmos de roteamento.
  2. Comutação: mover pacotes dentro do roteador da entrada à saída apropriada.
  3. Estabelecimento da chamada: algumas arquiteturas de rede requerem determinar o caminho antes de enviar os dados.

Mais características:

  • Tradução de endereços
  • Conversão de endereços IP em endereços físicos
  • Encapsulamento
  • Transporte de datagramas IP em quadros da rede física
  • Multi-tecnologia
  • Suporte a diversas tecnologias de redes
  • Ethernet - Frame Relay - Token Ring - ATM
  • FDDI - Linhas Seriais - X.25
  • Nível de interface de rede
  • Aceita datagramas IP para transmissão sobre uma rede específica
  • Encapsulamento de datagramas IP em quadros da rede
  • Geralmente implementado através de device drivers
  • Permite a implantação de TCP/IP sobre qualquer hardware de rede ou subsistema de comunicação
  • Converte os pacotes em frames compatíveis com o tipo de rede que está sendo utilizada.

Alguns protocolos utilizados nesta camada são:

  • Protocolos com estrutura de rede própria: X.25, Frame-Relay e ATM
  • Protocolos de Enlace OSI: PPP, Ethernet, Token-Ring, FDDI, HDLC, Slip, etc.
  • Protocolos de nível físico: V.24, X.21
  • Protocolos de barramento de alta velocidade: SCSI, HIPPI
  • Protocolo de mapeamento de Endereços: ARP

Implementações[editar | editar código-fonte]

Hoje, a maioria dos sistemas operacionais comerciais incluem e instalam a pilha TCP/IP por padrão. Para a maioria dos usuários, não há nenhuma necessidade de procurar por implementações. O TCP/IP é incluído em todas as versões do Unix e Linux, assim como no Mac OS e no Microsoft Windows.

Não é requirido implementações específicas de hardware ou software pelos protocolos ou o modelo de camadas, pois já há muitos. A maioria dos sistemas operacionais de computador em uso hoje, incluindo todos os sistemas de consumo-alvo, incluem a implementação TCP/IP.

Uma minoria de implementações aceitáveis inclui os seguintes protocolos, listados do mais essencial ao menos essencial: IP, ARP, ICMP, UDP, TCP e algumas vezes IGMP. Em princípio, é possível suportar somente um protocolo de transporte, como UDP, mas isso é raramente feito, porque isso limita o uso de toda a implementação. O IPv6, além da sua própria versão da ARP (NDP), ICMP (ICMPv6) e IGMP (IGMPv6), tem algumas funções requiridas adicionais, e frequentemente são acompanhadas por uma camada de segurança integrada IPSec. Outros protocolos podem ser facilmente adicionados depois (possivelmente sendo implementado totalmente em userspace), como a DNS para a resolução de nomes de domínio para endereços IP, ou DHCP para configurar automaticamente interfaces de rede.

Normalmente, os programadores de aplicativos estão preocupados somente com a interface na camada de aplicação e muitas vezes também preocupados com a camada de transporte, enquanto as camadas abaixo sao serviços prestados pelo conjunto TCP/IP no sistema operacional. A maioria das implementações de IP são acessíveis aos programadores através de sockets e APIs.

Implementações únicas incluem Lightweight TCP/IP, um conjunto de códigos abertos projetado para sistemas embarcados, e KA9Q NOS, a pilha e um conjunto de protocolos associados para sistemas de radio amador e computadores pessoais conectados através de linhas seriais.

O microcontrolador firmware no adaptador de rede lida com questões de link, suportado pelo driver de software no sistema operacional. Eletrônicos não-programados analogicalmente e digitalmente são normalmente encarregados dos componentes físicos abaixo da camada de enlace, tipicamente usando um Chipset de Aplicação-Específica de Circuito Integrado (ASIC em inglês) para cada interface de rede ou outro chipset físico padrão. Roteadores de alto desempenho são em grande parte baseados em eletrônicos digitais rápidos não programáveis, realizando troca de links.

Bibliografia[editar | editar código-fonte]

  • Joseph G. Davies and Thomas F. Lee. Microsoft Windows Server 2003 TCP/IP Protocols and Services. ISBN 0-7356-1291-9
  • Craig Hunt. TCP/IP Network Administration. O'Reilly (1998) ISBN 1-56592-322-7
  • W. Richard Stevens. The Protocols (TCP/IP Illustrated, Volume 1). Addison-Wesley Professional; 1st edition (December 31, 1993). ISBN 0-201-63346-9.
  • Luciano Palma / Rubens Prates. TCP-IP Guia de Consulta Rápida - Novatec - ISBN 85-85184-72-8

Ver também[editar | editar código-fonte]

Ligações externas[editar | editar código-fonte]