Instituto de Informática - UFRGS Redes de computadores Nível de rede Internet Protocol (IP) Nível de rede Aplicação Apresentação Instituto de Informática - UFRGS Sessão Transporte Rede Enlace Físico Redes de Computadores Protocolo nível de aplicação Protocolo nível de apresentação Protocolo nivel de sessão Protocolo nivel de transporte Protocolo nível de rede Protocolo nível de enlace Protocolo nível de físico Aplicação Apresentação Sessão Transporte Rede Enlace Físico 2 Terminologia (1) Rede de comunicação de dados Facilidade que oferece serviço de transferência de dados internet (com i minúsculo) Conjunto de redes interconectadas por pontes e roteadores Instituto de Informática - UFRGS Internet (com I maiúsculo) Rede global composta por milhares de máquinas e de redes Intranet É uma internet corporativa Utiliza a tecnologia da Internet (TCP/IP e http) para permitir acessos a recursos e a documentos Redes de Computadores 3 Terminologia (2) Sistema final Dispositivo conectado a uma ou mais redes Executa aplicações e oferece serviços a usuários Instituto de Informática - UFRGS Sistema intermediário Dispositivo empregado para conectar duas redes Possibilita a comunicação entre sistemas conectados em redes diferentes Redes de Computadores 4 Terminologia (3) Pontes (bridges) Sistema intermediário que conecta duas redes que utilizam um mesmo protocolo de rede Atua no nível de enlace (nivel 2 OSI) Instituto de Informática - UFRGS Roteador (router) Interconecta duas redes Utiliza o mesmo protocolo do sistema final Atua no nível de rede (nível 3 OSI) Portal (gateway) Executa a tradução de protocolos Redes de Computadores 5 Instituto de Informática - UFRGS Pontes Aplicação Apresent. Sessão Transporte Rede Enlace Físico Redes de Computadores Enlace Físico Físico Aplicação Apresent. Sessão Transporte Rede Enlace Físico 6 Instituto de Informática - UFRGS Roteador Aplicação Apresent. Sessão Transporte Rede Enlace Físico Redes de Computadores Rede Enlace Enlace Físico Físico Aplicação Apresent. Sessão Transporte Rede Enlace Físico 7 Instituto de Informática - UFRGS Portais Aplicação Apresent. Sessão Transporte Rede Enlace Físico Redes de Computadores Aplicação Apresent. Apresent. Sessão Sessão Transporte Transporte Rede Rede Enlace Enlace Físico Físico Aplicação Apresent. Sessão Transporte Rede Enlace Físico 8 Requisitos para interconexão de redes Objetivo é enviar pacotes de uma origem até um destino Necessidades: Instituto de Informática - UFRGS Conhecimento da topologia da subrede Selecionar rotas Independentes da tecnologia de subrede Isolar nível de suporte do número, tipo e topologia de subredes Endereçamento uniforme entre subrede Serviços oferecidos: Orientados a conexão Não orientados a conexão Redes de Computadores 9 Instituto de Informática - UFRGS Exemplo Redes de Computadores 10 Instituto de Informática - UFRGS Características da arquitetura de redes Endereçamento Tamanho do pacote Mecanismo de controle de acesso ao meio Timeouts Recuperação de erros Status Roteamento Orientada a conexão ou não orientada a conexão Redes de Computadores 11 Orientado a conexão Assume que cada rede é orientada a comutação de circuitos Sistema intermediário interconecta duas ou mais redes Instituto de Informática - UFRGS É visto como um sistema final para cada rede Concatenação de circuitos virtuais Dependendo da rede é necessário criar suporte a criação de circuitos virtuais Padrões IEEE são redes orientadas a comutação de pacotes e.g.: X.75 usado para interconectar redes X.25 ( packet switched) Redes de Computadores 12 Arquitetura não orientada a conexão (1) Instituto de Informática - UFRGS Mecanismo de datagrama de redes baseadas em comutação de pacote Cada unidade de informação é tratada de forma independente Sistemas finais e intermediários executam um mesmo protocolo a nível de rede Denominado genericamente como protocolo internet Protocolo Internet (“i” maiúsculo) Protocolo internet (“i” minúsculo) desenvolvido para a ARPANET Descrito na RFC 791 Redes de Computadores 13 Arquitetura não orientada a conexão (2) Vantagens Flexibilidade Robustez Elimina uma série de overheads Instituto de Informática - UFRGS Não confiável (unreliable) Não garante a entrega do pacote de dados ao destinatário Não garante ordem de chegada Pacotes podem seguir diferentes rotas Confiabilidade é responsabilidade do nível superio e.g. TCP para protocolo IP Redes de Computadores 14 Instituto de Informática - UFRGS Família de protocolos Internet Redes de Computadores 15 Protocolos nível de rede Internet Instituto de Informática - UFRGS ICMP IP ARP RARP Interface Hardware Redes de Computadores 16 Protocolo IP Instituto de Informática - UFRGS Define uma uma rede virtual sobre diferentes elementos de hardware Funções IP Roteamento de pacotes Fragmentação Manipulação de serviços Monitoração de erros e controle através de um protocolo específico (ICMP) Redes de Computadores 17 Protocolo Internet (IP) Define a unidade básica de transferência de dados na Internet Instituto de Informática - UFRGS Datagrama IP Protocolo não orientado a conexão (serviço não confiável) Tenta executar best effort delivery Pacotes podem ser perdidos, chegar no destino fora de seqüência, ou duplicados por diversas razões Redes de Computadores 18 Datagrama IP (1) Vers (4 bits): versão do protocolo IP (IPv4) Hlen (4 bits): Instituto de Informática - UFRGS Tamanho do cabeçalho em palavras de 32 bits (min=5) Tos (8 bits): tipo do serviço e qualidade desejada Redes de Computadores 19 Datagrama IP (2) Comprimento total (16 bits): Tamanho em bytes do datagrama 216 = 65535 bytes (inclui cabeçalho) Identificação (16 bits): Instituto de Informática - UFRGS Nro. de seqüência que identifica de forma não ambígua um datagrama Flags (3 bits): Apenas dois são empregados bit More bit D’ont fragment Redes de Computadores 20 Datagrama IP (3) Deslocamento (offset)(13 bits) A analisar mais tarde Time to live (8 bits) Número máximo de roteadores que um datagrama pode passar Instituto de Informática - UFRGS Protocolo (8 bits) Indicação do protocolo do nível superior e.g.; 1=ICMP; 6=TCP; 17=UDP Checksum (16 bits) Soma em complemento de 1 ’s do cabeçalho Verificado e recalculado a cada roteador Redes de Computadores 21 Datagrama IP (4) Endereço fonte (32 bits) Endereço destino (32 bits) Opções (variável) Informações adicionais para roteamento e segurança Instituto de Informática - UFRGS Padding (variável) Bytes adicionais inseridos para deixar cabeçalho múltiplo de 32 bits Dados (variável) Multiplo de 8 bits Redes de Computadores 22 Endereço IP (1) Número único 32 bits associado à uma máquina Notação em decimal para cada byte 129.52.6.34 Instituto de Informática - UFRGS Dividido em duas partes: Prefixo: identifica a rede (network number) Sufixo: identifica a máquina na rede (host number) Propriedades: cada computador tem um único endereço Prefixo (network number) é coordenado globalmente Sufixo (host number) é coordenado localmente Redes de Computadores 23 Endereço IP (2) Instituto de Informática - UFRGS Endereços são associados a interfaces de redes, não a máquinas Redes de Computadores 24 Classes de endereços IP Instituto de Informática - UFRGS Endereços IP divididos em 3 classes primárias (A, B, C) Redes de Computadores 25 Endereços especiais (1) São endereços que nunca são atribuídos a máquinas Endereço da rede (network address): endereço zero no sufixo e.g.: Classe B: 143.54.00.00 Difusão (broadcast): endereço com 1’s no sufixo (direto) Instituto de Informática - UFRGS e.g.: Classe B: 143.54.255.255 Difusão (broadcast): endereço com 1’s no prefixo e no sufixo IP: 255.255.255.255 Redes de Computadores 26 Endereços especiais (2) Este computador: endereço com zeros no prefixo e no sufixo IP: 00.00.00.00 Endereço empregado no boot Máquina não pode colocar endereço válido (ainda não conhece) Instituto de Informática - UFRGS Loopback: endereço de classe A (127.0.0.0) Convencionado 127.0.0.1 Endereço de teste Não é transmitido na rede Serve para testar software de rede na máquina local Redes de Computadores 27 Instituto de Informática - UFRGS Fragmentação (1) Técnica empregada para reduzir datagramas que são maiores que a MTU (Maximum Transfer Unit) da tecnologia de rede Protocolo IP considera a remontagem no destino Baseado nos campos identificação, flags e deslocamento (offset) do cabeçalho Cada fragmento de um mesmo datagrama possui: Seu próprio cabeçalho Mesmo identificador de 16 bits Quantidade de bytes múltiplo de 8 Redes de Computadores 28 Fragmentação (2) Um datagrama é completamente identificado por: Instituto de Informática - UFRGS Endereço IP destino e fonte Tipo de protocolo (e.g.; TCP) Identificador O campo de deslocamento (offset) fornece a posição relativa desse fragmento em relação ao datagrama original Fornecido em multiplos de 8 bytes Campo Flags fornece informações adicionais para controle da fragmentação Redes de Computadores 29 Fragmentação (3) Instituto de Informática - UFRGS Fragmentos: datagrama dividido em vários segmentos. Redes de Computadores 30 Fragmentação (4) Instituto de Informática - UFRGS Remontagem dos fragmentos Destino remonta os datagramas fragmentados. Desvantagens: A remontagem no destino pode ser ineficiente. Se fragmentos são perdidos, eles não podem ser remontados. Vantagens: Fragmentos são roteados independentemente. Sistemas intermediários não armazenam nem remontam datagramas. Redes de Computadores 31 Protocolo IP: recepção de datagramas Instituto de Informática - UFRGS Processamento na máquina destino Verifica checksum, versão, e tamanho tamanho Se checksum calculado difere do checksum do datagrama, este é descartado Se o datagrama é fragmentado, é disparado um temporizador que evitará a espera indefinida dos outros fragmentos do datagrama original Entrega do campo de dados do datagrama para o processo indicado no campo Tipo. Redes de Computadores 32 Subredes Problemas com redes "grandes" Gerenciamento Desempenho Solução: Instituto de Informática - UFRGS subdividir (roteador) Redes de Computadores 33 Subredes Como criar ? Dividindo o sufixo (host id) em duas partes Máscara de subrede Instituto de Informática - UFRGS Número de 32 bits empregado para indicar quais bits identificam a rede e a subrede e quais bits identificam uma estação dentro da subrede Redes de Computadores 34 Instituto de Informática - UFRGS Subredes if dest_ip AND subnet_mask = my_ip AND subnet_mask then send pkt on local network % dest is on the same subnet else send pkt to router % dest is on diff subnet Redes de Computadores 35 Roteamento Instituto de Informática - UFRGS Processo de escolha de um caminho para envio de datagramas Protocolo IP realiza o roteamento considerando o número da rede Determinação de uma rota: Selecionar quais caminhos são disponíveis Selecionar o melhor caminho para um certo objetivo Empregar caminhos para atingir outras redes Dispositivos especiais Roteadores Redes de Computadores 36 Tabelas de roteamento (1) Cada roteador mantém uma tabela de rotas Cada entrada possui: Instituto de Informática - UFRGS Qual conexão deve ser utilizada para atingir certa rede Informações relacionadas com custo e desempenho Roteador 1 10.0.0.5 20.0.0.5 10.0.0.0 10.0.0.0 20.0.0.0 30.0.0.0 40.0.0.0 20.0.0.5 entrega diretamente entrega diretamente 30.0.0.7 Redes de Computadores 20.0.0.0 20.0.0.6 40.0.0.0 40.0.0.7 Roteador 2 Roteador 3 30.0.0.6 30.0.0.7 30.0.0.0 37 Tabelas de roteamento (2) Entrada em tabelas de roteamento: < network, gateways, others > Instituto de Informática - UFRGS Como criar rotas: Estáticamente: route add 158.108.20.0 158.108.33.1 Dinamicamente: via protocolos de roteamento Através de ICMP redirect Exemplo: Redes de Computadores 38 Algoritmo elementar de roteamento (1) Início Há memória para datagrama? Não Instituto de Informática - UFRGS Sim Descarta datagrama TTL = TTL -1 Fim TTL=0 Calcula Checksum Não A Sim Checksum, versão e tamanho OK? Não Descarta datagrama Fim Redes de Computadores Descarta datagrama Fim 39 Algoritmo elementar de roteamento (2) A Instituto de Informática - UFRGS Recupera end. IP destino Calcula endereço rede destino Rede destino é alcançavel diretamente? Existe rota específica? Sim Não Rede destino está na tabela de roteamento? Fim Sim Envia para roteador responsável Fim Não Existe uma rota default? Entrega datagrama ao destino Sim Envia para roteador default Não Não Fim Erro de roteamento Redes de Computadores 40 Protocolos de roteamento Instituto de Informática - UFRGS Protocolos de roteamento gerenciam e atualizam as tabelas de roteamento em cada nó Em sistemas UNIX este procedimento é realizado por um de dois daemons: Routed: esquema de roteamento interno, normalmente utilizando o protocolo RIP Gated: roteamento interno e externo, utilizando protocolos mais sofisticados como OSPF, BGP Redes de Computadores 41 Protocolo IP Recursos críticos para o desempenho IP: Instituto de Informática - UFRGS Largura de banda disponível Memória disponível para buffers Processamento da CPU Redes de Computadores 42