quinta-feira, 14 de julho de 2016

Estudos para o CCIE - 8 (o retorno)

Bom pessoal, o projeto CCIE estava em marcha bem lenta, porém percebi que continuo com o objetivo vivo de tirar essa certificação tendo em vista que passei por momentos bem difíceis desde o último post (5 meses atrás), e acredito que o pior já tenha passado graças a deus, mas vamos ao que foi estudado nesse período.

- Tenho que agradecer a alguns colegar que acompanham o blog que me apoiaram nesses últimos meses (achava que ninguém lia os posts do CCIE kkkk), agradeço de coração.

Terminei os vídeos de BGP do INE, porém estou percebendo que não consigo mais me manter focado assistindo videoaulas, sempre estou ficando com muito sono e acabo não terminando nem os vídeos mais curtos, para resolver esse problema estou praticamente resumindo no papel e na caneta as vídeo-aulas com o que eu entendi dela, o processo é mais demorado porém só consegui terminar as aulas de BGP assim :(

Estou a pelo menos 50 páginas para terminar a sessão de BGP do workbook, percebi que se tratando de BGP sempre existem diversas formas de manipular o tráfego de entrada e de saída e cada uma delas com as suas características, apenas treinando muito você consegue entender quando usar uma ou outra (ex. prefix-list ou acl ou eacl ou route-map?) kkkk.

Segue algumas anotações que fiz nesse período estudando apenas BGP:

- BGP routing - utiliza AS-Path como decisão de escolha, utiliza a porta TCP 179 (orientado a conexão), no padrão Cisco o TTL é sempre 1 (diretamente conectado), para aumentar isso utiliza-se o comando #ebgp-multihip x(ttl);

- Peer-group - cria um grupo de neighbors (bundle) tornando mais fácil a configuração dos peers;

- O BGP checa alguns requisitos antes de fechar a conexão BGP:
1º Tem que recever uma requisição TCP com o source-address encontrado  no comando #neighbor (geralmente loopback);
2º O ASN deve bater com o "#neighbor remote-as" configurado;
3º o RID (Router ID) não pode ser igual entre os peers;
4º Autenticação MD5 tem que bater entre os peers;
- BGP messages (neighbor states): IDLE, Connect, Active, OpenSent, OpenConfim e Estabilished;

- BGP basic messages: "OPEN" (estabelece relação entre neighbors), "keeepalive" (mantém a conexão, pode ser alterado e o mismatch não impossibilita o peering), "update" (troca de novas rotas e atualizações) "notification" (erros em geral);

- BGP Routing Base (RIB) carrega a NLRI (Network Layer Reachability Information) ou prefixo para os mais intimos kkk.

- Por default a rota dsó pode ser colocada na RIB se estiver especificada na tabela de roteamento;

- O comando #auto-summary sumariza as rotas para mascaras cheias (/8 por ex.) e somente "matchs" exatos usados com o comando #network são adicionados a RIB além da rota sumarizada;

- #aggregate-address- sumariza e divulga manualmente uma rota para os neighbors BGP, porém segue algumas regras:
     - Precisa existir ao menos 1 prefixo (de dentro da sumarização) na tabela BGP;
- Seta o Next-hop da sumarização como 0.0.0.0 na tablea BGP Local (Null0);
- Seta o Next-hop da rota sumarizada como "Advertised to Neighbor" (para o IP de update source de cada neighbor);
- Se todas as rotas de dentro da sumarizão temo mesmo AS_SEQ (ex. 200,110,300) ele seta o mesmo para a sumarização, se forem diferentes ele seta a AS_SEQ para Null;
- Se o AS_SET for configurado, ele cria um AS_SET para a agregação (somente NULL);
- Se a sumarização for propagada para um eBGP o router usa o prepend do seu ASN para o AS_SEQ antes de enviar o UPDATE;
- Se o comando #summary-only for usado, ele suprime todas as redes da sumarização (envia somaente a rotas sumarizada), se não for usado ele propaga as redes de dentro da sumarização, ou para propagar somente as redes que você quer, utiliza-se o comando #suppress-map;

- Adicionando rota default no BGP (3 modos):
- Usando o comando #network (#network 0.0.0.0/0) obs. deve existir na tabela de roteamento local;
- Usando redistribute - requer o uso do comando #default-information originate obs. deve existir na tabela de roteamento local;
- Injetando com o comando #neighbor "ID" default-originate [route-map];

- Origin Path atributes, podem ser 3:
     - IGP - (comandos #network, #agregate-address e #neighbor default-originate);
- EGP - de EGP mesmo;
- Incomplete (#redistribute, #aggregate-address e #default information originate);
obs. Se o coamando AS-SET é usado, o ORIGIN CODE é "I", se ao menos um dos componentes tem o ORIGIN CODE "?" o de agregação também será "?"

- BGP UPDATE Messages 3 principais:
     - Withdrawn routes fild - avisa sobre rotas falhas para serem retiradas do BGP;
- Path Atribute Fild - ex. Next_Hop e AS_Path;
- Prefix and prefix-length - NLRI

- No BGP temos um problema na escolha da melhor rota quando temos multi-paths, algumas vezes o NEXT_HOP não pode ser alcançado, para solucionar isso temos 2 opções:
     - Propagar o ip do neighbor no IGP;
     - Utilizar o comando #next-hop-self;

- Regras para as rotas serem propagadas em um BGP UPDATE:
     - Só envia a melhor rota (>) da RIB;
     - Não propague para iBGP paths aprendidos de outro iBGP;
- Não divulgue rotas com suprress ou com dumpneds;
- Não divulgue rotas filtradas;

- eBGP = AD20 iBGP = AD200

- Recursive lookup - ocorre quando o Next-hop não está listado na tabela BGP, o roteador realiza uma segunda consulta na tabela de roteamente para verificar se o Next-hop é válido;

- BGP Backdoor routes - Transforma uma rota aprendida via eBGP em uma com o AD 200 (iBGP) para os casos que o IGP tem que ter prioridade (raro);

- iGBP Sincronization - Faz com que os roteadores iBGP tenham sua tabela BGP sincronizadas e que as rotas aprendidas via iBGP não sejam utilizadas como melhor rota (a menos que estejam aprendidas via IGP "match exato");

- BGP Confederation - Cria Sub ASs para servir como iBGP tornando o controle mais simples de rotas;
     - Os ASNs privados vão de 64512 a 65535 (usados pelos confederations);
- No confederation ainda há necessidade de full-mesh;

- Route-reflector - Semelhante ao confederation, porém é eleito um RR (route-reflector) Server que irá propagar as rotas para os RR clients, não é necessario full-mesh nesse caso;
     - Utiliza os seguintes metodos de loop prevention:
- Cluster list - Adiciona o cluster ID em uma tabela (lista) e verifica ants de enviar o update se o ID existe;
- Originator ID - lista o RID do primeiro iBGP que está propagando a rota, se for do proprio router ele não propaga;
- Só propaga a melhor rota para os clients;

- Multiprotocol BGP - Utiliza o campo capability para enviar outros tipos protocolos além do IPv4;
     - Utiliza 2 novos tipos de protocolos não transitivos:
           -Multiprotocol Reachable NLRI
           -Multiprotocol Unrachable NLRI
     - Utilizado em L3 VPNs;
     - VPNv4 precisa do comando #send-community habilitado:
          #neighbor x.x.x.x send-community ?
              both
              extended (default)
         standard

- BGP atributes:
  - AS_PATH - well-know mandatory;
  - Next_Hop - well-know mandatory;
  - Aggregator - Optional transitive;
  - Atomic_Aggregate - well-know discretionary;
  - Origin 0 well-know mandatory
  - Originator_ID - Optional Nontransitive
  - CLuster_List - Optional Nontransitive


  Bom pessoal, pro post não ficar tão grande vou postar a segunda parte na próxima semana, só uma dica pra quem ainda não fez o CCIE Written a prova antiga (5.0) só pode ser agendada até dia 25 de julho, eu marquei a minha pra setembro já.

  Ahh outra coisa importante, a Cisco liberou a agenda do lab móvel de 2017 (primeiro semestre), estou planejando fazer a primeira tentativa em junho:



  Link:
  https://learningnetwork.cisco.com/docs/DOC-3224

OBS.Todas as anotações são pessoais (o modo que entendi), pode não estar 100% mas caso tenha alguma correção por favor me avise :)

Abraços

Para ajudar o Café com Redes:

Nenhum comentário:

Postar um comentário