290 likes | 421 Views
OSPF. Alunos : Adilson Gonçalves Soares Junior Felipe Arcieri de Miranda Reis Marco Teixeira. Introdução.
E N D
OSPF Alunos : Adilson Gonçalves Soares Junior Felipe Arcieri de Miranda Reis Marco Teixeira
Introdução O protocolo OSPF (Open Shortest Path First), definido pela RFC 2328, é um protocolo IGP (Interior Gateway Protocol), ou seja, desenhado para uso intra-As (Sistema Autônomo). O protocolo OSPF foi desenvolvido para atender às necessidades colocadas pelas comunidades da Internet, que demandavam um protocolo IGP eficiente, não-proprietário e inter-operável com outros protocolos de roteamento. OSPF baseia-se na tecnologia “link-state”, que é bastante diferente e bem mais avançada que a tecnologia utilizada em protocolos puramente vetoriais, como o RIP, que utiliza o algoritmo Bellman-Ford para cálculo da melhor rota.
Vantagens do OSPF • Não existe limite de saltos com OSPF • OSPF suporta VLSM • OSPF utiliza anúncios multicast, e as atualizações apenas são disparadas quando existe alguma alteração na rede (anúncios incrementais) • Redes OSPF convergem mais eficientemente do que redes RIP • OSPF permite um meio mais eficaz de balanceamento de carga • OSPF permite a implementação de hierarquia às redes, por meio das áreas. Isso facilita o planejamento da rede, assim como tarefas de agregação e sumarização de rotas. • OSPF permite a transferência e marcações de rotas externas, injetadas em um ASN (Sistema Autônomo). Isso permite que se rastreie rotas injetadas por protocolos EGP, como o BGP.
A A A A A A B B B B B B C C C C C C F F F F F F D D D D D D E E E E E E Distance Vector vs. Link State • No roteamento por estado de enlace cada nó possui um mapa completo da topologia da rede • Em caso de falhas, cada nó pode recalcular uma nova rota para o destino • Dificuldade: Todos os nós precisam ter uma visão consistente da rede A B C F D E
Roteamento por Estado de Enlace • Princípios básicos 1. Cada roteador estabelece um relacionamento com seus vizinhos – adjacência 2. Cada roteador gera anúncios do estado do enlace (link state advertisements - LSAs) que são distribuídos para todos os roteadores LSA = (link id, estado, custo, vizinho) 3. Cada nó mantém um banco de dados de todos os LSAs recebidos (topological database or link state database) que irá descrever o gráfo que representa a topologia da rede 4. Cada roteador usa esse banco de dados para rodar o algoritimo de menor caminho (Dijikstra) para calcular as rotas para cada rede
Single-Area Multiple-Area Conceituando Área A área é o segmento delimitado pela topologia da rede onde ocorrem as trocas de LSAs. Caso o OSPF seja implementado em somente uma área ele deve ser necessariamente a área 0. No caso da topologia em múltiplas áreas qualquer área criada deve estar diretamente ligada a área 0. Este setor principal é chamado de a área de backbone.
Tipos de Roteadores no OSPF • Elementos : • 1. Internal Router - Router que possui todas as suas interfaces em uma mesma área (não necessariamente a área 0). • 2.Backbone Router - Um Internal Router contido na área 0 (Backbone Area). • 3. Area Border Router (ABR) - Router que possui pelo menos uma interface na Area 0, e outra(s) interface(s) em quaisquer outras áreas. Os ABRs são um dos routers em uma rede OSPF que pode realizar a sumarização de rotas. • 4. Autonomous System Border Router (ASBR) - Router que realiza a redistribuição de rotas de outras fontes para dentro do domínio OSPF. Este é o outro tipo de router que pode realizar sumarização de rotas em uma rede OSPF.
Eleição DR e BDR • A eleição do DR e do BDR no OSPF é necessária em redes de Multiacesso (com ou sem broadcast), pois, do contrário, a troca de pacotes hello “sobrecarregaria” a rede, de acordo com a fórmula [ ½.n(n-1) trocas]. • 1- a maior prioridade, que por default tem valor 1, onde cada roteador pode ser configurado com Prioridade entre 1 e 255 (Prioridade=0 faz com que o roteador não participe da eleição); • 2- Se todos os roteadores tiverem a mesma prioridade, o critério de desempate é o Maior Router ID. • O Router ID pode ser : • Definido pelo comando “Router(config-router)# router-id ” • Se não houver o comando router-id, o seguindo critério é o Maior IP de interface de Loopback (mais recomendado); • Se não houver interface de loopback configurada, o último critério é o Maior IP de interface
Vantagem do uso de DR e BDR R1 R1 R2 R6 R2 R6 R3 R5 R3 R5 BDR R4 R4 DR 15 Router adjacencies 9 Router adjacencies
Tipos de Pacote OSPF Existem cinco tipos diferentes de pacotes OSPF. Todos os tipos de pacotes OSPF começam com um cabeçalho padrão de 24 bytes. Este cabeçalho é descrito primeiro. Cada tipo de pacote é então descrito em uma seção a seguir.
O cabeçalho do pacote OSPF Cada pacote OSPF inicia com um cabeçalho padrão de 24 bytes. Este cabeçalho contém todas as informações necessárias para determinar se o pacote deve ser aceito para processamento posterior. Version # O número da versão OSPF. Esta apresentação documenta a versão 2 do protocolo. Type Os tipos de pacotes OSPF são os seguintes. Tipo Descrição ________________________________ 1 Hello 2 Database Description 3 Link State Request 4 Link State Update 5 Link State Acknowledgment Packet length O comprimento do pacote protocolo OSPF em bytes. Este comprimento inclui o cabeçalho OSPF padrão. Router ID A identificação do roteador de origem do pacote. Area ID Um número de 32 bits para identificar a área que o pacote pertence. Todos os pacotes OSPF estão associados a uma única área. Checksum Contém o Checksum de todo o conteúdo do pacote (exceto o campo de 64 bits de autenticação). O valor do checksum é calculado como um número de 16 bits complementar da soma de todas as palavras de 16 bits do pacote. Se o comprimento do pacote não for um múltiplo de 16, é feito um preenchimento com bytes zero antes do cálculo. O checksum é calculado como parte do processo de autenticação apropriado; para alguns tipos de autenticação OSPF o cálculo do checksum é omitido. AUTYPE Identifica o processo de autenticação a ser utilizado para o pacote. Autenticação Um campo de 64 bits para uso pelo sistema de autenticação.
Pacote Tipo 1 As mensagens HELLO são pacotes OSPF do tipo 1, estes pacotes são enviados periodicamente em todas as interfaces, para que se possa estabelecer e manter ligações entre a vizinhança. Os pacotes HELLO são multicast nas redes físicas que possuam capacidade de broadcast, habilitando com isso o conhecimento dinâmico dos roteadores vizinhos. Todos estes roteadores conectados em uma rede comum devem compartilhar determinados parâmetros de rede, tais como máscara, intervalo de envio de mensagem HELLO, etc. Estes parâmetros estão incluídos nos pacotes HELLO, de outra forma parâmetros diferentes não possibilitariam a formação de relação entre os roteadores. A figura ao lado mostra como é formado um pacote do tipo 1. Network mask Indica a máscara de rede associada à interface. HelloInterval Indica o tempo, em segundos, entre os envios dos pacotes HELLO. Options Indica as capacidades opcionais suportadas pelo roteador. Rtr Pri Indica a prioridade do roteador. Ele é usado na seleção do roteador desejado caso haja um backup. Se setado como zero, o roteador não participa da seleção. RouterDeadInterval Indica o tempo, em segundos, antes de declarar o roteador como fora da rede ou desabilitado. Designated Router Mostra a identidade (IP) do roteador designado na adjacência. Se setado como 0.0.0.0 significa que não há roteador designado. Backup Designated Router Mostra a identidade (IP) do roteador backup designado. Se setado como 0.0.0.0 significa que não há roteador backup designado na adjacência. Neighbor O Router IDs de cada roteador de quem pacotes hello válidos foram vistos recentemente na rede. "Recentemente" significa nos últimos segundos RouterDeadInterval.
Pacote Tipo 2 Os pacotes de descrição de base de dados do protocolo são pacotes “tipo 2”. Estas mensagens são trocadas quando uma adjacência começa a se formar, eles descrevem o conteúdo da topologia. Múltiplos pacotes podem descrever a base de dados, neste caso uma coleta de respostas enviadas por outros roteadores é utilizada: um dos roteadores é designado como mestre e um outro escravo. O roteador mestre envia mensagens de descrição de base de dados (coleta) que são reconhecidas pelas mensagens de descrição enviadas pelo roteador escravo (respostas). Estas respostas são associadas às coletas via DD sequence number. O formato do pacote de descrição de base de dados é muito similar aos pacotes de requisição de estado de link e ACK de requisição de estado de link, a parte principal deste pacote é composta pela informação de uma parte da base de dados da topologia de rede. A seguir descrevemos os campos desta mensagem, que inclui o cabeçalho. I-bit O bit Init. Quando definido como 1, este pacote é o primeiro na seqüência de pacotes de descrição da base de dados. M-bits O “Bit mais” quando setado em 1 indica que mais pacotes na seqüência estão por vir. MS-bit Este bit indica se o roteador é mestre (1) ou escravo (0) durante o processo de troca de mensagens. DD sequence number Indica o número de seqüência das mensagens enviadas. Ele é incrementado até que toda a descrição da base de dados tenha sido enviada. O resto do pacote consiste na lista parcial de partes da base de dados, o cabeçalho de divulgação de estado de link (LSA – Link State Advertisement) será discutido mais adiante. Interface MTU O tamanho em bytes do maior datagrama IP que pode ser enviado pela interface associada, sem fragmentação. Interface MTU deve ser definido como 0 nos pacotes de Descrição de Base de Dados pacotes enviados através de ligações virtuais. 0 Este é um campo reservado e seu valor fixo é Zero. Options Indica as capacidades opcionais suportadas pelo roteador. (Type of Service)
Pacote Tipo 3 a Os pacotes de requisição de estado de link são do tipo 3. Após trocar pacotes de descrição de base de dados com os roteadores adjacentes, o roteador poderá encontrar partes da topologia que estejam desatualizadas. Os quadros de requisição de estado de link são usados para requisitar aos roteadores vizinhos, informações de base de dados para atualizar a sua própria caso esta esteja desatualizada. O envio destes pacotes é o último passo para configurar as adjacências. Um roteador que solicita um pacote de requisição de estado de link conhece as instâncias das partes da base de dados da topologia que estão sendo necessárias, definidas pelo LS sequence number, LS checksum, e LS age, ainda que estes campos não estejam especificados no pacote. Assim o roteador pode receber instâncias mais recentes em resposta a sua solicitação. Cada LSA solicitado é especificado pelo seu LS type, Link State ID, e Advertising Router. Este identifica o LSA, mas não a sua instância. Pacote de requisição de estado de link são entendidos como pedidos para instâncias mais recentes (qualquer que seja). a
Pacote Tipo 4 Pacote de atualização de estado de link (Link State Update) são pacotes OSPF tipo 4. Estes pacotes implementam a distribuição dos estados de links, cada pacote carrega uma coleção de informações de estado de link de um salto além de sua origem. Isto significa que muitas publicações de estado de link podem estar inseridas em um único pacote. Os pacotes de atualização de estado de link são multicast em seus domínios físicos que suportam multicast/broadcast. Para ter certeza que esta “inundação” de pacotes de atualização seja confiável, os pacotes são confirmados com seus respectivos pacotes de confirmação. # LSAs O número das LSAs incluídas nesta atualização. O corpo do pacote Link State Update consiste de uma lista de LSAs. Cada LSA começa com um cabeçalho de 20 bytes comum.
Pacote Tipo 5 Os Pacote de ACK do estado de link (Link StateAcknowledgment) são pacotes OSPF tipo 5. Para assegurar a confiabilidade da inundação (flooding) de LSAs, eles são explicitamente confirmados. Estas confirmações são completadas através da troca de pacotes de ACK do estado de link, múltiplas LSAs podem ser confirmadas por um único pacote de ACK do estado de link. Dependendo do estado da interface que enviou e da fonte das informações que estão sendo confirmadas, os pacotes são mandados tanto para o endereço multicastAllSPFRouters e AllDRouters, ou como uma mensagem unicast. O formato deste pacote é semelhante ao pacotes de descrição de dados. O corpo de ambos os pacotes é simplesmente uma lista de cabeçalhos de LSA.
Formatos LSA São definidos cinco tipos distintos de LSAs. Cada LSA começa com um padrão de 20 bytes do cabeçalho LSA. Cada LSA descreve uma parte do domínio de roteamento OSPF. Cada roteador origina um router-LSA. Além disso, sempre que o roteador for eleito DesignatedRouter, este origina um network-LSA. Outros tipos de LSAs também podem ser originados. O domínio de roteamento OSPF é então inundado por todos os LSAs. O algoritmo de inundação (flooding) é confiável, garantindo que todos os roteadores têm a mesma coleção de LSAs. Esta coleção de LSAs é chamada link-state database. A partir do banco de dados de estado de link, cada roteador constrói uma árvore de caminho mais curto com ele mesmo como raiz. Isso produz uma tabela de roteamento.
O cabeçalho LSA Todos LSAs começam com um cabeçalho comum de 20 bytes. Este cabeçalho contém informação suficiente para identificar a LSA (LS type, Link State ID, e Advertising Router). Multiplas instâncias de LSAs podem existir no domínio de roteamento ao mesmo tempo. Em seguida, é necessário determinar qual instância é mais recente. Isto é realizado através da análise dos campos LS age, LS sequence number e LS checksum que também estão contidos no cabeçalho LSA. Link State ID Este campo identifica a fração do ambiente de internet que está sendo descrito pela LSA. O conteúdo deste campo depende do LS type da LSA's. Por exemplo, na network-LSAs o Link State ID é definido como o endereço IP da interface de rede do Designated Router (a partir do qual o endereço de rede IP pode ser derivado). Advertising Router O Router ID que originou o LSA. Por exemplo, no network-LSAs este campo é igual ao Router ID do network's Designated Router. LS sequence number Detecta LSAs antigos ou duplicados. Ocorrências sucessivas de um LSA são dados sucessivos LS sequence numbers. LS checksum Checksum do conteúdo completo da LSA (exceto o campo LS age), incluindo o cabeçalho LSA. length O tamanho em bytes da LSA. Isso inclui os 20 bytes do cabeçalho LSA. LS Age O tempo em segundos desde que o LSA foi originado. Options As capacidades opcionais suportadas pela fração descrita do domínio de roteamento. LS type O tipo da LSA. Cada tipo de LSA tem um formato de anúncio separado. Tipo LS Descrição ________________________________ 1 Router-LSAs 2 Network-LSAs 3 Summary-LSAs (IP network) 4 Summary-LSAs (ASBR) 5 AS-external-LSAs .
Router SLA bit V Quando definido, o roteador é um ponto de extremidade de uma ou mais ligações adjacentes totalmente virtuais tendo a área descrita como área de Trânsito (V é para extremidade de ligação virtual). bit E Quando definido, o roteador é AS boundary router("E" é para externo). bit B Quando definido, o roteador é um area border router (B é para border). # Links O número de ligações do roteador descrita neste LSA. Deve ser a coleta total de ligações do roteador (ou seja, interfaces) para a área. Os campos seguintes são usados para descrever cada ligação do roteador (ou seja, interface). Cada ligação do roteador é tipada (ver abaixo do campo Type). O campo Type indica o tipo de ligação que está sendo descrita. Pode ser uma ligação a uma rede de trânsito, a outro roteador ou uma rede stub. Os valores de todos os outros campos que descrevem uma ligação do roteador dependem do tipo de ligação. Por exemplo, para cada ligação um campo Link Data de 32-bit é associado. Para ligações para redes stub este campo especifica a máscara de rede do endereço IP. Para outros tipos de ligação o campo Link Data especifica o endereço IP da interface do roteador. Router-LSAs são LSAs do Tipo 1. Cada roteador em uma área origina um router-LSA. O LSA descreve o estado e o custo das ligações do roteador (ou seja, interfaces) para a área. Todos as ligações do roteador para a área devem ser descritas em um único router-LSA. No router-LSAs, o campo Link State ID é definido como router's OSPF Router ID. Router-LSAs inundam somente uma unica área.
Router SLA Link ID Identifica o objeto que esta ligação do roteador se conecta. O Valor depende do tipo de ligação. Ao se conectar a um objeto que também origina um LSA (isto é, um outro roteador ou uma rede de trânsito) o Link ID é igual a LSA's Link State ID do vizinho. Isso fornece a chave para pesquisar o LSA do vizinho no banco de dados de estado de link durante o cálculo da tabela de roteamento. Type Link ID ______________________________________ 1 Neighboring router's Router ID 2 IP address of Designated Router 3 IP network/subnet number 4 Neighboring router's Router ID Link Data Valor depende de novo do campo Tipo de ligação. Para conexões com redes stub, Link Data especifica a mascara da rede do endereço da IP. Para conexões ponto-à-ponto sem numeração especifica o valor ifIndex da interface MIB-II [Ref8]. Para os outros tipos de ligações especifica o endereço IP da interface do roteador. Este último pedaço de informação é necessário durante o processo de construção da tabela de roteamento, para o cálculo do endereço IP do próximo salto. TOS # O número de diferentes métricas TOS dado para esta ligação, sem contar a métrica exigida da ligação (referida como TOS metric 0 em [Ref9]). Por exemplo, se não forem dadas métricas TOS adicionais, este campo é definido como 0. metric O custo de usar esta ligação do roteador. TOS informações adicionais específicas também podem ser incluídos, para compatibilidade com versões anteriores da especificação OSPF([Ref9]). Dentro de cada link, e para cada TOS desejado, a informação de ligação TOS-específica do TOS pode ser codificada como segue: IP TOS do Tipo de Serviço que essa métrica se refere. TOS metric informações métricas TOS-específica. Type Uma descrição rápida da ligação do roteador. Uma das seguintes. Note que as rotas do host são classificadas como ligações a redes stub com mascara de rede 0xFFFFFFFF. Type Description __________________________________________________ 1 Point-to-point connection to another router 2 Connection to a transit network 3 Connection to a stub network 4 Virtual link
Network-LSAs Network-LSAS são LSAs do tipo 2. O network-LSA é originado para cada broadcast e rede NBMA na área que suporte dois ou mais roteadores. O network-LSA é originado pelo network's Designated Router. O LSA descreve todos os roteadores ligados à rede, incluindo o Designated Router. O campo LSA's Link State ID lista o endereço IP da interface do Designate Router. A distância da rede para todos os roteadores conectados é zero. É por isso que os campos metric não precisam ser especificados na network-LSA. Network Mask A máscara de endereço IP para a rede. Por exemplo, uma rede de classe A teria a máscara 0xff000000. Attached Router Os Router IDs de cada um dos roteadores conectados à rede. Na verdade, apenas os roteadores adjacentes do Designated Router estão listados. O Designated Router se inclui nesta lista. O número de roteadores incluídos pode ser deduzido do campo length do cabeçalho LSA.
Summary-LSAs Summary-LSAs são LSAs do tipo 3 e 4. Estes LSAs são originadas pelos area border routers. Summary-LSAs descrevem destinos inter-área. O summary-LSAs do tipo 3 é usado quando o destino é uma rede IP. Neste caso, o campo LSA's Link State ID é um numero de rede IP (se necessário, o Link State ID também pode ter um ou mais bits de "host" de rede setados). Quando o destino é um AS boundary router o summary-LSA tipo 4 é usado e o campo Link State ID é o AS boundary router's OSPF Router ID. Exceto a diferença no campo Link State ID, o formato summary-LSAs do tipo 3 e 4 são idênticos. Para áreas stub, summary-LSAs do Tipo 3 também podem ser usadas para descrever uma (por área) rota padrão. Resumo de rota padrão são usados em áreas stub ao invés de inundar um conjunto completo de rotas externas. Ao descrever um resumo de rota padrão, summary-LSA's Link State ID é sempre definido como DefaultDestination (0.0.0.0) e a máscara de rede está definida como 0.0.0.0. Network Mask Para summary-LSAs Tipo 3, indica a máscara de rede do endereço IP de destino. Por exemplo, quando a anunciado a localização de uma rede de classe A o valor 0xff000000 seria utilizado. Este campo não é significativo e deve ser zero para o summary-LSAs tipo 4. metric O custo desta rota. Expressos nas mesmas unidades que o custos de interface no router-LSAs. TOS informações adicionais específicas também podem ser incluídos, para compatibilidade com versões anteriores da especificação OSPF([Ref9]). Dentro de cada link, e para cada TOS desejado, a informação de ligação TOS-específica do TOS pode ser codificada como segue: IP TOS do Tipo de Serviço que essa métrica se refere. TOS metric informações métricas TOS-específica.
AS-external-LSAs AS-external-LSAs são LSAa do tipo 5. Estes LSAs são originadas por AS boundary routers, e descrevem os destinos externos ao AS. AS-external-LSAs geralmente descrevem um determinado destino externo. Para estes LSAs o campo Link State ID especifica um número de rede IP (se necessario, o Link State ID também pode ter um ou mais bits de "host" de rede setados). AS-external-LSAs são usados também para descrever uma rota padrão. Rotas padrão são usadas quando não existem rotas especificas para o destino. Ao descrever uma rota padrão, o Link State ID será sempre definido como DefaultDestination (0.0.0.0) e mascara de rede como 0.0.0.0. Network Mask A máscara de endereço IP para o destino anunciado. Por exemplo, ao anunciar uma rede de classe A a máscara 0xff000000 seria utilizada. bit E O tipo de métrica externa. Se o bit E esta definido, a métrica especificada é uma métricas externas tipo 2. Isto significa que a métrica é considerada maior do que qualquer link state path. Se o bit E for zero, a métrica especificada é uma métrica externa tipo 1. Isto significa que é expresso nas mesmas unidades como o link state metric (isto é, as mesmas unidades como o custo da interface). metric O custo desta rota. Interpretação depende da indicação do tipo externo (bit E acima). Forwarding address O Tráfego de Dados para o destino anunciado será encaminhado para este endereço. Se o endereço de encaminhamento for definido como 0.0.0.0, o tráfego de dados será encaminhado então para o originador da LSA (isto é, o AS boundary router responsável). External Route Tag Um campo de 32-bit ligado a cada rota externa. Não é utilizado pelo protocolo OSPF em si. Pode ser usado para se comunicar informações entre AS boundary routers; As informações adicionais específicas também podem ser incluídos, para compatibilidade com versões anteriores da especificação OSPF([Ref9]). Dentro de cada link, e para cada TOS desejado, a informação de ligação TOS-específica do TOS pode ser codificada como segue: TOS O Tipo de Serviço que interessa aos seguintes campos. bit E Para efeitos de retro-compatibilidade com [Ref9]. TOS metric Informações métricas TOS-específicas. Forwarding address Para efeitos de retro-compatibilidade com [Ref9]. External Route Tag Para efeitos de retro-compatibilidade com [Ref9].
Descoberta de Vizinhos • Os roteadores transmitem pacotes de hello para todas as interfaces controladas pelo OSPF • Se dois roteadores compartilham um link eles se tornam vizinhos e estabelecem a adjacência • Depois de se tornarem vizinhos os roteadores trocam suas bases de informações
ACK ACK ACK Updatedatabase Updatedatabase ACK ACK ACK ACK ACK ACK ACK LSA ACK LSA LSA LSA LSA LSA LSA ACK LSA ACK LSA LSA Updatedatabase Updatedatabase Distribuição de Informações de Roteamento • LSA-Updates são transmitidos através de um Flooding Confiável (Reliable Flooding) • Exemplo: Flooding do LSA do roteador 10.10.10.1 Updatedatabase