1 / 71

域间路由

域间路由. 罗忠文 http://xgxy.cug.edu.cn/rjgcx/lzw 内容取自 UCB 的教程 24035234@qq.com. 所讲内容 ?. 讲完了基础 ( 可靠性 , 路由 ) 讲完了当今网络架构的基础 名字( Naming ) , web, TCP 现在重新回到基础 拥塞控制 路由 : 域间和高级课题 然后讲各种主题 cs: 以太网( Ethernet ) , 无线( wireless ) , (安全) security 等. 路由. 提供网络间的路径 前缀指地址的 “ 网络 ” 部分 目前为止 , 仅考虑在某个域内的路由

Download Presentation

域间路由

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 域间路由 罗忠文 http://xgxy.cug.edu.cn/rjgcx/lzw 内容取自UCB的教程 24035234@qq.com

  2. 所讲内容? • 讲完了基础 (可靠性, 路由) • 讲完了当今网络架构的基础 • 名字(Naming), web, TCP • 现在重新回到基础 • 拥塞控制 • 路由: 域间和高级课题 • 然后讲各种主题cs: • 以太网(Ethernet),无线(wireless),(安全)security等.

  3. 路由 • 提供网络间的路径 • 前缀指地址的“网络”部分 • 目前为止,仅考虑在某个域内的路由 • 所有路由器都有相同的路由度量 (最短路径) • 在此配置下,许多问题都可以忽略…. • 无自治: 中心管理控制 • 没有私密问题:中心管理控制 • 没有策略问题:中心管理控制 • 没有其他的了!

  4. Internet不仅只有一个域… • Internet不只是一组没有结构的网络 • “网络”是指前缀 • Internet由一组“自治系统”组成 • 独立运行的网络,一些是商业 ISPs • 目前超过30,000个自治系统 • 如AT&T, China Telecom, France Telecom, UCB, IBM, Intel, etc. • 自治系统有时也称为“域” • 因此“域间路由”

  5. Internet: 大量自治系统 Large ISP Large ISP Stub Small ISP Dial-Up ISP Access Network Stub Stub

  6. 路由分三层 • 位于单个网络中: 到达每个主机 • 将在“链路层”讲义中讲(Ethernet等) • 域内(Intradomain):网络间路由 • 前面的路由讲义中讲过了 • 域间(Interdomain): 自治系统间的路由 • 今天的内容 • 需要域间路由协议 • BGP是当前的标准

  7. 一个全新的路由策略 • 网络寻路的思想早在Internet之前就已经熟知 • Dijkstra's algorithm 1956 • Bellman-Ford 1958 • 能实现其自己私有策略的“自治系统”的说法是新的 • 匆忙设计出的BGP就是为了响应此需求 • 自此以后,它使我们迷惑不解…..

  8. R R2 R1 R3 谁使用BGP? AS2 AS1 BGP 边界路由器 内部路由器 • 两种类型的网络 • 边界路由器 (Edge), 内部路由器 (Core)

  9. you can reachnet A via me R R2 R1 R3 traffic to A table at R1: destnext hop A R2 BGP的目的 AS2 AS1 BGP A border router internal router 跨自治系统共享连接信息

  10. IGP: Intradomain routing Example: OSPF I-BGP R R1 R4 R5 R2 R3 AS1 announce B AS3 border router internal router B I-BGP 和 E-BGP IGP A E-BGP AS2

  11. 3 2 2 4 9 6 3 1 边界路由 内部路由 进一步细节 • 提供内部可达 (IGP) • 学习路由到外部目标 (eBGP) • 分布式外部学习路由内部的 (iBGP) • 选择最近出口 (IGP)

  12. 余下的讲义... • BGP为什么是这样方式的动机 • 两个主要问题….. • 讨论域间路由的一些问题 • 解释BGP的一些细节 • 非基础的, 只是一系列专门的设计决策 • 努力不涉及此部分的内容….

  13. 形成域间路由的考虑因子 • 无法使用之前路由方案的两个主要原因

  14. 1. 自治系统(AS)是自治的 • 希望选择其自己的内部路由协议 • 不同的算法和度量 • 希望基于策略自由路由到外部 • “我的流量不能在竞争者的网络中传播” • “我不希望在我的网络中携带传输流量” • 无法表示成整个Internet的“最短路径”! • 希望保持其连接和策略私有 • 将揭示商业关系, 网络结构

  15. 2. 自主系统拥有商业关系 • 自主系统间的三种基本关系 • 自主系统A可以是自主系统B的客户 • 自主系统A可以是自主系统B的提供商 • 自主系统A可以是自主系统B的对等体 • 商业实现 • 客户付费给提供商 • 对等体相互不付费 • 交换差不多相等的流量 • 策略实现: 包流遵循金钱流 • “当发送流量时, 相对于对等体更偏好到客户, 相对于服务商更偏好对等体” • “不把一个服务商的流量带到另一个服务商”

  16. 商业关系 自主系统间的关系 商业含义 • Customer pay provider • Peers don’t pay each other customer provider peer peer

  17. 路由遵循金钱! • 对等体提供其客户间的传输 • 对等体不提供两个对等体间传输 禁止的流量 允许的流量

  18. 自主系统层次拓朴 • 目标是IP前缀 (如, 12.0.0.0/8) • 结点是自主系统 (ASes) • 内部被隐藏 • 链路: 连接和商业关系 4 3 5 2 6 7 1 Client Web server

  19. 我们可以使用何种路由算法? • 要点是策略和私密性 • 无法使用最短路径 • 域没有任何公共的度量 • 策略选择可能不是最短路径 • 无法使用链路状态 • 可能需要泛滥策略偏好和拓朴 • 可能违反私密性

  20. 路由的基本要求 • 避免环和死路 • 如何同时满足基本要求和允许自由策略? • 避免环的最简单方式? • 路径向量!

  21. 2 路径向量路由 • 距离向量路由扩展 • 支持灵活路由策略 • 更快的环路检测 (没有count-to-infinity) • 主要思路: 公告整个路径 • 距离向量:对每个目标d发送距离度量 • 路径向量: 对每个目标d发送整个路径 “d: path (2,1)” “d: path (1)” 3 1 数据流量 数据流量 d

  22. 2 更快环路检测 • 结点可以很容易检测环路 • 结点在路径中查找其自己的结点标识 • 例, 结点1看到其自己在路径“3, 2, 1”中 • 结点可以简单地丢弃有环路径 • 例, 结点 1 简单地丢弃公告 “d: path (2,1)” “d: path (1)” 3 1 “d: path (3,2,1)”

  23. 2 3 1 灵活策略 • 每个结点可应用局部策略 • 路径选择: 使用哪条路径? • 路径输出: 公告哪条路径? • 例 • 相对于“2,1”结点2可能更偏好路径“2,3,1” • 结点1可能不让结点3知道路径“1, 2”

  24. 选择 vs 输出 • 选择策略 • 决定我希望我的流量取哪条路径 • 输出策略 • 决定我愿意携带谁的流量 • 注: • 我携带的任何流量将遵循同样的路径, 因此两者之间有联系 • 从协议的视角, 决策可以是任意的 • 能依赖于整个路径 (PV方式的优点)

  25. 示例 路由输出 路由选择 Customer Primary Competitor Backup 选择:控制网络中出去的流量输出:控制网络中进来的流量 数据流方向与路由公告方向相反

  26. 标准策略示例 • 传输网络: • 选择: 偏好序列“客户->对等体->提供商” • 输出: • 让客户使用你的任何路由 • 让任何路由通过你到你的客户 • 不输出给在路由中的人(毒性反转) • 阻塞所有其他的 • Multihomed (nontransit) 网络: • 输出: 不替其他域输出路由 • 选择: 优先选择原始的,其次选择备份的 • 直接发送到对等体

  27. 策略改变的领域 • ISP现在是“眼球eyeball”和/或“内容”ISP • 更少关注“传输”, 更多关注客户属性 • 目前,还没有实用的系统策略

  28. 路径向量策略路由的问题 • 可达性 • 安全 • 性能 • 缺乏独立 • 策略振荡

  29. 可达性 • 在正常的路由中, 如果图是连接的,可达性能保证 • 对于策略路由,这并不总能保证 Provider Provider AS 1 AS 3 AS 2 Customer

  30. 安全 • 某自主系统可能声称其能达某个前缀,但真实情况是其无法到达路由 (黑洞流量) • 不针对策略和路径向量的问题 • 其重要性是由于自治系统的自治 • 可解决: 让自治系统“证明”其有路径 • 注: 自治系统也可能有诱因沿与公告的不同的路径转发包 • 告诉客户关于虚构的最短路径… • 解决更困难!

  31. 性能中不成问题的问题 • 内部路由 (non) • 域典型地使用“热土豆hot potato”路由 • 不总是最优的, 但经济有效的 • 策略不是关于性能的 (non) • 因此策略选择的路径不是最短的 • 策略相容路径中选择 (non) • 基于最少AS跳数选取, 和实际延时没有关联 • 20%路径膨胀至少5个路由器跳

  32. 性能(示例) • AS路径长度可能误导 • 自主系统可能有许多路由器层跳数 BGP 说路径4 1 比路径3 2 1好 AS 4 AS 3 AS 2 AS 1

  33. 实际性能问题 • 收敛时间: • BGP 中断运转是Internet问题的最大源 • 主要是由于缺乏孤立

  34. 缺乏孤立性: 动力学 • 如果路径有变化, 路径必须将此变化重新向每个上游结点公告 • 这对距离向量为什么不是问题? • “Route Flap Damping”假定支持此, (但结果是产生更多问题) BGP updates per day (100,000s) 10 8 6 4 2 0 Date (Jan - Dec 2005) Fig. from [Huston & Armitage 2006]

  35. 缺乏孤立性: 路由表大小 • 每个BGP路由器必须知道到每个其它IP前缀的路径 • 但路由器内存昂贵,从而受到限制 • 前缀数超过线性增加 • 当前研究的主题 Number of prefixes in BGP table 180000 Fig. from [Huston & Armitage 2006] 100000 Jan ’02 Jan ’06

  36. Five Minute Break Any questions?

  37. 1 2 3 由于策略产生的固有振荡 依赖于策略的相互作用 “1”到达“0”更偏好 “1 3 0”而非 “1 0” 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  38. 1 2 3 由于策略产生的固有振荡 初始: 结点 “1”, “2”, 和 “3” 仅知道到 “0”的最短路径 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  39. 1 2 3 由于策略产生的固有振荡 “1” 向“2”公告其路径“1 0” 1 3 0 1 0 advertise: 1 0 0 2 1 0 2 0 3 2 0 3 0

  40. 1 2 3 由于策略产生的固有振荡 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  41. 1 2 3 由于策略产生的固有振荡 “3”向“1”公告其路径 “3 0” 1 3 0 1 0 advertise: 3 0 0 2 1 0 2 0 3 2 0 3 0

  42. 1 2 3 由于策略产生的固有振荡 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  43. 1 2 3 由于策略产生的固有振荡 “1”从“2”收回其路径 “1 0”,因为不再使用 1 3 0 1 0 withdraw: 1 0 0 2 1 0 2 0 3 2 0 3 0

  44. 1 2 3 由于策略产生的固有振荡 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  45. 1 2 3 由于策略产生的固有振荡 “2” 向 “3” 公告其路径“2 0” 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0 advertise: 2 0

  46. 1 2 3 由于策略产生的固有振荡 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  47. 1 2 3 由于策略产生的固有振荡 “3” 从 “1” 回收其路径 “3 0” 因为不在使用 1 3 0 1 0 withdraw: 3 0 0 2 1 0 2 0 3 2 0 3 0

  48. 1 2 3 由于策略产生的固有振荡 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  49. 1 2 3 由于策略产生的固有振荡 “1” 向 “2”公告其路径 “1 0” 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

  50. 1 2 3 由于策略产生的固有振荡 1 3 0 1 0 0 2 1 0 2 0 3 2 0 3 0

More Related