quinta-feira, 18 de abril de 2013

Trabalho de pesquisa 07-02-2013


Conceitos sobre ARP
ARP, acrónimo de Address Resolution Protocol, é o protocolo usado para encontrar numa LAN o endereço MAC (também conhecido por endereço físico) de um equipamento a partir do seu endereço IP.

Para que um computador comunique com outro numa LAN necessita de saber o seu endereço MAC. Para tal emite, em broadcast, um pacote ARP contendo o endereço IP do computador que deseja contactar e aguarda por uma resposta que conterá o endereço MAC necessário. De forma a acelerar o processo e a reduzir a carga na rede os equipamentos mantêm em cache os endereços ARP. A utilização dos endereços MAC e do protocolo ARP permite que os endereços IP sejam independentes do equipamento a que estão atribuídos e possam ser portados. 




ARP – Endereçamento para outra LAN
Duas tabelas ARP no router R, uma para cada rede IP (LAN)
  • A cria datagrama IP com origem A, destino B 
  • A usa ARP para obter endereço MAC de R para 111.111.111.110 
  • A cria quadro da camada de enlace com endereço MAC de R como destino, quadro contém datagrama IP A-para-B 
  • NIC de A envia um quadro 
  • NIC de R recebe o quadro 
  • R remove datagrama IP do quadro Ethernet, vê o seu destinado a B 
  • R usa ARP para obter endereço MAC de B 
  • R cria quadro contendo datagrama IP A-para-B e envia para B 




Tabelas ARP
Os dispositivos mantêm tabelas que contêm os endereços MAC e os endereços IP de outros dispositivos ligados à mesma LAN.

  • Cada dispositivo tem a sua própria tabela ARP. 
  • Tabelas ARP são armazenadas na memória RAM e são mantidas automaticamente, assim, na maior parte das vezes, o utilizador não precisa adicionar endereços manualmente. 



Protocolos de routing
Todos os protocolos de routing realizam as mesmas funções básicas. Os protocolos determinam a rota preferida para cada destino e distribuem informações de routing entre os sistemas da rede, permitindo interacção entre routers. A principal diferença entre os protocolos de routing é como os protocolos realizam estas funções, em particular como decidem qual é a melhor rota.

Exemplos de protocolos de routing: RIP, OSPF, EIGRP, EGP, BGP.



terça-feira, 16 de abril de 2013

Streaming

  • Streaming (fluxo de média (portugues europeu) ou fluxo de mídia (português brasileiro) é uma forma de distribuir informação multimédia numa rede através de pacotes.
  • A informação pode ser transmitida em diversas arquiteturas, como na forma Multicast IP ou Broadcast.



Utilitários de administração de redes
  • Utilitários direcionados exclusivamente para a administração de redes TCP/IP, com especial atenção para a excessão do finger.
    • ping
    • ipconfig
    • wntipcfg
    • arp
    • hostname
    • nbtstat
    • netstat
    • nslookup
    • route
    • traceart
    • finger



Ping
  • Este primeiro utilitário referido permite testar a comunicação com qualquer host, dispondo deste modo, em escassos segundos a verificação do bom funcionamento dos hosts e da rede. Permite, igualmente, testar a instalação do TCP/IP no host onde é utilizado.


ipconfig
  • Fornece informação de índole genérica sobre a configuração do TCP/IP na máquina onde é executada a ação. Estas informações abrangem o endereço IP, endereço MAC, subnet mask, default gateways, etc...


wntipcfg
  • Estabelece equivalências com o ipconfig, contudo, apresenta-se em versão gráfica.


ARP
  • O protocolo ARP determina os endereços físicos das placas de rede correspondentes aos endereços IP dos hosts para os quais é imprescindível o envio dos pacotes IP.
  • O comando ARP, por seu turno, induz à possibilidade de consultar e manipular a tabela de equivalências mantida pelo computador, denominada por arp cache.
  • Proporciona-nos também o controlo da cache para cada um das placas de rede que definem existência no computador, se se tratar de um multihomed computer.


Hostname
  • Abastece-nos com o conhecimento do host name da máquina onde o comando executa a sua função.


Nbtstat
  • Acrescenta informação detalhada acerca dos nomes NetBIOS que estão envolvidos na comunicação via rede, inclusive os dos computadores remotos.
  • Pode ainda ser utilizado para a manipulação de tabela dos nomes, importada do ficheiro LMHOSTS.


netstat
  • Fornece estatísticas de carácter minuncioso sobre o funcionamento dos protocolos IP, TCP, UDP e ICMP, cujas são produzidas automaticamente pelo ICMP no decorrer do funcionamento da rede.
  • A título de exemplo poderemos mencionar que é possível, na posse deste comando, a verificação de quais os ports utilizados pelo sistema.


nslookup
  • Bastante requisitado por hackers no sentido da obtenção de informação indispensável para obrigar de certa forma a entrada em redes cuja segurança é quase nula, para obter informações sobre os computadores dessas redes.
  • Presenteia-nos, então, com o acesso e extração de informação sobre os computadores de uma rede, designadamente, especificação de equivalências entre endereços IP e host names, especificações de routers, servidores de correio eletronico, etc...


Route
  • Protagoniza a função de manipulação da routing table, onde o sistema se sustenta para definir os locais para onde deve direcionar pacotes IP, com o objetivo de os fazer alcançar o alvo.



Traceart
  • De extrema utilidade para a configuração e teste do routing de pacotes por meio de redes segmentadas, visto que permite aferir qual o caminho que é tomado pelos pacotes até atingirem um destino para eles já destinado.
  • Aproveita-se do protocolo ICMP.



Finger
  • Converte a extração de informação sobre um utilizador de um host particular.


Noções sobre as camadas de Sessão e Apresentação do modelo OSI

  • A camada de sessão permite a diferentes dispositivos de rede o estabelecimento de sessões entre eles.
  • Essa sessão permite a normal transmissão de dados, tal como a camada de transporte, mas com alguns melhoramentos específicos ao objetivo da ligação usada (transferência de ficheiros remotos, ligação remota a um computador, etc).
  • Por isso, a camada de sessão tem de gerir o modo de comunicação usado pelos dispositivos intervenientes.
  • Pode permitir que o tráfego seja feito somente segundo um sentido, ou nos dois, simultânea ou alternadamente.
  • Nos últimos casos, o registo do dispositivo que deve transmitir é feito e controlado por mecanismos pertencentes a esta camada.
  • Nalguns sistemas é necessário que apenas um dispositivo possa aceder à rede de cada vez.
  • A camada de sessão permite-o através da transmissão de um testemunho.
  • Só o dispositivo que estiver de posse deste testemunho é que pode transmitir dados entre um determinado período de tempo, após o qual passa o testemunho ao próximo dispositivo.
  • A última função desta camada é o de proporcionar e garantir a sincronização.
  • Esta sincronização tem o objetivo de garantir a transferência fiável de dados entre os dispositivos, tratando a eventual recuperação no caso da existência de erros durante a mesma.




Objetivo da Camada Sessão:
  • O propósito da camada de sessão é sincronizar o diálogo.
  • Gerir a troca de dados entre entidades da camada de apresentação comunicantes.
  • Para isso, a camada de sessão fornece serviços para o estabelecimento de uma conexão-de-sessão entre duas entidades de apresentação, através do uso de uma conexão de transporte.


Serviços da camada de Sessão:
  • Administração de sessão: Une duas entidades para um relacionamento e mais tarde as desune. (ex. de união: login/autenticação e desunião: logoff).
  • Diálogo da sessão: Controla troca de dados, delimita e sincroniza operações em dados entre duas entidades. Ex. pode-se abrir uma conexão de sessão para trocar informações em half, full-duplex, etc...
  • Os serviços oferecidos pela camada de sessão, são os primeiros a se preocuparem com as aplicações propriamente ditas, além do serviço da mera comunicação.


A camada de Aplicação do modelo OSI.
  • Esta camada protocolar vem resolver vários problemas geralmente comuns na transferência de informação, preocupando-se mais com a sintaxe e semântica da infomação em vez da transferência fiável da informação que é gerida pelas camadas inferiores.



Objetivo da camada 6 - Apresentação
  • Esta camada tem como finalidade converter a representação da informação para um formato universal e deste modo facilitar as comunicações entre aplicações que residem em ambientes muito diferentes um do outro.
  • A camada de apresentação recebe os dados do nível 7 na forma local e converte-os para um destes formatos universais antes de os transferir para a camada 5.
  • No sentido inverso, realiza a conversão em sentido contrário.




Aplicação de rede
  • Processo: programa executado num host.
  • Dentro do mesmo host:
    • Inter proccess communication (definido pelo OS).
  • Processos executados em diferentes hosts comunicam com um protocolo da camada de aplicação.
  • Agente utilizador: software que serve de interface com o utilizador de um lado e com a rede de outro.
  • Implementa protocolo da camada de aplicação.
    • web: browser
    • e-mail: leitor de correio
    • streaming audio/vídeo: media player

Obtenção de Endereços Internet

  • Cada host necessita de um endereço único para poder funcionar na Internet.
  • Os endereços MAC dos hosts têm apenas significado local, identificando o host dentro da Rede Local.
  • Como é um endereços da camada 2, o router não o utiliza para encaminhar fora da LAN









Os hosts possuem um endereço físico pelo facto de terem uma placa de rede que permite a conexão aos meios físicos.
Os endereços IP precisam ser atribuídos ao host e alguma forma. Os dois métodos de atribuição de endereços IP são estático e dinâmico.



Atribuição de endereços IP com RARP
  • O protocolo RARP (Reverse Address Resolution Protocol) associa um endereço MAC conhecido a um endereço IP.
  • É necessário a existência de um servidor RARP para o processamento de pedidos.
  • Um dispositivo ao arrancar pode desconhecer o seu endereço IP.
  • O dispositivo conhece o endereço MAC associado à sua NIC.
  • Envia uma mensagem de RARP Request para o endereço de broadcast.
    • Todos os dispositivos da rede recebem e processam o pedido, mas só o servidor de RARP responde.
    • Na mensagem de RARP Reply, vai a indicação do endereço IP atribuído.




Atribuição de endereços IP com BOOTP
  • O protocolo BOOTP (Bootstrap) permite além do endereço IP, a obtenção do endereço IP de um router, do endereço IP de um servidor e de alguma informação específica.
    • Não fornece atribuição dinâmica de endereços.
      • Um administrador de rede cria um arquivo de configuração que especifica os parâmetros de cada dispositivo.
      • Significa que cada host tem de ter um perfil BOOTP com uma atribuição de endereço IP.
      • Não pode haver dois perfis com o mesmo endereço IP.
    • Utiliza o UDP para transportar as mensagens.




Atribuição de endereços IP com DHCP
O protocolo DHCP (Dynamic Host Configuration Protocol) é o sucessor do BOOTP.
  • O DHCP permite a um host obter um endereço IP dinamicamente sem que o administrador tenha de configurar um perfil individual para cada dispositivo.
  • Tudo o que é necessário ao usar o DHCP é um intervalo de endereços IP definido num servidor DHCP.
  • Quando os hosts entram em contato com o servidor DHCP e solicitam um endereço, o servidor DHCP escolhe um endereço e o atribui a esse host.
  • Com o DHCP, toda a configuração de rede de um computador pode ser obtida em uma única mensagem.
  • Inclui todos os dados fornecidos pela mensagem BOOTP, o endereço IP atribuído e uma camada de sub-rede

Criação de subnets

  • É necessário saber quantas sub-redes são necessárias em cada rede.
  • Com as sub-redes a rede não fica limit às máscaras em rede das classes A, B ou C.
  • Os endereços incluem a parte da rede mais um campo de sub-rede e um campo de host.
  • Para criar um endereço de sub-rede tomam-se emprestados alguns bits do campo do host.
    • A quantidade mínima de bits que podem ser emprestados é 2.
    • A quantidade máxima de bits que podem ser emprestados é qualquer valor que deixe pelo menos 2 bits para o número do host.

Noção de subnetting

  • Dividir uma rede em sub-redes significa utilizar a máscara de sub-rede para dividir a rede em segmentos menores ou sub-redes.


segunda-feira, 15 de abril de 2013

Endereçamento Classful



Os endereços de Classe D são usados para grupos multicast. Não é necessário alocar octetos ou bits para separar os endereços de rede e host. Os endereços de classe E são reservados para pesquisas.


Classe A
  • Suporta redes extremamente grandes, com mais de 16 milhões de endereços de host disponíveis.
    • O primeiro bit de um endereço de classe A é sempre 0.
    • O menor número que pode ser representado é 0000 0000, que também é o 0 decimal.
    • O maior número que pode ser representado é 0111 1111, equivalente a 127 em decimal.
    • Os números 0 e 127 são reservados e não podem ser usados como endereços de rede.
    • Qualquer endereço que comece com um valor entre 1 e 126 no primeiro octeto é um endereço de classe A
    • A rede 127.0.0.0 é reservada para testes de loopback.
    • As máquinas podem utilizar este endereço para enviar pacotes para si mesmos.
    • Este endereço não pode ser atribuído a nenhuma rede.


Classe B
  • Utilizado para redes de médio e grande porte.
  • Um endereço IP de classe B utiliza os dois primeiros octetos para indicar o endereço da rede. Os outros dois octetos especificam os endereços dos hosts.
    • Os dois primeiros bits de um endereços de classe B são sempre 10.
    • O menor número que pode ser representado por um endereço de classe B é 1000 0000, equivalente a 128 em decimal.
    • O maior número que pode ser representado é 1011 1111, equivalente a 191 em decimal.
  • Qualquer endereço que comece com um valor no intervalo de 128 a 191 é um endereço de classe B


Classe C
  • É a classe de endereço IP mais utilizada.
  • Suporta redes pequenas com um máximo de 254 hosts.
    • Os três primeiros hosts de um endereço C são sempre 110.
    • O menor número que pode ser representado é 1100 0000, equivalente a 192 em decimal.
    • O maior número que pode ser representado é 1101 1111, equivalente a 223 em decimal.
  • Qualquer endereço que comece com um valor no intervalo de 192 a 223 é um endereço classe C.


Classe D
  • A classe de endereços D foi criada para permitir multicasting com um endereço IP.
  • Um endereço de multicast é um endereço de rede que direciona os pacotes com esse endereço de destino para grupos predefinidos de endereços IP.
  • Uma única estação pode transmitir simultaneamente um único fluxo de dados para vários destinatários.
    • Os quatro primeiros bits de um endereços de classe D são sempre 1110.
    • O intervalo de valores do primeiro octeto dos endereços de classe D vai de 1110 0000 a 1110 1111, ou de 224 a 239 em decimal.
  • Um endereço IP que comece com um valor no intervalo de 224 a 239 é um endereço classe D.


Classe E
Endereços reservados

  • Os primeiros quatro bits de um endereço classe E são sempre 1s.
  • O intervalo de valores no primeiro octeto dos endereços de clase E vai de 1111 0000 a 1111 1111, ou de 240 a 255 em decimal.


Network ID e cálculo de hosts por classe de IP








Endereçamento IP

  • Um router encaminha pacotes da rede de origem para a rede de destino utilizando o protocolo IP.
  • Os pacotes devem incluir um identificador para a rede de origem e para a rede de destino.
  • Utilizando o endereço IP da rede de destino, um router pode entregar um pacote na rede correta.
  • Quando o pacote chega a um router ligado à rede de destino, esse router utiliza o endereço IP para localizar o computador específico ligado a essa rede.


Os endereços IP são divididos em classes.
  • Os endereços de classe A são atribuídos a redes de grande dimensão.
  • Os endereços de classe B são usados para redes de porte médio.
  • Os de classe C para redes pequenas.
  • A primeira etapa para determinar qual parte do endereço identifica a rede e qual parte identifica o host é identificar a classe do endereço IP.

Protocolos

  • Na Internet, os protocolos utilizados fazem parte de um conjunto de protocolos. Esta sequência de protocolos chama-se TCP/IP.
  • Esta contém, designadamente, os seguintes protocolos:
    • HTTP
    • FTP
    • ARP
    • ICMP
    • IP
    • TCP
    • UDP
    • SMTP
    • Telnet
    • NNTP


HTTP
  • O protocolo HTTP (HyperText Transfer Protocol) é o protocolo mais utilizado na Internet desde 1990.
  • O objetivo do protocolo HTTP é permitir uma transferência de ficheiros (essencialmente no formato HTML) localizados graças a uma cadeia de caráteres chamada URL entre um navegador (o cliente) e um servidor web

FTP
  • O protocolo FTP (File Transfer Protocol) é, como o seu nome indica, um protocolo de transferência de ficheiros.

ARP
  • O protocolo ARP tem um papel fundamental entre os protocolos da chamada Internet da sequência TCP/IP, porque permite conhecer o endereço físico de uma placa de rede que corresponde a um endereço IP, é para isso que se chama Protocolo de resolução de endereço (em inglês ARP significa Address Resolution Protocol).



ICMP
  • O protocolo ICMP é um protocolo utilizado para fornecer relatórios de erros à fonte original. Qualquer computador que utilize IP precisa aceitar as mensagens ICMP e alterar o seu comportamento de acordo com o erro relatado. ICMP significa Internet Control Message Protocol.

    • .

IP
  • Protocolo de Internet (Internet Protocol) é um protocolo de comunicação usado entre duas ou mais máquinas em rede para encaminhamento dos dados


TCP
  • Como o nome indica, é um Protocolo de Controle de Transmissão, em inglês, Transmission Control Protocol. É um dos protocolos sob os quais se assenta o núcleo da Internet. É um protocolo de nível da camada de transporte (camada 4) do Modelo OSI e é sobre o qual que se assenta a World Wide Web.

UDP 

  • User Datagram Protocol é um protocolo simples da camada de transporte. O protocolo UDP não é confiável, portanto não existem garantias se o pacote irá chegar ou não.

SMTP
  • Simple Mail Transfer Protocol (Protocolo de transferência de correio simples) é o protocolo padrão para envio de e-mails através da Internet. É um protocolo relativamente simples, baseado em texto não formatado (simples). É bastante fácil testar um servidor SMTP usando TELnet

Telnet
  • O protocolo Telnet é um protocolo standard de Internet que permite a interface de terminais e de aplicações através da Internet. Fornece as regras básicas para permitir ligar um cliente a um intérprete de comando (do lado do servidor). O Telnet já existe há mais de 50 anos, muito antes de aparecer a Internet.

NNTP
  • NNTP é um protocolo da Internet para grupos de discussão da chamada usenet. Especifica o modo de distribuição, busca, recuperação e postagem de artigos usando um sistema de transmissão confiável.

Métodos de conexão por TCP

  • É um método standard que permite a comunicação entre processos (que se encontram eventualmente em diferentes máquinas), isto é, um conjunto de regras e procedimentos a respeitar para emitir e receber dados numa rede.
  • Existem vários métodos, de acordo com o que se espera da comunicação.
  • Certos protocolos, por exemplo, serão especializados na troca de ficheiros (FTP), outros poderão servir para gerir simplesmente o estado da transmissão, e os erros (é o caso do protocolo ICMP), …


TCP - transmissão Fiavel

  • Confirmação de recepção
    • O receptor confirma, através  de uma mensagem curta (Arcknowledgment), que recebeu o segmento enviado;
  • Retransmissão:
    • Se a confirmação não for recebida dentro de um período determinado, o segmento e reenviado;

TCP - Retransmissão 
  • Quanto tempo esperar pela confirmação (ACK)?
    • Depende da distancia ao destino e das condições de trafego no momento.
  • O tempo de espera num determinado momento é estimado a partir do Round-trip time de cada ligação e o temppo estimado presente
    • Chama-se por isso, retransmissão adoptavel
    • O segredo do sucesso do TCP

TCP - Controlo de congestão
  • A congestão é detectada por:
    • Ocorrência de Timeout (ACKs não chegam);
    • Recepção duplicada de ACKs
  • Ao serem detectadas colisões:
    • O envio de segmentos é reduzido dramaticamente ( Collision Avoidance Algorithm)
    • Depois começa  a aumentar devagar inicialmente com o tempo (Slow Stort Algorithm)


TCP - Controlo de Fluxo
  • O recetor:
    • Anuncia, a cada ACK, o espaço livre do seu buffer (window size);
  • O emissor:
    • Envia segmentos até ao limite da janela (window size), sem ter de esperar por confirmação (ACKs);
  • Este mecanismo é conhecido como Protocolo da Janela Deslizante (Sliding Window Protocol).



TCP - Encerramento fiável
  • Importante por causa da segurança:
    • Se não for encerrada de forma correta, poderão ficar portas abertas;
    • Alguém mal intencionado poderá aproveitar-se
  • O mecanismo de encerramento de TCP permite que uma das partes termine a ligação e a outra possa continuar a enviar dados;
  • Chama-se half-closed:
    • O fecho da ligação num dos dados não obriga o fecho de ambos.



TCP - Formato

  • Source/Destinaton Port
    • Porta remente/destinatária (aplicação);
  • Sequence Number
    • Número de sequência do pacote;
  • Acknowledgement Number
    • Próximo número de sequência que o emissor espera receber;
  • HLen (Header Length)
    • Tamanho do cabeçalho;

  • URG - O campo Urgent Pointer é válido.
  • ACK - O segmento é uma confirmação (Acknowledgement);
  • PSH - O recetor deverá passar os dados para a camada de aplicação logo que possível;
  • RST - Segmento enviado não faz sentido (Exemplo: Porta não Existe);
  • SYN - Pedido de sincronização de números de sequência (para iniciar ligação);
  • FIN - Computador emissor acabou o envio de dados (para terminar ligação);


  • Window
    • Número de bytes que o host está disposto a aceitar (espaço livre na buffer);
  • Checksum
    • Cobre o cabeçalho+dados;
  • Urgent Pointer
    • Posição onde serão colocados os dados urgentes.
  • Options
    • A opção mais comum é a MSS (Maximum Segment Sender) que define o tamanho máximo de segmento que pode ser enviado.