BGP感想

news2024/11/17 23:28:15

BGP 边界网关协议      属于外部或域间路由协议,距离矢量路由协议。

AS(自治系统),在一个自治系统内运行osfp,is-is,rip,vlan等,实现AS内网络互通。

BGP做什么,为处于不同自治系统(AS)中的路由器之间进行“路由信息通信”提供保障。

例如 AS 100 运行rip ,AS 200运行ospf. 要实现AS域的网络互通。

BGP 是唯一能够妥善处理好“不相关路由域间”的多路连接的协议。重点!!!!!!

1. BGP报文结构

EthernetII,IP(6),TCP(179),BGP   应用层协议,以TCP三次握手,具有安全性。

2.BGP路由器角色

3.BGP报文

open报文  version(BGP4),AS号,holdtime,router id.可选参数(建立邻居要参数相同)

update     撤销路由长度(掩码),撤销的路由

                 路径属性长度 路径属性  传递的路由

keepalive  bgp的头部,默认60,holdtime为keepalive的三倍180s.

更新路由的方式

rip 16跳,表示不可达。
ospf 3600序列号,表示路由达到最大老化时间。
bgp withdraw routs lenths 撤销路由

通告方式

ospf、rip network:发布对应路由,使能对应接口ospf、rip功能;

bgp network:发布路由 (存在路由表,掩码和路由表的路由掩码相同)

4. 状态机

 

 idle初始,(发出tcp包),conec连接,(tcp三次握手成功),oepnsent 打开发送

 (发出open包),openconfirm 打开协商,(协商成功,发出保活包,),establish建立成功

停留在idle,(不发tcp包)=====没有路由

停留在active======tcp连接失败,错误的对等体地址(对等体设备未开启BGP(TCP-179端口处于关闭状态),更新原检测,策略限制

停留在connect=====tcp连接失败,错误的对等体地址,没有去往对等体的路由,策略限制 (中间设备过滤了本设备IP流量或者TCP流量或者TCP-179端口数据)

发Notification报文条件(再一个重置计时器后重新建立BGP的TCP连接,即重新发送用于BGP的TCP连接报文)  原因: 1----AS号错误- -- R-ID重复 --- 认证失败等

 5.BGP发包规则

 当BGP运行于同一AS内部时,被称为IBGP

 当BGP运行于不同AS之间时,称为EBGP 

1、从EBGP学习的路由可以传递给,EBGP,IBGP

R2(EBGP),学习到R1(EBGP)的路由,同时传递给R3(IBGP)

2、IBGP和IBGP不能传递路由信息

AS200内的 R2,R3.R4为IBGP,两两之间不能传递路由。

3.R2是AS200的IGP路由器,同时是外部网络的EBGP路由器。

BGP是唯一能够妥善处理好“不相关路由域间”的多路连接的协议。 

 BGP相当于行驶的卡车,装载 路由,跨过不同的AS域,单方向运输路由。

  如果实现网路互通,要路由双向互通。去的路由和回来的路由

 

首先建立邻居关系

EBGP邻居  路由检测,更新源检测,直连检测。

IBGP邻居   路由检测,更新源检测。

路由检测(网络互通)

R1—R2,EBGP邻居通过直连的路由。

AS200内,要运行IGP协议(ospf、rip )实现网络互通。

更新源检测,(环回口建立邻居)peer 2.2.2.2  connect interface loop0

在TCP请求建立连接时,会使用收到请求的源地址和和本地所指的neighbor环回口)地址匹配.如果不同,会直接重置TCP连接,造成邻居无法建立,发送请求的源地址通常为路由的出接口地址,所以需要手工指定更新源地址.

(TCP连接请求发起方更新源检测通过即可.更新源检测不通过邻居状态卡在Active等待

直连检测(环回口建立EBGP邻居)peer 2.2.2.2 ebgp-max-hop 2

默认ebgp跳数为1(直连),如果是环回口,修改最大跳数大于等于2

 nexhop下一跳不可达

R3接收到R2传递EBGP(R1)的路由,下一跳为R1的接口地址,对于R3来说是不可达

1、在ebgp R1和R2之间网段,添加默认路由。
2、ospf宣告接口ebgp直连网段信息,然后静默接口.
ospf 1 视图 silient  递归寻找下一跳

3、用路由策略 强制指向下一跳  
apply ip-address next-hop 2.2.2.2.
4.、peer 2.2.2.2 nex-hop-local,
向2.2.2.2传递路由的下一跳时为建立邻居的地址

 数据黑洞

 如果R2和R4建立邻居,在R3不运行BGP协议,R3只起到转发路由的作用。

  BGP,传递的路由在应用层,中间路由器转发包在网络层,所以中间路由器获取不到应用      层的路由信息。

  导致 实际链路上,R3缺少外部网段的路由。

1. ospf引入bgp,路由
2.full-mesh
3.tunell. mpls  然后 peer 隧道建立邻居关系,记得加上next-hop local
4.路由反射器

 full-mesh

两两之间建立邻居。配置量很大。

1.反射器,非非不传。非客服端不能传递非客服端。

指定客服端的路由器为RR
peer 2,2,2,2 reflet

2.联邦

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频推流测试——使用ffmpeg进行推流生成rtsp视频流

在我们完成开发工作之后,需要通过推流的形式来验证能否正确接收视频流,并送入视频检测程序。笔者在这里使用的是业内最为常用的ffmpeg。具体方法如下。 1、安装ffmpeg 访问ffmpeg的官网,地址为https://ffmpeg.org/download.html,按照如下途中来选择下载。 下载完成后,会…

LeetCode(力扣)53. 最大子数组和Python

LeetCode53. 最大子数组和 题目链接代码 题目链接 https://leetcode.cn/problems/maximum-subarray/ 代码 class Solution:def maxSubArray(self, nums: List[int]) -> int:result float(-inf)count 0for i in range(len(nums)):count nums[i]if count > result:res…

华为云云耀云服务器L实例评测|华为云云耀云服务器docker部署srs并调优,可使用webrtc与rtmp

华为云云耀云服务器L实例评测|华为云云耀云服务器docker部署srs并调优,可使用webrtc与rtmp 什么是华为云云耀云L实例 云耀云服务器L实例,面向初创企业和开发者打造的全新轻量应用云服务器。提供丰富严选的应用镜像,实现应用一键…

BUUCTF Reverse/[2019红帽杯]childRE

查看信息 分析代码 int __cdecl main(int argc, const char **argv, const char **envp) {__int64 v3; // rax_QWORD *v4; // raxconst CHAR *v5; // r11__int64 v6; // r10int v7; // er9const CHAR *v8; // r10__int64 v9; // rcx__int64 v10; // raxunsigned int v12; // ec…

基于人工智能与边缘计算Aidlux的工业表面缺陷检测

一:训练yolov8得到onnx模型(相关教程有很多) 二:模型转化: 网站: https://aimo.aidlux.com/ 输入试用账号和密码: 账号:AIMOTC001,密码:AIMOTC001 我们选择 TensorFlowLite 一步步完成转化 …

自然语言处理应用(二):自然语言推断

自然语言推断 自然语言推断(Natural Language Inference)是指通过对自然语言文本进行逻辑推理和推断,判断两个句子之间的关系,通常包括三种关系:蕴含(entailment)、矛盾(contradict…

Java通过http请求的方式调用他人的接口

本功能的实现,去不参数于这篇博客,给这位大神点赞 基于Spring Boot使用Java调用http请求的6种方式 文章目录 业务背景第一步,配置url第二步,封装请求体,RequestBody第三步,使用HttpURLConnection调用服务…

机器学习(8)---数据预处理

文章目录 一、数据预处理1.1 数据无量纲化1.2 数据归一化1.3 数据标准化1.4 处理选择 二、缺失值2.1 填补的类和参数2.2 用Pandas和Numpy进行填补 三、处理分类型特征:编码与哑变量3.1 编码3.2 哑变量(独热编码) 一、数据预处理 1.1 数据无量…

【java】【SSM框架系列】【二】SpringMVC

目录 一、SpringMVC简介 1.1 SpringMVC概述 1.2 入门案例 1.3 入门案例工作流程分析 1.4 Conrtoller加载控制与业务BEAN加载控制 1.5 PostMan 二、请求与响应 2.1 请求映射路径 2.2 请求参数 2.2.1 Get 2.2.2 Post 2.2.3 SpringMVC解决post请求中文乱码处理 2.2.4 …

有效回文字符串(Valid palindrome)

题目描述 思路分析 代码实践 java: public class Solutation1 {//定义一个方法,判断是否是有效数字或者字母private static boolean isValid(char c) {//如果不是字母或者数字,那就返回一个flase//这里调用了Character类里面的方法return Character.i…

openwrt开启SSH远程访问与开启WEB远程访问——三种方法

openwrt 开启SSH远程访问 首先,你的电脑用网线连接路由器LAN口是可以访问WEB页面和SSH连接的。 例如,电脑1连接Openwrt路由器,可以进行SSH连接到openwrt 路由器。但是电脑2无法远程访问Openwrt路由器网页和SSH远程连接。 本次操作固件版本…

前端面试题JS篇(5)

如何判断一个对象是空对象 1、使用 JSON 自带的stringify方法判断 let obj{}; console.log(JSON.stringify(obj)"{}"); 2、使用 ES6 新增的方法 Object.keys()来判断 Object.keys(obj).length0 如果 new 一个箭头函数的会怎么样 箭头函数是ES6中的提出来的&…

python main 函数-启动-传递参数 python 打包 exe C# 进程传参

Part1:Python main 传递参数 在Python编程中,我们经常需要从命令行或其他外部环境中获取参数。Python提供了一种简单而灵活的方式来处理这些参数,即通过main函数传参 1.python main 函数-启动-传递参数 test.py import sysdef main():# 获取命令行参…

代码随想录算法训练营day48|打家劫舍 |198.打家劫舍|213.打家劫舍II|337.打家劫舍 III

198.打家劫舍 力扣题目链接 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给…

Pytorch intermediate(三) BiLSTM

Bi-directional Long Short-Term Memory,双向LSTM网络。 有些时候预测可能需要由前面若干输入和后面若干输入共同决定,这样会更加准确。因此提出了双向循环神经网络,网络结构如上图。 构建LSTM模型时,在参数中添加bidirectionalTr…

面试半个月后的一些想法

源于半个月面试经历后的一些想法,刚开始想的是随便写写,没想到居然写了这么多。 找不到目标找不到意义亦或是烦躁的时候,就写写文章吧,把那些困扰你很久的问题铺开来 花时间仔细想想,其实真正让我们生气懊恼&#xff0…

轻松搭建本地知识库的ChatGLM2-6B

近期发现了一个项目,它的前身是ChatGLM,在我之前的博客中有关于ChatGLM的部署过程,本项目在前者基础上进行了优化,可以基于当前主流的LLM模型和庞大的知识库,实现本地部署自己的ChatGPT,并可结合自己的知识…

华为OD机考算法题:分奖金

题目部分 题目分奖金难度难题目说明公司老板做了一笔大生意,想要给每位员工分配一些奖金,想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序,每个人随机抽取一个数字。按照工号的顺序往后排列,遇到第一个数字比自己数字…

我们这一代人的机会是什么?

大家好,我是苍何,今天作为专业嘉宾参观了 2023 年中国国际智能产业博览会(智博会),是一场以「智汇八方,博采众长」为主题的汇聚全球智能技术和产业创新的盛会,感触颇深,随着中国商业…

在Linux(Centos7)上编译whisper.cpp的详细教程

whisper.cpp的简单介绍: Whisper 是 OpenAI 推出的一个自动语音识别(ASR)系统,whisper.cpp 则是 Whisper 模型的 C/C 移植。whisper.cpp 具有无依赖项、内存使用量低等特点,支持 Mac、Windows、Linux、iOS 和 Android …