边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。

as100 as200

router a-------------------router b---------------------router c

s0:192.1.1.1/24 e0:193.1.1.3/24

s0:192.1.1.2/24 e0 193.1.1.2

//// router a ////

int lo0

ip addr 1.1.1.1 255.255.255.0

int s0/0

ip addr 192.1.1.1 255.255.255.0

clockrate 500000

router bgp 100

neighbor 192.1.1.2 remote-as 200 //指定邻居路由器和它所在的自治系统

//// router b ////

int lo0

ip addr 2.2.2.2 255.255.255.0

int e0/0

ip addr 193.1.1.2 255.255.255.0

int s0/0

ip addr 192.1.1.2 255.255.255.0

router bgp 200

neighbor 192.1.1.1 remote-as 100

neighbor 193.1.1.3 remote-as 200

//// router c ////

int lo0

ip addr 3.3.3.3 255.255.255.0

int e0/0

ip addr 193.1.1.3 255.255.255.0

router bgp 200

neighbor 193.1.1.2 remote-as 200

////监视和测试配置////

router a# show ip bgp neighbors

remote-as 200

bgp version 4,remote router id 2.2.2.2

bgp state = established

现在A将通过BGP向B通告路由1.0.0.0,必须满足2个条件:

1、通过使用network命令或redistribute,BGP进程必须能知道路由。

2、被通告路由必须在IP路由表中。

我们将在BGP进程下使用network命令。这个命令满足了第一条,使得BGP进程知道路由。此network命令能使你更好控制从IGP重分布什么到BGP,并使用户能分别列出需经BGP通告的前缀。CISCO路由器能被配置的网络描述最大数为200。如果有超过200个网络需要通告,那就需要动态重分布。

由于网络1.0.0.0是直接相连的网络,它存在于IP路由表中,故第二个条件满足。

显示A上的IP路由表。注意网络1.0.0.0在IP路由表中。

a# show ip route

C 1.0.0. is directly connected,loopback 0

no shynchronization

在路由器A上,在BGP进程下增加命令network 1.0.0.0

a# conf t

router bgp 100

netw 1.0.0.0

用show ip bgp显示B上的IP BGP表,network 1.0.0.0是通过192.1.1.1得到的

B# show ip bgp

network next-hop metric loca pref weight path

*>1.0.0.0 192.1.1.1 0 0 100 i

///// *表示有效,>表示最佳路由

b# show ip ro

B 1.0.0.0/8 [20/0] via 192.1.1.1, 00:12:02

用show ip bgp显示C上的IP BGP表,注意network 1.0.0.0出现在BGP表中,它的下一跳是192.1.1.1(未变),此路由是有效的(用*号标出),它是通过iBGP会话得到的,在网络号前加字母i表示了这一状态。

c# show ip bgp

network next-hop metric locprf weight path

* i1.0.0.0 192.1.1.1 0 0 100 i

C# show ip route

无1.0.0.0路由到网络1.0.0.0的路由不在IP路由表中有双重原因。

1、192.1.1.1不在C的路由表。而且下一跳地址是:从该处得到此路由的EBGP邻居的IP地址。当路由通过EBGP注入到AS中,从EBGP获得的下一跳被无改变地传送到IBGP中。

2、在缺省情况下BGP和IGP必须是同步的(因为网络1.0.0.0不是通过IGP得到的)。这意味着路由器B上的BGP知道的路由没有被重分布到IGP,这两者是不同步的。no synchronization

为解决第一个问题:

B# router bgp 200

neighbor 193.1.1.3 next-hop-self

为解决第二个问题:

C# router bgp 200

BGP基本配置的方法的更多相关文章

  1. win10 64位专业版系统中显示32位dcom组件配置的方法

    word.excel是32位的组件,当用户64位系统在运行窗口中输入dcomcnfg命令时,在打开的组件服务管理窗口,是找不到Microsoft Excel.word程序的.另外,Windows 环境 ...

  2. 框架源码系列四:手写Spring-配置(为什么要提供配置的方法、选择什么样的配置方式、配置方式的工作过程是怎样的、分步骤一个一个的去分析和设计)

    一.为什么要提供配置的方法 经过前面的手写Spring IOC.手写Spring DI.手写Spring AOP,我们知道要创建一个bean对象,需要用户先定义好bean,然后注册到bean工厂才能创 ...

  3. 解决PLSQL报错及配置InstantClient方法

    某次,在使用PLSQ链接数据库的时候,出现了错误如下: 然后点击窗口上面的 工具 –> 首选项 –> Oracle –> 连接 ,然后看到这样的窗口: 用电脑根据上面的地址搜索不到 ...

  4. 对KVM虚拟机进行cpu pinning配置的方法

    这篇文章主要介绍了对KVM虚拟机进行cpu pinning配置的方法,通过文中的各种virsh命令可进行操作,需要的朋友可以参考下 首先需求了解基本的信息 1 宿主机CPU特性查看 使用virsh n ...

  5. postgresql修改配置生效方法

    对于配置服务器,,太多时候我们在Linux中做的操作是,配置*.conf文件,然后重启服务.而很多服务都具有reload功能,而但是具体到某个配置,有时候直接说出需不需要重启服务而使得配置生效,这并不 ...

  6. 解决IE下载 apk/ipa 变成zip:Android 手机应用程序文件下载服务器 配置解决方法

    解决IE apk/ipa变成zip:Android 手机应用程序文件下载服务器 配置解决方法 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Da ...

  7. postgresql 修改配置生效方法

    对于配置服务器,,太多时候我们在Linux中做的操作是,配置*.conf文件,然后重启服务.而很多服务都具有reload功能,而但是具体到某个配置,有时候直接说出需不需要重启服务而使得配置生效,这并不 ...

  8. windows下mysql中文乱码, 配置解决方法

    内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...

  9. 2018.12.15 struts.xml 一般配置文件写法 && 配置动态方法

    struts.xml 原始配置文件 配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE s ...

随机推荐

  1. 八 web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用

    使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置build_opener()初始化IPinstall_opener()将代理IP设置成全 ...

  2. fastjson缺陷--map转换json时出现$ref的情况

    DisableCircularReferenceDetect来禁止循环引用检测: JSON.toJSONString(..., SerializerFeature.DisableCircularRef ...

  3. Python基础学习(第7天)

    第6课 1.循环对象:包括一个next方法,这个方法的目的是进行到下一个结果,结束后抛出StopInteration异常: 当循环结构如for循环调用一个循环对象时,每次循环的时候都会调用next方法 ...

  4. oracle 存储过程心得2

    1.退出存储过程 return if old_save_time = new_save_time then--没有最新数据,退出 insert into hy_data_handle_mark(id, ...

  5. [ASP.NET] 修改web站点的默认编程语言

    当你点右键新建web窗体或者新建类的时候,默认编程语言是什么?有时候是C#,有时候是VB. 你找遍了所有配置,从web.config到iis express配置到sln文件,硬是没找到vs如何决定编程 ...

  6. 11.求二元查找树的镜像[MirrorOfBST]

    [题目] 输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点.用递归和循环两种方法完成树的镜像转换. 例如输入: 8    /  \  6      1 ...

  7. NOIP模拟题 友好国度

    题目大意 给定一棵树,每个点有点权,求有多少组点对满足两点简单路径上的所有点点权的$gcd=1$. $n,val_i\leq 10^5$ 题解 考虑设$G_i$表示简单路径上所有点点权均为$i$的倍数 ...

  8. MATLAB的一些应用--最近用的比较多

    MATLAB的一些应用--最近用的比较多 1.MATLAB分析信号的频谱 快速Fourier变换(FFT)是离散傅里叶变换的快速算法,他是根据离散傅里叶变换的奇.偶.虚.实等特性,对离散傅里叶变换的算 ...

  9. niosii 改变软核之后重新编译方法

    操作系统:Win7 64 bit 开发环境:Quartus II 12.0 (64-Bit)  + Nios II 12.0 Software Build Tools for Eclipse 使用Qu ...

  10. 【POJ 3179】 Corral the Cows

    [题目链接] http://poj.org/problem?id=3179 [算法] 首先,我们发现答案是具有单调性的,也就是说,如果边长为C的正方形可以,那么比边长C大的正方形也可以,因此,可以二分 ...