terça-feira, 14 de julho de 2015

Hardcore Devel #22 - Internet e Cozinhas #2

Eu pedi para o meu amigo "Nslookup" ir ali na cozinha "8.8.8.8" buscar o endereço da cozinha que tem as maçã de "symsoup.blogspot.com.br" que eu quero, eu vou pedir para o meu amigo "Browser" ir lá bsucar aquela maçã pra mim porque eu estou com vontade de apreciá-la.


Não, essa não é a cozinha do blog.

Mas bem que podia ser. Infelizmente não é. A maçã do blog ainda não está tão madura assim a ponto de tanta gente querer ir pegar uma. Só que a nossa brincadeira continua porque os nossos projetos continuam parados. Então vamos continuar falando sobre redes de cozinhas, digo, computadores.

Já explicamos um pouco sobre como funcionam as coisas. Ja discutimos um pouco sobre endereçamento, apesar de não termos entrado em muitos detalhes. Hoje, nós vamos cavar mais fundo, vamos além do endereço. Vamos focar agora nos nossos amigos que buscam os endereços e as maçãs pra gente.


E sempre que eu falar em cavar eu vou usar esse cachorro.

Chegar nas cozinhas é uma tarefa quase tão complicada quanto chegar nas ultimas fases de um jogo. As vezes é tão complicado, que chega a ser evidentemente impossível. As cozinhas tem sido muito legais até agora, porém elas ficam ainda mais legais quando você nunca sabe quando o chão vai desabar impedindo que seus amigos acessem as cozinhas.

Quando o chão desaba e seus amigos não conseguem chegar nos destinos deles, nós dizemos que o link foi perdido. Em termos de computador, alguem puxou o cabo.

Sim. O cabo é importante. Na verdade a gente não vê, mas tem uns cabos que cruzam oceanos para fazer a informação chegar de um lugar até o outro. E tem mais, dependendo da dificuldade da travessia, pode ser que a informação não chegue lá corretamente. Outro dia o "Nslookup" chegou lá na "8.8.8.8" cansado e esqueceu do que tinha que falar. Teve que voltar tudo de novo e depois cruzar de novo torcendo pra que o caminho dessa vez esteja melhor.

O caminho é basicamente por onde os cabos passam. Na verdade o "Nslookup" vai atravessar diversas outras cozinhas antes de chegar da "8.8.8.8". Essas cozinhas são os roteadores, os backbones e os switches. e os caminhos até elas são os cabos, ou outros meios físicos como ondas de rádio. Como existe uma confusão desses dispositivos, o caminho pode mudar de uma hora pra outra. Por exemplo, o meu "Browser" pode estar passando por São Paulo, pra poder chegar no Pará pra acesar alguma cozinha que tem uma determinada maçã. Só que se o link de São Paulo cair, pode ser que ele passe pela Bahia, e de lá siga viagem para o Pará. É mais demorado, mas pelo menos ele vai chegar.

Agora que ja falamos bastante sobre cozinhas e internet, e essa coisa toda. Acho que já podemos falar sobre as 5 camadas do modelo OSI. Que são em ordem de abstração:
  1. Aplicação
  2. Transporte
  3. Endereço
  4. Rede
  5. Física
A aplicação é o nosso amigo. Podemos tomar como exemplo o "Browser". Ele vai atravessar a camada de computação antes de passar pelos portões da minha cozinha. Oras, eu tenho um endereço IP então é como se eu tivesse a minha própria cozinha. E é nessa camada de transporte que ele vai escolher as técnicas que ele vai usar para atravessar esse caminho maluco que é a internet, munido de um endereço que é a posição da cozinha que eu pedi pra ele visitar. Daí ele vai atravessar a camada de rede através dos meios físicos que forem colocados em seu caminho. As vezes ele vai andando, as vezes de moto, as vezes nadando... Enfim, passa por diversos bocados.

E bom, ele passa por muito mais bocados que você possa imaginar porque esses caras não tem o Google Maps. Quando você dá o endereço para o Browser, você basicamente está pedindo para ele se virar e achar onde é que aquela cozinha fica. Será que não tem nenhuma colher de chá?

Ah, sim! Tem. Os roteadores. Eles vão dar uma pista pro nosso amigo Browser encontrar o local onde está o endereço que eu passei. Vamos dar uma salva de palmas para os roteadores que ajudam os nossos amigos a desbravarem esse território inóspito que é a internet.

Ok. E quanto as habilidades de travessia, ou camada de transporte?

Bom, já analisamos e resolvemos 3 problemas que o nosso amigo Browser teria que passar para pegar a maçã pra gente. Ele já está alerta desses perigos, e então é por isso que você precisa passar pra ele algumas habilidades pra ajudar ele na travessia. As mais comuns são essas duas:
  1. Regeneração
  2. Super velocidade
Em termos de computação a gente pode chamar eles de TCP e UDP.

O que acontece é. Se você manda o seu amigo com super velocidade, ele pode morrer no meio do caminho e voltar pra sua cozinha. Mandar ele de novo fica à seu critério. Ou você pode mandar ele com regeneração. Vai demorar pra ele chegar, mas com certeza ele vai chegar com a sua maçã.

Acho que podemos parar por aqui. Já tivemos aventuras demais. Vai uma maçã aí?

Nenhum comentário:

Postar um comentário