Uma comunicação em rede envolve, ao mesmo tempo, cabos, endereços, portas e programas. Sem uma forma de organizar esses elementos, o diagnóstico se transforma em tentativa e erro. O modelo TCP/IP faz essa organização em quatro camadas, cada uma responsável por uma parte do trabalho.
O nome do modelo vem de dois protocolos centrais: o TCP, responsável pela comunicação entre os programas, e o IP, responsável pelos endereços e pelo caminho dos dados. As quatro camadas, do programa até o cabo, podem ser resumidas assim:
- Aplicação: o programa, ou seja, o conteúdo da comunicação e o formato em que ele é transmitido.
- Transporte: o canal, ou seja, a comunicação entre o programa de um lado e o programa do outro.
- Internet: o caminho, ou seja, a forma como os dados chegam ao computador correto, mesmo que ele esteja em outra rede.
- Acesso à Rede: a ligação, ou seja, a forma como os dados percorrem o cabo ou o Wi-Fi até o equipamento seguinte.
Cada camada utiliza o serviço da camada inferior sem precisar conhecer o seu funcionamento. O programa não depende de detalhes do cabo, e a ligação física transporta os dados sem distinguir a qual programa eles pertencem. Os exemplos utilizam o IPv4, a versão do IP mais usada em redes locais, em computadores com o sistema Windows.
O que cada camada reúne
Em cada camada aparecem quatro tipos de elemento, e distingui-los evita confusões:
- Protocolos: as regras de comunicação, como IP, TCP e DNS.
- Identificadores: os endereços utilizados pela camada, como o endereço IP, a porta lógica e o endereço MAC.
- Configurações e conceitos: o que é ajustado ou calculado, como a máscara, o gateway e as rotas.
- Equipamentos: os dispositivos que atuam principalmente naquela camada, como o switch e o roteador.
Aplicação: o programa
Na camada de Aplicação estão os protocolos utilizados diretamente pelos programas:
- o HTTP e o HTTPS, usados por sites e serviços na Internet;
- o DNS, que traduz nomes em endereços;
- o DHCP, que distribui a configuração de rede aos computadores;
- o SMB, responsável pelas pastas e impressoras compartilhadas do Windows;
- os protocolos próprios de cada programa, como o do banco de dados e o do serviço de sincronização.
Os problemas desta camada aparecem nas mensagens do próprio programa, como um erro de login ou um aviso de que o servidor não foi encontrado.
Transporte: o canal
Na camada de Transporte estão dois protocolos. O TCP estabelece uma conexão e confirma a entrega dos dados. O UDP envia os dados sem estabelecer conexão.
O identificador desta camada é a porta lógica, um número que indica qual programa recebe os dados dentro do computador. Alguns exemplos:
- a porta 3306, usada pelo banco de dados MySQL;
- a porta 443, usada pelo HTTPS;
- a porta 9000, usada pelo serviço de sincronização da matriz.
A porta lógica não tem relação com as portas físicas do switch, onde se encaixam os cabos. As portas lógicas em uso podem ser vistas com o comando netstat, que lista as conexões do computador, e podem ser verificadas por meio de testes de porta.
Internet: o caminho
A camada Internet é responsável pelo endereço IP e pelo caminho entre as redes. Os protocolos desta camada são o IP, nas versões IPv4 e IPv6, e o ICMP, que transporta mensagens de controle e é utilizado pelo ping, o comando que testa se um endereço responde. Nesta camada ficam também configurações e conceitos que não são protocolos:
- Máscara: separa, no endereço, a parte que identifica a rede da parte que identifica o equipamento.
- Gateway: o endereço do roteador da rede local, o ponto de passagem para as outras redes.
- Roteamento: a escolha do caminho de cada pacote.
- Sub-redes: as divisões de uma rede.
O equipamento característico desta camada é o roteador. O endereço, a máscara e o gateway de cada adaptador são exibidos pelo comando ipconfig.
Acesso à Rede: a ligação
A camada de Acesso à Rede corresponde à ligação física e à rede local: o cabo, com a tecnologia Ethernet, e o Wi-Fi. O identificador desta camada é o endereço MAC da placa de rede, e o protocolo de apoio é o ARP, que descobre o endereço MAC de um equipamento a partir do seu endereço IP. Atuam nesta camada a placa de rede, o cabo, o switch, com as suas portas físicas, e o ponto de acesso Wi-Fi. O endereço MAC de cada adaptador é exibido pelo comando ipconfig /all, no campo Endereço Físico, e o estado da ligação pode ser observado nas luzes do switch e, quando existem, nas luzes da placa.
Protocolo, configuração ou processo
- O IPv4 é um protocolo: a versão 4 do IP. O endereço IPv4 é o identificador que esse protocolo utiliza.
- A máscara e o gateway não são protocolos: são configurações que o IP consulta para decidir o caminho de cada pacote.
- O roteamento não é um protocolo: é o processo de escolha do caminho, realizado por qualquer computador e, principalmente, pelos roteadores. Entre os roteadores dos provedores existem protocolos que trocam informações sobre caminhos, mas esses protocolos não fazem parte do dia a dia de uma loja.
Uma comunicação do começo ao fim
As etapas a seguir aparecem na ordem em que se tornam necessárias quando o caixa 01, logo depois de ligado, acessa o serviço de um fornecedor na Internet, no endereço api.example.com:
- DHCP: ao ser ligado, o computador recebe o endereço IP, a máscara, o gateway e o endereço do servidor DNS.
- DNS: o computador consulta o servidor DNS para descobrir o endereço IP de
api.example.com. - Decisão entre entrega local e gateway: com o endereço de destino e a máscara, o computador conclui que o destino pertence a outra rede e que os pacotes devem ser enviados ao gateway.
- ARP: o computador descobre o endereço MAC do gateway, necessário para montar os quadros na rede local.
- TCP: o computador estabelece a conexão com a porta do serviço, a 443.
- IP: cada pacote leva o endereço de origem e o de destino até o fim do caminho, passando pelos roteadores.
- HTTPS: os programas trocam as informações, com os dados protegidos por criptografia.
A própria consulta ao DNS, na etapa 2, já é uma comunicação pela rede e depende da decisão de caminho, do ARP e do IP. O ICMP não participa dessa troca. Esse protocolo é utilizado pelo ping e pelos equipamentos de rede para informar problemas, como um destino inacessível.
Cada camada depende das camadas inferiores
Para que o sistema da loja consulte o banco de dados, na camada de Aplicação, é preciso existir uma conexão TCP, na camada de Transporte. Essa conexão depende de endereços e rotas, na camada Internet, que por sua vez dependem da ligação local, na camada de Acesso à Rede. Por isso, o diagnóstico costuma seguir de baixo para cima: primeiro a ligação, depois o endereço e o caminho, em seguida a porta e, por fim, o programa.
Um teste comprova apenas a camada que verificou
O ping utiliza o ICMP, na camada Internet, enquanto o sistema da loja utiliza o TCP, na camada de Transporte. Um ping bem-sucedido, portanto, não prova que a porta do banco de dados está acessível. Cada resultado vale apenas para aquilo que o teste verificou.
No suporte
O primeiro passo é identificar a camada do sintoma:
- uma ligação interrompida pertence à camada de Acesso à Rede;
- um computador sem endereço válido pertence à camada Internet;
- uma porta sem resposta pertence à camada de Transporte;
- um erro de login no programa pertence à camada de Aplicação.
A camada indica qual ferramenta usar e onde procurar a causa.
Para guardar
- As quatro camadas são Aplicação, Transporte, Internet e Acesso à Rede.
- Em cada camada há protocolos, identificadores, configurações e equipamentos.
- A máscara e o gateway são configurações, enquanto IP, TCP e DNS são protocolos.
- A porta lógica, da camada de Transporte, não tem relação com as portas físicas do switch.
- Cada camada depende das camadas inferiores, e um teste comprova apenas aquilo que verificou.
Entre o IPv4, a máscara e o gateway, quais são protocolos?
Apenas o IPv4, que é a versão 4 do protocolo IP. A máscara e o gateway são configurações que o IP utiliza para decidir o caminho dos pacotes.
O servidor responde ao ping. Isso prova que o caixa 01 consegue acessar o banco de dados?
Não. O ping testa o ICMP, na camada Internet. O banco de dados utiliza uma conexão TCP em uma porta, na camada de Transporte, que precisa ser testada separadamente.