静态路由的优点:安全稳定。缺点:配置繁琐不灵活。动态路由的优缺点则反之。

BGP边界网关路由协议

路径向量(rip是距离矢量)

到达目的网段所要经过的所有as

BGP选路不看度量值而参考13种路径属性(但大多情况下比较到前面五个就差不多结束了)

使用BGP的原因:

1.IGP只能最多容纳上千条路由信息而BGP可以容纳数十万条(路由器性能优越)

2.丰富的路径属性

问题:为什么整个互联网全使用比如说ospf而不用BGP?

设备性能达不到或网络规模较小的情况不建议使用BGP。

企业连接ISP的方式:

单宿:只连接一个运营商并且没有冗余链路

双宿:只连接一个ISP,有冗余链路

多宿:连接多个ISP,没有冗余

双多宿:连接多个ISP,有冗余

消息类型:

open

update

keeplive
维护对等体关系的建立,周期发送

notification报错消息,tcp连接错误时发送

BGP特点

路由器之间交换信息基于TCP,端口号179

路由更新增量触发,不会周期发送!!(IGP所有更新条目都是周期发送的!!!通常30分钟)因为BGP的路由表太大。

对等体关系手动指定

丰富的选路策略

show ip bop
summary查询邻居表

命令:nei 对等体地址 remote-as
对等体的as号(对等体地址必须在此时的路由表中可达,也就是需要底层协议)

最好用环回口来建立peer关系

建立peer关系时双方的open消息的源和目的必须交差匹配!!!输入命令时要指定源update-sourse
lo0

默认情况下ebgp关系不使用环回口建立而使用物理接口!!因为一般as间就一条链路,断掉后就没有其他路径了。

BGP的边界在路由器上不在接口上!IGP中只有IS-IS的边界在路由器上。

clear ip bgp
*硬清除:强制重启bgp

”UUUUU“代表数据包能过去但回不来。

ebgp路由默认只有一跳,设置ebgp多跳,这样可以用环回口建立ebgp

来自ebgp的更新条目发送给ibgp,下一跳不是自己而是ebgp,对ibgp使用next-hop-self设定自己的ip为更新源,这样ibgp将数据包的源ip作为下一跳地址,非bgp路由器只是单纯依照目的ip转发消息包

路由黑洞解决方法:重分发或as中形成全互联的peer

BGP的as间还是DV算法,BGP路由器只把数据包交给下一跳就行了。

使用对等体组建立对等体关系:只是为了减少配置量。。。

BGP对等体建立经历的状态:

1.idle:协商建立tcp

2.connected:tcp已建立

3.open-sent:开始发送open,协商建立对等体关系

4.open-confirm:收到open,验证是否参数一致(源和目的ip)

5.established:建立成功

tcp连接失败进入active状态:重新连接;对等体建立失败

可能原因:ip不匹配,ip地址不可达,as不匹配(加错手段)

进入never状态。。

数据包源ip的价值:ping包的回包使用的目的IP;BGP路由更新用做下一跳地址。

BGP的水平分割:来自的ibgp的路由更新不会传递给其他ibgp

解决方案:路由反射器RR(中转设备):在所要任命RR的设备上指定ibgp为客户(客户并不知道自己是客户)

BGP 的认证:针对对等体进行认证,md5

BGP本身很慢

第一条选路原则“权重值”只针对思科设备有效:思科私有

本地学到的路由默认权重为32768,其他默认为0

权重值只在本地生效,不会通过路由更新传递出去!!只影响路由器自己的选路

两种方式:针对对等体!!(从他学到的所有路由);route-map

clear IP bgp * soft
in/out软清除

第二条选路原则:本地优先级(大优)

只能在ibgp中传递,ebgp传来的条目缺省100(ebgp比ibgp优?)

第三条:起源本路由器上的路由(无法修改)

第四条:as-path,可以修改!!!

数据包中的目的ip字段都是前一个路由器紧邻的下一跳ip,而不是最终目标网络ip,目标网络ip存放在“负载”字段,数据包每经过一个设备都要封装一次,解析出最终的目标网络ip再查找路由表得到合适的下一跳放到目的ip字段,将包头中的目的IP字段变成下一跳的ip。这样一来二层交换机寻路时也就有了合适的依据而不谁便广播。路由器只关心目的ip指的是“负载”里的那个目的ip。同源ip字段!!!!!!但是BGP发包的下一跳是peer不一定是直连。

十三条选路原则就是为了针对同一个目标网络选择不同的下一跳:ibgp
peer(不止一个),ebgp peer,或者说选择合适的邻居AS!!!

BGP基础【第三部】的更多相关文章

  1. HCNP Routing&Switching之BGP基础

    前文我们了解了路由注入带来的问题以及解决方案相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15362604.html:今天我们来学习下新的路由协议BG ...

  2. SE 2014年4月12日

    BGP基础实验 拓扑 步骤: 1. 完成基本的配置 2. 按照需求自治系统AS 100 全网运行OSPF 单区域 3. 完成BGP基本配置 [RT2]bgp 100 [RT2-bgp]peer 67. ...

  3. 学习网络BGP必备基础知识

    外部网关协议,使用TCP作为传输层协议,支持CIDR,增量更新,距离矢量路由协议,无环路,路由策略丰富,可防止路由震荡,易于扩展. BGP概述 #BGP工作原理 之 报文类型 TCP三次握手 open ...

  4. 四、NOSQL之Redis持久化缓存服务基础实战第三部

    1.NOSQL的理解 NOSQL是不仅仅是SQL,说的就是sql的补充,但是不能替代SQL. nosql库:memcached.memcachedb.redis 2.redis 简介 Redis是一个 ...

  5. 图解TCP/IP→第2章基础知识

    ####TCP.IP背景**关键词:ARPANET,UNIX,分组交换技术,*ARPANET(阿帕网),也是全球互联网的鼻祖.阿帕网的成功也充分证明了基于分组交换技术的通信方法的可行性.*20世纪70 ...

  6. 【T-SQL基础】02.联接查询

    概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  7. BGP路由协议详解(完整篇)

    原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...

  8. MPLS基础

    1.1  MPLS简介 MPLS(Multiprotocol Label Switching,多协议标签交换)是一种新兴的IP骨干网技术.MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三 ...

  9. 边界网关协议BGP

    Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...

随机推荐

  1. iOS上机题(附个人见解)

    ##机试题目如下 用命令行创建一个以CocoaPods管理的项目[Test-你的姓名拼音],新建3个ViewController,完成以下题目 将下面的问题在一个UITabView里面列出所有问题,单 ...

  2. Red Hat 9.0 Linux 分辨率修改

    Red Hat 9.0 Linux 分辨率修改 我是在VMware Workstation中装了一个红帽的Linux系统,装上之后发现分辨率有点低,是800x600的,看着很不舒服,然后就想着怎么样可 ...

  3. vue指令v-if示例解析

    v-if根据表达式的值的真假条件渲染元素. <div id="app"> <p v-if="isRender">this is a me ...

  4. PAT (Basic Level) Practise (中文) 1017. A除以B (20)

    1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...

  5. dfs+剪枝:poj2362

    贴题目 Square Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 24604   Accepted: 8449 Descr ...

  6. 关于ftp出现425错误

    在centos上搭建一个ftp,一切都配置好之后,我去访问时仍然会出现425 Failed to establish connection.这个错误,经过一番查找,原来是这个 -A INPUT -j ...

  7. JavaScript基础知识(一)

    一.JavaScript基础 1.JavaScript用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 ...

  8. python学习之字符串(上)

    字符串python 的字符串被划归为不可变序列这一类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且他们不可以在原处修改. 字符串常量单引号  'spam'双引号  "spam& ...

  9. Oracle用户的初始化问题

    上一篇博文介绍了关于.bashrc和.bash_profile的相关知识,在oracle的用户设置中能发挥作用. 场景:上周准备学习一下oracle,下载了安装文件后,在linux上新建了一个用户or ...

  10. C#多线程的用法4-线程间的协作lock快捷方式

    线程间协作还可通过lock(加锁)方式进行,lock属于C#的Monitor语法糖(Monitor后续讲解).使用简单快捷,如下: /// <summary> /// 多线程协作-lock ...