#1 Analisando:
O que é que a frase
A Paula Só Tira Nabos Da Púcaratêm a ver com o modelo OSI e como é que isso pode ajudar um IT Tech Newbie a fazer troubleshooting de um dado problema.
A | Application |
Paula | Presentation |
Só | Session |
Tira | Transport |
Nabos | Network |
Da | Data Link |
Pucara | Physical |
Aqui temos mais uma vez o modelo OSI, efectivamente como o Tavares salientou é uma MNEMÓNICA
E o que é o modelo OSI (Open Systems Interconnection)?
Tentando sintetizar, é uma descrição abstracta do desenho dos protocolos de rede e das suas interligações de uma maneira segmentada.
E em que é que isso ajuda um ITTech? é como aprender a falar ou a escrever se não soubermos o abecedário não saberemos formar palavras complexas e neste caso resolver questões complexas num ambiente de rede.
Por isso é muito importante interiorizar este Modelo (e outros conceitos), as suas componentes de dados, as suas camadas e respectivas funções
OSI Model |
| Data Unit | Layer | Function |
Host layers | Data | 7. Application | Network process to application |
Host layers | Data | 6. Presentation | Data representation and encryption |
Host layers | Data | 5. Session | Interhost communication |
Host layers | Segment | 4. Transport | End-to-end connections and reliability |
Media layers | Packet | 3. Network | Path determination and logical addressing |
Media layers | Frame | 2. Data Link | Physical addressing (MAC & LLC) |
Media layers | Bit | 1. Physical | Media, signal and binary transmission |
Com este modelo temos então uma ideia de como é que as redes onde nós trabalhamos funcionam e comunicam.
Claro que aqueles que verdadeiramente perceberem o seu funcionamento terão sempre mais capacidade de manipular e contornar estes ambientes de redes (AKA hackers, Gurus) do que os restantes.
Um exemplo prático onde este conhecimento foi aplicado:
Um colega meu estava num cliente a instalar vários sistemas Microsoft (entre eles Exchange email) e um dispositivo de segurança periférica (AKA firewall) e algo que estava fora do seu controlo, o router\modem de ligação à internet que normalmente é da responsabilidade do ISP (Internet Service Provider), mas que infelizmente nem sempre têm as pessoas mais brilhantes a trabalhar para eles (Newbies existem em todos os lados e em todas as matérias).
A uma dada altura ele entra em contacto com os seus colegas a pedir ajuda porque o email não funciona.
Ora, como é que eu tentei aplicar esta metodologia à resolução de tal problema:
1# Começando pelo principio (o topo do modelo OSI) garantimos que aplicacionalmente o sistema funciona (e como?) localmente (no HOST):
1.1# validamos que alguma “aplicação” está à escuta no porto do serviço que teremos problemas
netstat –ano | find /i “:25”
na máquina que faz “hosting” do serviço (lembram-se Host Layers? penso que neste caso validámos a camada nº5 Session)
Se retornar valores pudemos passar ao passo seguinte, validamos que o serviço que escuta nesse porto está activo e é aquele que esperamos
telnet %computername% 25 (simples e universal para portos TCP, mas devemos saber que resultados esperar, “rule of thumb” se não der erro é porque o mais provável é estar a funcionar)
portqry –n %computername% –p tcp –e 25 (simples, necessita do binário que é de download gratuito Resource kit windows 2003 (v2), e mais poderoso que o simples telnet) ver este excelente post
nmap –sT –p25 %computername% (Universalmente :) reconhecido como a melhor ferramenta de reconhecimento de redes e hosts, o windows têm alguns problemas em fazer scan a ele próprio MAS ei funciona com a placa wireless activa)
Mais uma vez se os comandos anteriores retornarem valores é porque o serviço que escuta no porto TCP25 (uma vez que é SMTP que estamos a diagnosticar) está activo e funcional (neste caso penso que testámos a camada nº6 Presentation).
Não quer dizer com isto que esteva 100% funcional mas já é um indicio, para sabermos se está 100% funcional temos de saber como funciona o serviço que queremos diagnosticar (camada nº7 Application) que no caso do serviço SMTP bastaria ler uns RFCs para sabermos como o fazer.
NOTA: para “troubleshoot” do serviço SMTP é bom saber fazer estes tipos de testes.
E assim foi feito
OK. Passo 1 está concretizado, conseguimos dizer com toda a certeza que o serviço está operacional na máquina em que reside.
2# será que é um problema de comunicação em rede (camadas 4 e inferiores do modelo OSI)?
Para este passo penso que as melhores ferramentas usar é o PING \ TRACERT e ARP, claro que o uso das 2 primeiras pressupõe não haver restrições na passagem de dados no protocolo ICMP, mas primeiro testamos, depois logo vemos.
Testes a partir da máquina com serviço:
é melhor testar de outro máquina que esteja na mesma rede física e na mesma subnet lógica.
Humm, funciona, inclusive o teste ao serviço de SMTP funciona por isso as comunicações internas entre essas duas máquinas estão OK e as comunicações entre esta nova máquina de teste e uma máquina de teste com serviço SMTP na Internet também funciona.
Vamos testar agora no sentido inverso
também não funciona, perde-se pelo caminho e se fizer para o outro IP público gerido pelo mesmo dispositivo de segurança periférica (que por sua vez faz NAT para dentro), pudemos ver que o TRACERT chega ao destino.
Como este POST já está a ficar muito longo e a ideia é demonstrar que é preciso saber as bases para se puder aplicar mais acima.
Encurtando, a ideia é fazer testes nos dois sentidos em vários hosts que saibamos que funcionam as comunicações e os serviços.
DOCUMENTAR esses testes e os procedimentos feitos.
e por fim podem tirar uma CONCLUSÃO fundamentada:
NOTA: nem sempre a funcionalidade de uma camada mais baixa do modelo OSI pressupõe a funcionalidade de uma camada superior mas o INVERSO é verdade. No entanto devemos saber diferenciar entre testes de camadas diferentes e de standards dentro da mesma camada (ex: PING não responder não significa que não temos conectividade de rede, é um indicio mas não é prova) mas este assunto deixo para o próximo POST.
ITBérius