文章分类 -  bgp

记录bgp相关的原理,代码等的分析,记录一些自己的心得与体会。
摘要:FRR的bgp实现正则表达式使用的是linux的正则表达式库函数: 详细使用方法可以使用man进行查看。 本篇文章不是用来分析正则表达式如何使用的,而是为了说明BGP在使用正则表达式的独特差异时如何实现的。在FRR的正则表达式中有一个特殊符号,那就是 '_' (下杠)。该符号在FRR中有特殊含义:它 阅读全文
posted @ 2020-01-20 18:37 ouyangxibao 阅读(551) 评论(0) 推荐(0)
摘要:默认情况下,BGP会将所有的前缀都发布给EBGP邻居。这就意味着,如果一个AS多宿主到多个ISP中,那么该AS就有可能成为传输AS。如下图所示: 如上图所示:AS65001多宿主到ISP 65002和65003 要避免AS65001成为传输AS,需要确保RTA只发布来自于本AS的路由信息,常见的方法 阅读全文
posted @ 2020-01-19 18:02 ouyangxibao 阅读(490) 评论(0) 推荐(0)
摘要:本文转载自:http://www.h3c.com/cn/d_201010/922170_30005_0.htm BGP使用正则表达式进行路由操作和过滤,主要是作用与AS PATH,下面是一个AS PATH示例: AS PATH由0 9,(),{},[]和空格组成。其中小括号表示联盟有序自治区号序列, 阅读全文
posted @ 2020-01-19 15:37 ouyangxibao 阅读(2743) 评论(0) 推荐(0)
摘要:像OSPF一样,BGP邻居之间在交互路由信息之前,必须先建立邻居关系。不同的是,BGP不使用广播和组播地址去发现BGP邻居。BGP邻居必须手动配置,BGP使用tcp的179端口进行连接。 BGP邻居建立过程会存在如下五个状态: 1. Idle :这个是BGP邻居的起始状态,使用neighbor命令配 阅读全文
posted @ 2020-01-15 15:38 ouyangxibao 阅读(2363) 评论(0) 推荐(0)
摘要:实验topo 实验说明:设置RTA和RTB彼此为邻居,测试使用network命令和redistribute命令进行路由宣告实验 实验配置 RTA RTB 查看邻居 可以看到邻居已经正常建立。 使用NETWORK命令宣告路由 从上面可以看出,在路由表中存在6.6.6.0/24的路由,所以使用netwo 阅读全文
posted @ 2020-01-15 11:37 ouyangxibao 阅读(2844) 评论(2) 推荐(0)
摘要:简单说明 BGP nexthop属性是一个公认必选属性,它是去往目的路由下一跳路由器的IP地址。该地址并不一定是邻居路由器的地址。该属性需要遵守如下规则: 从EBGP邻居学习到的路由会传递给我的EBGP邻居,下一跳改变,变成自己的IP地址。 从EBGP邻居学习到的路由会传递给我的IBGP邻居,下一跳 阅读全文
posted @ 2020-01-14 20:16 ouyangxibao 阅读(3547) 评论(0) 推荐(1)
摘要:示例topo 配置 RTA RTB RTC RTD 分析BGP路由表 version 字段是版本号,bgp路由表最佳路径发生变化时会加1。例如上面的版本号为5,当RTC路由器撤销6.6.6.0/24路由后,RTA的版本号会加1,变成6. local router ID 路由器ID,默认使用环回后IP 阅读全文
posted @ 2020-01-14 19:27 ouyangxibao 阅读(3563) 评论(0) 推荐(0)
摘要:实验TOPO 实验由5个路由器和3个交换机组成,分为三个自治区。AS65002和AS65003作为AS65001的客户自治区,AS65001典型的作为ISP,是一个传输自治区。在RTE上的环回接口上配置6.6.6.0/24网段,使得RTD能够访问6.6.6.0网段。 实验配置 1.在RTD和RTA之 阅读全文
posted @ 2020-01-14 18:10 ouyangxibao 阅读(632) 评论(0) 推荐(0)
摘要:简单说明 ebgp邻居默认是直连的,因为在邻居之间交互的信息报文默认使用的ttl值为1,如果不是直连的将会被中间的路由器丢弃。如果需要在非直连的设备之间建立路由就需要开启multihop功能,支持多跳。 实验TOPO 如上图所示,RTA和RTC不在同一个网段,通过路由器RTB进行连接,让RTA和RT 阅读全文
posted @ 2020-01-14 12:19 ouyangxibao 阅读(1115) 评论(0) 推荐(0)
摘要:简单说明 tcp套接字支持md5选项,通过设置套接字的md5选项,在该套接字上发送报文时会添加md5摘要选项内容。接收端在收到报文后,对md5值进行校验。如果不能通过校验,则拒绝接收,这些都是在tcp层负责处理,有一定的性能损耗。 实验topo 实验说明:设置RTA和RTB彼此为邻居,使用neigh 阅读全文
posted @ 2020-01-13 20:25 ouyangxibao 阅读(539) 评论(0) 推荐(0)
摘要:实验拓扑 实验说明:配置RTA和RTB互为邻居,在RTA上为邻居RTB开启soft reconfiguration功能,在RTB上使用network命令发布两条路由给RTA,改变RTB的路由策略,触发soft reconfiguration 配置 步骤1 RTA RTB 查看RTA上的邻居信息 从上 阅读全文
posted @ 2020-01-13 18:32 ouyangxibao 阅读(3686) 评论(0) 推荐(0)
摘要:实验拓扑 实验说明:配置RTA和RTB互为邻居,在RTB上使用network命令发布两条路由给RTA,改变RTB的路由策略,触发RTA向RTB发送route refresh消息 配置 步骤1 RTA RTB 查看RTA上的邻居信息 从上面可以看出,RTB是支持route refresh的。frr默认 阅读全文
posted @ 2020-01-13 17:45 ouyangxibao 阅读(1985) 评论(0) 推荐(0)
摘要:查看bgpd进程创建了多少个线程 shell root@ba95ecc17d59:/ top Hp 46 frr 20 0 315876 10752 4744 S 0.0 0.1 0:03.43 bgpd 47 frr 20 0 315876 10752 4744 S 0.0 0.1 0:01.41 阅读全文
posted @ 2020-01-08 18:17 ouyangxibao 阅读(651) 评论(0) 推荐(0)
摘要:实验拓扑 如上图所示使用四个FRR容器在ubuntu 18.04上进行实验。 实验功能说明: 配置 RTA路由反射器配置 RTB配置 RTC配置 RTD配置 在RTB和RTC上发布路由 查看路由信息 RTA RTD 报文分析 下一跳为RTB的路由 下一跳为RTC的路径 阅读全文
posted @ 2020-01-06 17:02 ouyangxibao 阅读(994) 评论(0) 推荐(0)