禅城顺德网站建设,律所网站建设,it运维管理系统,韩国男女直接做的视频网站自治系统---AS
定义#xff1a;由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合。
AS划分的原因 如果整张网络很大#xff0c;路由数量进一步增加#xff0c;路由表规模变得太大#xff0c;会导致路由收敛速度变慢#xff0c;设备性能消耗加大#…自治系统---AS
定义由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合。
AS划分的原因 如果整张网络很大路由数量进一步增加路由表规模变得太大会导致路由收敛速度变慢设备性能消耗加大且全网设备对于路由信息的认知不同造成流量通讯障碍。 AS之间可能是不同的机构、公司相互之间无法完全信任若使用IGP协议可能会造成暴露AS内部的网络信息风险。
AS号----16位二进制组成32位二进制组成。----IANA(互联网数字分配机构) 16位AS号其取值范围1-65534(0、65535保留)私有AS号64512-65534公有AS号1-64511 保留AS号 RFC4893标准中支持16bitAS向32bitAS过渡新增23456作为保留AS号 RFC5398标准中 16bit中64496-64511 32bit中65536-65551 BGP基础 首先RIP是基于UDP进行数据传输的而UDP是一个不可靠的协议他在传输过程中可能丢失某些数据。 RIP协议的路由更新报文的发送间隔是30S而如果两个AS内部的路由表较为庞大30秒的时间可能不够传输所有的路由条目这样该条链路完全是为了RIP的通告报文服务而不能进行数据转发。
解决思路 将UDP更换为TCP协议 取消周期更新机制仅保留触发更新
交换机转发靠硬件路由器靠软路由
BGP特点 BGP基于TCP协议只要能够建立TCP连接就可以建立BGP连接
TCP是单播行为用TCP要知道邻居 触发更新不再进行周期更新 只传递路由信息而不会暴露AS内的拓扑信息 拓扑信息资源占用量大 拓扑信息会暴露本AS内部的拓扑连接情况 BGP----无类别路径矢量协议 无类别---传递路由信息时携带掩码信息 矢量----指方向性谁传递给我谁就是下一跳。 距离矢量----开销的体现在距离矢量型协议中将一个路由器看做是一个单位进行计算。 路径矢量----将一个AS看做是一个整体从而计算距离。
RIP---距离矢量协议
IGP协议的主要任务是将AS内部的位置网段信息计算获取到而BGP则主要是将IGP协议计算出来的路由信息进行搬运和传递并不计算路由。 BGP特征 收敛速度 资源占用 选路
可控性
重发布因为度量值的原因可能会出现选路不佳的情况。而BGP为了弥补这个不足舍弃了开销值取而代之的是设计了很多的路径属性。BGP通过这些路径属性来控制路径选择从而干涉选路。
可靠性
BGP因为只有触发更新而不存在周期更新所以需要确保可靠性机制。使用TCP作为传输层来确保其可靠性端口号为179。---路由器之间的BGP会话基于TCP连接而建立。
IGP不选择使用TCP的原因 TCP传输效率低 TCP占用资源大 TCP只能实现单播数据传输无法通过组播或者广播的形式发送数据导致IGP协议无法自动发现邻居关系只能手动配置。
AS-BY-AS
BGP将一个AS看做是一个整体。
BGP默认不支持负载均衡。 IGP协议追求内容收敛速度快选路佳(无环路)占用资源少EGP协议追求内容可控性可靠性AS-BY-AS BGP的对等体关系
BGP因为传输层使用的是TCP协议所以只要TCP协议可以正常建立会话的基础上就可以完成BGP的建邻工作而BGP支持非直连建邻------BGP设备必须具备邻居的路由信息。
BGP存在两种对等体关系类型 EBGP 位于不同自治系统的BGP路由器之间的BGP对等体关系 EBGP对等体一般使用直连建邻。TTL值1。 两台路由器之间要建立EBGP对等体关系必须满足如下条件 两台路由器的所属AS号不同 需要使用peer命令指定对等体的IP地址且该IP地址的路由可达。 IBGP 位于相同自治系统的BGP路由器之间的BGP对等体关系 IBGP对等体之间一般使用非直连建邻。TTL255。 在IBGP对等体关系中建邻使用的是环回接口IP地址。----原因在于环回接口是稳定接口BGP建邻的流量可以借助AS内部的IGP协议来实现通讯冗余保证邻居正常建立。 总结BGP 无类别路径矢量协议----AS-BY-AS BGP使用单播来发送信息基于TCP 179端口工作 增量更新机制---仅触发更新 具备丰富的路径属性来代替IGP中的度量值进行选路。 可以在进出流量的接口实施路由策略---可控性 默认不被用于负载均衡----会通过各种选路规则产生最佳的一条路由信息。 BGP支持认证和聚合。 BGP的数据包 BGP头部信息 Route-refresh----路由刷新报文
作用用来要求对等体重新发送指定地址族的路由信息。
在某时刻原本路由器已经学习到了对等体发送的BGP路由信息而此时需要修改一下传递路由的内容在控制层流量的入接口调用路由策略但是此时该路由策略未生效。原因在于之前已经拿到了对等体发送来的路由信息而此时需要让对方重新发送一次路由信息进而根据本地新调整的策略内容对路由信息进行修正。
双方均支持路由刷新功能。 hello----周期保活发现、建立邻居关系。
Open包
是在TCP连接建立之后发送的第一个报文内容用以建立BGP对等体之间的连接关系。 AS号 BGP的open报文会携带本地的AS号通过对比两端的AS号可以判断对端是否和本端处于相同AS。从而选择建立IBGP对等体或者EBGP对等体关系。 不管AS号是否相同都并不影响BGP对等体的建立。 如果接收到的OPen报文中的AS号与本地建邻时所配置的AS号不同则将导致邻居关系无法建立。 hold time----保活时间----不影响BGP邻居对等体的建立。 BGP在建立对等体关系时两端需要协商该参数并保持一致。若双方不一致则选择最小的执行。默认180S。 如果在该计时器时间内没有收到updata报文和keepalive报文则认为BGP连接中断。 BGP标识符 该参数值在open报文中携带对比两端参数相同则表示冲突导致邻居建立失败。 认证 BGP也可以进行认证认证口令不同则导致邻居建立失败。 该字段存储在TCP的可选项字段。---永远以MD5形式存储。 路由刷新功能-----route-refresh Keepalive包
作用主要用来进行周期保活用来临时充当确认报文----确认open报文中的参数是否认可。
该报文没有报文字段仅仅具备BGP头部信息。---大小19字节。
周期保活时间默认是保活时间的三分之一默认60S。
TCP协议进行确认的目的是为了保证数据传输的可靠性而keepalive报文确认的目的是为了认证认可对方发送的open报文中的参数。 Update包----更新包
作用用于在对等体之间传递路由信息可以用于发布、撤销路由。 Notification包
纯粹的告警机制。---可以用在BGP协议启动的任意时刻当任意时刻出现错误都将以该报文的形式通知对方设备。 BGP状态机
BGP状态机仅描述对等体建立过程的状态变化。----BGP将邻居建立和BGP路由收发过程分开。 Idle----空闲状态 所有设备启动BGP进程后首先进入该状态。 原因在于BGP需要手工指定邻居在BGP进程启动后就会进入该状态然后等待手工指定邻居。 当手工指定邻居后将会进入一个检查环节。需要检查手工指定的IP地址在本地路由表中是否可达只有可达才可以正常建立TCP的会话如果不可达则邻居关系建立失败停留在idle状态。 如果检查共拓则进入下一个状态。 Connect状态----连接状态 正在进行TCP会话连接。 在该状态下会开启一个连接重传定时器----32秒。 该计时器超时则代表此时设备可以重新发送一个TCP连接请求数据包。 如果成功建立TCP会话则进入opensent状态如果建立失败则进入active状态。 Active状态----尝试状态。 因为第一次TCP会话建立失败进入该状态。会继续尝试与对等体建立TCP会话。 与connect状态共用同一个连接重传定时器。 如果成功建立TCP会话则进入opensent状态如果建立失败则停留在active状态。 Opensent状态 发出本地的open报文。 同时会收到对方发送的open报文将查看open报文中的参数进行参数协商过程。 如果参数本端认可则本地发送keepalive报文之后进入openconfirm状态。 如果参数本端不认可则本地发送notification报文并将状态切换至idle状态。 对等体关系的指定是双向的所以当双方都使用peer命令指定了对等体后均会主动与对等体建立TCP连接。但是这样会建立两条TCP双向连接会选择第一个建立的连接进行断开(BGP会将最早启动BGP协议的设备所发起的TCP会话断开而保留后启动BGP协议的设备发送的TCP会话。)。 openconfirm状态----等待open报文确认 如果收到了对方发送的keepalive报文则代表双方open报文中的参数协商成功。最终进入到establish状态。 如果收到notification报文则转至idle状态。 Established状态----邻居建立状态 对等体建立的标志。 BGP状态机
BGP状态机仅描述对等体建立过程的状态变化。----BGP将邻居建立和BGP路由收发过程分开。 Idle----空闲状态 所有设备启动BGP进程后首先进入该状态。 原因在于BGP需要手工指定邻居在BGP进程启动后就会进入该状态然后等待手工指定邻居。 当手工指定邻居后将会进入一个检查环节。需要检查手工指定的IP地址在本地路由表中是否可达只有可达才可以正常建立TCP的会话如果不可达则邻居关系建立失败停留在idle状态。 如果检查共拓则进入下一个状态。 Connect状态----连接状态 正在进行TCP会话连接。 在该状态下会开启一个连接重传定时器----32秒。 该计时器超时则代表此时设备可以重新发送一个TCP连接请求数据包。 如果成功建立TCP会话则进入opensent状态如果建立失败则进入active状态。 Active状态----尝试状态。 因为第一次TCP会话建立失败进入该状态。会继续尝试与对等体建立TCP会话。 与connect状态共用同一个连接重传定时器。 如果成功建立TCP会话则进入opensent状态如果建立失败则停留在active状态。 Opensent状态 发出本地的open报文。 同时会收到对方发送的open报文将查看open报文中的参数进行参数协商过程。 如果参数本端认可则本地发送keepalive报文之后进入openconfirm状态。 如果参数本端不认可则本地发送notification报文并将状态切换至idle状态。 对等体关系的指定是双向的所以当双方都使用peer命令指定了对等体后均会主动与对等体建立TCP连接。但是这样会建立两条TCP双向连接会选择第一个建立的连接进行断开(BGP会将最早启动BGP协议的设备所发起的TCP会话断开而保留后启动BGP协议的设备发送的TCP会话。)。 openconfirm状态----等待open报文确认 如果收到了对方发送的keepalive报文则代表双方open报文中的参数协商成功。最终进入到establish状态。 如果收到notification报文则转至idle状态。 Established状态----邻居建立状态 对等体建立的标志。 BGP工作过程 基于IGP协议或者静态路由实现IP可达。 启动BGP协议并指定邻居关系 邻居之间单播传输数据通过三次握手建立TCP会话通道。 BGP之后所有的通讯都将基于TCP会话通道来传输并由TCP提供传输的可靠性。 使用open报文和keepalive报文进行BGP对等体关系建立。open报文中携带建邻使用的参数keepalive报文用于参数的确认。最终完成对等体关系的建立。生成邻居表。 使用update报文来传递路由信息。信息中将携带目标网络号、掩码及路径属性信息。之后设备会将所有自己发送的以及收到的BGP路由信息记录在BGP表中。 之后将BGP路由表中最优的路由信息加载到全局路由表。 收敛完成后将使用keepalive报文进行周期保活默认保活时间为180S周期发送时间默认为保活时间的三分之一。 如果出现错误将使用notification报文进行告警。 如果出现结构突变将使用update报文进行增量更新。 BGP的防环
BGP水平分割机制。
EBGP水平分割
依靠AS_PATH属性该属性中记录了路由信息在控制层面传递时所经过的所有AS区域的编号。接收者根据AS_Path属性中的内容与本地对比如果该属性中包含本地AS则丢弃该路由信息。
IBGP水平分割 BGP规定当路由器从一个IBGP对等体学习到某条BGP路由时它将不能再把这条路由通告给任何IBGP对等体。----IBGP水平分割规则。
解决方案 构建全联的IBGP对等体关系 当AS内部设备数量过多时IBGP邻居关系呈指数增长而IBGP邻居一般使用非直连方式建立邻居也就导致数据的传输需要依靠物理链路故全联建邻会占用大量的链路资源。并且路由器需要维护大量的TCP和BGP连接需要消耗大量设备资源。 网络扩展性差。 打破IBGP水平分割机制。 该规则无法关闭。 联邦:将IBGP路由变成EBGP 路由反射器强制让IBGP反射出去信息 BGP的路由黑洞
BGP同步更新规则---为了避免BGP路由黑洞问题。
当一台路由器从自己的IBGP对等体学习到一条BGP路由时它将不能使用该条路由或者把该路由通告给自己的EBGP对等体。除非它又从IGP协议学习到相同的路由信息也就是要求IBGP路由与IGP路由同步。
在华为数通产品上BGP同步更新规则默认关闭且不允许打开BGP同步更新规则。---cisco默认关闭但可以打开。 由于BGP协议可以非直连建邻所以导致BGP协议可能出现跨越未运行BGP协议的设备导致BGP路由传递后控制层面显示为可达。但是数据层面流量在流经未运行BGP协议的设备时无法通过形成路由黑洞。
解决思路 物理或逻辑拓扑全联。 让未运行BGP协议的设备运行BGP协议 在IGP协议中引入BGP路由信息。 MPLS----多协议标签交换 BGP基本配置 使用直连接口IP地址建立EBGP对等体关系
span stylebackground-color:#f8f8f8span stylecolor:#3333331、启动BGP协议
[r1]bgp 100 ----该数字为AS号而非进程号。
2、设置RID值
[r1-bgp]router-id 1.1.1.1 全网唯一
3、配置BGP对等体并指定对等体所在AS号
[r1-bgp]peer 12.0.0.2 as-number 200 ---BGP协议需要手工指定邻居且需要指定邻居所在AS编号且该指定方式必须是双向的。/span/span
[r1]display bgp peer ---查看BGP邻居表 IGBP对等体关系的建立
在实际工程中一个AS的内部正常具有较为复杂的网络拓扑结构设备到设备之间存在大量的备份链路和负载均衡链路因此建立IBGP邻居关系时建议使用双方的环回接口来作为源/目IP地址。
span stylebackground-color:#f8f8f8span stylecolor:#333333[r2]bgp 200
[r2-bgp]peer 3.3.3.3 as-number 200
[r3]bgp 200
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 as-number 200/span/span
手工建立邻居关系时所指定的建邻的IP地址必须和收到的数据包中的源IP地址相同才能正常建立邻居关系。否则邻居关系建立失败。
span stylebackground-color:#f8f8f8span stylecolor:#333333解决方式
[r2-bgp]peer 3.3.3.3 connect-interface LoopBack 0
[r3-bgp]peer 2.2.2.2 connect-interface LoopBack 0/span/span
BGP会话的建立仅仅是依靠TCP会话而并没有对这个TCP会话建立的方式有任何要求该TCP会话是由谁发起的谁是客户端谁是服务端并不影响BGP对等体的建立。
在BGP中TCP会话建立两次是完全多余的。故修改一端的源报文IP也可以正常完成BGP会话建立。一般会将两端均进行修改做连接的备用使用。 使用环回地址IP建立EBGP对等体关系
span stylebackground-color:#f8f8f8span stylecolor:#333333[r4-bgp]peer 5.5.5.5 as-number 300
[r4-bgp]peer 5.5.5.5 connect-interface LoopBack 0
[r5]bgp 300
[r5-bgp]router-id 5.5.5.5
[r5-bgp]peer 4.4.4.4 as-number 200
[r5-bgp]peer 4.4.4.4 connect-interface LoopBack 0/span/span
在EBGP对等体之间使用环回建立邻居时必须保证拥有双方的环回路由信息。
span stylebackground-color:#f8f8f8span stylecolor:#333333[r4]ip route-static 5.5.5.5 32 45.0.0.5
[r5]ip route-static 4.4.4.4 32 45.0.0.4/span/span
在此时邻居间会发生对等体震荡原因在于双方已经建立了TCP连接并建立了BGP会话从而来到了establish状态但在该状态中因为TTL值为1本地会感知此时不应该处于establish状态故发送notification报文从而释放会话关系。
span stylebackground-color:#f8f8f8span stylecolor:#333333[r4-bgp]peer 5.5.5.5 ebgp-max-hop 2
[r5-bgp]peer 4.4.4.4 ebgp-max-hop 2
如果未标明数值则代表将TTL值修改为最大255/span/span BGP的路由发布过程
通过network命令发布路由
对于BGP而言只要是路由表中存在的路由信息都可以通过该命令发布。
span stylebackground-color:#f8f8f8span stylecolor:#333333[r1-bgp]network 1.1.1.1 32 ----目标网络号和掩码信息两个参数必须与全局路由表中的内容相同。/span/span
[r1]display bgp routing-table ----查看BGP路由表。
NextHop----谁发送的路由信息则下一跳字段就写谁(实际上写的是update报文中的源IP)如果是自己始发的路由信息则下一跳写0.0.0.0。
状态码
*----代表可用-----设备收到路由条目后会根据下一跳属性中的参数来查找本地路由表检测该条路由信息的可用性如果下一跳属性可达则本条路由可用。---如果不可用则该路由忽略。
----代表优选----当收到多条到达相同网段的路由信息时并且都可用则将依据属性在其中选择最优的路由作为优选者优选路由可以加入到全局路由表并进行路由传递。
i-----代表该路由是从IBGP对等体学习到的。
BGP协议在传递路由信息时只有该路由信息可用且优时才可以进行传递。
华为将BGP协议的路由信息优先级设定为255。
因为AS-BY-AS规则认为一个AS是一个整体那么路由项在一个整体内部传递时所有的路径属性都应该是相同的否则就不是一个整体。而下一跳也是路径属性之一默认情况下无法修改故导致路由可用性校验失败。
span stylebackground-color:#f8f8f8span stylecolor:#333333解决方案
[r2-bgp]peer 3.3.3.3 next-hop-local ---将传递给3.3.3.3邻居的路由信息中的下一跳属性修改为本地。该命令仅在IBGP对等体关系中修改。/span/span 总结配置逻辑 完成所有路由器的IGP配置 使用直连接口建立EBGP对等体关系 使用环回接口建立IBGP对等体关系 使用connect-interface命令修改IBGP建邻源IP地址 使用next-hop-local命令修改路由传递时的下一跳属性 若存在使用环回接口建立EBGP对等体关系则需要建立通讯条件并使用ebgp-max-hop命令修改TTL值。 通过重发布的方式发布路由
span stylebackground-color:#f8f8f8span stylecolor:#333333[r2-bgp]import-route ospf 1 ---通过重发布的方式引入路由信息/span/span
Ogn----起源码属性----在标识本条路由信息的起源。 i----代表本条路由信息起源于AS内部使用network命令通告出来。 该路由信息的来源为IGP协议、静态路由、直连路由。 e----代表本条路由信息起源于EGP协议---现在几乎看不到 ?---除了以上两种方式其他方式获取的路由信息都是? BGP路由聚合
自动聚合 该方式仅针对于重发布的路由信息生效。
span stylebackground-color:#f8f8f8span stylecolor:#333333[r1]ip ip-prefix aa permit 172.16.1.0 24
[r1]ip ip-prefix aa permit 172.16.2.0 24
[r1]ip ip-prefix aa permit 172.16.3.0 24
[r1]route-policy aa permit node 10
[r1-route-policy]if-match ip-prefix aa
[r1-bgp]import-route direct route-policy aa/span/span
华为默认关闭自动汇总功能。
span stylebackground-color:#f8f8f8span stylecolor:#333333[r1-bgp]summary automatic ----开启自动汇总/span/span
自动聚合功能开启后本地会生成一条指向空接口的汇总网段路由且该路由信息的来源为IBGP。然后本地将该路由信息传递给自己的BGP邻居且传递时不携带掩码信息。
状态码s----代表本条路由信息被抑制被抑制的路由信息将不会再加表或传递。
自动汇总特点 自动聚合将直接把明细路由汇总到主类网段 仅对于重发布的路由条目生效 会抑制明细路由 会在始发路由器生成一条指向空接口的汇总路由进行防环 聚合成功后在始发路由器中该路由的下一跳为本地127.0.0.1 自治系统----AS由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合 AS划分的原因如果网络太大路由数量进一步增加路由表规模变得太大会导致路由收敛速度变慢设备性能消耗加大且全网设备对于路由信息的认知不同造成流量通讯障碍
AS号16位AS号其取值范围1-65534065535保留
RFC4893标准中支持16bitAS向32bitAS过滤新增23456作为保留
BGP基础
在当前IPV4环境下主要使用BGPv4版本但目前市场上还存在BGPv4版本
BGP基础
1.RIP基于UDP进行数据传输而UDP是不可靠协议传输中会丢失
2.RIP协议更新报文的发送时间是30s,
k
可控性
重发布因为度量值的原因可能会出现选路不佳的情况。而BGP为了弥补这个不足舍弃了开销值取而代之的是设计了很多的路径属性。BGP通过这些路径属性来控制路径选择从而干涉选路。
可靠性BGP因为只有触发更新而不存在周期更新所以需要确保可靠性机制。端口号179 认证BGP支持认证和聚合
1.认证类型
2.认证数据
在TCP去写因为BGP头部已经固定19字节不能在加了那么就在TCP的可选字段加
BGP也可以进行认证认证口令不同则导致邻居建立失败
该字段存储在TCP的可选项字段----永远以MD5形式存储
路由刷新功能-------route-refrish
keepalive包
主要作用进行周期保活用来临时充当确认保活
该报文没有报文字段仅仅具有BGP头部信息。----大小19字节
Update包---更新包
作用用于在对等体之间传递路由信息可以用于发布撤销路由。
传送目标网络号路径撤销路由字段
LSA传送掩码开销
Notification 报告错误信息中止对等体关系----可以用在BGP启动的任意时刻 BGP状态机角色speaker:
BGP将邻居建立和BGP路由收发过程分开了
IGP宣告1.激活接口2.发送路由 idle开始准备TCP连接为BGP打基础Connect正式进行TCP连接等待完成中认证都是在TCP建立期间完成。
Idle---空闲状态所有设备启动BGP进程后首先进入该状态。原因在于BGP需要手工指定邻居在BGP进程启动后就会进入该进程然后等待手工指定邻居
Connect状态---连接状态
正在进行TCP会话
在该状态下会开启一个连接重传定时器---32秒
Opensent状态
发出本地的open报文
同时会收到对方发送的open报文 BGP工作过程
IGP协议或者静态路由实现全网IP可达
启动BGP协议并指定邻居关系
1.邻居之间单播传输
2.
使用OPEN和keeplive
使用update传递路由信息。信息中将携带目标网络号掩码及路由信息之后设备会将已发送的BGP记录到BGP表中
将BGP表最优的路由信息加载到全局路由表
收敛完成后周期发送时间默认为保活时间1/3
如果出现错误将使用notification报文进行告警
如果出现结构突变使用update进行增量更新 idle
BGP防环
BGP水平分割机制
EBGP水平分割依靠AS—PATH属性该属性记录了路由信息在控制层面传递时经过的所有AS区域的编号。接收者根据
IBGP水平分割 network宣告不能宣告汇总在BGP里用的重发布 通过重发布的方式发布路由
[r2-bgp]import-router ospf 1
Ogn---起源码属性---在标识本条路由信息的起源
i---代表本地路由信息起源于AS内部使用的network命令通告出来
e---代表本条路由起源于EGP协议
--- BGP路由聚合
自动聚合
手工聚合 华为默认关闭自动汇总功能
summary automatic
自动聚合功能开启后本地会生成一条指向空接口 自动汇总特点
1.将直接把明细路由汇总到主类网段
2.仅对于重发布的路由条目生效
3.会抑制明细路由
4.会在始发路由器生成一条指向空接口的汇总路由进行防环 手工汇总
[r3-bgp]aggregate 172.16.0.0 20 ---手工聚合 强关联机制
路由反射器场景下的防环
在一个AS内部可能会存在多个
RR的设定会导致IBGP水平分割机制失效导致环路产生为此BGP添加了两个
当一条BGP路由被路由反射器反射给其他路由器时如果该条路由已经携带了Originator-ID属性