BGP(border gateway protocol)边界网关协议初识篇

BGP它是一种路径矢量协议,用于决定数据包在互联网中的最佳路径。

1、工作原理

  • 自治系统(AS)间路由: BGP主要用于连接不同自治系统之间的路由器,其中每个自治系统(AS)代表一组具有共同路由的网络。
  • 路径选择: BGP通过在不同AS之间传播路由信息,让路由器了解到达目的地网络的最佳路径,并根据各种策略(如AS路径长度、AS权重等)选择最佳路径。
  • TCP连接: BGP使用TCP连接来交换路由信息,这种连接是可靠的,可以确保路由信息的可靠传递。

2、BGP交互报文

BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触 发式发送。

OPEN报文:BGP报文头中的TYPE为1,OPEN报文用于建立BGP连接。

Hold Time:用于协商BGP对等体间保持建立连接关系,发送KEEPALIVE或UPDATE等报文的时间间隔。默认180秒。

Update报文:BGP报文头中的TYPE为2,则该报文为UPDATE报文。UPDATE报文用于通告路由。

1、路由通告(NLRI,Path attribute(as-path,next-hop,Orgin,MED,Localpreference)) 2、路由撤销:withdraw routes前缀

Notification报文:如果BGP报文头中的TYPE为3,则该报文为NOTIFICATION报,NOTIFICATION报文用于处理BGP进程中的各种错误。

Keepalive报文:如果BGP报文头中的TYPE为4,则该报文为KEEPALIVE报文。KEEPALIVE报文用于保持BGP连接。KEEPALIVE报文只有BGP报文头,没有具体内容,故其报文长度应固定为19个字节。存活时间为60秒,保持时间为180秒。

Route-refresh报文:如果BGP报文头中的TYPE为5,则该报文为REFRESH报文。REFRESH报文用于动态的请求BGP路由发布者重新发布UPDATE报文,进行路由更新。(用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。)

3、BGP路由策略:

入站路由策略: 控制从邻居AS接收的路由信息。

出站路由策略: 控制向邻居AS发送的路由信息。

转发策略: 控制路由器在路由转发过程中的行为

4、BGP特点:

可扩展性: BGP是一种高度可扩展的协议,适用于大规模的互联网环境。

灵活性: BGP允许管理员定义各种路由策略,以满足网络需求。

安全性: BGP支持各种安全机制,如基于MD5的邻居认证、BGP Route Origin Validation(ROV)等,以确保路由信息的安全性和可信度。

5、BGP应用:

互联网路由: BGP是互联网主干路由的主要协议,用于在不同的ISP之间交换路由信息。

企业网络: 企业可以使用BGP来连接到多个ISP,实现网络的负载均衡和故障切换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690748.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动态规划解决回文子串问题

前言: 回文串相关问题在我们的算法题中算是老生常谈,本文主要介绍如何使用动态规划的思路去解决回文串系列问题。 总体思路: 能够将所有的子串是否是回文的信息,存储在二维dp表中。有了这个dp表,就可以将hard难度转…

LeetCode - 0088 合并两个有序数组

题目地址:https://leetcode.cn/problems/merge-sorted-array/description/ 引言:话接上回,由于上次面试官着急下班,面试不得不提前终止,这不,他又找我去面试了 面试官:你好,小伙子&a…

前后端完全开源!功能丰富的在线教室项目:Agora Flat

Agora Flat:高效集成的在线教室解决方案,重塑互动学习新体验。- 精选真开源,释放新价值。 概览 Agora Flat是在GitHub平台上公开分享的一个全面开源项目,它精心设计为一个高性能的在线教室解决方案,旨在便捷地搭建支持…

C++ | Leetcode C++题解之第84题柱状图中最大的矩形

题目&#xff1a; 题解&#xff1a; class Solution { public:int largestRectangleArea(vector<int>& heights) {int n heights.size();vector<int> left(n), right(n, n);stack<int> mono_stack;for (int i 0; i < n; i) {while (!mono_stack.em…

RuvarOA协同办公平台 多处 SQL注入漏洞复现

0x01 产品简介 RuvarOA办公自动化系统是广州市璐华计算机科技有限公司采用组件技术和Web技术相结合,基于Windows平台,构建在大型关系数据库管理系统基础上的,以行政办公为核心,以集成融通业务办公为目标,将网络与无线通讯等信息技术完美结合在一起设计而成的新型办公自动…

用户登录后端:登录密码解密后用PasswordEncoder验证密码是否正确

前置知识: 前端登录加密看用户登录 PasswordEncoder加密看PasswordEncoder详解 项目中因为要判断用户登录密码是否正确&#xff0c;通过输入错误次数锁住用户 1.后端配置rsa私钥 #密码加密传输&#xff0c;前端公钥加密&#xff0c;后端私钥解密 rsa:private_key: xxxx2. 读…

Hive 特殊的数据类型 Array、Map、Struct

Array 数组类型&#xff0c;存储数据类型一致的列表数据。 我们可以使用 array 方法来创建一个数组&#xff0c;如下所示&#xff1a; select array(1,2,3,4,5);如果其中的数据类型不一致&#xff0c;那么它会转换成统一的数据类型&#xff08;前提是能够进行转换&#xff0…

Coze扣子开发指南:AI零代码编程创建插件

在Coze扣子中创建插件&#xff0c;有两种方式&#xff0c;一是用API&#xff0c;具体方式参照上一篇文章《Coze扣子开发指南&#xff1a;用免费API自己创建插件》&#xff0c;还有一种方式就是编程&#xff0c;不过有了AI的帮助&#xff0c;即使不会编程的人&#xff0c;也可以…

针对 % 号 | 引起的 不安全情况

把网站开放的课程都检索下来了 一、情况1 org.apache.tomcat.util.http.Parameters processParameters 信息: Character decoding failed. Parameter [Mac] with value [%%%] has been ignored. Note that the name and value quoted here may be corrupted due to the failed…

猜猜歇后语

页面 在输入框中填写你猜的答案&#xff0c;点击“显示答案”按钮&#xff0c;显示正确答案。 页面代码 function showAnswer(element){var elem$(element);elem.next().show();} //# // 初始化DataGrid对象 $(#dataGrid).dataGrid({searchForm: $(#searchForm),columnModel:…

音视频-H264编码封装- MP4格式转Annex B格式

目录 1&#xff1a;H264语法结构回顾 2&#xff1a;H264编码补充介绍 3&#xff1a;MP4模式转Annex B模式输出到文件示例 1&#xff1a;H264语法结构回顾 在之前文章里介绍过H264的语法结构。 传送门: 视音频-H264 编码NALU语法结构简介 2&#xff1a;H264编码补充介绍 H…

Web自动化-日志收集

目标 1. 理解日志的相关概念 2. 掌握日志的基本用法 3. 掌握日志的高级用法 一、日志相关概念 目标 1. 了解日志的概念 2. 理解日志的作用 3. 掌握常见的日志级别 1. 日志 概念&#xff1a;日志就是用于记录系统运行时的信息&#xff0c;对一个事件的记录&#xff1b…