《基于TCP交换的电路交换与分组交换融合方法》读书笔记
简介
在论文《Is IP going to take over the world (of communications)?》中作者对IP相关的一些说法(假设)提出了质疑,并得出结论:虽然分组交换IP(packet-switched IP)会继续主导网络边缘的服务,但网络核心将会使用光电路交换作为提供服务的平台。在论文《基于TCP交换的电路交换与分组交换融合方法》中介绍了一种融合电路交换与分组交换的基于TCP交换的方法。
TCP交换需要考虑的问题
- 电路状态管理
电路交换要求在数据传输前建立电路且保持它们的相关的状态。流的数目和增减的速度在使用软状态的简单硬件中很容易处理。在大容量的交换机中依然可以利用这一特性来处理。 - 额外信号花费
对电路进行管理时为了建立和撤消电路,交换机需要通过交互信号的方式来完成这项任务。使用硬或软状态是信号复杂性和信号花费之间的折中。 - 带宽的浪费
分配固定带宽将会浪费链路的容量,若使用较小电路带宽值将增加需要保持的状态数目,增加了交换机的处理要求。 - 拥塞控制
如果在电路交换中电路处于忙状态则新电路的请求不能被实时处理,除非有一条电路空闲。但是平均来说它们和分组交换流有相同响应时间。
TCP交换
TCP交换是基于IP交换之上,它将每个应用流映射到核心电路的一个轻负载电路上。它通过应用流来触发建立快速轻量级电路。边缘网络的分组交换部分保持不变,核心网络的电路交换部分使用简单信号机制来创建和删除相关链路。核心的电路交换独立于边缘的分组网络而成为 TCP交换云。从应用流第一个到达的分组触发边界路由器去创建一条新的电路,是一个固定分配的电路。TCP交换使用软状态保持电路,由软状态来管理并在超时后删除该电路。

当边界路由器检测到一个应用流的第一个数据包时,它检查 IP包的包头信息,由一个通常的转发路由来决定输出的电路交换链路。接着边界路由器检查输出链路上一条空闲的电路。如果一条空闲链路已经存在,边界路由器开始使用它,传递分组给TCP交换云的第一个核心电路交换机。如果没有空闲的电路,将缓存这些分组直到有一条空闲电路。
如果在输出链路上顺利地建立了电路,分组被转发到下一跳电路交换机。核心的电路交换机会选择一个空闲的电路来使用,然后它检查电路上的第一个分组,使用它的IP路由表项做出下一跳路由判断。如果空闲的输出电路存在,它将连接输入的电路和输出的电路。在这以后,电路交换机就不需要处理任何属于这个流的分组,所有后来的分组都在这个已建立的固定分配电路上进行传输。
电路创建过程穿过TCP交换云以跳跃状沿着路由路径持续进行,直到能建立从入口边界路由器到出口边界路由器的完整的路线。当分组到达时,出口边界路由器接收到来自电路的分组,决定它们的下一个跳跃点,然后通过分组交换网将它们往目的地发送。
TCP交换的关键技术
- 创建电路
在设计时可以使用隐式的信号在一个不活动的电路上接受第一个应用流分组来触发电路交换机转发分组并创建新电路。电路交换机使用软状态来监视链路的使用。 - 带宽分配
有两种分配一个峰值带宽给一个流的方法:
a.在边界路由器上分配好给定的带宽。
b.让应用流源使用显式的信号机制来通告所需的带宽。 - 应用流控制
分类器在接入边界路由器检测新应用流,通过活动流列表比较到达应用流的头部以确定是否已存在与该流相对应的电路,或者是否需要创建新的电路。分类器将应用流映射到相应的输出电路。 - 电路管理
一个电路在一段时间内保持不活动将会被删除。超时的电路需要立刻回收,当新应用流到达时这条电路就可被标记为替换一个新电路的可选之一。同时可以使用不同的替换策略,如使用抢占式最近最少使用算法(LRU)。 - 超时管理
为了避免空闲链路,应使用一个较短的超时值,同时要考虑TCP 的定时机制。 不活跃超时应大于RTT值,若超时小于RTT值将会产生较大的链路浪费。 - 链路合并
若几个应用在相同的两端主机上同时建立并行的TCP链路,这些并行的应用流可能浪费一定的链路带宽。因此可以让这些并行流共享一条链路。
《基于TCP交换的电路交换与分组交换融合方法》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- kudu_CM安装准备工作
Cloudera Manager简介: hadoop: https://yq.aliyun.com/articles/60759 ----------------------------------- ...
- 详解Object.create(null)
在Vue和Vuex的源码中,作者都使用了Object.create(null)来初始化一个新对象.为什么不用更简洁的{}呢? 在SegmentFault和Stack Overflow等开发者社区中也有 ...
- ACM-ICPC 2018 青岛赛区网络预赛 J. Press the Button(数学)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4056 题意:有一个按钮,时间倒计器和计数器,在时间[0,t]内, ...
- MFC、API、C++三者的区别
MFC(Microsoft Foundation Class)是微软的基础类库,只能用于Windows系统. API(Application Programming Interface)是应用程序编程 ...
- MySQL基础练习02---牛客网
目录 1. 从titles表中获取title并按照title分组 2.从titles表中获取title并按照title分组,重复的emp_no忽略 3 查找employees表 4 统计平均工资 5 ...
- CSS权重;慎用!important
初初接触样式的前端开发者在碰到样式覆盖时,最先选择的往往是!important. 但是这种做法不好,应该优先考虑从样式的级联属性或者位置来解决问题. 切记以下情况永远不要使用!important: 1 ...
- LinkedBlockingQueue 实现 生产者 消费者
转载:https://blog.csdn.net/sinat_36553913/article/details/79533606 Java中使用LinkedBlockingQueue实现生产者,消费者 ...
- 使用WinDbg内核调试[转]
Technorati 标签: windbg,内核调试 WINDOWS调试工具很强大,但是学习使用它们并不容易.特别对于驱动开发者使用的WinDbg和KD这两个内核调试器(CDB和NTSD是用户态调试器 ...
- Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to 'dlopen'的解决办法
在Clion中链接讯飞的语音库并传至树莓派上编译时,出现如下错误. undefined reference to `dlopen' undefined reference to `dlclose' u ...
- Django基础之form表单
1. form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时, 我们在好多场景下都需要对用户的输入做校验, 比如 ...