Treinamento Arquitetura TCPIP

Propaganda
ARQUITETURA TCP/IP
SUPORTE TÉCNICO
REDES DE COMPUTADORES
●
Tanenbaum: “conjunto de computadores autônomos interconectados por uma
única tecnologia. Dois computadores estão interconectados quando podem
trocar informações”
MODELO EM CAMADAS
●
Modelo em camadas
o
Redução de Complexidade
o
Funcionalidade definida
o
Comunicação em camadas
o
Mudança de protocolos
EXEMPLO DE COMUNICAÇÃO EM CAMADAS
PROTOCOLO DE COMUNICAÇÃO
●
●
Regras e convenções definidas
Definição de formato de troca de mensagens
INTERFACES
●
●
●
Interface entre camadas adjacentes
Define operações e serviços a serem oferecidos à camada superior
Camada N - oferece serviço à camada N+1
CAMADAS, PROTOCOLO E INTERFACES
ARQUITETURA DE REDE
●
●
●
Definição: conjunto de camadas e seus protocolos
Detalhes de implementação e especificação de interfaces não fazem parte da
arquitetura
Pilha de protocolos
MODELO OSI
●
●
●
ISO - OSI (Open System Interconection)
Modelo em camadas
7 camadas
o
Física
o
Enlace
o
Rede
o
Transporte
o
Sessão
o
Apresentação
o
Aplicação
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Física
7
6
5
4
3
2
1
ARQUITETURA TCP/IP
●
●
●
●
●
Arquitetura utilizada na ARPANET
Característica de uso militar
Protocolos flexíveis para suporte a diferentes aplicações
Reprojeto dos protocolos TCP/IP
Rede de comutação de pacotes
ARQUITETURA TCP/IP
●
OSI X Arquitetura TCP/IP
7
6
5
4
3
2
1
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Física
Aplicação
Transporte
Inter-Redes
Hospedeiro/
Rede
ARQUITETURA TCP/IP
●
Modelo Híbrido
7
6
5
4
3
2
1
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Física
Aplicação
Transporte
Rede
Enlace
Física
ARQUITETURA TCP/IP
●
Camada Hospedeiro/Rede
o
Protocolo não definido pelo modelo TCP/IP
o
Transmissão dos pacotes IP
o
Variação em função do hospedeiro e rede
o
Exemplos de Protocolos: Ethernet, FDDI, 802.11
ARQUITETURA TCP/IP
●
Camada Inter-Redes
o
Conhecida como "camada de rede"
o
Rede comutada por pacotes
o
Define o protocolo IP
o
Roteamento de pacotes
o
Controle de congestionamento
o
Exemplos de Protocolos: IP, ARP, RARP, ICMP
ARQUITETURA TCP/IP
●
Camada de Transporte
o
Responsável por comunicação fim-a-fim
o
Confiabilidade
o
Entrega sem erros
o
Entrega em sequência
o
QOS
o
Segmentação
o
Controle de fluxo
o
Exemplos de Protocolos: TCP, UDP, SCTP
ARQUITETURA TCP/IP
●
Camada de Aplicação
o
Camada de interface com o usuário
o
Maioria das aplicações são executadas
o
Exemplos de protocolos: HTTP, SMTP, FTP, SSH, POP3, IMAP, DNS
TECNOLOGIAS DE TRANSMISSÃO
●
●
Redes de difusão (broadcast)
Redes ponto-a-ponto (point-to-point/P2P)
TECNOLOGIAS DE TRANSMISSÃO
●
Redes ponto-a-ponto
o
Conexões entre pares
o
Pacotes enviados na modalidade store-and-forward
o
Necessário algoritmo de roteamento
TECNOLOGIAS DE TRANSMISSÃO
●
Redes de difusão
o
Canal de comunicação compartilhado
o
Toda mensagem possui um campo de destinatário
o
Necessário forma de controle de acesso ao meio
TECNOLOGIAS DE TRANSMISSÃO
●
Redes de difusão X Ponto-a-ponto
Difusão
Ponto-a-ponto
Redes menores
Redes maiores
Redes locais
Redes espalhadas
geograficamente
CAMADA DE ENLACE
●
Funções
Enlace
LLC
Logical Link Control
(Controle do Enlace Lógica)
MAC
Media Access Control
(Controle de Acesso ao Meio)
CAMADA DE ENLACE
●
Funções
o
Enquadramento: agrupar sequência de bits em quadros
o
Entrega confiável
o
Detecção e correção de erros
o
Subcamada de controle de acesso ao meio (MAC)
CAMADA DE ENLACE
●
Funções
o
Responsável pela comunicação entre dois computadores adjacentes fisicamente
ligados por um canal de comunicação
o
Utiliza FIFO (first-in-first-out) preserva a ordem que os bits foram enviados
CAMADA DE ENLACE
●
Funções
o
A camada física aceita um fluxo de bits brutos e tenta entregá-los ao destino
o
Não há garantia de que esse fluxo de bits seja livre de erros
o
O número de bits recebidos pode ser menor, igual ou maior que o número de bits
transmitidos
o
Os bits podem ter valores diferentes dos bits originalmente transmitidos
CAMADA DE ENLACE
●
Funções
o
A camada de enlace de dados é responsável por transformar um canal de transmissão
bruto em uma linha que pareça livre de erros
o
Pode detectar o erro ou corrigi-lo
o
O transmissor divide os dados de entrada em quadros com algumas centenas ou alguns
milhares de bytes
CAMADA DE ENLACE
●
Encapsulamento
CAMADA DE ENLACE
●
Detecção e Correção
Payload
HEAD
Payload
CRC
ETHERNET
●
●
●
●
●
●
●
Comunicação através do MAC
6 bytes
Hexadecimal
Separados por ‘:’ ou ‘-’
3 bytes fabricantes
3 bytes identifica o equipamento
Identificador universal
o
●
●
Ou deveria ser
Padronização do IEEE
http://standards.ieee.org/develop/regauth/oui/public.html
ARP
●
●
●
●
Address Resolution Protocol
Faz a tradução entre IP e para MAC
Cada nó possui uma tabela, normalmente temporária (TTL), contendo associação
entre IP e MAC
Utiliza o arp para descoberta do MAC do host de destino
ARP
●
Exemplo de tabela arp
Endereço IP
Endereço MAC
TTL
192.168.0.1
00:F1:10:20:12:12
13:45
192.168.0.2
00:F1:10:12:13:29
07:21
EQUIPAMENTO DE CAMADA 2
●
●
●
Switch
AP
Bridge
COMPARATIVO ENTRE DISPOSITIVOS
Hub
Roteador
Switch
Isolamento de Tráfego
Não
Sim
Sim
Plug-and-play
Sim
Não
Sim
Roteamento Ótimo
Não
Sim
Não
EQUIPAMENTOS
●
Hub - Camada 1
EQUIPAMENTOS
●
Switch - Camada 2
o
Gerenciável
o
Não gerenciável
EQUIPAMENTOS
●
APs - Camada 2
VLAN
●
●
●
Procolo da camada 2
Função principal: Segmentar a rede
Funções:
o
Segmentação baseado na estrutura organizacional
o
Controle
o
Segurança
o
Isolamento de problemas
o
Desempenho - Broadcast
o
Economia
VLAN
●
Com VLAN X Sem VLAN
CAMADA DE REDE
●
A “cola” da Internet
CAMADA DE REDE
●
Funcionamento:
○
Transporta segmentos do hospedeiro transmissor para o receptor
○
No lado transmissor encapsula os segmentos em datagramas
○
No lado receptor, entrega os segmentos à camada de transporte
○
Protocolos da camada de rede em cada hospedeiro, roteador
○
Roteador examina campos de cabeçalho em todos os datagramas IP que passam por
ele
CAMADA DE REDE
●
Funções:
○
○
Comutação
■
Mover da entrada para saída
■
Ação local
Roteamento
■
Determinar rota do início ao fim
■
Caminho fim-a-fim
CAMADA DE REDE
●
Redes de datagrama
○
●
Sem conexão na camada de rede
Redes de circuito virtual
○
Com conexão na camada de rede
REDES DE DATAGRAMA
●
●
●
●
●
Não existe estabelecimento de conexão na camada de rede
Roteadores: não existe estado sobre conexões fim-a-fim
O conceito “conexão” não existe na camada de rede
Pacotes são encaminhados pelo endereço do hospedeiro de destino
Pacotes para o mesmo destino podem seguir diferentes rotas
REDES DE DATAGRAMA
●
●
●
●
●
No IP não há garantia:
○
Temporização entre pacotes seja preservada
○
Pacotes sejam recebidos na ordem em que foram enviados;
○
da eventual entrega dos pacotes transmitidos
Outros procolos devem tratar esses problemas
Complexidade nas extremindades
Sistemas finais inteligentes
Redes mais simples internamente e com diversos tipos de enlace
REDES DE DATAGRAMA
REDES DE DATAGRAMA
ROTEADOR
●
●
●
Principal elemento de camada 3
Execução de algoritmos de roteamento
○
OSPF
○
RIP
○
BGP
Comutar os datagramas do link de entrada para saída
CAMADA DE REDE
●
Protocolos:
○
IPv4
○
IPv6
○
ICMP
CAMADA DE REDE
●
IP
○
Internet Protocol
○
Projetado para interconexão de rede
○
Versão 4 - Presente
○
Versão 6 - Presente/Futuro
○
Não há garantia de entrega
○
Não há garantia de ordem de entrega
IPV4
●
●
Formato do quadro
Vamos analisar o quadro
IPV4
●
Fragamentação
○
Um pacote é dividido em vários fragmentos
○
Remontagem realizada no destino
○
Diversos MTUs
○
Informações para remontagem no cabeçalho IP
○
Necessidade de todos os fragmentos para remontagem
IPV4
●
Endereçamento
○
Crucial para Internet
○
Importante entendimento
○
Não trata da entrega local
○
Famoso Endereço IP
IPV4
●
Endereçamento
○
Comprimento de 32 bits ou 4 bytes
○
Escrito de forma decimal separados por .
○
Cerca de 4 milhões de endereços possíveis
○
Cada interface deveria ter endereço único (NAT, vamos falar ainda)
○
Exemplo:
■
Decimal: 193.32.216.9
■
Binário: 11000001 00100000 11011000 00001001
IPV4
●
Endereçamento
○
Designa o endereço a sub-rede
○
Parte identifica a rede e outra porção o host da rede
○
Máscara de sub-rede (netmask)
○
Os bits mais a esquerda que representam o endereço da rede
○
Utiliza-se a notação da / para separação
■
○
Exemplo: /24
OU na forma decimal
■
Exemplo: 255.255.255.0
IPV4
●
Endereçamento
○
CIDR (Classeless Interdomain Routing) - Roteamento Interdomínio sem classe
○
Formato
■
a.b.c.d/x
○
x = máscara de rede, quantidade de bits que representam o prefixo de rede
○
32 -x = Identificam os hosts da rede
○
Exemplo:
■
192.168.0.0/24
IPV4
●
Endereçamento
○
Detalhando : 192.168.0.0/24
■
192.168.0.0 - Endereço da rede
■
192.168.0.255 - Broadcast
■
192.168.0.1 - 192.168.0.254 - Possíveis hosts
IPV4
●
Endereçamento
○
Calculando sub-redes e endereços:
○
Endereços de hots possívies: 2n -2
○
N = número de bits para identificação da rede
IPV4
●
Endereçamento
○
○
Faixas utilizadas internamente
■
Rede 10.0.0.0 (classe A)
■
Rede 172.16.0.0 até 172.31.0.0 (classe B)
■
Rede 192.168.0.0 (classe C)
NAT - Network Address Translation
IPV4
●
Endereçamento
○
Como o nó verifica se a estação está na mesma rede?
■
Máscara de rede - Vamos verificar no quadro
TABELA DE ROTAS
●
●
Cada entrada especifica um destino e o próximo roteador para alcançá-lo
Mantém entradas para outras redes e hospedeiros locais
TABELA DE ROTAS
●
Quando um pacote é recebido, o roteador verifica a qual rede pertence
○
Se for para uma rede distante, é encaminhado para o próximo roteador conforme
tabela
○
Se for para rede local, o pacote é enviado diretamente
○
Se não estiver na tabela e não for local o destino é o gateway padrão
TABELA DE ROTAS
●
Exemplo
Endereço/Máscara
Próximo Salto
135.46.56.0/22
Interface 0
135.46.60.0/22
Interface 1
192.53.40.0/23
Roteador 1
Padrão
Roteador 2
TABELA DE ROTAS
●
Exemplo
○
O que o reteador fará com os pacotes destinados a:
■
135.46.63.10
■
135.46.52.2
■
135.46.57.14
■
192.53.56.7
■
192.53.40.7
IPV4
●
Roteamento
○
Principal função da camada de rede
○
Pode necessitar de diversos hops (saltos)
○
Roteamento estático
○
Roteamento dinâmico
IPV4
●
Roteamento Estático
○
Tabela definida manualmente
○
Tabelas não se alteram de acordo com a topologia
○
Sujeito a falhas de configuração
○
Manutenção realizada manualmente
○
Custo da manutenção cresce em função da complexidade e tamanho da rede
CAMADA DE TRANSPORTE
●
●
●
●
●
Fornece serviço diretamente aos processos
Não é implementada em roteadores
Fornece meio de transporte lógico
Processos em hosts diferentes utilizam conexão lógica da camada de transporte
PDU da camada é o Segmento
CAMADA DE TRANSPORTE
●
●
●
●
Camada de Rede identifica o host
Camada de transporte identifica o processo ou usuário do host
Permite que diversos aplicativos enviem dados a partir de um único host
Sistemas Operacionais são multi-tarefas
CAMADA DE TRANSPORTE
CAMADA DE TRANSPORTE
●
●
●
Multiplexação
○
Reunir dados provinientes de diferentes processos de aplicação
○
Transmissor
Demultiplexação
○
Entrega dos segmentos para a aplicação
○
Receptor
Utiliza números de porta e endereço IP
CAMADA DE TRANSPORTE
●
Arquitetura TCP/IP basicamente 2 protocolos
○
TCP
○
UDP
UDP
●
●
●
User Datagrama Protocol
Serviço não confiável
○
Segmentos podem não chegar
○
Segmentos podem chegar fora de ordem
Não orientado a conexão
○
Cada segmento tratado independente
○
Não há apresentação entre o transmissor e o receptor
UDP
●
●
●
●
●
●
Protocolo simples
Mínimas funções da camada de transporte
Basicamente detecção de erro e entrega os dados para o processo correto
Aplicação fala quase diretamente o IP
Pouco acrescenta a camada de rede
Então porque utilizar?
UDP
●
●
●
●
Entrega de forma mais rápida, sem estabelecimento de sessão
Sem controle de congestionamento
Sem estado de conexão
Cabeçalho pequeno
UDP
●
Estrutura do segmento
UDP
●
Estrutura do segmento
○
Source port
■
○
Destination Port
■
○
Porta de destino da aplicação
UDP length
■
○
Porta de origem da aplicação
Tamanho total do segmento em bytes
UDP checksum
■
Campo opcional
■
Complemento de 1 da soma de todas as palavras
UDP
●
Utilização
○
Aplicações cliente x servidor
○
Um consulta para uma resposta
○
Aplicações de mídia
○
Aplicações tolerantes a falha
TCP
●
●
Transmission Control protocol
Serviço confiável
○
●
Orientado a conexão
○
●
Garante que os dados serão entregues na forma que foram enviados
Conexões nos sistemas finais
Controle de fluxo
○
Transmissor não esgota a capacidade do receptor
TCP
●
Controle de congestionamento
○
●
Gerencia timers
○
●
●
●
Transmissor não esgota recursos da rede
Necessita de timers para executar o trabalho
Mais complexo que o UDP
Principal protocolo
Utilizado pela maioria das aplicações
TCP
●
Recebe fluxo da aplicação e divide em partes
○
●
●
Com frequência, temos 1460 para que ele possa caber em um quadro ethernet
Camada de rede aceita cada parte como um segmento distinto
Destino restaura o fluxo original
TCP
●
●
Destino retorna um segmento com número de confirmação com o número da
próxima sequência a receber
Se expirar o timer, o segmento será retransmitido
TCP
●
●
●
Serviço TCP utiliza o conceito de socket
○
Endereço IP + Número da porta
○
Portas abaixo de 1024 - Portas bem conhecidas
O serviço TCP necessita estabelecimento de sessão
Fluxo
○
Estabelecimento de sessão
○
Transferência de dados
○
Término da conexão
TCP
●
●
●
Conexões são identificadas por socket
○
Endereço IP de origem
○
Porta de origem
○
Endereço IP de destino
○
Porta de destino
Conexões são full-duplex
Analogia ao endereço de um edifício
TCP
●
Estabelecimento de conexão
○
Passo 1: Cliente inicia conexão com SYN=1 e ack=0
○
Passo 2: Servidor responde com SYN=1 e ack=1
○
Passo 3: Cliente responde com SYNC=1 e ack=1
○
Famoso: 3-way handshake
TCP
TCP
●
Término de conexão
○
Passo 1: host 1 envia FIN ao host 2
○
Passo 2: host 2 responde FIN para host 1 com ACK
○
Passo 3: host 2 envia FIN ao host 1
○
Passo 4: host 1 responde FIN para host 2 com ACK
TCP
CAMADA DE APLICAÇÃO
●
Camada de interface com o usuário
●
Motivo da existência de redes
●
Maioria das aplicações são executadas
●
Exemplos de protocolos: HTTP, SMTP, FTP, SSH, POP3, IMAP, DNS
●
Procolos definos na RFC
ARQUITETURAS DE APLICAÇÃO
●
Cliente-servidor
●
P2P
●
Híbrida
ARQUITETURAS DE APLICAÇÃO
●
Cliente-servidor
o
o
Servidor

Endereço fixo

Hospedeiro ativo

Sempre aguardando conexão
Cliente

Endereço dinâmico

Nem sempre estão conectados
o
Comunicação só pode ocorrer entre clientes e servidores
o
Exemplo: Servidor Web
ARQUITETURAS DE APLICAÇÃO
●
P2P (Peer-to-peer / Ponto-a-Ponto)
o
Sem um nó central
o
Conexões alteram com frequência
o
Altamente escalável
o
Difícil de gerencial
o
Exemplo: Torrent
ARQUITETURAS DE APLICAÇÃO
●
Híbrido
o
Presença de um servidor para localizar os pares ou arquivos
o
Comunicação realizada diretamente entre os pares
o
Exemplo: Voip
COMUNICAÇÃO ENTRE PROCESSOS
●
No mesmo host quem define é o SO
●
Entre hosts diferentes:
o
Processo cliente
o
Processo servidor
COMUNICAÇÃO ENTRE PROCESSOS
●
Estrutura P2P: Quem é o cliente e quem é o servidor?
SOCKETS
●
Envio/Recebimento para o socket
●
Análogo a uma porta
FUNCIONAMENTO
●
Através da endereço - IP
●
Através da porta - 80
●
Junção de endereço e porta
FUNCIONAMENTO
●
●
Protocolos da camada de transporte
o
TCP
o
UDP
Aplicação define qual protocolo utilizar
APLICAÇÃO X CAMADA DE TRANSPORTE
Aplicação
Procolo de Aplicação
Protocolo de Transporte
Email
SMTP
TCP
Web
HTTP
TCP
Compartilhamento de
Arquivo
SAMBA
TCP
Resolução de nome
DNS
UDP
Acesso Remoto
SSH
TCP
Monitoramento
SNMP
UDP
FUNCIONAMENTO
●
Serviços
o
Analogia a um shopping
Download