A Camada de Aplicação no modelo TCP/IP

Autor: Petter Anderson Lopes

E-mails: [email protected][email protected]

Disciplina: Redes – Professor: Ademar Fey

Resumo

Este documento apresenta um estudo detalhado sobre a camada de aplicação do modelo TCP/IP, principais protocolos e utilitários presentes na camada, bem como sua função. Através de estudos práticos e cientificamente comprovados será possivel perceber sua importância e aplicação em uma rede de computadores.

Palavras-chave: TCP/IP. Aplicação. Utilitários.

Introdução

Este documento contém informações detalhadas de forma simples para o bom entendimento do estudo da camada de aplicação do modelo TCP/IP.

No decorrer do artigo será possível compreender os fundamentos dos principais protocolos da camada de aplicação do modelo TCP/IP, também é interessante dedicar um tempo maior na leitura sobre cada utilitário apresentado, pois os mesmos auxiliarão em futuras soluções de problemas, gerenciamento e análise em uma rede de computadores.

1 A definição da camada de aplicação

Para definirmos a camada de aplicação podemos fazer a analogia do “win+e” quando abrimos o “explorer do windows “ ou seja, vemos o resultado de uma operação, vemos um aplicativo sendo executado e nos devolvendo alguma informação.

As características da camada de aplicação seguem esse padrão, pois toda vez que alguma tarefa é executada em rede, e deve ser enviada ou de fácil interpretação para o usuário final ou operador seja ele lógico ou não, é feito o uso da camada de aplicação.

Quando abrimos o navegador de internet e digitamos www.dominio.com no lado do servidor temos um operador lógico que fica em modo listening para enviar a resposta ao operador do computador (usuário que abriu o navegador e requisitou o serviço), tanto um quanto o outro estavam operando na camada de aplicação.

É muito comum falarmos que a camada de aplicação no modelo TCP/IP é diretamente ligada ao usuário final ou operador humano, mas nem sempre isso é tarefa para uma pessoa interagir ou dizer o que dever ser feito, imagine um banco de dados rodando em  cluster, teremos 2 servidores se comunicando sem a intervenção do usuário, ou melhor um será o usuário do outro, e claro ainda teremos mais um loadbalance para gerenciar essa ligação. Neste caso é feita a ligação entre serviços (que rodam na camada de aplicação) afim de estabelecer a comunicação entre eles.

2  Função da camada

Composta por 3 camadas (sessão, apresentação e aplicação, que são distintas no modelo OSI) a camada de aplicação do modelo TCP/IP, por ser a camada mais próxima do usuário final, ela tem por função servir como terminal para as operações que ocorrem em uma rede.

Quando alguém precisa requisitar algo que está em uma rede, seja ela LAN, WAN, ou qualquer outra, é na camada de aplicação que irá ser feita a requisição ou recebimento de informações. Como citado anteriormente o caso da navegação de sites.

A camada de aplicação é responsável por gerenciar e deixar disponível ao usuário, todos os sistemas e ferramentas a ele destinados, por ex: ERP, SSH, TELNET, FTP, SGDB, SNMP, e muitos outros aplicativos e recursos disponíveis em uma rede, seja de pequeno ou grande porte.

3 Resumo dos principais protocolos que rodam nesta camada

HTTP: Hypertext Transfer Protocol usa a porta 80 como padrão e é responsável pela ligação de recursos da World Wide Web. Quando acionado esse protocolo sabe que irá trafegar mensagens web com html.

Telnet/SSH: usados para emular terminal, através deles podemos controlar remotamente qualquer sistema operacional de acordo com o privilégio determinado ao usuário logado. Telnet server (porta 23 TCP) usado em Windows e *nix, SSH server (porta 22 TCP) usado em *nix, SSH é criptografado enquanto Telnet não possui criptografia, podendo assim ser alvo fácil para sniffers. Incluindo equipamentos como roteadores.

FTP: File Transfer Protocol, usado para transferência de arquivos entre servidores, seja por linha de comando ou por algum programa ex: Filezilla. Suportados em todos os sistemas operacionais. Utiliza  a porta 21 TCP para troca de mensagens e comandos e a porta 20 para a transferência de arquivos propriamente dita.

POP3/IMAP: usados para o recebimento de e-mails. Post Office Protocol (POP3) geralmente utiliza a porta 110 TCP.  Internet Message Access Protocol (IMAP) alternativo ao POP3, pode-se gerir vários acessos simultâneos.

SMTP: Simple Mail Transport Protocol, usado para o envio de emails. Utiliza a porta 25 TCP.

DNS: Domain Name Server, usado para identificar nome de domínios ex: www.dominio.com, facilitando a memorização para consultas por parte do usuário. Utiliza a porta 53 TCP e UDP.

SNMP: Simple Network Management Protocol, usado para gerenciar redes. Com ele é possível coletar ou receber dados referentes a CPU da máquina por exemplo. Vários programas de monitoramento de redes utilizam esse protocolo para coletar informações como o Nagios. Utiliza UDP para comunicação, porta 161 utilizada para comandos e 162 para alarmes, com ele é possível monitorar switches, routers.

4 Resumo dos principais utilitários da família TCP/IP que rodam nesta camada

Telnet: para estabelecer uma conexão com o servir é necessário informar os parâmetros “telnet ip_do_servidor” por padrão se a porta for a 23 não é necessário informar, caso contrário deverá ser especificado exemplo: “telnet ip_do_servidor porta”. Após conectado é possível executar qualquer função administrativa desde que o usuário possua privilégios suficientes. Com ele podemos editar registro do windows, criar e remover pastas e arquivos(mkdir, rm, cp, edit), instalar programas, listar e eliminar tarefas(tasklist, taskkill), reiniciar ou desligar o equipamento (shutdown –s, shutdown –h, shutdown -r), mais uma infinita lista de programas via linha de comando.

SSH: segue a mesma função do Telnet, porém com criptografia e para conectar a Linux. Com ssh podemos criar túneis que são muito úteis quando o firewall nos bloqueia.

Para estabelecer uma conexão com SSH é necessário informar os parâmetros “ssh [email protected]” e após senha conforme solicitado, por padrão se a porta for a 22 não é necessário informar, caso contrário deverá ser especificado  exemplo: “ssh [email protected] –P porta”. Para listar tarefas em linux o camando é o “top”, para desligar “halt”, reinicializar “reboot” e mais uma infinita lista de programas via linha de comando.

PING: utilizado para testar se á comunicação entre servidores “ping ip_do_servidor”, envia pacotes icmp.

TRACEROUTE: utilizado para mostrar a rota feita entre o ponto de origem e o ponto de destino “tracert ip_de_destino”.

ROUTE ADD: utilizado para definir rotas “route add ip mask gw”.

WMIC: útil para colectar informações do computador “wmic baseboard” ou “wmic service”.

GETMAC: utilizado para capturar o endereço físico de um componente de rede “getmac” remotamente “getmac –S ip_destino -U usuario –P senha”.

IPCONFIG: utilizado para descobrir informações sobre o componente de rede como, mascaramento, endereço ip, gatway padrão.

NETSH: muito útil para executar comandos de configuração de rede, abaixo alguns exemplos:

1) Alteração de IP na interface para endereço estático :
netsh interface ip set address name=”Rede Local” static 10.0.0.9 255.255.255.0 10.0.0.1 1

2) Alteração de IP na interface para endereço DHCP
netsh interface ip set address name=”Rede Local” source=dhcp

3) Alterando o Gateway e metrica
netsh interface ip set address “Rede Local” gateway = 10.0.0.1 gwmetric = 2

4) Alterando o DNS da placa de rede
netsh interface ip set dns “Rede Local” source=static addr=200.200.200.200 register=PRIMARY

Alguns comandos que funcionam apenas com Windows XP SP2 !!!

1) Mostrar configuração do Firewall do Windows XP
netsh firewall show config

2) Reseta configurações do Firewall para padrão
netsh firewall reset

3) Reseta todas configurações de REDE (Útil em caso de spywares contaminar, e seu micro não conseguir mais requisitar um IP ao DHCP Server)
netsh winsock reset

Agora um ótimo comando para verificação de problemas em sua configuração de rede.

NETSH DIAG GUI

PATHPING: O comando pathping é uma ferramenta de rastreamento de rota que combina recursos dos comandos ping e tracert com informações adicionais que essas duas ferramentas não fornecem. O comando pathping envia pacotes para cada roteador no caminho até o destino final durante um determinado período e depois calcula os resultados com base nos pacotes retornados de cada salto. Como o comando indica o grau de perda de pacotes em qualquer roteador ou link fornecido, fica fácil determinar quais roteadores ou links podem estar provocando problemas na rede.

Exemplo de saída:

C:UsersPetter>pathping -n 192.168.1.102

Rastreando a rota para 192.168.1.102 com no máximo 30 saltos

 0  192.168.1.100

 1  192.168.1.102

Calculando estatísticas para 25 segundos…

           Origem aqui      Este nó/Vínculo

           Perdido/Enviado  Perdido/Enviado

Salto RTT        = Pct            = Pct       Endereço

 0                                           192.168.1.100

                               0/ 100 =  0%   |

 1    2ms     0/ 100 =  0%     0/ 100 =  0%  192.168.1.102

Rastreamento concluído.

NBTSTAT: Mostra estatísticas de protocolos e conexões de TCP/IP correntes usando NBT (NetBIOS) sobre TCP/IP.

“nbtstat -a” para listar as máquinas por nome.

“nbtstat -A” para listar as máquinas por IP.

“nbtstat -c” para listar o nome do cache remoto incluindo os endereços IP.

“nbtstat -n” para listar os nomes de NETBIOS Local.

“nbtstat -r” para listar nomes resolvidos por Broadcast e por WINS.

“nbtstat -R” para recarregar a tabela de cache remoto.

“nbtstat -S” para listar a tabela de sessões com os IPs de destino.

“nbtstat -s” para listar tabela de sessões convertendo IP de destino para nomes de

Hosts pelo arquivo de Hosts.

NETSTAT: Mostra conexões de rede, tabela de roteamento, estatísticas de interfaces, conexões masquerade, e mensagens.

netstat [opções]

Onde:
opções
-i [interface]

Mostra estatísticas da interface [interface].

-M, –masquerade

Se especificado, também lista conexões masquerade.

-n, –numeric

Usa endereços numéricos ao invés de tentar resolver nomes de hosts, usuários e portas.

-c, –continuos

Mostra a listagem a cada segundo até que a CTRL+C seja pressionado.

Se não for especificada nenhuma opção, os detalhes das conexões atuais serão mostrados.

Considerações Finais

Após um bom tempo dedicado ao estudo dos protocolos e utilitários é possível notar a importância e usabilidade de cada um. Sem dúvida cada componente aqui apresentado desempenha muito bem o seu papel em uma rede de computadores.

Referências

Bibliografia Consultada

http://technet.microsoft.com/pt-br/library/cc668515.aspx

http://technet.microsoft.com/pt-br/library/cc787365(WS.10).aspx

http://www.plugmasters.com.br/forum/lofiversion/index.php/t3829.html

 

Autor: Petter Anderson Lopes