Redes de Dados e Comunicações Prof.: Fernando Ascani Camada de Aplicação A camada de Aplicação é a que fornece os serviços “Reais” para os usuários: E-mail, Acesso a Internet, troca de arquivos, etc. Portas de comunicação TCP/IP A definição mais simples para o conceito de portas, é a de entender como um usuário, com conexão à Internet, pode ao mesmo tempo acessar um ou mais sites na Internet, usar o Outlook Express para enviar e receber e-mails, usar um programa “client” FTP para fazer trocas de arquivos, etc. A pergunta é: como o sistema sabe para qual dos programas se destina cada pacote que estão chegando no computador? A resposta para essa pergunta é justamente o conceito de portas. O uso do conceito de portas, permite que vários programas estejam em funcionamento, ao mesmo tempo, no mesmo computador, trocando informações com um ou mais serviços/servidores. Portas de comunicação TCP/IP Cada programa trabalha com um protocolo/serviço especifico ao qual está associado um número de porta. Por exemplo, o serviço FTP normalmente opera na porta 21 (na verdade usa duas portas, uma para controle e outra para o envio de dados). Todo pacote que for enviado do servidor FTP para o cliente, terá, além dos dados que estão sendo enviados, uma série de dados de controle, tais como o número do pacote, código de validação dos dados e também o número da porta. Quando o pacote chega no seu computador, o sistema lê no pacote o número da porta e sabe para quem encaminhar o pacote Protocolos da Camada de Aplicação Protocolos mais conhecidos do Nível de Aplicação (TCP/IP) / Portas HTTP / 80 HTTPS / 443 FTP / 20-21 SMTP / 25 SNMP / 161 POP3 / 110 TELNET / 23 SSH / 22 NTP / 123 SQL / 1433 – Oracle 1521 Convencionou-se definir a faixa de numeração entre 0 e 1024 para numeração de portas reservadas aos serviços mais conhecidos (como os mostrados acima). São as chamadas “portas baixas”. Por outro lado, se quisermos “mascarar” a porta de um determinado serviço (por segurança, por exemplo), podemos associar qualquer número de porta a esse serviço. Pode-se configurar a porta 1526 para o serviço do Oracle, por exemplo. HTTP – HyperText Transfer Protocol Porta 80 Responsável pelo tratamento de pedidos/respostas entre cliente e servidor Aplicativos: Web Browsers – Internet Explores, FireFox, Chrome, etc HTTPS – HyperText Transfer Protocol Secure Porta 443 Implementação do protocolo HTTP sobre uma camada SSL (Criptografada) FTP – File Transfer Protocol Porta 21 – Cliente / Servidor Porta 20 – Conexão de dados Plataforma rápida e versátil para trocas (transferências) de arquivos Aplicativos: FTP Servers, FTP Web, Filezila, Core FTP, Cute FTP SMTP – Simple Mail Transfer Protocol Porta 25 Protocolo padrão para envio de e-mails através da Internet. Baseado em texto Aplicativos: Clients: Outlook Express, Microsoft Outlook Servidores: Sendmail, Exchange Server, Postfix, Qmail POP3 – Post Office Protocol Porta 110 Permite que mensagens contidas numa caixa de correio eletrônico sejam transferidas sequencialmente para o computador local. SNMP – Simple Network Management Protocol Porta 161 Protocolo para gerenciamento de redes Muito usado em ativos de rede, mas pode ser usado em qualquer equipamento que possua esse protocolo habilitado (servidores, estações, etc) Aplicativos: Nagios, Cacti, WhatsUp!, etc. Telnet Porta 23 Protocolo Cliente / Servidor usado para conectar computadores na mesma rede. Protocolo de acesso remoto. Está caindo em desuso, pois os dados podem ser lidos através de um capturador de pacotes (“sniffer”). Sendo substituído pelo protocolo SSH. SSH – Secure Shell Porta 22 Mesmas funcionalidades do Telnet. Dados trafegam criptografados Aplicativos: PuTTY, Telnet (porta 23 ou 22), WinSCP (SFTP). Endereços IP Endereços IP servem para a localização de host destino. Todos os equipamentos em uma rede (chamados de host) possuem um endereço IP para serem localizados na rede. Não é necessário saber fisicamente a localização de determinado equipamento na empresa, mas sim o seu endereço IP. Os endereços IP são números de 32 bits e dividem-se em dois segmentos: Rede e Host. Endereços IP Os endereços de rede são utilizados pelos roteadores para encontrar na rede local onde o destinatário se encontra. Uma vez na rede local de destino, o endereço do hardware será localizado. Um mesmo equipamento pode ter mais de um endereço IP e até mesmo endereço IP de redes diferentes. Por exemplo, um prédio com duas entradas: uma entrada por uma rua e outra entrada por outra rua ou outro número. Endereços IP Os endereços são representados na forma binária ou decimal pontuada, nesse caso com 4 octetos separados por um numero decimal, que resulta em um número variando de 0 a 255 em cada octeto, ou byte. Exemplo de endereço IP: 172.16.122.204 Endereços IP Os endereços foram divididos em 5 classes, A,B,C,D e E. As classes usadas em roteamento normal são A, B, e C. A classe D é usada para roteamento Multicast, e a classe E foi reservada para experimentos. Endereços IP Quanto mais bits para hosts, maior é a rede (maior a faixa liberada para quantidade de hosts). A Classe A, portanto, é a maior rede e a classe C a menor. Classe Bits iniciais Início Fim Máscara de Subrede padrão Notação CIDR A 0 1.0.0.1 127.255.255.253 255.0.0.0 /8 B 10 128.0.0.1 191.255.255.254 255.255.0.0 /16 C 110 192.0.0.1 223.255.255.254 255.255.255.0 /24 Endereços Reservados Existem alguns endereços que são reservados e que não podem ser configurados para utilização dentro da rede. Bloco de Endereços Descrição 0.0.0.0/8 Rede corrente (só funciona como endereço de origem) 10.0.0.0/8 Rede Privada 14.0.0.0/8 Rede Pública 39.0.0.0/8 Reservado 127.0.0.0/8 Localhost 128.0.0.0/16 Reservado (IANA) 169.254.0.0/16 Zeroconf 172.16.0.0/12 Rede Privada 191.255.0.0/16 Reservado (IANA) 192.0.2.0/24 Documentação 192.88.99.0/24 IPv6 para IPv4 192.168.0.0/16 Rede Privada 198.18.0.0/15 Teste de benchmark de redes 223.255.255.0/24 Reservado 224.0.0.0/4 Multicasts (antiga rede Classe D) 240.0.0.0/4 Reservado (antiga rede Classe E) 255.255.255.255 Broadcast Endereços Reservados - LocalHost A faixa de IP 127.0.0.0 – 127.255.255.255 (ou 127.0.0.0/8 na notação CIDR) é reservada para a comunicação com o computador local (localhost). Qualquer pacote enviado para estes endereços ficarão no computador que os gerou e serão tratados como se fossem pacotes recebidos pela rede (Loopback). O endereço de loopback local (127.0.0.0/8) permite à aplicação-cliente endereçar ao servidor na mesma máquina sem saber o endereço do host, chamado de "localhost". Na pilha do protocolo TCP/IP, a informação flui para a camada de rede, onde a camada do protocolo IP reencaminha de volta através da pilha. Este procedimento esconde a distinção entre ligação remota e local. Endereços Reservados – Redes Privadas Classe Faixa de endereços de IP Notação CIDR Classe A 10.0.0.0 – 10.255.255.255 10.0.0.0/8 Classe B 172.16.0.0 – 172.31.255.255 172.16.0.0/16 Classe C 192.168.0.0 – 192.168.255.255 192.168.0.0/24 MAC Address – Endereços MAC (Media Access Control) Os endereços MAC (endereço de hardware, endereço físico ou de placa de rede) são endereços de camada 2. Os endereços de camada 2 são a referência final para a entrega dos frames. A informação só chega ao destino depois que esse nível de endereços é conhecido. Em máquinas com sistema operacional Windows, pode-se verificar o endereço MAC da placa ou interface de rede através do comando ipconfig com o parâmetro /all. No Linux o comando é ifconfig. MAC Address – Endereços MAC (Media Access Control) Os endereços MAC têm 48 bits de comprimento e são expressos com doze dígitos hexadecimais, agrupados 2 a 2. Exemplo: 00:00:5E:00:01:03 Os primeiros seis dígitos hexadecimais, que são administrados pelo IEEE, identificam o fabricante ou fornecedor e, portanto, formam o Identificador único de Organização (Organizational Unique Identifier - OUI). Os seis dígitos hexadecimais restantes formam o número serial de interface, ou outro valor administrado pelo fornecedor específico. É um endereço único, ou seja, não existe em todo o mundo duas placas com o mesmo endereço físico. Protocolo ARP – Address Resolution Protocol O Protocolo de resolução de endereços (ARP), fornece um mecanismo para os dispositivos de rede TCP/IP localizarem o endereço de hardware de outros dispositivos na mesma rede. Esse mecanismo é necessário para que os dispositivos baseados no Ip se comuniquem. O ARP está descrito na RFC 826, e está baseado em dois tipos de mensagem: Uma requisição (ARP request) e uma resposta (ARP reply). Esse método é rotineiro nas redes locais para que a origem da mensagem encontre o MAC address do destinatário. Protocolo ARP – Address Resolution Protocol É um protocolo usado para encontrar um endereço da camada de enlace (Ethernet, por exemplo) a partir do endereço da camada de rede (como um endereço IP). O emissor difunde em broadcast um pacote ARP contendo o endereço IP de outro host e espera uma resposta com um endereço MAC respectivo. Cada máquina mantém uma tabela de resolução em cache para reduzir a latência e carga na rede. O ARP permite que o endereço IP seja independente do endereço Ethernet, mas apenas funciona se todos os hosts o suportarem. Um comando comum em Windows (no prompt do DOS) para visualizar a tabela ARP em cache é: arp –a Protocolo ARP – Address Resolution Protocol Exemplo de tabela de endereços armazenada no cache ARP