Post on 18-Sep-2018
Histórico● Criado pelo DARPA em meados de
1970● Surgimento da ARPANET e MILNET● Integração ao Unix/BSD● Surgimento da NFSNET● Comitê Organizador – IAB (Internet
Activities Board)● Documentação – RFCs e IENs● SRI – NIC
OSI
● Open Systems Interconnection● Desenvolvido pela ISO
(International Organization for Standardization)
● Sete camadas● Modelo teórico entregue muito
tarde!● TCP/IP é o padrão de fato
Endereçamento IP
● Endereços distribuídos pelo SRI-NIC● Representados em notação decimal● Intervalo de 0.0.0.0 a 255.255.255.255● [End. IP]=[n° Rede] + [n° Computador]
● Número IP:● Atribuído pelo Internic
● Número computador● Atribuído localmente, pelo administrador
de redes
Endereços Especiais
● Todos 0s: Este computador nesta rede● 0.0.0.0
● Todos 1s: Todas as redes ou todos os computadores
● 255.255.255.255● Loopback: processamento de dados no
sistema local● 127.0.0.1
Classes IP Reservadas
● Parte do espaço de endereçamento reservada para uso interno, sem conectividade direta com a internet global
● 10.0.0.0● 172.16 a 172.31 (16 classes B)● 192.168.0 a 192.168.255 (256 classes
C contíguas)
O que é NAT?● Programas ou hardware que convertem o
endereço IP de um endereço privado para um endereço público em tempo real.
● Permite que diversos usuários compartilhem um único endereço IP público.
● Aumenta a segurança pois cada pacote que sai ou entra precisa passar por um processo de tradução, que também possibilita a oportunidade de se qualificar ou autenticar pedidos feitos
● PROBLEMA: lentidão e limitação no número de conexões
●
O que é NAT?
● Reduz o número de endereços necessários para que uma empresa se conecte plenamente à Internet, pois tudo que é necessário é um único endereço global para conectividade plena
● Exemplos de uso:
● Redes residenciais● Corporações em geral● Balanceamento de tráfego● Segurança através da filtragem de pacotes
IPTables
Criar uma regra antes do roteamento (-A PREROUTING), para a tabela NAT (-t nat), especificando que pacotes TCP (-p tcp) com destino à 1.2.3.4 (-d 1.2.3.4), porta 80, tenham seu destino mapeado (-j DNAT) para 192.168.1.1, porta 80:
iptables A PREROUTING t nat p tcp d 1.2.3.4 \ dport 8080 j DNAT to 192.168.1.1:80
Subnetting
● Permitem a configuração de redes de complexidade variada dentro de uma organização
● Isolam a Internet global do crescimento dos números de rede internos
● A rede local se apresenta ao restante da internet como uma única rede
● Roteamento simplificado
● A parte do host é particionada entre o número da subnet e o número do computador
● A máscara de subrede indica quais bits são a subrede e quais bits são o host
● Os roteadores locais fazem o roteamento dentro da rede subdividida.
Tipos de subredes
● Estáticas – máscara fixa● Fácil de se implementar e manter● Desperdício de endereços
● Variáveis – máscara variável (Variable Lenght Subnetting)
● Roteadores com suporte a máscaras variáveis
SubnettingEquação Genérica
● Equação Genérica:● Número de máquinas/subredes na rede
● 2 ** n-2 onde n é igual ao número de bits para subnet ou número de bits de máquina
Máscaras eSubnetting
● Dado o endereço IP 143.106.1.45 e a máscara 255.255.0.0
● Endereço de rede: 143.106.0.0● Broadcast: 143.106.255.255
● Dada o endereço IP 143.106.1.45 e a máscara 255.255.255.192:
● Endereço de rede: 143.106.1.0● Broadcast: 143.106.20.63
● Desenvolvido nos anos 90 como um esquema padrão para roteamento IP
● Antes da existência do CIDR os roteadores gerenciavam o tráfico IP baseando-se exclusivamente nas classes IP e subredes associadas
● Routing table explosion problem● Uma rede Classe B de 3000 computadores requer apenas
uma rota, ao passo que se a mesma rede fosse representada como uma faixa de classes C seriam necessárias 16 rotas.
● Utilização ineficiente do espaço de endereçamento
● Permite uma forma mais flexível de associar grupos de endereços IP sem se prender ao sistema de classes original
● Também conhecido como “supernetting”
Classless Internet Domain Routing
Exemplo
● Aplicando-se a máscara 255.255.0.0 ao endereço 195.4.0.0 criamos, efetivamente, uma rede tão grande quanto uma classe B pela agregação de múltiplas classes C. Esta rede compreende os endereços 195.4.0.0 até 195.4.255.255.
● O uso de máscaras de bits para criar redes maiores do que sua máscara natural se chama supernetting.
● O uso de uma máscara para determinar o endereço de destino de uma rede ao invés do endereço de classe se chama CIDR.
Roteamento
● Requer modificações nos roteadores e protocolos de roteamento
● Os protocolos precisam propagar, junto com os endereços de destino, máscaras de endereçamento que definem como os endereços devem ser interpretados.
Exemplo de Funcionamento
● Pela política CIDR, o mundo foi dividido em quatro zonas, a saber:
● Endereços 194.0.0.0 a 195.255.255.255 - Europa
● Endereços 198.0.0.0 a 199.255.255.255 - América do Norte
● Endereços 200.0.0.0 a 201.255.255.255 - América do Sol
● Endereços 202.0.0.0 a 203.255.255.255 - Ásia e Pacífico
CIDR
● O protocolo IP tem sido largamente utilizado por mais de uma década. Apesar de estar funcionando muito bem, dois problemas surgiram:
● a exaustão dos endereços IP● explosão das tabelas de roteamento
● CIDR: alocar o restante das redes classe C em blocos de tamanho variável.
● Exemplo, se uma organização precisa de 2000 endereços, é destinada a ela 2048 endereços (oito redes classe C contíguas) e não uma rede classe B inteira (65536 endereços).
● Uma faixa de endereços IP é especificada através da combinação de um endereço IP e sua máscara de rede associada:
xxx.xxx.xxx.xxx/nOOnde n é o número de bits ligados (valor 1) na máscara.
● Exemploa notação 192.168.12.0/23 aplica a máscara de rede 255.255.254.0 à rede 192.168 começando em 192.168.12.0. Esta notação representa a faixa de endereços compreendida entre 192.168.12.0 e 192.168.13.255. Comparativamente ao endereçamento tradicional, 192.168.12.0/23 representa uma agregação de duas classes C, 192.168.12.0 e 192.168.13.0, cada uma delas usando a máscara default 255.255.255.0.
CIDR: Notação
Referências
● RFC 1467 - Status of CIDR Deployment in the Internet
● RFC 1517 - Applicability Statement for the Implementation of Classless Inter-Domain Routing (CIDR)
● RFC 1518 - An Architecture for IP Address Allocation with CIDR
● RFC 1519 - Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy
● RFC 1520 - Exchanging Routing Information Across Provider Boundaries in the CIDR Environment
Endereços Ethernet
● Endereço único no mundo, estabelecido pelo IEEE
● 6 bytes● Codificado por hardware● Ex. 00-00-1D-00-26-A3
● 00-00-1D: identifica o fabricante● 00-26-A3: identifica o número de série
Autonomous System
● Conjunto de redes com a mesma política e protocolo de roteamento
● Normalmente pertencem a uma mesma entidade administrativa
Protocolos de Roteamento● Exteriores (EGP: Exterior Gateway Protocol)
● Protocolos de roteamento exteriores são usados para trocar informações de roteamento entre sistemas autônomos. A informação trocada entre os sistemas é chamada de informação de alcance (reachability information). Esta informação consiste em dados que indicam quais redes podem ser alcançadas através de um determinado sistema autônomo.
● Exemplo:
● BGP: Border Gateway Protocol
● Interiores (EGP: Interior Gateway Protocol)● Protocolos de roteamento interiores são aqueles usados dentro de
uma rede independente.
● Exemplo:
● RIP: Routing Information Protocol
Repetidores
● Nível 1 camada OSI
● Estende um segmento de rede
● Regenera os sinais recebidos
● Máximo dois repetidores (4 em IRLs)
Bridges
● Nível 2 camada OSI● Armazena os frames● Analisa o endereço de
destino● Transmite apenas se
necessário● Transparente a protocolo
de rede
Switch
● É uma tecnologia de rede que simula uma LAN segmentada em diversos domínios de colisão pequenos.
● Oferecem:● Densidade de portas maior que a oferecida por bridges
a um custo menor
● Podem acomodar menos usuários por segmento, aumentando a largura de banda disponível por usuário (microsegmentação)
● Melhor performance
● Fácil configuração
Switch
● Características● Opera na camada 2
● Faz controle de fluxo
● Trata erros independentemente de protocolo
● Suporta protocolos não roteáveis
● Lida com endereçamento físico
● O tratamento do pacote é feito pelo hardware, com maior rapidez
● Reduz colisões pois oferece banda dedicada a cada segmento
● Propaga broadcasts
Lan Switches e o Modelo OSI
● LAN switches podem ser classificados de acordo com a camada OSI em que atuam:
● Camada 2● Camada 2 com características da camada 3● Multicamadas (multilayer)
Switches Layer 2
● Operacionalmente semelhante a uma bridge
● Maior capacidade● Operação full-duplex● Transparente aos protocolos de rede● Opera na camada 2 (endereços MAC)
Switches Layer 2 com características da camada 3
● Decisões de chaveamento (switching) baseadas em mais informações que aquelas oferecidas pela camada 2 (endereços físicos).
● Incorporam alguma caracterísiticas de controle de tráfego da camada 3:
● Broacdast● Multicast● Segurança por meio de listas de acesso● Fragmentação de pacotes IP
Switches Multicamadas
● Toma decisões de chaveamento e filtragem baseando-se em informações das camadas 2 e 3.
● Decide dinamicamente se deve chavear (camada 2) ou rotear (camada 3)
Roteadores
● Nível 3 camada OSI● Recebe somente frames a ele
endereçados● Toma decisão baseado no endereço de
rede do pacote
tcpdump
● Ferramenta para captura e análise de tráfego de rede
● Exemplos:● tcpdump● tcpdump -i eth0● tcpdump -i eth0 [ip|tcp|udp|icmp|arp|rarp]● tcpdump -i eth0 dst port 23● tcpdump -i eth0 src port 23
Internet ProtocolIP
● Não confiável: entrega não garantida, sem controle de sequenciamento, não detecta erros nem informa ao transmissor
● Connectionless: cada pacote é tratado independentemente dos outros
● Bem intencionado: os pacotes só são descartados quando todos os recursos são exauridos
● Unidade básica: datagrama, que é quebrado em fragmentos para se adequar ao MTU do hardware
● RFC 791
TTL: Time To Live
● Campo que indica que após determinado tempo o datagrama pode ser descartado
● Cada gateway decrementa 1 ao recebê-lo ou a cada segundo
● TTL=0: datagrama é descartado● Traceroute
UDP e TCP
● UDP: User Datagram Protocol● DNS, SNMP, NFS, TFTP, BOOTP● Não estabelece conexão (connectionless)
● TCP: Transmission Control Protocol● HTTP, SMTP, POP3, IMAP● Estabelece conexão (connection oriented)
● Nível de Transporte (sobre a camada IP)
TCP
● Transmission Control Protocol● Transferência de dados contínua (stream)● Confiável● Controle de fluxo: janelas deslizantes,
temporização
● Multiplexação: uso de portas de protocolo● Conexões lógicas● Full duplex
Demultiplexação
Processo 1 Processo 2 Processo n
......Porta A Porta B ...... Porta n
UDP: Demultiplexação de Portas
IP
ICMP
● Internet Control Message Protocol
● Permite que gateways enviem mensagens de erro ou de controle para outros gateways ou máquinas
● Provê comunicação entre o protocolo Internet em uma máquina e em outra
● Muitas vezes não ajuda a localizar onde está o erro, pois ele responde apenas à máquina que originou o pacote errôneo e o erro pode estar em algum gateway no caminho
● Pode ser perdido como qualquer pacote IP
● Ping: pacote ICMP do tipo “echo request” e “echo reply”
● RFC 777
ICMP● Controle de fluxo
● Quando os datagramas chegam muito rápido para serem processados, o computador de destino ou um gateway intermediário envia um pacote do tipo “ICMP Source Quench” para o remetente, para que cesse as transmissões temporariamente.
● Identificar destinos não alcançáveis● Quando não se consegue alcançar um destino, o sistema que detecta o
erro envia um pacote do tipo “Destination Unreachable” ao remetente do pacote. Este destino pode ser um computador ou então uma porta, que não se consegue alcançar.
● Redirecionamento de rotas● Uma mensagem do tipo “ICMP Redirect” para informar um roteador de
rotas alternativas supostamente mais eficazes.
● Verificação de hosts remotos● Envio de pacotes do tipo “ICMP Echo Request” para verificar se sistemas
remotos estão operacionais.
ICMP - Traceroute
● Determinação da rota que datagramas IP seguem de um computador para outro
● Baseado sobre os protocolos UDP e ICMP● Modificação do campo TTL
● Pontos intermediários:
● ICMP Time Exceeded● Destino:
● ICMP Port Unreachable
Aplicações de Rede
● Processos Clientes e Servidores● Servidores estão sempre ativos
aguardando conexões● Clientes são criados assincronamente,
conforme a necessidade
Portas
● Cada processo que deseja se comunicar com outro se identifica aos protocolos TCP/IP por meio de uma ou mais portas
● Portas são números de 16 bits para identificar a qual aplicação ou protocolo de alto nível as mensagens devem ser entregues
● Dois tipos: bem conhecidas (well known) e efêmeras
Sockets
● Tipo especial de arquivo utilizado para solicitar serviços de rede do sistema operacional
● Exemplo:
● [prot:end. Local:proc. Local]
● TCP/IP: [tcp:143.106.20.10:12345]
● Associação:
● [tcp:143.106.20.10:12345:200.200.20.1:25]
● Dois processos se comunicam através de sockets TCP
netstat
● Exibe conexões de rede● Tabelas de roteamento● Estatísticas das interfaces de rede● Conexões mascaradas
Configuração de Aplicações TCP/IP
● Porta destino: Well known ports● Porta origem: alocação dinâmica● Arquivos
● /etc/services● /etc/inetd.conf
ARP
● Address Resolution Protocol● Envia Requisição Broadcast● Obtém endereço físico de B, F(B)● Guarda F(B) em cache● Envia mensagem para F(B)
RARP● Reverse Address Resolution Protocol● Máquinas diskless precisam saber seu
número IP● Servidores RARP possuem banco de
dados com mapeamento IP x Ethernet● Enviam requisição broadcast● Recebe endereço IP fornecido por um
servidor RARP● Armazena em memória até o próximo
reboot
IPv6
● Projeto iniciado no começo dos anos 90
● Maior preocupação: endereçamento● Endereços de 128 bits (IPv4: 32 bits)● 6*1023 endereços por metro quadrado da
superfície terrestre● Delimitadores de endereços passam a ser
“:”
Migração Ipv4 -> IPv6
● Operação complexa e demorada● Grande investimento em equipamento
preparado para IPv4● Pode demorar dezenas de anos
● Ilhas IPv6 isoladas● Comunicação por túneis
● Eventualmente estas ilhas se tornarão maiores e se fundirão