Upload
rebeca-carlos-lagos
View
238
Download
2
Embed Size (px)
Citation preview
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 Complexidadeo Funcionalidade definidao Comunicação em camadaso 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ísicao Enlaceo Redeo Transporteo Sessãoo Apresentaçãoo Aplicação
AplicaçãoApresentaçãoSessão
FísicaEnlaceRedeTransporte
7654321
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
AplicaçãoApresentaçãoSessão
FísicaEnlaceRedeTransporte
7654321
Aplicação
Hospedeiro/Rede
Inter-RedesTransporte
ARQUITETURA TCP/IP● Modelo Híbrido
AplicaçãoApresentaçãoSessão
FísicaEnlaceRedeTransporte
7654321
Aplicação
Transporte
FísicaEnlaceRede
ARQUITETURA TCP/IP● Camada Hospedeiro/Rede
o Protocolo não definido pelo modelo TCP/IPo Transmissão dos pacotes IPo Variação em função do hospedeiro e redeo Exemplos de Protocolos: Ethernet, FDDI, 802.11
ARQUITETURA TCP/IP● Camada Inter-Redes
o Conhecida como "camada de rede"o Rede comutada por pacoteso Define o protocolo IPo Roteamento de pacoteso Controle de congestionamentoo Exemplos de Protocolos: IP, ARP, RARP, ICMP
ARQUITETURA TCP/IP● Camada de Transporte
o Responsável por comunicação fim-a-fimo Confiabilidadeo Entrega sem erroso Entrega em sequênciao QOSo Segmentaçãoo Controle de fluxoo Exemplos de Protocolos: TCP, UDP, SCTP
ARQUITETURA TCP/IP● Camada de Aplicação
o Camada de interface com o usuárioo Maioria das aplicações são executadaso 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 pareso Pacotes enviados na modalidade store-and-forwardo Necessário algoritmo de roteamento
TECNOLOGIAS DE TRANSMISSÃO● Redes de difusão
o Canal de comunicação compartilhadoo Toda mensagem possui um campo de destinatárioo 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-pontoRedes menores Redes maioresRedes locais Redes espalhadas
geograficamente
CAMADA DE ENLACE● Funções
Enlace
LLCLogical Link Control
(Controle do Enlace Lógica)
MACMedia Access Control
(Controle de Acesso ao Meio)
CAMADA DE ENLACE● Funções
o Enquadramento: agrupar sequência de bits em quadroso Entrega confiávelo Detecção e correção de erroso 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 destinoo Não há garantia de que esse fluxo de bits seja livre de erroso O número de bits recebidos pode ser menor, igual ou maior que o número de bits
transmitidoso 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-loo 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
Payload CRCHEAD
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 SwitchIsolamento de Tráfego Não Sim SimPlug-and-play Sim Não SimRoteamento Ótimo Não Sim Não
EQUIPAMENTOS● Hub - Camada 1
EQUIPAMENTOS● Switch - Camada 2
o Gerenciávelo 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 organizacionalo Controleo Segurançao Isolamento de problemaso Desempenho - Broadcasto 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■ Porta de origem da aplicação
○ Destination Port■ Porta de destino da aplicação
○ UDP length■ 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
○ Garante que os dados serão entregues na forma que foram enviados● Orientado a conexão
○ Conexões nos sistemas finais● Controle de fluxo
○ Transmissor não esgota a capacidade do receptor
TCP● Controle de congestionamento
○ Transmissor não esgota recursos da rede● Gerencia timers
○ 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 Servidor Endereço fixo Hospedeiro ativo Sempre aguardando conexão
o Cliente Endereço dinâmico Nem sempre estão conectados
o Comunicação só pode ocorrer entre clientes e servidoreso Exemplo: Servidor Web
ARQUITETURAS DE APLICAÇÃO● P2P (Peer-to-peer / Ponto-a-Ponto)
o Sem um nó centralo Conexões alteram com frequênciao Altamente escalávelo Difícil de gerencialo Exemplo: Torrent
ARQUITETURAS DE APLICAÇÃO● Híbrido
o Presença de um servidor para localizar os pares ou arquivoso Comunicação realizada diretamente entre os pareso Exemplo: Voip
COMUNICAÇÃO ENTRE PROCESSOS● No mesmo host quem define é o SO● Entre hosts diferentes:
o Processo clienteo 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 TCPo UDP
● Aplicação define qual protocolo utilizar
APLICAÇÃO X CAMADA DE TRANSPORTEAplicação Procolo de Aplicação Protocolo de
TransporteEmail SMTP TCPWeb HTTP TCP
Compartilhamento de Arquivo
SAMBA TCP
Resolução de nome DNS UDPAcesso Remoto SSH TCPMonitoramento SNMP UDP
FUNCIONAMENTO● Serviços
o Analogia a um shopping