1 / 122

Public Infrastructure

Homes. Buildings. Appliances. . . . Computers. People. Transportation Vehicles. $. Vending Machines. Smart Cards. Public Infrastructure. 数据通信与网络. Data Communications and Networking. 分组交换 10 Packet Switching. 分组交换原理 路由选择特性与策略 分组交换网举例. 教学内容. 分组交换原理 交换技术 分组大小

miller
Download Presentation

Public Infrastructure

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. Homes Buildings Appliances ... Computers People Transportation Vehicles $ Vending Machines Smart Cards Public Infrastructure 数据通信与网络

  2. Data Communications and Networking 分组交换 10 Packet Switching 分组交换原理 路由选择特性与策略 分组交换网举例

  3. Department of Computer Science and Technology, Nanjing University 教学内容 • 分组交换原理 • 交换技术 • 分组大小 • 分组交换与电路交换的比较 (尤其虚电路与电路的比较) • 外部操作与内部操作 难点! • 路由选择 • 特性 • 选路策略与算法 难点! • APANET例子

  4. Department of Computer Science and Technology, Nanjing University 教学内容(续) • X.25 • 虚电路服务 • 分组格式 • 复用 • 流量控制与差错控制 • 分组序列 • 复位和重启动

  5. Department of Computer Science and Technology, Nanjing University 10.1 分组交换原理 • 电路交换为话音而设计 • 资源被一次特定的呼叫所独占 • 数据连接的多数时间是空闲的 • 数据率固定 • 两端以相同速率工作——对C/S模式数据传输有何影响?

  6. Department of Computer Science and Technology, Nanjing University 分组交换的基本操作 • 以小的分组传输数据 • 典型的有 1000 八比特组 • 长报文分成一连串分组 • 每个分组包含部分数据外加一些控制信息 • 控制信息 • 路由 (寻址) 信息 • 或者虚电路的标识码 • 接收到分组后短暂存储,然后传递给下一节点 • 存储转发(Store and forward)

  7. Department of Computer Science and Technology, Nanjing University Use of Packets

  8. Packet Switching Network

  9. Department of Computer Science and Technology, Nanjing University 优点 • 线路高效率 • 单条节点到节点链路可在一段时间内由许多分组共享 • 分组排队并尽可能快地发送 • 实现不同数据率转换 • 每个站点可以自己的速率连接到本地节点 • 需要相等速率时由节点对数据给予缓冲 • 即使网络繁忙也能接受分组 • 交付可能慢一些 • 可以使用优先级

  10. Department of Computer Science and Technology, Nanjing University 10.1.1 交换技术 • 站点负责将长报文分割成分组 • 一次送一个分组到网络 • 分组以两种方式处理 • 数据报 Datagram • 虚电路 Virtual circuit

  11. Datagram and Virtual Circuit

  12. Department of Computer Science and Technology, Nanjing University 数据报 • 每个分组独立地处理 • 分组可以选择任何存在的路由 • 分组到达可能失序 • 分组可能丢失 • 接收方对分组重新排序,并对丢失分组给予恢复

  13. Department of Computer Science and Technology, Nanjing University 虚电路 • 建立预定的路由之后再发送所有分组 • 由呼叫call request分组和call accept分组建立连接 • 握手(handshake) • 每个分组含有一个虚电路标识码,而不是使用目的地址 • 对每个分组不需要路由抉择 • 通过一个clear request分组终止该电路 • 不是一条像电路交换那样的独占通路 • 不保留交换和链路容量 • 其它虚电路上的分组也可共享同一链路 • 专用路由,而非专用链路 教材翻译有误

  14. Department of Computer Science and Technology, Nanjing University Virtual Circuits v. Datagram • Virtual circuits • 网络能够提供按序传输和差错控制 • 分组可以更快地转发 • 不必作出选路的决策 • 可靠性差 • 单点故障:一个节点失效将使通过该节点的全部电路失效 • Datagram • 不需呼叫建立阶段 • 尤其少量分组时优势明显 • 更灵活 • 可使用路由选择来避开网络的局部拥塞和节点失效

  15. 10.1.2Packet Size Message switching

  16. Department of Computer Science and Technology, Nanjing University 10.1.3 电路交换与分组交换的比较 • 性能 • 传播时延 Propagation delay • 传输时间 Transmission time • 节点时延 Node delay • Processing delay

  17. Department of Computer Science and Technology, Nanjing University Event Timing

  18. Department of Computer Science and Technology, Nanjing University OtherCharacteristics Table 10.1 Comparison of Communication Switching Techniques

  19. Department of Computer Science and Technology, Nanjing University 10.1.4 外部操作与内部操作 • 分组交换 – 两个层次的数据报与虚电路 • 网络内各节点之间的数据转发方式 • 站点之间透过网络的数据交换方式(站点—节点接口) • 站点与网络节点之间的接口 • 面向连接 Connection oriented • 站点请求一个逻辑连接 (virtual circuit) • 所有分组被标识为属于该逻辑连接,并顺序编号 • 网络按序交付分组 • External virtual circuit service • 例如 X.25 • 不同于 Internal virtual circuit operation • 无连接 Connectionless • 各分组单独处理 • External datagram service • 不同于 Internal datagram operation

  20. Department of Computer Science and Technology, Nanjing University 内部与外部操作的组合 (1) • External virtual circuit, internal virtual circuit • 通过网络的专用路由 • External virtual circuit, internal datagram • 网络分别处理每个分组 • 同一外部虚电路的不同分组可以选择不同的内部路由 • 借助于网络目的节点的缓存进行重定序

  21. Department of Computer Science and Technology, Nanjing University 内部与外部操作的组合 (2) • External datagram, internal datagram • 无论网络还是外部用户都对各分组独立处理 • External datagram, internal virtual circuit • 外部用户看不见内部的任何连接 • 外部用户一次发送一个分组 • 网络建立逻辑连接

  22. Department of Computer Science and Technology, Nanjing University External Virtual Circuit andDatagram Operation

  23. Department of Computer Science and Technology, Nanjing University InternalVirtualCircuit andDatagram Operation

  24. Department of Computer Science and Technology, Nanjing University 10.2 路由选择 • 分组交换网络复杂且关键的方面

  25. Department of Computer Science and Technology, Nanjing University 10.2.1 Characteristics • 所需的特性 • 正确性Correctness • 简洁性Simplicity • 健壮性Robustness • 稳定性Stability • 公平性Fairness • 最优性Optimality • 高效性Efficiency • 路由选择技术要素 • 性能评估准则Performance Criteria • 判决的时间与地点Decision time and place • 网络信息源和更新时序 Network information source and updating timing 教材翻译有误

  26. Department of Computer Science and Technology, Nanjing University

  27. Department of Computer Science and Technology, Nanjing University 性能评估准则 • 用于选路 • Minimum hop – 最简单的准则 • 作者要求将248页(P.316)上注释①改为 • Number of hops = number of edges traversed • Least cost - minimum hop的普遍性推广 • 路由选择算法见教材附录 10A • 图 10.6中, 从节点 1 到节点 6 • 最短的通路是 1-3-6 (cost=5+5=10) • 最低成本的通路是 1-4-5-6 (cost=1+1+2=4) • 赋予链路的成本支持一个或多个设计目标 • 与数据率成反比。 吞吐率越高,成本越低 • 与当前排队时延成正比。 时延越小,成本越低

  28. Department of Computer Science and Technology, Nanjing University Costing of Routes

  29. Department of Computer Science and Technology, Nanjing University Least-Cost路由选择算法 • 应用于一个自治系统内部的路由协议(IRP) • Internet术语称为IGP-Interior Gateway Protocol • Internet最初的IGP是RIP — Routing Info Protocol • 基于分布式的Bellaman-Ford算法(Distance vector routing) • 类似于第一代ARPANET网络采用的自适应路由算法 • 由Xerox同名协议派生而来 • 最早实现于4BSD UNIX运行的路由软件 • DECnet和Novell IPX采用 • AppleTalk和Cisco路由器采用其改进版本 • 目前应用更广泛的是OSPF — Open Shortest Path First • 基于分布式Dijkstra算法(Link state routing) • 计算本地网关到其他网关的最短距离 • 网关之间交换链路状态,故称链路状态算法(5个步骤) • 最初用作第二代ARPANET自适应路由算法 • IETF建议用作IGP

  30. 最低成本路由选择算法 • 将网络看作有向图,将求最低成本路由问题转换为求图的任意两顶点间的最短路径 (不一定hop数最小) • 使用有向图最短路径的经典算法(归属于greedyalgorithm) • SSSP – Single Source Shortest Paths • Bellaman-Ford-Moore算法(1956年) • Bellman, On a Routing Problem ,1958 • Fordand Fulkerson, Flows in networks ,1962 (Ford-Fulkerson) • Moore, The Shortest Path Through a Maze ,1959 • Dijkstra算法(1959年) • A Note on Two Problems in Connection with Graphs ,1959 • APSP - All Pairs Shortest Paths (Dynamic Planning Algorithm) • Floyd-Warshall算法(1962年) • Floyd, Algorithm 97: Shortest path (context) ,1963 • Warshall,A theorem on Boolean matrices ,1963 • Johnson算法:BFM+Dijkstra (1973年) • Approximation algorithms for combinatorical problems,1974 • Naive Implementation (分布式Dijkstra或分布式BFM)

  31. Department of Computer Science and Technology, Nanjing University 单源点最短路径 Single-source shortest paths • Dijkstra's algorithm • Invented by Edsger W. Dijkstra • Find the shortest path from a source point in a graph to a destination • Can find the shortest paths from a given source to all points in a graph in the same time • Bellman-Ford-Moore algorithm • A more generalized single-source shortest paths algorithm • Can find the shortest path in a graph with negative weighted edges • If there is no negative cycle in the graph, this algorithm will updates each d[v] with the shortest path from s to v, fill up the predecessor list "pi", and return TRUE • However, if there is a negative cycle in the given graph, this algorithm will return FALSE.

  32. #define MAX_NODES 1024 /* maximum number of nodes */ #define INFINITY 1000000000 /* a number larger than every maximum path */ int n, dist[MAX_NODES][MAX_NODES]; /* dist[i][j] is the distance from i to j */ void shortest_path(int s, int t, int path[]) { struct state { /* the path being worked on */ int predecessor; /* previous node */ int length; /* length from source to this node */ enum {permanent, tentative} label; /* label state */ } state[MAX_NODES]; int i, k, min; struct state *p; for (p = &state[0]; p < &state[n]; p++) { /* initialize state */ p->predecessor = -1; p->length = INFINITY; p->label = tentative; } state[t].length = 0; state[t].label = permanent; k = t; /* k is the initial working node */ do { /* Is there a better path from k? */ for (i = 0; i < n; i++) /* this graph has n nodes */ if (dist[k][i] != 0 && state[i].label == tentative) { if (state[k].length + dist[k][i] < state[i].length) { state[i].predecessor = k; state[i].length = state[k].length + dist[k][i]; } } /* Find the tentatively labeled node with the smallest label. */ k = 0; min = INFINITY; for (i = 0; i < n; i++) if (state[i].label == tentative && state[i].length < min) { min = state[i].length; k = i; } state[k].label = permanent; } while (k != s); /* Copy the path into the output array. */ i = 0; k = s; do {path[i++] = k; k = state[k].predecessor; } while (k >= 0); } Dijkstra算法的C代码

  33. Department of Computer Science and Technology, Nanjing University 所有点对最短路径 All Pairs Shortest Paths • Floyd-Warshall algorithm • Given a weighed and directed graph • Computes the shortest paths between each pair of nodes • By multiplying an adjacency-matrix representation of the graph multiple times • The edges may have negative weights, but no negative weight cycles

  34. Department of Computer Science and Technology, Nanjing University 所有点对的最短路径 All Pairs Shortest Paths • Johnson's algorithm • Find all pairs shortest path in a sparseweighted, directed graph • First, it adds a new node with zero weight edges from it to all other nodes, and runs the Bellman-Ford algorithm to check for negative weight cycles and find h(v), the least weight of a path from the new node to node v • Next it reweights the edges using the nodes' h(v) values • Finally for each node, it runs Dijkstra's algorithm and stores the computed least weight to other nodes, reweighted using the nodes' h(v) values, as the final weight.

  35. Department of Computer Science and Technology, Nanjing University Dijkstra’s Least-Cost Algorithm

  36. Department of Computer Science and Technology, Nanjing University

  37. Department of Computer Science and Technology, Nanjing University Bellman-Ford Algorithm

  38. Department of Computer Science and Technology, Nanjing University 判决的时间与地点 • 判决时间 • 依据是分组还是虚电路 • 判决地点 • 分布式 • 能由每个节点判决 • 集中式 • 源站 • 判决时间与判决地点是相互独立的设计变量

  39. Department of Computer Science and Technology, Nanjing University 网络信息源和更新时序 • 路由的判决通常基于网络的知识 (并不总是) • 分布式路由选择 • 节点利用本机的知识 • 可从相邻节点采集信息 • 可以从一条潜在的路由上的所有节点采集信息 • 中心路由选择 • 从所有节点上采集信息 • 更新时序 • 节点保持的网络信息何时更新 • 是信息源与路由选择策略二者的函数 • 固定路由选择 – 决不更新 • 自适应路由选择–经常更新

  40. Department of Computer Science and Technology, Nanjing University 10.2.2 路由策略 • 固定 Fixed • 洪泛 Flooding • 随机 Random • 自适应 Adaptive

  41. Department of Computer Science and Technology, Nanjing University 固定路由选择 • 对每对源站到目的站选择单条永久路由 • 使用最低成本算法静态地确定路由 (附录10A) • Bellman-Ford • Dijkstra • 路由固定, 至少待到网络的拓扑结构变化 • 实现 • 创建一个中心路由矩阵, 它指出每对源—宿节点路途中的下一节点标识 • 对于每个节点对而言,只要保存其路由上首个节点标识就足够了,不必保存整个路由 • 举例 (使用图 10.6)

  42. Department of Computer Science and Technology, Nanjing University 固定路由选择表 是下一节点标识,不是Cost • 虚电路和数据报的路由选择无差别 • 优点是简单 • 缺点是不够灵活 • 一种改进是为节点提供到达各目的节点的可替代下一节点 • 例如,节点1的可替代下一节点可能是 4,3,2,3,3

  43. Department of Computer Science and Technology, Nanjing University 洪泛法路由选择 • 不需要网络信息 • 节点向其每个相邻节点发送分组 • 各节点将到来的分组向除来路以外的其余每条链路转发 • 最终将有一些分组达到目的节点 • 每个分组惟一编号,使目的节点能丢弃重复的副本 • 数据报:源节点地址和序号 • 虚电路:虚电路号和序号 • 节点能够记住已经转发的分组,保持网络不过载 • 分组中可以包含一个跳数计数器,超过某个上界丢弃分组 • 网络直径——经过网络的最长的那个Minimum-hop的路径长度

  44. Department of Computer Science and Technology, Nanjing University Flooding Example hop count = 3 • 第1跳 • 发送3个分组 • 第2跳 • 转发9个分组 • 第3跳 • 转发22个分组 为什么不再转发?

  45. Department of Computer Science and Technology, Nanjing University 洪泛的特性 • 尝试所有可能的路由 • Very robust • 至少一个分组采用minimum-hop计数路由 • 能用于建立虚电路 • 所有节点都要访问到 • 信息发布十分有用 (比如,路由信息的传播) • 缺点是通信量载荷重 • 与网络的连通性成正比(交通越发达,越拥挤) • 如用于数据报交换方式的数据分组选路,可采用某种算法,对网络连通性进行重构

  46. Department of Computer Science and Technology, Nanjing University 随机路由选择 • 具有洪泛法的简洁性和健壮性,通信量负载却轻得多 • 节点选择一条输出链路转发进入的分组 • 选择可以random方式或者round robin方式 • 可以基于概率的计算选择输出链路 • 不需要网络信息 • 典型情况的路由不是Least-cost也不是Minimum-hop

  47. Department of Computer Science and Technology, Nanjing University 选择一条链路的概率 • Pi= Ri/ SjRj • Pi= 选择到链路 i 的概率 • Ri= 链路 i 上的数据率 • 该和是所有可能的候选输出链路的数据率的总和 • 该数据率是当前实际的速率,不是信道最大速率 • 此方案将提供均匀的通信量分布 • 注意,概率也可能基于固定的链路costs

  48. Department of Computer Science and Technology, Nanjing University 自适应路由选择 • 几乎所有的分组交换网都采用 • 随着网络的情况变化而改变路由判决 • 故障 Failure • 拥塞 Congestion • 需要网络有关信息 • 缺点 • 路由判决更复杂 • 需要在网络信息质量与额外开销之间寻求平衡 • 反应过快会引发拥塞产生的振荡,反应过慢又不顶用 • 振荡举例:当发现网络局部路径拥塞而分流到其它路径,又引起新的拥塞

  49. Department of Computer Science and Technology, Nanjing University 自适应路由选择 – 优点 • 性能能得到提高 • 有助于拥塞控制 (See chapter 12) • 适用于复杂的网络系统 • 可能还未能从理论上认识其好处

  50. Department of Computer Science and Technology, Nanjing University 自适应路由选择策略的分类 • 基于信息源 • 本地 (Isolated,孤点) • 按Q+Bi选择路由 (下页例子) • Q– 节点出径链路的队列长度,需要Q值尽可能小 • Bi - 节点到达每个目的节点的修正值(bias) • 很少使用 – 没有利用很容易获取的信息 • 相邻节点 • 全部节点 • 两者都利用了各节点上有关delays和outages的信息 • 可以是分布式自适应策略或集中式自适应策略 • 典型的分布式策略 • 距离矢量路由选择:BFM算法的分布式动态版本 • 链路状态路由选择:节点之间交换链路状态,各节点根据自己维持的链路状态集合,分别用Dijkstra算法计算路由 (机器等)的运行停止或中断,此处不译成损耗、减耗

More Related