的那根
【BGP根据属性来选路决策】
【路由注入方式】
动态路由注入:自动,配置简单,操控性差,可能不稳定 半动态路由注入:比动态路由具有更高的操控性 静态路由注入:操控性最强
【BGP属性】
? ? ? ?
Well-known mandatory 公认必遵
Well-known discretionary 公认可遵(可选) Optional transitive 过渡(可转发)
Optional nontransitive 非过渡的(不识别就不转发)
【BGP大型网络可能遇到问题】
? 从IBGP收到的路由不会通告给其它IBGP 相邻体,所以,
AS内部的IBGP必须全连接
? 路由表庞大:超过10万条(解决:BGP聚合) ? INGP相邻体过多,逻辑全链接不现实(解决:BGP联盟、
BGP反射)
? 复杂网络中的路由变化频繁(解决:BGP衰减)
【BGP路由的使用原则】
? 多条路径时,BGP 路由器只选最优的给自己使用 ? BGP 路由器只把自己使用的路由通告给相邻体
? BGP 路由器从EBGP获得的路由会向它的所有BGP相邻
体通告(包括EBGP和IBGP)
? BGP路由器从IBGP获得的路由不会向它的IBGP相邻体
通告(避免内部产生环路)
? BGP 路由器从IBGP获得的路由是否通告给它的EBGP相
邻体要依IGP和BGP同步的情况而定
? 连接一建立,BGP路由器将把自己所有的BGP路由通告
给新相邻体(极大的考验和挑战!)
[Part8].组播
【IP组播】
IP组播是指在IP网络中将数据包以尽力传送(best-effort)
的形式发送到网络中的某个确定节点子集,这个子集称为一个组播组(multicast group)
【组播基本思想】
? 源主机只发送一份数据,这份数据的目的地址为组播组
地址;
? 组播组中的所有成员都可接收到同样的数据拷贝,并且
只有组播组内主机(成员,目标主机)可以接收该数据
【BGP重要属性】
路径属性:施加在每条路由上,表征了路由的特征 Origin属性:IGP优于Incomplete
AS路径属性:描述了完整的路径,途经的AS
Next Hop属性:下一个AS、在同一个AS,Next hop值不会发生变化
本地优先属性:施加影响,引导流量
MED属性:除非配置了“always-compare-med”,其他时候永远只比较来自同一AS的路径、不跨AS传播,只影响它的上游AS、MED值越小,该条路由越优 团体属性:便于制定路由策略
【组播的优势】
? 一对多通讯下,降低网络流量,提高网络通讯效率。由
于每个分支只发送一份报文,所以网络规模(如用户数量)的增大不会额外增加网络的负担。 ? 降低了骨干上的网络流量 ? 降低了应用服务器的负担
【组播缺点】
? 传送不可靠!(尽力投递/best effort) ? 组播报文的复制开销!
-
路由器的资源消耗增加!
【BGP过滤功能】
可按照路由的IP地址过滤
可依照路由经过的AS-Path过滤 可以依照路由的属性过滤 可以依照路由到来的接口过滤
可以依照过滤的结果设置路由的属性
? 其它缺陷(可控可管性差)
- -
用户管理 安全
【组播地址】
D类地址,1110开头,范围224.0.0.0~239.255.255.255 私人组播地址:239.0.0.0~239.255.255.255
【BGP选路规则】
? 选AS_PATH最短的那条
? 如果AS_PATH距离相等,则优选本AS内到出口路由器
最短的那根
? 如果还相等,选择Router_ID(发送路由的路由器)最小
【MAC组播地址】
IPv4:MAC前25位 +IPv4组播地址低23位 IPv6: 33:33:+ IPv6组播地址后32位
【有源树和共享树】
相同点:
? 无回路,分支处复制 不同点:
? 有源树(最短路径树,为每个节点建立SPT)
-
占用内存较多O(S x G),但路径最优,延迟最小
? 共享树(汇聚到RP,RP建立SPT)
-
占用内存较少O(G),路径可能不是最优的,引入额外的延迟;有一个瓶颈
【逆向路径转发】
RBF:路由器收到组播数据报文后,只有确认这个数据报文是从自己到源的出接口(单播)上到来的,才进行转发,否则丢弃报文 RBF检查:
? 在单播路由表中查找去往组播报文源地址的路由
? 如果该路由的出接口就是组播报文的入接口,RPF检查
成功;否则RPF检查失败
【TTL阈值】
? IP组播包被路由器转发的时候,IP头中的TTL值要减1 ? 规则:只有数据包的TTL值大于或等于接口的TTL阈值
时,路由器才能在出接口转发该数据包。 ? 限制组播范围
【IGMPv1与v2交互】
? v2成员报告会被v1看作无效并且忽略
? V2路由器的查询可被V1的主机所处理,只是忽略第二
个八位组的信息
? v2路由器的特定查询不被v1主机理会 ? v2路由器必须忽略离开报告 ? 同一网段运行同一IGMP协议,假如存在IGMPv1路由器,
则所有路由器手工配置为v1
【组播路由协议分类】
【IGMPv3】
允许主机只收到组播组内某个特定信源的传输
【IGMP三个版本】
? IGMP v2:增加了查询器路由器选择/特定组查询/离开组
消息及最大响应时间字段等扩展功能。
? IGMP v3:增加了对特定(源,组)的加入离开的支持,以提
供对多播应用更好的支持。
【IGMP】
? 主机和直连路由器之间建立、维护组播组成员关系。 ? 不包括组播路由器之间的组成员关系信息的传播与维护。 ? 所有参与组播的主机必须支持IGMP协议。
【报告抑制】
? 对于某一查询,当前子网中对于每个组只需有一个成员
响应成员报告;这一过程叫响应抑制。 ? 报告响应抑制步骤
-
主机收到IGMP成员关系查询后,主机对已经加入的每个组播组启动一个倒数计时器,计时器初始化为一个给定时间(在IGMPv1中为固定值10S)范围内的随机值。 -
当计时器计时值为0时,主机发送成员关系报告至与该计时器相关的组播组,以通知路由器本地网中有处于活动状态组播组接收者。 -
然而,当主机在它的倒数计时器达到0之前收到其他主机发送的某一成员关系报告,那么它就停止与成员关系报告组地址相同的倒数计时器的计时,这样就抑制了主机到这一组播组的成员关系报告。
- - - -
【路由间协议类型】
? 密集模式(Dense-mode)
使用“推”(Push)模型
组播数据在整个网络的泛滥(Flood) 下游不想接收的话则剪枝(Prune)
泛滥、剪枝、泛滥、剪枝…周而复始 (通常3分钟折腾一次)
? 稀疏模式(Sparse-mode)
- - -
使用 “拉”(Pull)模型
组播数据只发送到有需要的地方 有显式的加入(Join)过程
【IGMP成员加入】
主机并不等待来自路由器的下一次成员关系查询,可主动向要加入的组播组发送成员关系报告表示加入
【PIM】
? 协议无关组播,支持所有的单播路由协议: 静态路由、
RIP、IGRP、IS-IS、BGP、OSPF,总之,单播路由是什么都没关系。 ? 特点
- - -
独立于单播协议 扩散和剪枝机制 无类
【IGMPv1成员离开】
没有定义离开机制,可以默默地离开。(最后一个成员离开后)路由器设置了组播关联定时器,超时无组成员报告,则停止转发。
【IGMPv2查询消息】
? 普通查询(组播地址段为零)
? 特定组查询:直接对单个组查询(组播地址段为正在查
询的组播组地址)
【PIM-DM运行机制】
? 采用PUSH方式,将组播流量周期性扩散到网络中所有
设备,建立和维护SPT(short path tree) (假设所有主机都需要接收组播数据)
-
周期性扩散、剪枝、嫁接过程,也成为:洪泛/剪枝/嫁接机制
【IGMPv2成员离开】
主动发送离开报告,离开延迟可以缩短到几秒钟
? 使用逆向路径转发(RPF)机制:
- -
先向网络泛滥(Flood),然后根据组播组成员关系进行剪枝 (Prune) 使用Assert机制来剪枝冗余数据流
【查询路由器选举】
IGMPv1:依赖于路由协议 IGMPv2:
? 多访问网络上每个路由器假设自己为查询器并发出查询 ? IP地址低(接口)的路由器被选为查询器
? 非查询路由器设置定时器,当超时没有收到查询器的周
期查询,认为查询器出事了,重新选举
? 适合于:
- - - -
小规模的网络
组播源和接收者比较靠近 源少,接收者多 数据流大且稳定
【剪枝的条件】
? 信息到达PIM-DM路由器的非RPF点对点接口;
? PIM-DM路由器没有下游邻居,且所有叶网络上没有组
成员;
? PIM-DM路由器所有接口上的下游邻居已经通过了剪枝
表决
- - - - - - -
【PIM-SM】
? 支持共享树和源树
假设没有主机需要接收组播数据,除非它们明确地发出了请求 组成员所在的网络数相对少 组成员跨越的区域太大
带宽资源还没有富裕到可以忽略DM模式带来的消耗 大规模的企业网络 接收者稀少
几乎是任何网络的优选方案(目前PIM-SM占主流)
? 稀疏组播的特点:
【嫁接】
向RPF上游借口单播嫁接信息,迅速得到数据,不必等到下一个周期。
? 适合于
【PIM-SM工作机制】
? 源只是简单地把数据包放在第一跳路由器(RP)上,接
收者必须主动通知路由器
? 使用“汇聚点”(RP),发送者和接受者在RP处汇聚
- - - -
发送者的第一跳路由器把发送者注册到RP上(报个到,挂个号) 接收者的DR(直连网络上的负责人)为接收者加入到共享树 (树根在RP)
接收者发送加入消息,逐跳上行到RP,沿途路由器记录组播转发状态;
接收者不想要组播数据时,发送剪枝消息,逐跳上行到RP,沿途路由器更新它的转发状态
【为什么需要断言机制】
? 网络拓扑多种多样
? RPF检查能够防止组播流量出现环路,但无法避免出现
组播流量重复和多份
? 跟DM本质的差别:路由器转发状态通过组播消息的抵
达而建立或更新。
【自举路由器机制】
? 由管理员配置
- - - -
C-BSR (Candidate-Bootstrps Router) C-RP (Candidate-Rendezous Point) C-BSR发送自举报文 C-RP向BSR报告
【断言机制实现】
? 路由器从其“出接口列表”(oiflist)中某个接口收到数据
-
只有其中一个路由器应该继续发送数据,以避免重复
? 选举后最终确定
? 路由器发送 “PIM Assert”消息
- - - -
计算distance和metric值 谁到源的路由最优谁获胜
如果distance和metric相等,IP地址大的获胜 输的就停止转发 (剪枝接口)
【源注册】
? 源的DR将组播数据封装进一个注册消息,单播到RP; ? RP打开注册消息
- -
将组播数据在RPT上转发
发送(S,G)加入消息,沿途建立(S,G)状态 RP察觉到从源到RP的SPT树已经建立 RP发送“注册停止”消息给源 等待RP的注册停止消息
空注册消息和沿SPT的组播数据流并存 直到收到RP的注册停止消息 只沿SPT传播数据,停止空注册消息
【PIM-DM总结】
? 对于小型网络来说非常有效 ? 优势:
- - - - -
易于配置
实现机制简单(泛滥剪枝) 泛滥剪枝过程不够高效 复杂的Assert机制 控制和数据平面混合
*导致网络内部的所有路由器上都有(S, G) *可能会导致非确定性的拓扑行为 -
不支持共享树
? 停止注册时机:
- - - - - -
? 若SPT树已建成,但没收到停止注册消息:
? 潜在问题:
【为什么进行PIN-SM SPT切换】
? 通过源树—RP—共享树的路径传输组播信息,走的路径
可能不是最短的,浪费带宽。 ? RP可能成为瓶颈。
【SPT切换条件】
最后一跳路由器(和接收者直连的路由器)一旦发现某个特定的组播源的数据量超出了某个界限(阈值),马上向组播源发送(S,G)Join消息。
? ? ? ?
【综合服务失败原因】
经济因素---部署代价过于昂贵 可扩展性差----每流状态难以维护 面向组播的预留策略难以实现 访问控制、认证、计费均实现困难
【共享树剪枝条件】
最后一跳路由器根据自己的状态表中的(*,G)和(S,G)的入接口情况来判断是否发送剪枝消息(剪共享树),触发条件是:
? 在(S,G)的入接口上收到了相符合的组播数据(源树
已经建立)
? (S,G)上的初始化标志位被设置(创建时设置) ? 同时存在的(*,G)和(S,G)的入接口不同
【差/区分服务的服务类】
? ? ? ?
Expedited Forwarding (EF) (加速转发) Assured Forwarding (AF) (确保转发) n queues ? m drop preferences Default (Best Effort,BE)
【差分服务功能】
? 为不同的组(例如客户或企业中的部门)提供不同的服
务级别
? 为提供给特定组或应用程序的网络服务设置优先级 ? 发现和消除网络瓶颈区域以及其它形式的拥塞 ? 监视网络性能并提供性能统计信息 ? 控制进出网络资源的带宽
【PIM-SM总结】
? 对于稀疏和密集应用都很高效 ? 优势:
- - - -
数据流仅沿“加入”的分支向下发送 可以根据流量等条件动态地切换到源树 与具体的单播路由协议无关 域间组播路由的基础
*和MBGP、MSDP共同结合使用可以完成跨域的组播
【Traffic class类别】
? ? ? ?
Class Selector(CS):aaa 000
Expedited Forwarding(EF):101 110 Assured Forwarding(AF):aaa bb0 Default (BE):000 000
[Part9].QoS
【Qos度量参数】
有效性(可靠性)、带宽(bandwidth,更确切的说:吞吐量)、延时(delay)、抖动(jitter)、丢包率(loss rate)
【差分服务有点】
? ? ? ? ? ?
无需逐条信令(signalling) 无需单个流或单个用户状态
只有聚合的类别状态(classification state) 转发行为较单纯(PHB)
只有在边界路由器上分类/调节较复杂 简单的分组处理(核心路由器)
【导致服务质量问题的因素】
用户需要的服务(负载)几乎是无限的,承载服务的设施(资源)却是有限的,当负载>资源的时候,就会产生QoS问题:拥塞、路由器过载、延迟加大、抖动、丢包。
【三种服务比较】
【综合服务】
? 以RSVP信令向网络提出业务流传输规格(FlowSpec),并
建立和拆除传输路径上的业务流状态。
? 主机和路由器节点建立和保持业务流状态信息。 ? 以资源预留为核心(RSVP)
【资源预留协议(RSVP)】
? 发送者每30秒发送PATH message (消息) ? 沿途路由器记录路径信息(设置路径状态) ? 接收者每30秒回发RESV message(消息)
【标签交换】
在每个分组的前端加一个标签(Lable,tag),然后根据这个标签而不是根据目的地址进行路由,标签放在2.5层
【综合服务缺点】
? ? ? ?
所有的路由器都必须为每个流维护状态信息 完全的分布性导致极大的复杂性!
在低速连接上造成高负载的低效工作模式 扩展性和鲁棒性
【MPLS(多协议标签坏换)工作机制】
? 在MPLS网络入口的边沿路由器上打上标签 ? 沿途路由器检查标签,根据标签值查找转发表,转发(替
换新的标签)
? 在MPLS网络出口的边沿路由器上拆除标签,以后按照
通常意义的三层路由转发
? 数据驱动或控制驱动建立转发表