计算机网络体系结构-外部路由

Autonomous System(自治系统)
• 自治系统AS:单一技术管理下的一组路由器,用唯一分配的AS号标识
• AS可以独立地决定网络的互联关系,以便更有效地进行路由选择
• 管理域控制了路由的扩散,因此产生外部路由的概念
• 外部信息是可达性的路由信息,而内部路由是可操作的路由信息(例如根据测度选择最优通路等)
• AS内部使用域内路由协议(IGP),AS之间的路由使用域间路由协议(EGP)。

Transit:是客户和供应者AS之间的商业关系(是要钱的,但是可以通过对方网络来访问别的网络)。
Peering:Peering关系指两个AS之间协商仅在它们以及他们的客户AS之间交换流量,也就是相互通告相应的路由,以改善相互间的可达性以及健硕性,并减少向上游的转送成本(相互开放对方的用户,双方属于互利关系,互相不收钱,但是只能发给目标是对方网络或者对方客户)。

AS之间的连接关系
• 效益最大化 vs. 收益最大化
• Customer-Provider
• Sibling-Sibling
• Backup Sibling
• Indirect Peer
• ISP希望寻求有利于自己的互联方式(Valley-free原则)

Point-Of-Presence(POP):ISP的外边界点称为POP。ISP的POP覆盖范围确定它的规模,如全国性网络或区域性网络。分为接入点和互联点。

接入点的实现结构
• 通过高密度的接入设备实现端系统的汇聚
• 提供接入网与主干网之间的边界控制
• 通常采用多机备份结构(通常设置VLAN来实现、容错、策略路由)

互联点的实现结构
• 基于L2的IXP结构(参加互联的各路由器之间存在一个全互联的拓扑结构)
• 基于L3的IXP结构(采用路由仲裁者(RA)作为中央处理器)

Border Gateway Protocol(BGP)
BGP 跟 IGP 不一样,它并不能自己构建路由表,它只是传播路由:我不生产路由,我只是路由的搬运工。
• AS的边界路由器称为BGP路由器,要求相邻AS中的两个 BGP路由器必须处于同一个物理网中。
• BGP向邻接点通告路由信息
-基于逐跳的路由模型
-基于路由策略
-BGP不对路由表进行定期刷新

初始交换规程
• BGP使用TCP作为传输协议.
• BGP在TCP建立之后,双方均要发送 open报文,以协商连接的参数。
• 如果两个BGP路由器同时发起连接建立的要求,则会发生冲突,这时使用BGP连接标识符值大(即地址大的)的一方所发起建立的连接;另一方发起的建立若以完成,将其拆除,否则丢弃。
• 如果同意,用keepalive应答;否则notification应答,给出原因。

BGP UPDATE Message:当BGP连接建立之后,BGP路由器就开始使用UPDATE报文进行路由更新信息的交换(给出每个通路向量对应的路由)

bgp是基于tcp协议的,即包含了tcp协议的优点,因此上面的状态机也就跟tcp连接有一定的关系:
• tcp连接建立阶段的状态:Idle, Connect, Active
• tcp连接建立完成之后: OpenSent, OpenConfirm, Established

BGP协议工作状态
①Idle
BGP协议初始时是处于Idle状态。在这个状态时,系统不分配任何资源,也拒绝所有进入的BGP连接。只有收到Start Event时,才分配BGP资源,启动ConnectRetry计时器, 启动对其它BGP对等体的传输层连接,同时也侦听是否有来自其它对等体的连接请求。
②Connect
这个状态下,BGP等待TCP完成连接。若连接成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报文,然后状态改变为OpenSent状态;否则,本地重置ConnectRetry计时器,侦听是否有对等体启动连接, 并移至Active状态。
③Active
这个状态下,BGP初始化TCP连接来获得一个对等体。如果连接成功,本地清空ConnectRetry计时器,并向对等体发送OPEN报文,并转至OpenSent状态。
④OpenSent
这个状态下,BGP等待对等体的OPEN报文。收到报文后对报文进行检查,如果发现错误, 本地发送NOTIFICATION报文给对等体,并改变状态为IDLE。如果报文正确,BGP发送KEEPALIVE报文,并转至OpenConfirm状态。
⑤OpenConfirm
这个状态下,BGP等待KEEPALIVE或NOTIFICATION报文。如果收到KEEPALIVE报文,则进入Established状态,如果收到NOTIFICATION报文,则变为Idle状态。
⑥Established
这 个 状 态 下,B G P 可 以 和 其 他 对 等 体 交 换 U P D A T E ,NOTIFICATION, KEEPALIVE报文。如果收到了正确的UPDATE或KEEPALIVE报文,就认为对端处于正常运行状态, 本地重置Hold Timer。如果收到NOTIFICATION报文,本地转到Idle状态。如果收到错误的UPDATE报文,本地发送NOTIFICATION报文通知对端,并改变本地状态为Idle。 如果收到了TCP拆链通知,本地关闭BGP连接,并回到Idle状态。

BGP的有限状态机
在这里插入图片描述
路径属性的类别:公认必遵、公认自决、可选过渡、可选非过渡

Path Vectors:从源点到宿点所经历的AS序列,生成或更新时要检测路由回路

MED:当针对某个前缀的两个或多个路由的局部偏好和AS路径长度相同时,MED属性就会发挥作用。MED通常用于提供者/订阅者的场景。如果在ISP之间使用,可能会导致不公平,因为它可能迫使一个ISP承载更多的流量。

BGP的策略
• BGP通过根据多个备选方案的属性和本地需求从多个备选方案中选择路径,并控制对其他AS的广播来实施策略。
• 策略不是BGP的一部分:它们是作为配置信息提供给BGP的。

策略路由:依据报文分类决定转发方向
路由策略:控制路由信息传播

BGP的路由选择模型:BGP协议存在自己的路由表,与路由器正在使用的IP路由表不同,后者是供IGP使用的。

Routing Information Bases (RIB)
• 路由信息存放在RIBs中
• RIB-In:从其他路由器学习的路由信息(未处理的路由信息)
• Loc-RIB:从邻近-RIB-In中选择的本地路由信息(本地选择的路由)
• RIB-Out:广播要向同行宣传(广播宣传路线)

通信世界里,有很多地方涉及到 peer 这个概念(比如 MPLS LDP peer),有的对等体是自动发现的,而有些是人工指定的。如果组成 BGP peer 的两个路由器,分属两个 AS,那么这样的 BGP 就称作 EBGP;如果两个路由器,同属一个 AS,那么这样的 BGP 就称作 IBGP。

I-BGP(内部BGP):对同一个自治域内所有边界路由器作状态表项
• 在同一AS内的BGP路由器之间使用
• IBGP路由器之间不通告间接获得的路由信息,因此AS内所有的IBGP路由器之间都必须相互建立相邻关系。
• BGP必须与域内的IGP同步,必须等IGP作出路由更新之后再向外进行路由通告。(内部BR的路由表必须先同步)

EBGP(外部BGP):用于在不同的自治系统间交换路由信息。

EBGP与IBGP的区别
1、路由环路的避免措施不一样,IBGP强制规定ibgp speaker不允许把从一个IBGP邻居学习到的前缀传递给其它IBGP邻居,因此IBGP要求逻辑全连接。EBGP没有这样的要求,EBGP对路由环路的避免是通过AS_PATH属性来实现的。
2、使用的BGP属性不同,例如IBGP可以传递LOCAL_PREF(本地优先属性),而EBGP不行。
3、IBGP有同步的要求,而EBGP没有同步的要求
4、IBGP不需要IBGP邻居之间有物理连接,只需要逻辑连接即可,而EBGP下一般情况下都要求EBGP邻居之间存在物理连接。

缺省路由
• 在BGP中缺省路由的通告为0/0,提供这个路由,表示愿意作为对方的缺省路由出口。(上用下不用)
• 可以为缺省路由设置local-pref参数值,从而确定主用和备用的缺省路由出口。
• BGP中可以静态指定缺省路由(下个BGP路由器的IP地址、一个特定路由器的接口、一个网络地址)

单归路连接
• 用户与ISP之间只有一条链路连接
• Provider/Customer或Peer/Peer关系
• Stub Network

Multihoming(多宿主)
• 连接到同一个ISP的两条或多条链路
• 连接到不同ISP的两条或多条链路

多归路路由:Multi-homing
• 路由的冗余度可以为流量提供多个迂回路由,这要求与一个或多个AS建立多条连接。
• 对称性
• 负载平衡
• 负载均衡主要是靠对路由使用的来实现的,选择向外通告的路由还影响入流量,而来自外部的路由更新会影响出流量

PA地址空间:指的是一段由区域互联网注册管理机构分配给互联网服务提供商的IP地址(比如IANA分配给电信运营商的IP地址)
PI地址空间:由区域Internet注册中心(RIR)直接分配给最终用户组织的一组IP地址。

PA地址方式的多归路:网络A从ISP1得到IP地址,并同时与ISP1和ISP2互联以构成多归路。

PI地址方式的多归路:网络A从ISP3获得IP地址,并与ISP1和ISP2构成多归路。

PA和PI的最大区别是能否聚类:PA可以,PI不可以。

Multi-Homed Stub Network:使用BGP进行负载均衡、要求使用私有ASN、上行AS需要向外通告这个网络的地址,使其从外部可达、访问能力受上行AS的限制
有多种应用的可能,例如:在同一个ISP中的分流、作为备份链路、进行负载均衡、有选择地使用不同ISP的服务、Multihoming增加路由表的规模

Two Links to the Same ISP:两条链路上通告的IP地址如果相同,则构成主备关系;如果不同则构成分流关系。

Two links to same ISP:两条链路上通告的IP地址如果相同,则构成主备关系;否则构成分流关系。

Private-AS的应用场景:用户在自己的主干网中实现多归路接入、一个企业网通过ISP的主干网实现分布在多个地区的子网互联、实现BGP联邦

路由反射器
AS内所有的BGP路由器之间需要手工建立两两的对等相邻关系,称为BGP路由器的全闭合网。(I-BGP路由器是不能转发路由信息)

问题:IBGP路由传递原则可以认为只传一跳,在实际的网络中,设备非常多,网络联接非常复杂,不太可能每个AS内的设备都有邻居关系,但路由又必须传递下去。为了解决这一麻烦,推出了路由反射器技术,可以大量减化设备配置,也可以减少邻居条目,还可以减轻设备CPU负担,在实际网络环境中被大量使用,因为反射器配置非常简单。

定义:利用路由反射可以解决这一问题。在一个AS内,其中一台路由器作为路由反射器RR(Route Reflector),其它路由器做为客户机(Client)。客户机与路由反射器之间建立IBGP连接。路由反射器和它的客户机组成一个集群(Cluster)。路由反射器在客户机之间传递(反射)路由信息,而客户机之间不需要建立BGP连接。

路由反射器在收到路由更新信息后作如下处理
-如果路由从非客户机收到,仅反射给客户机;
-如果路由从客户机收到,要反射给其他客户机和所有的有相邻对等关系的非客户机;(使用水平分割以防止循环路由)
-如果路由是从EBGP对等节点收到,要反射给所有的客户机和非客户机对等节点。(从别的群来的发送给自己群内的节点)
RR的一个好处就是配置方便,因为只需要在反射器上配置,客户机不需要知道自己是客户机。

BGP路由更新中增加两个属性
Originator_ID属性和Cluster_List属性,用于检测和防止路由环路。
• Originator_ID属性保证路由在反射器和客户机/非客户机之间的不出现循环。
• Cluster_List由一系列的Cluster_ID组成,描述了一条路由所经过的反射器路径,这和描述路由经过的As路径的AS_Path属性有相似之处。

域间路由控制
• 通过协议或网管获得AS的拓扑结构与路由器配置
• 通过测量或SLA定义获得需求矩阵
• 路由控制根据优化目标计算需调整的参数

完全自私的结构
• RR实现流量需求统计、路由优化控制和参数设置功能
• 边界路由器Ri与RR之间使用iBGP交换信息和进行配置控制
• 优化只根据本域的目标,只适合Stub类型的AS

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值