BGP基础【第三部】
静态路由的优点:安全稳定。缺点:配置繁琐不灵活。动态路由的优缺点则反之。
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基础【第三部】的更多相关文章
- HCNP Routing&Switching之BGP基础
前文我们了解了路由注入带来的问题以及解决方案相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15362604.html:今天我们来学习下新的路由协议BG ...
- SE 2014年4月12日
BGP基础实验 拓扑 步骤: 1. 完成基本的配置 2. 按照需求自治系统AS 100 全网运行OSPF 单区域 3. 完成BGP基本配置 [RT2]bgp 100 [RT2-bgp]peer 67. ...
- 学习网络BGP必备基础知识
外部网关协议,使用TCP作为传输层协议,支持CIDR,增量更新,距离矢量路由协议,无环路,路由策略丰富,可防止路由震荡,易于扩展. BGP概述 #BGP工作原理 之 报文类型 TCP三次握手 open ...
- 四、NOSQL之Redis持久化缓存服务基础实战第三部
1.NOSQL的理解 NOSQL是不仅仅是SQL,说的就是sql的补充,但是不能替代SQL. nosql库:memcached.memcachedb.redis 2.redis 简介 Redis是一个 ...
- 图解TCP/IP→第2章基础知识
####TCP.IP背景**关键词:ARPANET,UNIX,分组交换技术,*ARPANET(阿帕网),也是全球互联网的鼻祖.阿帕网的成功也充分证明了基于分组交换技术的通信方法的可行性.*20世纪70 ...
- 【T-SQL基础】02.联接查询
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- BGP路由协议详解(完整篇)
原文链接:http://xuanbo.blog.51cto.com/499334/465596/ 2010-12-27 12:02:45 上个月我写一篇关于BGP协议的博文,曾许诺过要完善这个文档,但 ...
- MPLS基础
1.1 MPLS简介 MPLS(Multiprotocol Label Switching,多协议标签交换)是一种新兴的IP骨干网技术.MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三 ...
- 边界网关协议BGP
Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routi ...
随机推荐
- CocoaPods的一些略为高级一丁点的使用【转】
记得我刚开始做iOS开发的时候,是没有项目依赖管理工具.当需要引入第三方库的时候是相当麻烦的,不是直接拷贝库近来,就是添加依赖工程,直到CocoaPods出来才改变这个状况.项目依赖管理不是Cocoa ...
- swift AVAudioPlayer播放音频时声音太小
设置下声音输出的扬声器就行了 代码如下 do { try AVAudioSession.sharedInstance().overrideOutputAudioPort(AVAudioSessionP ...
- CentOS Linux 系统 安装oracle 11g
CentOS Linux 系统 安装oracle 11g 在Linux系统上安装oracle是比较麻烦,需要配置各种变量啥的,o(︶︿︶)o ,但是没办法,有些东西你总的去接触,而且接触理解的越早越深 ...
- 在App Store中无法更新xcode 8.3.2时 以及更新新系统10.12
今天更新Xcode 遇到三个坑坑1 要想更新Xcode最新版本 需要先把电脑系统更新到10.12 坑2 电脑系统更新到10.12 需要更新Mac Sierra 就可以了坑3 在App Store中下载 ...
- 前端到后台ThinkPHP开发整站(1)
1.前言: 我个人从来没有写过博客文章,作为一个程序员没有自己的博客算是一个合格的程序员,所以我地想想也要经营起一个的博客,做一个小项目,写这博客算就做这个项目的一个项目笔记吧!现在自学着ThinkP ...
- IPython+:一个交互式计算和开发环境
一. IPython基础 代码自动补全:Tab键 可补全内容包括:变量名.函数名.成员变量函数.目录文件 内省(Itrospection) 在变量名之前或之后加上问号(?),这样可以显示这个对象的相关 ...
- C# 调用C++ 结构体示例
C++ 定义 typedef struct Stu{public: int Age; char Name[20];}; typedef struct Num { int N1; int N2; }; ...
- 剑指OFFER——正则表达式匹配
请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式.例如,字 ...
- 使用EasyWechat快速开发微信支付
前期准备: 申请微信支付后, 会收到2个参数, 商户id,和商户key.注意,这2个参数,不要和微信的参数混淆.微信参数: appid, appkey, token支付参数: merchant_id( ...
- LinkedList之modCount和expectedModCount
modCount和expectedModCount是用于表示修改次数的,其中modCount表示集合的修改次数,这其中包括了调用集合本身的add方法等修改方法时进行的修改和调用集合迭代器的修改方法进行 ...