BGP邻居特性及下一跳如何建立 学习笔记
两台路由器运行bgp建立任何邻居之前,会先交互tcp的三个报文 ,三次握手做完之后建成一个基于tcp的 信道,基于信道就开始邻居关系建立,只用交互一个open报文 。主要包括路由信的身份标识 ,router id 。 如果一台路由器竟运行bgp又运行ospf建议给两个进程分配相同的router id 。然后你还运行mpls你还可以拿接口地址来做ldp的路由器id 。还包含bgp支持的能力。是否支持AFI支持哪些 AFI在open报文中也会显式。open报文还含一些信息 路由器在哪个As ,我认为你在哪个AS。 交互1个。 谁先指neighbor谁先发起三次握手的连接。
BGP版本:
版本4:传统的BGP,只能激活单播的bgp邻居关系进程,只能交互ipv4单播bgp路由。 ipv6 vpn v4都没办法交互
版本4+,有AFI 地址簇, SAFi 子地址簇 概念。两台路由器建邻居 可以选择性的激活某一个邻居关系 。ipv4 ipv6 vpn v4。 虽然现在运行都是v4+ 你会自动的不需要任何命令支持的情况 下,去跟对方完成ipv4单播进程的邻居关系的激活。 当然如果你觉得没必要去激活ip v4的 afi,在cisco中可以 no bgp default ip v4 unicast 华为 undo default ipv4 unicast .避免建立多于的邻居邻居关系来消耗资源
一台路由器收到邻居给我发送的open报文,查看里面各种各样参数之前,优先的做一个条件审核,判断open报文是否合法。看三层报头的源ip地址, 本地的bgp进程中neighbor他 为邻居。有 ,合法 ,就能接收并且查看里面的参数 。能接收并且能查看参数基于就可以正常建立。 没有,不合法,丢弃。
open报文的源地址取值规则和ping包取值规则是一样的,neighbor一个地址之后查看通过哪个接口将数据包给发送,发报接口的ip。发送接口的ip就是针对邻居的更新源地址。
EBGp直连接口之间,open报文非法的情况不会发生。IBGP 在as内建立 是非直连建立 ,一般建议使用环回口建立,使用环回口的好处并没有将邻居关系绑定在物理链路 上,设计了网络 设计了冗余,两台路由器可以通过多条路径,连通的时候,bgp的邻居关系就跟路由器之间保持同步冗余性。
有连接就邻居关系就没问题。 但两台路由器使用环回口建邻居的时候,邻居关系往往建不了 ,建不了不带表没路由。不是因为没有路由igp肯定会运行 。默认建 不了,
r1----r2
r1指定r2为环回口 那r1发送的open报文是通过物理接口发的 ,而没有指物理接口,r2收到更新源是是r1物理接口,而物理接口在bgp进程中没有neighbor,所以这是非法的。想使用环回口必须要操控open报文的更新源地址。 强制指定更新源地址为环回口地址。
收到之后邻居发送keepalive代表open认同了。
出现出错的有两种,一种是neighbor的时候参数有问题,配置命令的时候 配置或者AFI有问题。afi不匹配。
建完邻居也可以完全不传路由。传路由出现问题一般体现在ibgp的路由传递上。
r1—r2----r3 1—2 ebgp 2—3 ibgp
r1:as10
r3:as 20
收到ibgp路由下一跳不可达 ,也没有办法加入路由表 也没有能力进一步传递给其它邻居。
一台路由器是边界 连接其它as又连接内部as对于边界 路由器最好在他上面针对所有的ibgp邻居指下一跳 将他它ebgp学习到的路由传递给ibgp对等体的时候,来修改 来解决下一跳不可达的问题。
早前的低端的设备中会自动开启一个功能 bgp同步:一同路由器收到一条ibgp路由 不能用 你只要通过不同学习方式学到这条相同路由时 同步才能满足,这个时候当完成同步之后,ibgp路由才有资格加表 给邻居进一步的路由传递。路由ibgp在cisco看 管理距离是200,而任何其它获悉方式,获得路由管理距离不可能>200。真的满足了同步规则这个时候他的ibgp路由也是不能 被加入路由表的,但并不影响管理距离传递。不满足同步 第一不能加表 第二不能给邻居发送走。
同步规则用来解决bgp的黑洞问题 bgp在建立ibgp邻居的时候 未必直连建立 所以 一台路由器收到一条bgp路由 使用该 路由转发数据的时候 这个数据未必能够成功到达目的地的原因是,你不能保证as流量路径中的每台路由器都运行bgp。在中途到达没有运行bgp路由器的时候 就会被丢弃。解决 5种
同步也是解决这个问题。
ibgp的属性是这个as 内的所以路由器都会使用的。
后面设计者他发现 想让所有的ibgp满足同步规则,这个是不切实际 的,ibgp有几十万条并不能都通过bgp学习到。 一条路由器收到一条ibgp路由会先看这个下一跳是否可达。才能成功加表 传递。
传路由 两种情况 始发:1.network 主类精确 2.redistribute 开启自动汇总 主类 不开 精确。3.汇总
bgp建邻居和传路由是分开的,默认bgp域内是没有任何路由的
因为默认bgp域内是没有路由的
BGP邻居特性及下一跳如何建立 学习笔记相关推荐
- windows下32位汇编语言学习笔记
windows下32位汇编语言学习笔记 第一章 第一章 背景知识 80x86处理器的存储器 4个数据寄存器 EAX,EBX,ECX,EDX EAX寄存器 所有API函数的返回值都保存在EAX里,注意 ...
- ctf线下AWD攻防赛学习笔记
Hello,我是普通Gopher,00后男孩,极致的共享主义者,想要成为一个终身学习者.专注于做最通俗易懂的计算机基础知识类公众号.每天推送Golang技术干货,内容起于K8S而不止于K8S,涉及Do ...
- algorithm头文件下的常用函数-学习笔记
algorithm头文件下的常用函数-学习笔记 max(x,y),min(x,y),abs(x) swap(x,y) reverse(it,it2) next_permutation() fill( ...
- SpringMVC(狂神学习笔记)2021-10-5
注意:本笔记是在学习狂神的视频教程的记录 1.回顾MVC 1.1.什么是MVC MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范. 是将业务逻辑. ...
- Linux下进程通信知识点学习笔记(一)
4种主要事件导致进程创建: 系统的初始化: 执行了正在运行的进程所调用的进程创建系统调用: 用户请求创建一个进程: 一个批处理作业的初始化: 进程的终止: 正常退出: 出错退: 严重错误: 被其他进程 ...
- usb linux 内核,Linux下USB内核之学习笔记
Linux下USB子系统软件结构为 USB 内核(USB驱动,USBD )处于系统的中心,对于它进行研究是能够进行USB驱动开发(包括客户驱动和主机驱动)的第一步.它为客户端驱动和主机控制器驱动提供了 ...
- centos7下docker1.12.5学习笔记
一.Docker简介 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相 ...
- linux more 下一页_Linux学习笔记
1.查看主机的ip地址 ifconfig --> ipconfig(windows下) 2.清除屏幕 clear 3.命令的结构含义 4.文件查看 more: 一页一页的查看,翻页查看内容 mo ...
- 用mescroll实现无限上拉增加数据,下拉刷新数据 (学习笔记)
最近自己做一个web app需要用到上拉查询下页数据,网上看了很多很多帖子,发现并不能快速的套用,总是会出现各种问题无法使用,于是无奈自己跑去看了官方api文档,终于做了出来,至此做个笔记,以后用到可 ...
最新文章
- August 14, 2009 - Choice
- CodeForces:643(VK cup)
- 知新 | koa框架入门到熟练第二章
- (转) intellij idea部署web项目时的位置(Tomcat)
- 中国数字墨水行业市场供需与战略研究报告
- OpenCV-Python实战(番外篇)——OpenCV、NumPy和Matplotlib直方图比较
- python 重启同一个程序_Python – 在重启之间保存程序的状态?
- 通过lan从服务器启动系统,OPNsense启用LAN网桥
- 余额宝提现测试点【杭州多测师】【杭州多测师_王sir】
- 网络拓扑绘制软件亿图图示安装以及使用攻略
- centos7安装mplayer+smplayer
- java物流管理系统_基于java的物流管理系统
- Try-with-resources are not supported at language level ‘5‘ 报错
- 最优化学习 最速下降法(steepest Descent)
- 拿破仑的滑铁卢与罗斯柴尔德的凯旋门
- CPA2021_税法_中华叶青_01_税法概念
- java UDP 编程
- Jodd利器--开源Java微框架和工具
- Coding有时会枯燥的,枯燥时,动动手指赚美元!
- ubuntu20.04运行se2lam