Redes de Computadores I Conceitos Básicos (6 a. Semana de Aula) Prof. Luís Rodrigo lrodrigo@lncc.br http://lrodrigo.lncc.br 2013.09 v2 2013.09.10 (baseado no material de Jim Kurose e outros)
Arquiteturas de Rede
Arquiteturas RM/OSI e TCP Modelo de TCP/IP
Arquitetura TCP/IP Modelo de TCP/IP
Arquitetura TCP/IP A sigla TCP/IP representa a família de protocolos de alto nível desenvolvida para o uso na Internet Sendo atualmente, a suíte de protocolos tida como o padrão de facto para redes de computadores. Esta suíte recebe o nome de seus dois principais protocolos: TCP e o IP
Arquitetura TCP/IP O TCP (Protocolo de Controle de Transmissão) é um protocolo que oferece serviços de entrega de pacotes orientados a conexão. Dentre os serviços prestados por este protocolo destacam-se: Verificação de erros Numeração sequencial Este protocolo força ao destino a responder com um pacote de confirmação de recebimento a cada pacote, ou grupo de pacotes, recebido.
Arquitetura TCP/IP O IP (Protocolo de Internet) é o protocolo que oferece serviços de entrega de pacotes não orientados a conexão. Ele é responsável pela: identificação de dispositivos da rede através de endereços Entrega de pacotes, porém sem garantias Implementa o serviço de melhor esforço
Protocolos da Camada de Aplicação
Protocolos da Camada de Aplicação Dentre os principais protocolos da camada de aplicação destacam-se: Telnet FTP TFTP SMTP SNMP ICMP
Protocolo Telnet O Telnet é um protocolo de Internet que permite a conexão interface de terminais e de aplicações através da Internet. Permitir conectar um cliente à uma shell remota, no lado do servidor. O protocolo Telnet baseia-se numa conexão TCP para enviar dados em formato ASCII codificado em 8 bits. Fornece um sistema orientado para a comunicação, bidireccional (half-duplex)
Protocolo Telnet Ele é um protocolo de transferência de dados não seguro, o que quer dizer que os dados circulam às claras na rede (de maneira não codificada). O protocolo Telnet assenta em três conceitos fundamentais: O paradigma do terminal rede virtual (NVT, Network Virtual Terminal); O princípio de opções negociadas; As regras de negociação.
Protocolo Telnet - Terminal virtual NVT (Network Virtual Terminal, leia-se "Terminal rede virtual"), fornecendo uma base de comunicação padrão, composta por: Caracteres ASCII de 7 bits Três caracteres de controle Cinco caracteres de controle opcionais Um jogo de sinais de controle básico O protocolo Telnet consiste em criar uma abstração do terminal, permitindo a qualquer hóspede (cliente ou servidor) comunicar com outro hóspede sem conhecer as suas características.
Protocolo Telnet - RFCs Algumas das RFCs relacionadas ao Telnet RFC 854: TELNET protocol specification RFC 855: TELNET option specifications RFC 856: TELNET binary transmission RFC 857: TELNET echo option RFC 858: TELNET suppress Go Ahead option RFC 859: TELNET status option RFC 860: TELNET timing mark option RFC 861: TELNET extended options - list option RFC 885: Telnet end of record option RFC 1041: Telnet 3270 regime option
Protocolo FTP FTP é uma forma bastante rápida e versátil de transferir arquivos, sendo uma das mais usadas na Internet. Pode referir-se tanto ao protocolo quanto ao programa que implementa este protocolo (Servidor FTP, neste caso). Envolve normalmente transferência de arquivos e acesso a sistemas de arquivos remotos (com a mesma interface usada nos arquivos locais).
Protocolo FTP O FTP (RFC 959) é baseado no TCP, mas é anterior à pilha de protocolos TCP/IP, sendo posteriormente adaptado para o TCP/IP. É o padrão da pilha TCP/IP para transferir arquivos É um protocolo genérico independente de hardware e do sistema operacional e transfere arquivos tendo em conta restrições de acesso e propriedades dos mesmos.
Protocolo FTP Um cliente realiza uma conexão TCP para a porta 21 do servidor. Essa conexão, chamada de conexão de controle, permanece aberta ao longo da sessão enquanto uma segunda conexão. A chamada conexão de dados, é estabelecida na porta 20 do servidor e em alguma porta do cliente como requisitado para a transferência de arquivo. A conexão de controle é utilizada para administração da sessão (comandos, identificação, senhas) entre cliente e servidor utilizando um protocolo semelhante ao Telnet.
Protocolo FTP FTP pode ser executado em modo ativo ou passivo, os quais determinam como a conexão de dados é estabelecida. No modo ativo, o cliente envia para o servidor o endereço IP e o número da porta na qual ele irá ouvir e então o servidor inicia a conexão TCP. Em situações onde o cliente está atrás de um firewall e inapto para aceitar entradas de conexões TCP, o modo passivo pode ser utilizado. O cliente envia um comando PASV para o servidor e recebe um endereço IP e um número de porta como resposta, os quais o cliente utiliza para abrir a conexão de dados com o servidor.
Protocolo TFTP O Trivial File Transfer Protocol (ou apenas TFTP) é um protocolo de transferência de arquivos, muito simples, semelhante ao FTP. O TFTP é usualmente utilizado para transferir pequenos arquivos entre "hosts" numa rede. Tal como quando um terminal remoto ou um cliente inicia o seu funcionamento, a partir do servidor. Toda a transferência começa com um pedido de leitura ou escrita de um arquivo, que sirva também para pedir uma conexão.
Protocolo TFTP Se o servidor aceitar o pedido, a conexão será aberta e o arquivo é enviado em blocos de 512 bytes. Cada pacote contem um bloco dos dados, e deve ser confirmado por um pacote do reconhecimento antes que o pacote seguinte possa ser enviado. O remetente tem que manter apenas um pacote, já que o pacote de confirmação garante que todos os pacotes mais antigos foram recebidos
Protocolo TFTP Especificações É baseado em UDP (usa a port 69) Não permite listar o conteúdo de diretórios Sem mecanismos de autenticação ou encriptação de dados Usado para ler e/ou escrever arquivos em servidores remotos Suporta os modos de transferência: netascii (corresponde ao modo ascii do ftp), octet (corresponde ao binary do ftp) e mail.
Protocolo SMTP Simple Mail Transfer Protocol (SMTP) é o protocolo padrão para envio de e-mails através da Internet. SMTP é um protocolo relativamente simples, baseado em texto simples, onde um ou vários destinatários podem ser especificados É bastante fácil testar um servidor SMTP usando o programa telnet.
Protocolo SMTP Ele usa a porta 25/TCP. A resolução DNS de um servidor SMTP de um dado domínio é possibilitada por sua entrada MX (Mail exchange). A utilização em massa do SMTP remonta aos anos 80. Na altura era um complemento ao UUCP, que era mais adequado para transferências de correio eletrônico entre máquinas sem ligação permanente. Por outro lado, o desempenho do SMTP aumenta se as máquinas envolvidas, emissor e receptor, se encontrarem ligadas permanentemente.
Protocolo SMTP O Sendmail foi um dos primeiros (se não o primeiro) agente de transporte de email a implementar SMTP. Outros servidores SMTP muito conhecidos são: exim, Postfix, Qmail, Microsoft Exchange Server e o Mail da Apple Inicialmente suportava apenas mensagens formatadas como texto ASCII, não era ideal para a transferência de arquivos Algumas RFCs foram desenvolvidos para permitir a transferência de arquivos, como o caso do MIME. Hoje em dia quase todos os servidores SMTP suportam a extensão 8BITMIME.
Protocolo SMTP O SMTP é um protocolo usado apenas para envio de mensagens O que significa que ele não permite ao usuário descarregar as mensagens de um servidor. Para isso, é necessário que o cliente de e-mail tenha suporte ao protocolo POP3 ou IMAP
Protocolo SMTP - RFCs RFC 2821 - The Simple Mail Transfer Protocol, que tornou obsoleto o RFC 821 RFC 2822 - Internet (i.e. e-mail) Message Format, que tornou obsoleto o RFC 821 RFC 1869 - Extensões do SMTP, originando o Extended SMTP RFC 1891 - Extensão ao SMTP para suportar Delivery Status Notification (DSN)
Protocolo SMTP - Conexão $ telnet smtp.lncc.br 25 Trying 146.134.9.169... Connected to iota.lncc.br. Escape character is '^]'. 220 ESMTP HELO lncc.br 250 iota.lncc.br MAIL FROM: lrodrigo@lncc.br 250 2.1.0 Ok RCPT TO: luisrodrigoog@gmail.com 250 2.1.5 Ok
Protocolo SMTP - Conexão DATA 354 End data with <CR><LF>.<CR><LF> Subject: test message From: lrodrigo@lncc.br To: luisrodrigoog@gmail.com Hello, This is a test. Goodbye.. 250 2.0.0 Ok: queued as 30F8F1888A13 quit 221 2.0.0 Bye Connection closed by foreign host.
Protocolo SNMP O SNMP (Simple Network Management Protocol) é um protocolo de gerência típica de redes UDP, da camada de aplicação Facilita o intercâmbio de informação entre os dispositivos de rede. O SNMP possibilita aos administradores gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras.
Protocolo SNMP O software de gerência de redes não segue o modelo cliente-servidor convencional. Nas operações GET e SET a estação de gerenciamento se comporta como cliente e o dispositivo de rede a ser analisado ou monitorado se comporta como servidor.
Protocolo SNMP Enquanto que na operação TRAP ocorre o oposto, pois no envio de alarmes é o dispositivo gerenciado que toma iniciativa da comunicação. Por conta disso, os sistemas de gerência de redes evitam os termos cliente e servidor e optam por usar gerente para a aplicação que roda na estação de gerenciamento e agente para a aplicação que roda no dispositivo de rede.
Componentes Básicos do SNMP Uma rede gerida pelo protocolo SNMP é formada por três componentes chaves: Dispositivos Geridos Agentes Sistemas de Gestão de Redes (NMS - Network- Management Systems)
Componentes Básicos do SNMP Um Dispositivo Gerido é um nó de rede que possui um agente SNMP instalado e se encontra numa rede gerida. Estes dispositivos colectam e armazenam informações de gestão e mantém estas informações disponíveis para sistemas NMS através do protocolo SNMP. Os dispositivos geridos, podem ser routers, servidores de acesso, impressoras, computadores, servidores de rede, switches, dispositivos de armazenamento, dentre outros.
Componentes Básicos do SNMP Um Agente é um módulo de software de gestão de rede que fica armazenado num Dispositivo Gerido. Um agente tem o conhecimento das informações de gestão locais e traduz estas informações para um formato compatível com o protocolo SNMP. Um sistema NMS é responsável pelas aplicações que monitoram e controlam os Dispositivos Geridos. Normalmente é instalado num (ou mais que um) servidor de rede dedicado a estas operações de gestão, que recebe informações (pacotes SNMP) de todos os dispositivos geridos daquela rede.
Protocolo ICMP ICMP (Internet Control Message Protocol) é um protocolo definido pelo RFC 792, e utilizado para fornecer relatórios de erros. Computadores que utilizem o protocolo IP devem aceitar as mensagens ICMP e alterar o seu comportamento de acordo com o erro relatado. Os gateways devem estar programados para enviar mensagens ICMP quando receberem datagramas que provoquem algum erro.
Protocolo ICMP As mensagens ICMP podem ser enviadas automaticamente em uma das seguintes situações: Um pacote IP não consegue chegar ao seu destino (i.e. Tempo de vida do pacote expirado) O Gateway não consegue retransmitir os pacotes na frequência adequada (i.e. Gateway congestionado) O Roteador ou Encaminhador indica uma rota melhor para a máquina a enviar pacotes.
Protocolo ICMP Dentre as ferramentas que utilizando este protocolo destacam-se: ping o fping traceroute. nmap
Protocolo ICMP Alguns firewalls (Windows ou Unix), bloqueiam as respostas (ICMP Reply), dificultando o Ping e o Traceroute (tracert). Estas são tentativas de bloquear os ataques de hackers, que consiste na sobrecarga da memória, enviando dados (em ping) até o sistema não ter a capacidade de administrar suas próprias funções. Esse ataque é significativo, principalmente contra usuários do Microsoft Windows 95.
Tipos de mensagens ICMP Echo Request / Reply teste e controle da rede, caso a maquina esteja ligada ira responder com um reply Destination Unreachable Enviado quando o router discarta um datagrama; CODE - Indica a razão da perda do datagrama Timestamp Request / Reply Mensagens para sincronização dos relógios das máquinas