Revisão Parte 5 2011
Modelo de Referência TCP/IP Camada de Aplicação Camada de Transporte Camada de Rede Camada de Enlace de Dados Camada de Física
Funções Principais 1. Prestar serviços à Camada de Transporte. 2. Estabelecer rotas da origem ao destino. 3. Selecionar rotas menos congestionadas 4. Compatibilizar problemas de comunicação em rotas que atravessem redes diferentes.
1. Prestação de serviços à Camada de Transporte Em algumas redes as camadas de Rede e de Transporte estão em equipamentos distintos. Sub-rede Interface concessionária/usuário Define a responsabilidade da concessionária
1. Prestação de serviços à Camada de Transporte Objetivos: Os serviços devem ser independentes da tecnologia da sub-rede. Para a camada de Transporte, não interessa o número, tipo e topologia das sub-redes utilizadas. Os endereços da rede, passados para a camada de Transporte, devem ser uniformes.
1. Prestação de serviços à Camada de Transporte Estrutura Interna da Camada de Rede: Circuitos Virtuais (CVs) Datagramas
Estrutura Interna da Camada de Rede Circuitos Virtuais
Estrutura Interna da Camada de Rede Circuitos Virtuais CV com origem no roteador A e destino D: N o do CV Rota 0 A B C - D 1 A E F D 2 A B F - D 3 A E C - D 4 A E C B F - D
Estrutura Interna da Camada de Rede Circuitos Virtuais - Características Os roteadores devem lembrar para onde enviar os pacotes de cada circuito virtual aberto que passa por ele. Cada roteador deve manter uma tabela para cada CV ativo. Os CVs A B C D (com origem em A) e B C D (com origem em B) geram um conflito de rotas, o que exige um algoritmo para arbitrar esta situação.
Estrutura Interna da Camada de Rede Circuitos Virtuais - Características Cada pacote de bits deve conter: O número do CV O número de sequência Soma de verificação Sentido da transmissão, pois ela é full-duplex Etc.
Estrutura Interna da Camada de Rede Datagramas - Características Os roteadores contém tabelas indicando as linhas de saída possíveis para uma determinada linha de entrada. Os datagramas devem conter o endereço de origem e de destino completos.
Estrutura Interna da Camada de Rede Circuitos Virtuais x Datagramas Item Sub-rede de Datagramas Sub-rede de CVs Configuração do circuito Desnecessário Obrigatório Endereçamento Cada pacote contém os Cada pacote contém um endereços completos da número único de CV origem e do destino Informações sobre a conexão Não tem Cada CV estabelecido exige controle na tabela da subrede
Estrutura Interna da Camada de Rede Circuitos Virtuais x Datagramas Item Sub-rede de Datagramas Sub-rede de CVs Roteamento Cada pacote é roteado de forma independente A rota é definida quando o CV é estabelecido e todos os pacotes seguem esta rota Efeito de falhas no roteador Nenhum, exceto para pacotes perdidos durante a queda Todos os CVs que passam através do equipamento parado são encerrados Controle de congestionamentos Difícil Fácil
Estrutura Interna da Camada de Rede Circuitos Virtuais x Datagramas Item Sub-rede de Datagramas Sub-rede de CVs Onde está a complexidade das funções necessárias? Qualidade de serviço Na camada de Transporte Difícil Na camada de Rede Fácil, se for possível alocar recursos suficientes com antecedência para cada CV
2. Roteamento Se a sub-rede utiliza datagramas internamente, a cada pacote que chega deve ser decidida qual a rota a seguir. Se a sub-rede utiliza CVs, somente a cada nova conexão a decisão da rota será tomada. Independente do algoritmo de roteamento adotado, ele deve observar algumas propriedades básicas para que o algoritmo seja utilizável.
2. Roteamento Propriedades de um Algoritmo de Roteamento Correção Funcionar sem erros. Simplicidade De fácil entendimento e manutenção. Estabilidade Em condições normais, manter constante sua forma de operação.
2. Roteamento Propriedades de um Algoritmo de Roteamento Robustez Isolar uma rede de grande porte de falhas de hardware e de software, do número de hosts, do número de roteadores, do número de linhas e de mudanças na topologia, não exigindo a reinicialização da rede a cada ocorrência de falha.
2. Roteamento Propriedades de um Algoritmo de Roteamento Equidade Ser imparcial. Otimização Obter a melhor situação possível.
2. Roteamento Classes de Algoritmos de Roteamento Adaptativos Não adaptativos
2. Roteamento Classes de Algoritmos de Roteamento Adaptativos Baseiam suas decisões de roteamento em medidas, ou estimativas, do tráfego da rede e na topologia.
2. Roteamento Classes de Algoritmos de Roteamento Não Adaptativos Baseiam suas decisões de roteamento no algoritmo, independentemente do tráfego na rede, e com base na topologia atual.
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento pelo caminho mais curto O conceito de caminho mais curto entre uma origem e um destino pode variar, dependendo do Menor número de hops Menor distância geográfica Menor tempo para percorrer o caminho
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento por inundação (flooding) Cada pacote de entrada é enviado para todas as linhas de saída, exceto para aquela em que chegou (conexões ponto-a-ponto). Este algoritmo gera uma vasta quantidade de pacotes duplicados, e há a necessidade de uma técnica para minimizar este efeito.
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento por inundação (flooding) Uma das técnicas possíveis é a adoção de contador de hops no cabeçalho do pacote, o qual é decrementado cada vez que o pacote passa por um roteador. Quando o contador zerar, o pacote é descartado.
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento por estado de enlace Este algoritmo prevê que cada roteador da sub- rede deve fazer o seguinte: 1. Descobrir seus vizinhos e aprender seus endereços de rede. 2. Medir o retardo, ou o custo, até cada um de seus vizinhos.
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento por estado de enlace 3. Criar um pacote que informe tudo o que ele acabou de aprender. 4. Enviar esse pacote a todos os outros roteadores. 5. Calcular o caminho mais curto até cada um dos outros roteadores.
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento hierárquico À medida em que as redes aumentam de tamanho, as tabelas de roteamento dos roteadores crescem proporcionalmente. Não apenas a memória do roteador é consumida por tabelas cada vez maiores, mas também é necessário dedicar maior tempo da CPU para percorrê-las e mais largura de banda para enviar as informações dos status delas.
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento hierárquico O roteamento hierárquico resolve esta situação, como já ocorre na rede telefônica. Neste caso, os roteadores são divididos por regiões, com cada roteador conhecendo todos os detalhes sobre como rotear pacotes para destinos dentro de sua própria região, mas sem conhecer nada sobre a estrutura interna das outras regiões.
2. Roteamento Exemplos de Algoritmos de Roteamento Roteamento por difusão (broadcasting) Em algumas aplicações, os hosts precisam enviar mensagens a muitos outros hosts (ou a todos os outros hosts). Por exemplo, para um relatório sobre o tempo, para a atualização do mercado de ações ou para programas de rádio é preciso enviar as informações por difusão a todas as máquinas que queiram recebê-las.
2. Roteamento Roteamento para hosts móveis Os hosts móveis trouxeram um problema novo para as redes: antes de rotear um pacote para um host móvel é preciso localizá-lo.
Firewall É uma barreira de proteção entre o tráfego corporativo e as redes externas.
Firewall O Firewall é o único caminho de entrada e de saída da rede corporativa para as redes externas.
Firewall Roteadores: Verificam se os pacotes obedecem a critérios pré-estabelecidos. Por exemplo: Porta 23 para operações via Telnet. Porta 78 para acesso à rede X. Não aceitar tráfego UDP. Etc. Firewall Roteador Gateway Roteador
Firewall Gateway: Atua na camada de Aplicação. Por exemplo: Correio eletrônico (tamanho da mensagem, conteúdo, etc.) Pacotes incompletos. Etc. Firewall Roteador Gateway Roteador
3. Controle de Congestionamento Visa garantir que a sub-rede seja capaz de transportar o tráfego demandado. É uma questão global que envolve o comportamento de todos os hosts, todos os roteadores, todos os buffers nos roteadores e tudo o que está envolvido no processo de comunicação.
3. Controle de Congestionamento
3. Controle de Congestionamento Na situação de congestionamento os roteadores não conseguem dar vazão aos pacotes recebidos e perdem parte deles. No limite, nenhum pacote é entregue.
3. Controle de Congestionamento Causas possíveis: Roteadores lentos ou sobrecarregados. A vazão das linhas de entrada é maior que aquela das linhas de saída. Várias linhas de entrada direcionam pacotes para uma única linha de saída, e não buffers suficientes no roteador para armazenar os pacotes.
3. Controle de Congestionamento Causas possíveis: Quando o roteador de destino descarta um pacote por estar congestionado, o roteador de origem retransmite o pacote várias vezes até que ele seja aceito pelo roteador de destino, gerando mais congestionamentos no destino e na origem.
3. Controle de Congestionamento A solução do congestionamento tem de ser global para a rede e não somente para um roteador isolado.
3. Controle de Congestionamento As soluções podem ser agrupadas em duas categorias: Loops Abertos Loops Fechados
3. Controle de Congestionamento Soluções em Loops Abertos: Tentam resolver o problema com um bom projeto. Uma vez que o sistema esteja em operação, não são feitas correções nos processos ativos.
3. Controle de Congestionamento Soluções em Loops Abertos: Ferramentas utilizadas: Decidir quando aceitar mais tráfego. Decidir quando e quais pacotes serão descartados. Programar decisões nos pontos da rede. As ações são efetivadas sem levar em conta o estado atual da rede.
3. Controle de Congestionamento Soluções em Loops Fechados: Monitorar o sistema para detectar quando e onde ocorreu congestionamento. Enviar essas informações para lugares onde alguma providência possa ser tomada. Ajustar a operação do sistema para corrigir o problema.
3. Controle de Congestionamento A Congestionamento B Congestionamento
3. Controle de Congestionamento Prevenção de Congestionamento em Loops Fechados: Caso esta conexão estivesse programada para passar por um dos roteadores congestionados pode-se redesenhar a sub-rede, para evitar esta situação.
3. Controle de Congestionamento A Congestionamento B Congestionamento
3. Controle de Congestionamento A B Circuito Virtual
O Protocolo IP Um datagrama IP consiste de duas partes: Cabeçalho Texto O cabeçalho contém as informações de controle do IP, e o campo de texto contém um segmento do arquivo transmitido.
O Protocolo IPv4 Cabeçalho: Versão do protocolo IHL Tipo de serviço Comprimento total do datagrama Identificação do datagrama DF MF FO Tempo de vida (em hops) Protocolo Soma de verificação Endereço de origem Endereço de destino Opções
O Protocolo IPv4 Cabeçalho: IHL: tamanho do cabeçalho, em quantidade de palavras de 32 bits. Tipo de serviço: o host informa à sub-rede os padrões de confiabilidade e velocidade desejados.
O Protocolo IPv4 Cabeçalho: DF (Don t Fragment): não fragmente o datagrama pois a máquina de destino não poderá recompô-lo. MF (More Fragments): todos os fragmentos de um datagrama possuem este flag, exceto o último. FO (Fragment Offset): número do fragmento de um determinado datagrama.
O Protocolo IPv4 Cabeçalho: Protocolo: informa à camada de Rede o processo de Transporte que deverá ser aplicado ao datagrama: TCP ou UDP.
O Protocolo IPv4 Cabeçalho: Opções: Nível de segurança do datagrama. Sequência de endereços IP entre a origem e o destino. Lista mínima de roteadores pelos quais o pacote deve percorrer.
O Protocolo IPv4 Cabeçalho: Opções (continuação): Os roteadores ao longo do trajeto devem anexar seu endereço IP ao campo Opções para análise do administrador da rede. Timestamp Os roteadores ao longo do trajeto devem anexar a data e a hora na qual o pacote transitou por eles. Etc.
O Protocolo IPv6 Com a crescente utilização da Internet pelas indústrias, pelo setor de serviços, pelo setor educacional, pelo governo, pelos centros de pesquisa, pelas pessoas em geral e, proximamente, pelos dispositivos entre si (Internet das Coisas), o IPv4 precisou evoluir para se tornar mais flexível e abrangente, surgindo, assim, o IPv6
Principais objetivos: O Protocolo IPv6 Aceitar bilhões de hosts, mesmo com alocação de espaço de endereços ineficiente (o IPv6 tem endereços mais longos que o IPv4, com 16 bytes). Reduzir o tamanho das tabelas de roteamento. Simplificar o protocolo, de modo a permitir que os roteadores processem os pacotes com mais rapidez. Oferecer mais segurança (autenticação e privacidade) do que o IPv4.
Principais objetivos: Dar mais importância ao tipo de serviço, particularmente no caso de dados em tempo real. Permitir multidifusão. O Protocolo IPv6 Permitir que um host mude de lugar sem precisar mudar o endereço. Permitir que o protocolo evolua no futuro. Permitir a coexistência entre protocolos novos e antigos durante anos.
O Protocolo IPv6 Cabeçalho:
O Protocolo IPv6 Versão Especifica o número da versão do protocolo. Para o IPv6 ela é 0110. Este é o único campo que tem o mesmo significado e posição no cabeçalho tanto para o IPv4 quanto para o IPv6. Prioridade Especifica a prioridade do pacote de dados.
Rótulo de Controle O Protocolo IPv6 Designa pacotes que precisam de tratamento especial. Um de seus usos é para prover qualidade de serviço: largura de banda necessária, tempos de retardo máximos, etc.
Comprimento dos Dados do Usuário Especifica o comprimento dos dados do usuário que seguem o cabeçalho. Próximo Cabeçalho O Protocolo IPv6 Especifica o tipo de cabeçalho que segue o cabeçalho do IPv6. Outros cabeçalhos podem ser inseridos entre os cabeçalhos IPv6 e o TCP (ou UDP): cabeçalho para autenticação, para criptografia, etc.
O Protocolo IPv6 Limite de Hops Especifica o número máximo de vezes que o pacote de dados pode passar de um roteador para outro sem atingir seu destino.
Revisão Parte 5 2011