Faça uma pergunta »

O que significa TCP/IP? Qual sua utilidade? De que maneira?

Abril 2015


Nota aos especialistas do TCP/IP
:
Por favor, não vale a pena enviar e-mails tipo "Está errado" ou "Isso não é verdade, neste caso!". EU SEI. Não entrei em todos os casos particulares para não confundir as explicações. Eu aplico o KISS (Keep It Simple Stupid!).

Exemplo: quando eu digo que cada computador é identificado de modo exclusivo por um endereço IP, eu não estou querendo entrar em casos particulares do NAT, dos proxies, DHCP e outros.
Obrigado

Se você navega pela Internet, você já deve ter ouvido falar do TCP/IP. O que que é isso?
Esta dica é um pouco longa, mas depois de lê-la você saberá o que significam IP, UDP, TCP e para que servem.

TCP/IP é um protocolo, ou seja, regras de comunicação.

IP


Comecemos pelo IP (veremos o TCP mais adiante).

IP significa Internet Protocol: literalmente, "O Protocolo da Internet". Este é o principal protocolo usado na Internet.
Internet significa Inter redes , ou seja, "entre redes." Internet é a interligação das redes do mundo.
O IP permite que os computadores conectados a essas redes se comuniquem entre eles.

Vamos comparar com os Correios.
Quando você manda uma carta pelo correio:
  • Você coloca a sua carta em um envelope,
  • Na parte da frente você escreve o endereço do destinatário,
  • Na parte de trás, você escreve o endereço do remetente (o seu).



São as regras utilizadas por todo mundo. É um protocolo.

Na Internet, é mais ou menos a mesma coisa: cada mensagem (cada pequeno pacote de dados) é envolto por um IP, que acrescenta informações diversas:
  • o endereço do remetente (o seu endereço IP)
  • o endereço IP do destinatário,
  • vários dados adicionais (que ajudam a controlar o encaminhamento da mensagem).



O endereço IP é um endereço único atribuído a cada computador na Internet (isso significa que não existem dois computadores na Internet com o mesmo endereço IP).

Da mesma forma, um endereço para correspondência (nome, sobrenome, rua, número, código postal e cidade) pode identificar, de maneira exclusiva, um destinatário.

Tal como acontece com o endereço de correspondência, você deve conhecer o endereço IP do computador com o qual você quer se comunicar.

Na maioria das vezes, o endereço IP aparece na forma de quatro números (entre 0 e 255) separados por pontos. Por exemplo: 204.35.129.3

O roteamento IP


Para enviar sua carta, você vai no correio mais próximo. Esta carta será classificada e enviada a um centro de triagem da sua cidade e, depois, enviada para outros centros de triagem até chegar ao destinatário.


É a mesma coisa na internet!
Você deixa o pacote IP no computador mais próximo (o do seu provedor de acesso, em geral). O pacote IP vai passar de um computador para outro até chegar ao destinatário.

As portas


Bom!

Agora imagine que temos vários programas rodando, simultaneamente, no mesmo computador: um navegador, um software de e-mail e um software para ouvir rádio na Internet.

Se o computador recebe um pacote IP, como saber para qual software dar este pacote IP?


Como saber para que software é destinado este pacote IP?
O navegador, o software de rádio ou o software de e-mail?


É um problema sério!
Poderíamos atribuir um número único para cada software no computador.

Então, bastaria colocar esse número em cada pacote IP para poder endereçar a este ou aquele software.

Estes números são chamados de portas (pense nas "portas" de uma casa: em um determinado endereço, vamos poder distribuir as cartas nas várias portas neste endereço).


Com os correios, em um mesmo endereço, podemos enviar para pessoas diferentes indicando um número de porta.


Da mesma forma , a um mesmo endereço IP, podemos endereçar a diversos softwares, especificando o numero da porta (aqui: 3).


Assim, com o endereço IP você pode enviar para um computador determinado e o número da porta permite que você mande para um software específico, netse computador.



"Mas e o TCP/IP?". Calma, estamos chegando lá!
UDP/IP é um protocolo que permite, justamente, utilizar números de portas além dos endereços IP (Chamamos de UDP/IP por que ele roda acima do IP).
O IP lida com os endereços e o UDP com as portas.

Com o protocolo IPpodemos enviar dados de um computador A para um computador B.


Com o UDP/IP, você pode ser mais preciso: você envia dados de uma aplicação X para o computador A e uma aplicação Y para o computador B.
Por exemplo, o navegador pode enviar uma mensagem para um servidor HTTP (servidor web):
  • Cada camada (UDP e IP) vai adicionar suas informações.

As informações do IP permitirão encaminhar o pacote para o computador certo. Ao chegar no computador em questão, a camada UDP vai entregar o pacote ao software certo (aqui: o servidor HTTP).
  • Os dois programas se contentam em enviar e receber dados ("Hello!"). As camadas UDP e IP abaixo cuidam de tudo.


Este casal (199.7.55.3:1057, 204.66.224.82:80) é chamado de socket. Um socket identifica, de forma exclusiva, a comunicação entre dois softwares.

TCP


Bem ... agora podemos fazer comunicar dois softwares localizados em computadores diferentes.

Mas ainda há pequenos problemas:
  • Ao enviar um pacote IP na Internet, ele pasa por dezenas de computadores. E acontece que alguns pacotes IP se perdem ou chegam em duplicata.

Isso pode ser irritante: imagine uma ordem de débito em sua conta bancária chegando duas ou uma ordem de crédito perdida!
  • Mesmo que o pacote chegue ao seu destino, nada permite que você saiba se o pacote chegou (nenhuma confirmação de recepção).
  • O tamanho dos pacotes IP é limitado (cerca de 1500 bytes).

Como enviar uma foto JPEG do menorzinho, com 62.000 bytes? (A foto, não... o bebê).

É por isso que o TCP foi projetado.

O TCP é capaz de:
  • Fazer tudo o que o UDP sabe fazer (portas).
  • Verificar se o destinatário está pronto para receber os dados.
  • Cortar grandes pacotes em pacotes menores para aceitar IP
  • Numerarpacotes e, na recepção, verificar se chegaram bem, pedir de novo os pacotes que faltam e reuni-los antes de dá-los para os softwares. Confirmações de chegada são enviados para avisar ao remetente que os dados chegaram bem.


Por exemplo, para enviar a mensagem <gras>"Oi, tudo bem?"
veja o que o TCP faz (Cada seta representa um pacote IP):


Na chegada, no computador 204.66.224.82, a camada TCP reconstrói a mensagem "Oi, tudo bem?" a partir dos 3 pacotes IP recebidos e entrega ao software que está na porta 80.

Conclusão sobre o TCP/IP


Nada mal, né?
Com o TCP/IP, agora você pode comunicar de forma segura softwares localizados em diversos computadores.
O TCP/IP é usado para muitas coisas:
  • No seu navegador, o protocolo HTTP usa o protocolo TCP/IP para enviar e receber páginas HTML, imagens GIF, JPG e qualquer outro tipo de dado.
  • O FTP é um protocolo para enviar e receber arquivos. Ele também usa o TCP/IP.
  • O seu software de e-mail utiliza os protocolos SMTP e POP3 para enviar e receber e-mails. O SMTP e o POP3 também usamo TCP/IP.
  • Seu navegador (e outros softwares) utilizam o protocolo DNS para encontrar o endereço IP de um computador a partir do seu nome (por exemplo, encontrar o 216.32.74.52 a partir do "www.yahoo.com"). O protocolo DNS usa o UDP/IP e o TCP/IP de acordo com suas necessidades.

Existem, então, centenas de diferentes protocolos que usam o TCP/IP ou o UDP/IP.
A vantagem do TCP em relação ao UDP é que o TCP permite comunicações confiáveis. A desvantagem é que ele requer uma negociação ("Olá, pronto para se comunicar?", etc), o que leva tempo.
Se você é curioso e quer ver todos os pacotes IP trocados e seu conteúdo, você pode usar o excelente software (Ethereal). Este software gratuito captura e disseca tudo o que passa pela rede. É bastante instrutivo.


Artigo original publicado por sebsauvage

Tradução feita por Lucia Maurity y Nouira
Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
O-que-significa-tcp-ip-qual-sua-utilidade-de-que-maneira.pdf

A ver igualmente

Na mesma categoria

Publicado por pintuda.
Este documento, intitulado « O que significa TCP/IP? Qual sua utilidade? De que maneira? »a partir de Kioskea (pt.kioskea.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.