510 likes | 634 Views
REDES DE COMPUTADORES. Camada de Rede. Aplicação. Aplicação. Dados. Dados. 7. Apresentação. Apresentação. 6. Sessão. Sessão. 5. Transporte. Transporte. 4. Rede. Rede. 3. Enlace. Enlace. 2. Físico. Físico. 1. RELEMBRANDO AS CAMADAS. O Modelo OSI – Transmissão de dados.
E N D
REDES DE COMPUTADORES Camada de Rede
Aplicação Aplicação Dados Dados 7 Apresentação Apresentação 6 Sessão Sessão 5 Transporte Transporte 4 Rede Rede 3 Enlace Enlace 2 Físico Físico 1 RELEMBRANDO AS CAMADAS O Modelo OSI – Transmissão de dados
A CAMADA DE REDE • Fornece serviços para o nível de transporte, sendo, freqüentemente, a interface entre a rede do cliente e a empresa de transporte de dados (p.ex. Embratel). • SUA PRINCIPAL FUNÇÃO É RECEBER BITS DE DADOS DA CAMADA SUPERIOR, ORGANIZÁ-LOS EM BLOCOS DE DADOS (PACOTES EM REDES COM CONEXÃO E DATAGRAMAS EM REDES SEM CONEXÃO) E DETERMINAR A ”MELHOR” ROTA PARA QUE ESTES PACOTES ALCANCEM SEU DESTINO, TENDO COMO BASE ENDEREÇOS LÓGICOS DE ORIGEM E DESTINO. • A camada de rede deve: • Fornecer serviços independentes da tecnologia da subrede; • Esconder do nível de transporte o número, tipo e a topologia das subredes existentes; • Oferecer ao nível de transporte um esquema de endereçamento uniforme, independente da tecnologia da subrede (LAN, MAN, WAN).
transporta pacote da estação remetente à receptora protocolos da camada de rede em cada estação, roteador três funções importantes: determinação do caminho: rota seguida por pacotes da origem ao destino. Algoritmos de roteamento (routing) comutação: mover pacotes dentro do roteador da entrada à saída apropriada (switching) estabelecimento da chamada: algumas arquiteturas de rede requerem determinar o caminho antes de enviar os dados (call setup) rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física Funções da camada de rede
A transferência de dados pode ser feita sem ou com conexão, com características indicadas na tabela a seguir.
Algoritmo de Roteamento • Roteamento é o mecanismo pelo qual se escolhe o caminho (canal de comunicação) que um pacote deve seguir para atingir seu destino. • Em redes sem conexão (datagrama), cada datagrama tem de carregar seu endereço destino e a decisão de roteamento é tomada em cada nó da rede, para cada datagrama que chega. • Em redes com conexão (circuito virtual) os pacotes não precisam carregar o endereço destino (só a identificação da conexão) e a decisão de roteamento é tomada no estabelecimento da conexão, após a qual todo pacote segue sempre o mesmo caminho - roteamento por sessão. • Um algoritmo de roteamento deve oferecer: • Correticidade (funciona); • Simplicidade (é fácil de entender/usar); • Robustez (suporta falhas na rede); • Estabilidade (fixa caminhos rapidamente); • Equanimidade (distribui carga de modo justo); e • Optimalidade (proporciona melhor caminho sempre).
Um algoritmo de roteamento pode ser: • Não adaptativo, quando as decisões de roteamento são definidas antecipadamente (pelo gerente da rede, p. ex.) e colocadas nos roteadores quando estes são ligados - roteamento estático; • Adaptativo, quando as decisões de roteamento são [re]definidas continuamente, de acordo com a estrutura da rede (topologia, carga, etc.) - roteamento dinâmico. • Nesse último caso, o algoritmo de roteamento pode ser do tipo Vetor-Distânciaou Estado-do-Enlace, cujas características são resumidas na tabela a seguir.
Controle de Congestionamento • Congestionamento ocorre quando a quantidade de pacotes na rede é muito grande (normalmente isso ocorre quando se atinge um patamar da capacidade de carga dos canais de comunicação). Padrão de comportamento na ocorrência de congestionamento
O que congestiona? • Pacotes chegando por canais de comunicação rápidos, tendo de sair por canais mais lentos; • Roteadores lentos; • Roteadores com pouca memória para armazenar pacotes temporariamente.
Como controlar fluxo? • Modelo circuito aberto (open loop), propõe resolver os problemas na fase de projeto/configuração dos roteadores de modo a (tentar) garantir que não ocorra congestionamento. Para ajustar alguma coisa, tem-se de reinicializar tudo. • Modelo circuito fechado (closed loop), propõe: • Monitoração do sistema para detectar quando e onde o congestionamento ocorre; • Passagem dessas informações para pontos de controle onde alguma ação pode ser tomada; • Ajuste da operação do sistema para corrigir o problema.
No modelo circuito fechado, o controle pode ser: • explícito, quando o ponto de congestionamento avisa (de alguma forma) a origem dos pacotes (p.ex. ATM com ABR); • implícito, quando a origem dos pacotes deduz que há congestionamento fazendo observações localmente (p.ex., pela demora no recebimento de confirmação de entrega de pacotes, p.ex. TCP/IP).
Políticas de prevenção de congestionamento • A tabela a seguir resume as políticas adotadas em diversas camadas de uma pilha de protocolos que afetam o congestionamento.
Condicionamento de Tráfego (Traffic Shaping) • Em redes que oferecem qualidade de serviço (Quality of Service - QoS), as estações clientes podem ser forçadas a transmitir a uma taxa uniforme, previamente acertada com a rede antes do início da transmissão (via abertura de conexão). • Dessa forma, recursos podem ser reservados antecipadamente, de modo que se possa garantir a não sobrecarga da rede - o tráfego é, sempre que possível, previsível. • Esse tipo de controle (de modelo circuito aberto) é largamente usado em redes ATM. • Evidentemente, a rede deve também fazer um monitoramento de tráfego (Traffic Monitoring) para evitar que estações clientes gerem tráfego fora do padrão solicitado para a rede. • Esse esquema é mais facilmente implementado em redes baseadas em circuito virtual do que em redes baseadas em datagrama.
Algoritmo do Balde Furado (Leaky Bucket Algorithm) • Outro mecanismo (de modelo circuito aberto) é o do Balde Furado, onde uma fila de tamanho finito age como um depósito de contenção para suportar rajadas de tráfego descartando o mínimo de pacotes e colocando-os para transmissão de modo controlado. • O controle é feito enviando-se para a rede pacotes sempre em uma velocidade constante (basicamente em função da capacidade do canal, do tempo de propagação e do tamanho máximo do pacote admitido) - tipo um pacote a dada ∆T. • Em redes com pacotes de tamanho fixo (p.ex. ATM), tudo funciona bem. Em redes com pacotes de tamanho variável, podem ser transmitidos N pacotes de modo que a soma dos tamanhos dos N pacotes não ultrapasse o tamanho máximo de pacote admitido. • Se o número de pacotes não for exato, transmite-se N-1 pacotes e o tempo restante não é utilizado.
Interconexão de Redes • Problema: como interconectar redes heterogêneas ? • Três problemas com interconexão a nível de enlace de dados : • Expansão difícil para diferentes tecnologias de enlace de dados. • Expansão difícil com o crescimento de número de hospedeiros ou redes. • Diferentes espaços de endereçamento.
Dificuldade de Expansão com diferentes tecnologias de enlace de dados • Conversão entre estruturas de quadros. • Problema de escalabilidade quando o número de tecnologias de enlace de dados aumenta.
Espaço de endereço MAC não homogêneo • O número de bits usado em endereço MAC pode ser. • Endereços MAC de 48 bits do IEEE • IBM recomenda outros endereços MAC administrados localmente (ignorando os endereços MAC embutidos). • Cada endereço em uma tecnologia de enlace de dados deve ser universalmente único, mas a sua unicidade não é garantida quando várias redes são atravessadas
A Solução da camada três para interconexão de redes • Substituir switches de LAN por switches de camada três, mais conhecidos como roteadores. • Acrescentar software de IP a cada hospedeiro final (junto com o todo conjunto de softwares). • Atribuir um endereço IP a cada interface de rede.
Endereçamento • Ao nível de rede, cada elemento (máquina final ou intermediária) precisa ser identificado de forma única na rede, independente da tecnologia da subrede utilizada. • Rede IP usa hierarquia para conseguir escalabilidade. • Há pelo menos três níveis: • Um simples hospedeiro IP (servidor.san.uri.br) • Uma sub-rede IP (san.uri.br) • Um sistema autônomo (uri.br) • Criação de um espaço de endereço para identificação de interfaces de rede. • Classes A a C para unicast e uma classe D para multicast:
DATAGRAMA IP comprimento total do datagrama (bytes) número da versão do protocolo IP 32 bits tipo de serviço comp.cab comprimento do cabeçalho (bytes) ver comprimento para fragmentação/ remontagem início do fragmento bits “tipo” dos dados (DS) ident. 16-bits camada superior sobre-vida checksum Internet número máximo de enlaces restantes (decrementado a cada roteador) endereço IP de origem 32 bits endereço IP de destino 32 bits protocolo da camadasuperior ao qual entregar os dados p.ex. temporizador, registrar rota seguida, especificar lista de roteadores a visitar. Opções (se tiver) dados (comprimento variável, tipicamente um segmento TCP ou UDP)
Endereçamento IP Um endereço de IP não identifica um computador específico. Pelo contrário, cada endereço de IP identifica uma conexão entre um computador e uma rede. Um computador com conexões de rede múltiplas (por exemplo, router) deve ser atribuído um endereço IP para cada conexão.
Endereçamento IP • Virtual • só reconhecido por software • Utilizado para toda a comunicação numa rede de interconexão • IPv4 inteiro de 32 bits • Valor distinto para cada Computador/interface • Fornece uma abstração • Independente de endereçamento de hardware (MAC) • Utilizado por • Protocolos de camada mais altas • Aplicações
Endereçamento IP • Dividido em duas partes • prefixo identifica a rede • sufixo identifica o computador/interface • Autoridade global atribui um prefixo distinto para a rede • Administrador local atribui sufixo distinto para o computador/interface
Endereço IP. Notação Decimal • Representa cada octeto em decimal separado por pontos • Não é igual a nomes como www.xyz.com.br 129.194.69.68 = Endereço IP 129.194 = id-rede 1000 0001 1100 0010 69.68 = id-computador 0100 0101 0100 0100 • Quatro valores decimais por endereço de 32 bits • Cada número decimal • representa oito bits • está entre 0 e 255 inclusivo
Endereços Reservados • Identificador de rede não pode ser 127 • 127 é reservado para fins de loop-back • Os identificadores de rede e de hospedeiro não podem ser 255 (todos os bits iguais a 1) • 255 é um endereço para difusão • Os identificadores de rede e de hospedeiro não podem ser 0 (todos os bits iguais a 0) • 0 (zero) significa “somente esta rede” • O identificador de hospedeiro deve ser único na rede
Endereçamento IP Problemas endereçamento original: • Crescimento de Internet • Tamanho de tabela de routing • Esgotamento de endereços • Peso Administrativo • Má utilização de endereços
Duas soluções foram introduzidas: • Endereçamento subrede (subnetting) é utilizado dentro de uma organização para subdividir o endereço da rede da organização. • Roteamento inter-domínio sem classes (classless interdomain routing - CIDR) foi introduzido em 1993 para proporcionar um endereçamento IP mais eficiente e flexível na Internet. • CIDR é conhecido também como endereçamento super-rede (supernetting). Os endereçamentos subrede e super-rede têm basicamente o mesmo conceito. • IETF (Internet Engineering Task Force) propôs também uma outra solução mais abrangente para solucionar completamente o problema de endereçamento: o IPv6.
Roteamento Interdomínio sem Classes (CIDR) • O espaço de endereço IP é quebrado em segmentos de linha. • Cada segmento de linha é descrito por prefixo. • Um prefixo é da forma x/y, onde x indica o prefixo de todos os endereços no segmento de linha, e y indica o comprimento do segmento. • Por exemplo, o prefixo 128.9/16 representa o segmento de linha que contém os endereços no intervalo: 128.9.0.0 … 128.9.255.255
Roteamento Interdomínio sem Classes (CIDR) • Agregação de prefixos • Se um provedor de Internet presta serviço a várias companhias com vários prefixos, pode (algumas vezes) agregá-los em um único prefixo. Os outros roteadores podem reduzir o tamanho da tabela de endereço.
Funções da camada de rede em estações, roteadores: • protocolo ICMP • relata erros • “sinalização” de roteadores • protocolo IP • convenções de endereços • formato do datagrama • convenções de manuseio do pct • Protocolos de rot. • seleção de rotas • RIP, OSPF, BGP Tabela de rotas A Camada de Rede na Internet Camada de transporte: TCP, UDP Camada de rede Camada de enlace Camada física
datagrama IP: 223.1.1.1 223.1.2.1 E B A 223.1.1.2 end. IP origem 223.1.2.9 aamposmisc end. IP dest 223.1.1.4 dados 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 rede dest. próx. rot. Nenlaces 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Enviando um datagrama da origem ao destino tabela de rotas em A • datagrama permanece inalterado, enquanto passa da origem ao destino • campos de endereços de interesse aqui
223.1.1.1 223.1.2.1 A E B 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 rede dest. próx. rot. Nenlaces 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Enviando um datagrama da origem ao destino camposdiv. dados 223.1.1.1 223.1.1.3 Supomos um datagrama IP originando em A, e endereçado a B: • procura endereço de rede de B • descobre que B é da mesma rede que A • camada de rede remeterá datagrama diretamente para B num quadro da camada de enlace • B e A estão diretamente ligados
223.1.1.1 223.1.2.1 A E B 223.1.1.2 223.1.2.9 223.1.1.4 223.1.2.2 223.1.3.27 223.1.1.3 223.1.3.2 223.1.3.1 rede dest. próx. rot. Nenlaces 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 Enviando um datagrama da origem ao destino camposdiv. dados 223.1.1.1 223.1.2.2 OrigemA, destino E: • procura endereço de rede de E • E numa rede diferente • A, E não ligados diretamente • tabela de rotas: próximo roteador na rota para E é 223.1.1.4 • camada de rede envia datagrama ao roteador 223.1.1.4 num quadro da camada de enlace • datagrama chega a 223.1.1.4 • continua…