Border Gateway Protocol: diferenças entre revisões
m r2.7.1) (Bot: Adicionando: ko:경계 경로 프로토콜 |
m Robô: Alteração da categoria redirecionada Protocolos Internet para Protocolos da Internet |
||
(Há 34 revisões intermédias de 26 utilizadores que não estão a ser apresentadas) | |||
Linha 1: | Linha 1: | ||
{{mais fontes|data=outubro de 2017}} |
|||
{{ProtocolosIP}} |
|||
{{Ver desambig|prefixo=Se procura|BGP - Batalhão da Guarda Presidencial|Batalhão da Guarda Presidencial}} |
{{Ver desambig|prefixo=Se procura|BGP - Batalhão da Guarda Presidencial|Batalhão da Guarda Presidencial}} |
||
O '''BGP''' [RFCs 1771,1772,1773,1774,1657] |
O '''BGP''' [RFCs 1771,1772,1773,1774,1657] é um protocolo de roteamento entre [[Sistema autônomo (Internet)|sistemas autônomos]] (ASs), criado para uso nos roteadores principais da [[Internet]].<ref>{{citar web|url = https://d-nb.info/gnd/4703746-5 |título = Border Gateway Protocol |obra = [[Biblioteca Nacional da Alemanha]] |língua = de |acessodata = 19 de dezembro de 2019}}</ref> |
||
⚫ | O BGP foi projetado para evitar laços de roteamento em topologias arbitrárias, o mais sério problema de seu antecessor, o [[Exterior Gateway Protocol|EGP]] (Exterior Gateway Protocol). Outro problema que o [[Exterior Gateway Protocol|EGP]] não resolve - e é abordado pelo BGP - é o do Roteamento Baseado em Política (policy-based routing), um roteamento com base em um conjunto de regras não técnicas, definidas pelos Sistemas Autônomos. Sendo assim, o BGP melhora o EGP. |
||
O BGP, protocolo de roteamento dinâmico, utilizado para comunicação entre sistemas autônomos (ASs). |
|||
==Descrição detalhada== |
|||
⚫ | O BGP foi projetado para evitar |
||
⚫ | A função primária de um sistema BGP é trocar informação de acesso à rede, inclusive informação sobre a lista das trajetórias dos ASs, com outros sistemas BGP. Esta informação pode ser usada para construir um gráfico da conectividade dos ASs a partir do qual laços de roteamento podem ser detectados e reforçadas as políticas de decisão com outros ASs. |
||
---- |
|||
⚫ | A função primária de um sistema BGP é trocar informação de acesso à rede, inclusive informação sobre a lista das trajetórias dos ASs, com outros sistemas BGP. Esta informação pode ser usada para construir um gráfico da conectividade dos ASs a partir do qual |
||
Quando um roteador se conecta à rede pela primeira vez, os roteadores BGP trocam suas tabelas de rotas completas. De maneira similar, quando a tabela de rotas muda, roteadores enviam a parte da tabela que mudou. Roteadores BGP não enviam regularmente atualizações de roteamento planejadas e as atualizações de rotas informam somente a trajetória ótima para uma rede. |
Quando um roteador se conecta à rede pela primeira vez, os roteadores BGP trocam suas tabelas de rotas completas. De maneira similar, quando a tabela de rotas muda, roteadores enviam a parte da tabela que mudou. Roteadores BGP não enviam regularmente atualizações de roteamento planejadas e as atualizações de rotas informam somente a trajetória ótima para uma rede. |
||
Linha 16: | Linha 16: | ||
Os 4 tipos de mensagens BGP são: |
Os 4 tipos de mensagens BGP são: |
||
'''1. Abertura (open message)''' – abre uma sessão de comunicação entre BGP pares (peers) e é a primeira mensagem enviada de cada lado depois que uma conexão de protocolo de transporte é estabelecida; essa mensagem é confirmada usando uma mensagem de keep-alive enviada pelo roteador par e tem que ser confirmada antes |
'''1. Abertura (open message)''' – abre uma sessão de comunicação entre BGP pares (peers) e é a primeira mensagem enviada de cada lado depois que uma conexão de protocolo de transporte é estabelecida; essa mensagem é confirmada usando uma mensagem de keep-alive enviada pelo roteador par e tem que ser confirmada antes das atualizações, notificações e outras mensagens de keep-alive. |
||
'''2. Atualização (update message)''' – é usada para informar atualizações de rotas para outros sistemas BGP, permitindo que os roteadores possam construir uma visão consistente da topologia da rede, usando o TCP para garantir uma entrega confiável; essas mensagens podem retirar rotas inviáveis (unfeasible routes) da tabela de roteamento e simultaneamente informar uma nova rota. |
'''2. Atualização (update message)''' – é usada para informar atualizações de rotas para outros sistemas BGP, permitindo que os roteadores possam construir uma visão consistente da topologia da rede, usando o TCP para garantir uma entrega confiável; essas mensagens podem retirar rotas inviáveis (unfeasible routes) da tabela de roteamento e simultaneamente informar uma nova rota. |
||
'''3. Notificação (notification message)''' – é enviada quando uma condição de erro é detectada; elas são usadas para encerrar uma sessão ativa e informar a quaisquer roteadores conectados do |
'''3. Notificação (notification message)''' – é enviada quando uma condição de erro é detectada; elas são usadas para encerrar uma sessão ativa e informar a quaisquer roteadores conectados do porquê do encerramento da sessão. |
||
'''4. Keep-alive''' – notifica aos roteadores BGP pares que um dispositivo está ativo. |
'''4. Keep-alive''' – notifica aos roteadores BGP pares que um dispositivo está ativo. |
||
⚫ | |||
---- |
|||
⚫ | |||
'''1. Cabeçalho''' – todos os tipos de mensagens usam o cabeçalho básico mais alguns campos adicionais, exceto a mensagem Keep-alive que usa somente o cabeçalho básico; seus campos são: |
'''1. Cabeçalho''' – todos os tipos de mensagens usam o cabeçalho básico mais alguns campos adicionais, exceto a mensagem Keep-alive que usa somente o cabeçalho básico; seus campos são: |
||
* Marcador (Marker) – contém um valor de autenticação que o recebedor pode verificar. |
* Marcador (Marker) – contém um valor de autenticação que o recebedor pode verificar. |
||
* Comprimento (Length) – indica o comprimento total da mensagem em bytes. |
* Comprimento (Length) – indica o comprimento total da mensagem em bytes. |
||
* Tipo (Type) – especifica o tipo de mensagem. |
* Tipo (Type) – especifica o tipo de mensagem. |
||
* Dados (Data) – opcional, contém informação das camadas superiores. |
* Dados (Data) – opcional, contém informação das camadas superiores. |
||
Linha 39: | Linha 34: | ||
* Versão (Version) – informa o número da versão do protocolo BGP. |
* Versão (Version) – informa o número da versão do protocolo BGP. |
||
* Sistema Autônomo (Autonomous System - AS)– número do AS do enviador. |
* Sistema Autônomo (Autonomous System - AS)– número do AS do enviador. |
||
* Hold-time – indica o número máximo de segundos que podem decorrer, sem receber uma mensagem, antes que o transmissor seja assumido como não funcional. |
* Hold-time – indica o número máximo de segundos que podem decorrer, sem receber uma mensagem, antes que o transmissor seja assumido como não funcional. |
||
* Identificador do BGP (BGP Identifier) – fornece um identificador BGP do transmissor (endereço IP) determinado na inicialização sendo idêntico para todas as interfaces locais e para todos os BGPs pares. |
* Identificador do BGP (BGP Identifier) – fornece um identificador BGP do transmissor (endereço IP) determinado na inicialização sendo idêntico para todas as interfaces locais e para todos os BGPs pares. |
||
* Comprimento dos parâmetros opcionais (Optional Parameters Length) – indica o comprimento do campo opcional de parâmetros (se existir). |
* Comprimento dos parâmetros opcionais (Optional Parameters Length) – indica o comprimento do campo opcional de parâmetros (se existir). |
||
* Parâmetros opcionais (Optional Parameters) – contém uma lista dos parâmetros opcionais (se existir); atualmente somente um tipo está definido: informação de autenticação. |
* Parâmetros opcionais (Optional Parameters) – contém uma lista dos parâmetros opcionais (se existir); atualmente somente um tipo está definido: informação de autenticação. |
||
Linha 53: | Linha 43: | ||
* Comprimento das Rotas Inviáveis (Unfeasible Routes Length) – indica o comprimento total do campo de retirada de rotas ou indica que o campo não está presente. |
* Comprimento das Rotas Inviáveis (Unfeasible Routes Length) – indica o comprimento total do campo de retirada de rotas ou indica que o campo não está presente. |
||
* Retirada de Rotas (Withdrawn Routes) – contém a lista dos prefixos dos endereços IP para as rotas que estão sendo retiradas de serviço. |
* Retirada de Rotas (Withdrawn Routes) – contém a lista dos prefixos dos endereços IP para as rotas que estão sendo retiradas de serviço. |
||
* Comprimento total dos atributos de trajetória (Total Path Attribute Length) – indica o comprimento total do campo de atributos da trajetória ou que indica que o campo não está presente. |
* Comprimento total dos atributos de trajetória (Total Path Attribute Length) – indica o comprimento total do campo de atributos da trajetória ou que indica que o campo não está presente. |
||
Atributos da Trajetória (Path Attributes) – descreve as características da trajetória informada. |
* Atributos da Trajetória (Path Attributes) – descreve as características da trajetória informada. |
||
Informação de Acessibilidade da Camada de Rede (Network Layer Reachability Information) – contém a lista de prefixos dos endereços IP para as rotas informadas. |
* Informação de Acessibilidade da Camada de Rede (Network Layer Reachability Information) – contém a lista de prefixos dos endereços IP para as rotas informadas. |
||
'''4. Notificação –''' este pacote é usado para indicar algum tipo de condição de erro para os pares do roteador de origem; seus campos são: |
'''4. Notificação –''' este pacote é usado para indicar algum tipo de condição de erro para os pares do roteador de origem; seus campos são: |
||
Linha 66: | Linha 54: | ||
* Dados do Erro (Error Data) – contém os dados baseados no código de erro e campos de sub-código de erro; este campo é usado para diagnosticar a causa para a mensagem de notificação. |
* Dados do Erro (Error Data) – contém os dados baseados no código de erro e campos de sub-código de erro; este campo é usado para diagnosticar a causa para a mensagem de notificação. |
||
== Formato do cabeçalho |
=== Formato do cabeçalho === |
||
Cada pacote BGP contém um cabeçalho cujo principal propósito é identificar a função do pacote em questão. As seguintes descrições resume a função de cada campo do cabeçalho BGP. |
Cada pacote BGP contém um cabeçalho cujo principal propósito é identificar a função do pacote em questão. As seguintes descrições resume a função de cada campo do cabeçalho BGP. |
||
* Marcador (16 bytes) – Contém um valor de autenticação que o destinatário da mensagem poderá prever. |
* Marcador (16 bytes) – Contém um valor de autenticação que o destinatário da mensagem poderá prever. |
||
* Comprimento (2 bytes)– Indica o comprimento total da mensagem em bytes. |
* Comprimento (2 bytes)– Indica o comprimento total da mensagem em bytes. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
** Keep Alive (Manter vivo) |
** Keep Alive (Manter vivo) |
||
* Dados (tamanho variável) – Contém informações da camada superior nesse campo opcional. |
* Dados (tamanho variável) – Contém informações da camada superior nesse campo opcional. |
||
A |
A última versão do BGP, o BGP4, foi projetada para suportar os problemas causados pelo grande crescimento da Internet. |
||
== Tópicos relacionados == |
== Tópicos relacionados == |
||
*[[OSPF]] |
*[[OSPF]] |
||
*[[RIP]] |
*[[Routing Information Protocol|RIP]] |
||
*[[Traceroute]] |
*[[Traceroute]] |
||
*[[Ping]] |
*[[Ping]] |
||
*[[WHOIS]] |
*[[WHOIS]] |
||
== Referências == |
|||
<references /> |
|||
{{Esboço-redes}} |
{{Esboço-redes}} |
||
{{Controle de autoridade}} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
[[ar:BGP]] |
|||
⚫ | |||
[[ca:Border Gateway Protocol]] |
|||
[[Categoria:Normas da internet]] |
|||
[[cs:Border Gateway Protocol]] |
|||
[[de:Border Gateway Protocol]] |
|||
[[en:Border Gateway Protocol]] |
|||
[[es:Border Gateway Protocol]] |
|||
[[fi:BGP]] |
|||
[[fr:Border Gateway Protocol]] |
|||
[[he:BGP]] |
|||
[[hr:BGP]] |
|||
[[id:Border Gateway Protocol]] |
|||
[[it:Border Gateway Protocol]] |
|||
[[ja:Border Gateway Protocol]] |
|||
[[ko:경계 경로 프로토콜]] |
|||
[[lv:Border Gateway Protocol]] |
|||
[[mk:Border Gateway Protocol]] |
|||
[[ms:Protokol Laluan Sempadan]] |
|||
[[nl:Border Gateway Protocol]] |
|||
[[nn:Border Gateway Protocol]] |
|||
[[no:Border Gateway Protocol]] |
|||
[[pl:BGP]] |
|||
[[ro:Border Gateway Protocol]] |
|||
[[ru:Border Gateway Protocol]] |
|||
[[simple:Border Gateway Protocol]] |
|||
[[sv:Border Gateway Protocol]] |
|||
[[uk:BGP]] |
|||
[[vi:BGP]] |
|||
[[yo:Border Gateway Protocol]] |
|||
[[zh:边界网关协议]] |
Edição atual tal como às 04h28min de 27 de agosto de 2023
Pilha de protocolos TCP/IP |
---|
Camada de aplicação |
Camada de transporte |
Camada de rede |
Camada de enlace de dados |
O BGP [RFCs 1771,1772,1773,1774,1657] é um protocolo de roteamento entre sistemas autônomos (ASs), criado para uso nos roteadores principais da Internet.[1]
O BGP foi projetado para evitar laços de roteamento em topologias arbitrárias, o mais sério problema de seu antecessor, o EGP (Exterior Gateway Protocol). Outro problema que o EGP não resolve - e é abordado pelo BGP - é o do Roteamento Baseado em Política (policy-based routing), um roteamento com base em um conjunto de regras não técnicas, definidas pelos Sistemas Autônomos. Sendo assim, o BGP melhora o EGP.
Descrição detalhada[editar | editar código-fonte]
A função primária de um sistema BGP é trocar informação de acesso à rede, inclusive informação sobre a lista das trajetórias dos ASs, com outros sistemas BGP. Esta informação pode ser usada para construir um gráfico da conectividade dos ASs a partir do qual laços de roteamento podem ser detectados e reforçadas as políticas de decisão com outros ASs.
Quando um roteador se conecta à rede pela primeira vez, os roteadores BGP trocam suas tabelas de rotas completas. De maneira similar, quando a tabela de rotas muda, roteadores enviam a parte da tabela que mudou. Roteadores BGP não enviam regularmente atualizações de roteamento planejadas e as atualizações de rotas informam somente a trajetória ótima para uma rede.
BGP usa uma única métrica para determinar a melhor trajetória para uma dada rede. Esta métrica consiste de número arbitrário que especifica o grau de preferência de um enlace em particular e é atribuído pelo administrador da rede. Este número pode ser baseado em qualquer critério: número de ASs que a trajetória cruza, estabilidade, velocidade, retardo ou custo. Os 4 tipos de mensagens BGP são:
1. Abertura (open message) – abre uma sessão de comunicação entre BGP pares (peers) e é a primeira mensagem enviada de cada lado depois que uma conexão de protocolo de transporte é estabelecida; essa mensagem é confirmada usando uma mensagem de keep-alive enviada pelo roteador par e tem que ser confirmada antes das atualizações, notificações e outras mensagens de keep-alive.
2. Atualização (update message) – é usada para informar atualizações de rotas para outros sistemas BGP, permitindo que os roteadores possam construir uma visão consistente da topologia da rede, usando o TCP para garantir uma entrega confiável; essas mensagens podem retirar rotas inviáveis (unfeasible routes) da tabela de roteamento e simultaneamente informar uma nova rota.
3. Notificação (notification message) – é enviada quando uma condição de erro é detectada; elas são usadas para encerrar uma sessão ativa e informar a quaisquer roteadores conectados do porquê do encerramento da sessão.
4. Keep-alive – notifica aos roteadores BGP pares que um dispositivo está ativo.
Formatos do pacote[editar | editar código-fonte]
1. Cabeçalho – todos os tipos de mensagens usam o cabeçalho básico mais alguns campos adicionais, exceto a mensagem Keep-alive que usa somente o cabeçalho básico; seus campos são:
- Marcador (Marker) – contém um valor de autenticação que o recebedor pode verificar.
- Comprimento (Length) – indica o comprimento total da mensagem em bytes.
- Tipo (Type) – especifica o tipo de mensagem.
- Dados (Data) – opcional, contém informação das camadas superiores.
2. Abertura –fornece o critério de troca para que dois roteadores BGP estabeleçam uma relação par (peer relationship); seus campos são:
- Versão (Version) – informa o número da versão do protocolo BGP.
- Sistema Autônomo (Autonomous System - AS)– número do AS do enviador.
- Hold-time – indica o número máximo de segundos que podem decorrer, sem receber uma mensagem, antes que o transmissor seja assumido como não funcional.
- Identificador do BGP (BGP Identifier) – fornece um identificador BGP do transmissor (endereço IP) determinado na inicialização sendo idêntico para todas as interfaces locais e para todos os BGPs pares.
- Comprimento dos parâmetros opcionais (Optional Parameters Length) – indica o comprimento do campo opcional de parâmetros (se existir).
- Parâmetros opcionais (Optional Parameters) – contém uma lista dos parâmetros opcionais (se existir); atualmente somente um tipo está definido: informação de autenticação.
3. Atualização – ao receberem um pacote de mensagem de atualização, os roteadores estarão aptos a adicionar ou excluir entradas específicas de suas tabelas de roteamento; seus campos são:
- Comprimento das Rotas Inviáveis (Unfeasible Routes Length) – indica o comprimento total do campo de retirada de rotas ou indica que o campo não está presente.
- Retirada de Rotas (Withdrawn Routes) – contém a lista dos prefixos dos endereços IP para as rotas que estão sendo retiradas de serviço.
- Comprimento total dos atributos de trajetória (Total Path Attribute Length) – indica o comprimento total do campo de atributos da trajetória ou que indica que o campo não está presente.
- Atributos da Trajetória (Path Attributes) – descreve as características da trajetória informada.
- Informação de Acessibilidade da Camada de Rede (Network Layer Reachability Information) – contém a lista de prefixos dos endereços IP para as rotas informadas.
4. Notificação – este pacote é usado para indicar algum tipo de condição de erro para os pares do roteador de origem; seus campos são:
- Código de Erro (Error Code) – indica o tipo de erro que ocorreu.
- Sub-código de Erro (Error Subcode)– fornece informação mais específica sobre a natureza do erro informado.
- Dados do Erro (Error Data) – contém os dados baseados no código de erro e campos de sub-código de erro; este campo é usado para diagnosticar a causa para a mensagem de notificação.
Formato do cabeçalho[editar | editar código-fonte]
Cada pacote BGP contém um cabeçalho cujo principal propósito é identificar a função do pacote em questão. As seguintes descrições resume a função de cada campo do cabeçalho BGP.
- Marcador (16 bytes) – Contém um valor de autenticação que o destinatário da mensagem poderá prever.
- Comprimento (2 bytes)– Indica o comprimento total da mensagem em bytes.
- Tipo (1 byte) – Especifica o tipo de mensagem desnecessária,como um dos seguintes:
- Abrir;
- Atualizar;
- Notificação;
- Keep Alive (Manter vivo)
- Dados (tamanho variável) – Contém informações da camada superior nesse campo opcional.
A última versão do BGP, o BGP4, foi projetada para suportar os problemas causados pelo grande crescimento da Internet.
Tópicos relacionados[editar | editar código-fonte]
Referências[editar | editar código-fonte]
- ↑ «Border Gateway Protocol». Biblioteca Nacional da Alemanha (em alemão). Consultado em 19 de dezembro de 2019