简介

  在论文《Is IP going to take over the world (of communications)?》中作者对IP相关的一些说法(假设)提出了质疑,并得出结论:虽然分组交换IP(packet-switched IP)会继续主导网络边缘的服务,但网络核心将会使用光电路交换作为提供服务的平台。在论文《基于TCP交换的电路交换与分组交换融合方法》中介绍了一种融合电路交换与分组交换的基于TCP交换的方法。

TCP交换需要考虑的问题

  1. 电路状态管理
    电路交换要求在数据传输前建立电路且保持它们的相关的状态。流的数目和增减的速度在使用软状态的简单硬件中很容易处理。在大容量的交换机中依然可以利用这一特性来处理。
  2. 额外信号花费
    对电路进行管理时为了建立和撤消电路,交换机需要通过交互信号的方式来完成这项任务。使用硬或软状态是信号复杂性和信号花费之间的折中。
  3. 带宽的浪费
    分配固定带宽将会浪费链路的容量,若使用较小电路带宽值将增加需要保持的状态数目,增加了交换机的处理要求。
  4. 拥塞控制
    如果在电路交换中电路处于忙状态则新电路的请求不能被实时处理,除非有一条电路空闲。但是平均来说它们和分组交换流有相同响应时间。

TCP交换

  TCP交换是基于IP交换之上,它将每个应用流映射到核心电路的一个轻负载电路上。它通过应用流来触发建立快速轻量级电路。边缘网络的分组交换部分保持不变,核心网络的电路交换部分使用简单信号机制来创建和删除相关链路。核心的电路交换独立于边缘的分组网络而成为 TCP交换云。从应用流第一个到达的分组触发边界路由器去创建一条新的电路,是一个固定分配的电路。TCP交换使用软状态保持电路,由软状态来管理并在超时后删除该电路。

  当边界路由器检测到一个应用流的第一个数据包时,它检查 IP包的包头信息,由一个通常的转发路由来决定输出的电路交换链路。接着边界路由器检查输出链路上一条空闲的电路。如果一条空闲链路已经存在,边界路由器开始使用它,传递分组给TCP交换云的第一个核心电路交换机。如果没有空闲的电路,将缓存这些分组直到有一条空闲电路。
  如果在输出链路上顺利地建立了电路,分组被转发到下一跳电路交换机。核心的电路交换机会选择一个空闲的电路来使用,然后它检查电路上的第一个分组,使用它的IP路由表项做出下一跳路由判断。如果空闲的输出电路存在,它将连接输入的电路和输出的电路。在这以后,电路交换机就不需要处理任何属于这个流的分组,所有后来的分组都在这个已建立的固定分配电路上进行传输。
  电路创建过程穿过TCP交换云以跳跃状沿着路由路径持续进行,直到能建立从入口边界路由器到出口边界路由器的完整的路线。当分组到达时,出口边界路由器接收到来自电路的分组,决定它们的下一个跳跃点,然后通过分组交换网将它们往目的地发送。

TCP交换的关键技术

  1. 创建电路
    在设计时可以使用隐式的信号在一个不活动的电路上接受第一个应用流分组来触发电路交换机转发分组并创建新电路。电路交换机使用软状态来监视链路的使用。
  2. 带宽分配
    有两种分配一个峰值带宽给一个流的方法:
    a.在边界路由器上分配好给定的带宽。
    b.让应用流源使用显式的信号机制来通告所需的带宽。
  3. 应用流控制
    分类器在接入边界路由器检测新应用流,通过活动流列表比较到达应用流的头部以确定是否已存在与该流相对应的电路,或者是否需要创建新的电路。分类器将应用流映射到相应的输出电路。
  4. 电路管理
    一个电路在一段时间内保持不活动将会被删除。超时的电路需要立刻回收,当新应用流到达时这条电路就可被标记为替换一个新电路的可选之一。同时可以使用不同的替换策略,如使用抢占式最近最少使用算法(LRU)。
  5. 超时管理
    为了避免空闲链路,应使用一个较短的超时值,同时要考虑TCP 的定时机制。 不活跃超时应大于RTT值,若超时小于RTT值将会产生较大的链路浪费。
  6. 链路合并
    若几个应用在相同的两端主机上同时建立并行的TCP链路,这些并行的应用流可能浪费一定的链路带宽。因此可以让这些并行流共享一条链路。

最新文章

  1. java--面向对象---访问属性
  2. myBatis foreach详解【转】
  3. 清空文件下的SVN控制文件
  4. WCF入门(12)
  5. std::thread
  6. js中的编码与解码
  7. Python SqlAlchemy使用方法
  8. 解决Deprecated: preg_replace(): The /e modifier is deprecated, use
  9. initMethod 和 afterPropertiesSet 以及 AwareMethod方法的执行时机
  10. FileStream读写文件流
  11. java中怎么终止一个线程的执行----个人学习心得
  12. javascript日历插件
  13. solrcloud集群部署
  14. Linux_系统管理_网络配置_命令行配置网络
  15. MindFusion 中节点关键路径的遍历
  16. 三维拓扑排序好题hdu3231
  17. H: Dave的组合数组(二分法)
  18. 配置samba文件服务器
  19. 将 LDAP 目录用于 Samba 认证
  20. 解决IIS7虚拟目录出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题

热门文章

  1. vs调试代码 提示 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。
  2. Java HashMap实现原理分析
  3. luogu SP8093 后缀自动机+树状数组+dfs序
  4. HGOI 20191108 题解
  5. 线程的interrupt()
  6. How to do Deep Learning on Graphs with Graph Convolutional Networks
  7. MySQL单机安装
  8. openfalcon架构及相关服务配置详解(转)
  9. uni-app 的更新及碰到的问题
  10. mongodb 的云数据库产品 mlab 的使用