互联网随想(三) 光纤与电路交换
光纤的 “纤”,读 xian(先),第一声,而不是 qian(千)。
光纤之于通信,就像半导体之于计算机。光纤突破了通信的电子瓶颈,就像半导体集成电路突破了计算机的电子管瓶颈一样。
但本文不是赞美光纤的,本文为反复唏嘘。
分组交换最终取代电路交换的一大原因是电路交换浪费了宝贵的电子时隙,带宽利用率极低。分组交换依托排队论对时隙进行高效率统计复用,最终形成了互联网存储转发的现实。路由器,交换机等转发设备都是存储转发设备。
但交换节点和终端节点同质,同为集成电路驱动,同受摩尔定律制约。良好的胖端瘦网架构使互联网极具扩展性,快速成长的互联网使交换节点的负载指数上升。换句话说,随着接入终端的增加,带宽却没有同步增加,互联网越发不堪重负。
通过 Metcalfe 定律很好理解这一点。
网络价值与节点数量的平方成正比,Metcalfe 定律如是说。证明该定律非常简单,设节点数量为 N,将连接视为价值,其值为 N(N-1),N 越大,越接近 N^2。但连接以流量体现,即网络的总流量也与节点数量的平方成正比。将流量视作成本,这意味着,成本随价值同步增加。网络流量被集成电路驱动,受摩尔定律制约,摩尔定律曲线远没有 Metcalfe 定律曲线更陡峭。
为保持网络可扩展性,TCP/IP 胖端瘦网已使 “网络核心接入无关” 且无状态 IP 足够傻瓜,当接入成本近乎为零时,必须降低带宽成本。而带宽成本通过逻辑门驱动电脉冲体现,非常昂贵,不能和接入节点数量耦合。于是光纤来解题,全光通信没有一个逻辑门,于是网络核心将彻底摆脱摩尔定律。
光纤的发明解放了通信瓶颈,就像半导体解放了计算瓶颈一样。计算需要逻辑门,通信只需要光。
全光网络被认为是革命性的。以海量但数量固定的波长交换替换分组交换,一定是高尚的。交换节点不需要任何电子器件就能完成 Tbps 级交换,这种转变非常类似 “固定数量的进程中调度任意数量连接” 替换 “调度任意数量的每连接进程”,又一个 case 印证了倒换思想的正确性。
我非常清楚光学已热度不再,但我依然觉得光纤就像半导体一样具有革命性,之所以没像半导体促进计算机产业那样促进通信,是因为目前电子通信还不算太糟糕,分组交换网也没有预期的那样拥塞,远未触及摩尔定律约束的电子瓶颈。反观半导体之于计算机,要不是半导体,计算机要几间房子,跟锅炉房一样,肯定发展不起来。那时没有选择。
在光纤中可复用海量波长,而在电缆上只能时分复用任意数量分组,这是光纤和电缆的区别。波长数量是固定的,而分组数量不固定,按照波长选择路由,就具有了可扩展性。
摆两个视频:全光交换,OXC 光交换原理
光通信一下子就将负责计算的端和负责通信的网所依托的技术完全分开,消除了传输技术的电子瓶颈,摆脱了摩尔定律。
…
但事出必反复。人们非但没沿全光通信的大道一路走到黑,反而想将分组交换引入光通信,实现光分组交换。
全光网络波长交换实际上是电路交换,而提到电路交换,人们只会鄙视其早已过时。很少有人进一步思考分组交换的来由。如前文所述,电路交换浪费了电子时隙,发送一个电子载波脉冲成本非常高,高效利用每一个载波脉冲意义重大,分组交换来救场,统计复用成就了互联网。
但如果电子时隙取之不尽,用之不竭呢?
波长就相当于取之不尽,用之不竭的资源,在光通信时代,有必要用分组交换提高资源利用率吗?提高资源利用率必降低效率,如果每路通信都能零成本创建一条电路,谁还会用分组交换?
驱动分组交换的逻辑门电子过程才是低效和不可扩展的根源。分组交换是低效和不可扩展的原因,而非解决方案。
更有趣(其实一点都没趣,反而悲哀)的是,由于要在光域处理分组头,人们努力寻找或实现光域逻辑门,过程非常困难。比方说,为实现光分组存储转发,光分组要可被缓存,而光脉冲无法像电脉冲那样用锁存器,触发器这种元器件缓存起来,光域没有这种逻辑门组合,于是人们想出 “让光多走一段路” 这种 t = S/v 牛顿风格来实现延迟。
光信号本可直接通过,却偏要模仿电信号停一下,如果不能被缓存一下,就好像是光域相对于电域的缺陷,光域没有逻辑门,却偏要等效一个逻辑门。为解决电域的低效和不可扩展问题,却引入了电域的问题本身,绕了一大圈。
这让人想起 19 世纪英美的 红旗法案,明明汽车是个高效的交通工具,偏偏故意让它停下来,好让一切看起来和旧世界更和谐。
如本周上一篇文字,AIMD 本是为限制 Capacity-Seeking 贪婪性而引入,人们的思维定势引导人们即使 Capacity-Seeking 全转变成了 Application-Limited,却依然还要 AIMD 主导拥塞控制,不然就像少了什么一样。
人们天然认为分组交换相对于电路交换是进步,却忽略了背后因果。分组交换只是一个解决特定问题的方案,当问题消失后,方案自然就不再需要,所谓的进步也终成子虚乌有。
在全光通信中,这下好了,分组交换也没了。可能,也许,分组交换也好,AIMD 也要,只是过渡,甚至过客。
以上形而上迷思非工程实践,不涉及 “现实中铜线不会被光纤淘汰” 以及 “全光网络无法实现” 这种争论,如果有,谁说什么都对。
人们修建第一条高速公路的时候,肯定会有人想在一些特定的地方装上红绿灯,因为没有红绿灯的路太奇怪了。但红绿灯在普速路上是方法,但在高速公路上就成了问题。程序员看不起一体机,因为没有独立主机和显示器太奇怪了,而且总有各种理由,比如随时换显示器,散热好。AIMD 被视作理所当然,然后用 BBR 来优化它,却没人想等到带宽充盈到一定程度后取消它。分组交换深入身心,以至于全光通信时代依然还要做光分组交换…
浙江温州皮鞋湿,下雨进水不会胖。
相关文章:

互联网随想(三) 光纤与电路交换
光纤的 “纤”,读 xian(先),第一声,而不是 qian(千)。 光纤之于通信,就像半导体之于计算机。光纤突破了通信的电子瓶颈,就像半导体集成电路突破了计算机的电子管瓶颈一样。 但本文不是赞美光纤的,本文为反…...

electron之旅(二)react使用
首先使用react模板 我们这里使用的是vite和yarn yarn create vite #创建vite的react-js模板初始化依赖 yarn添加依赖 state(状态管理) yarn add redux react-reduxroutes(react路由) yarn add react-router-domelectron依赖 yarn add electron vite-plugin-electron cross-env…...

ChatGPT基础知识系列之Prompt
ChatGPT基础知识系列之Prompt 在 ChatGPT 中,用户可以输入任何问题或者话题,如天气、体育、新闻等等。系统将这个输入作为一个“提示”(prompt)输入到 GPT 模型中进行处理。GPT 模型会基于其学习到的语言规律和上下文知识,生成一个自然语言回答,并返回给用户。 例如,当…...

SpringBoot3 - Spring Security 6.0 Migration
Spring Security 6.0 Migration https://docs.spring.io/spring-security/reference/5.8/migration/servlet/config.html 最近在做SpringBoot2.x到3.0的升级。其中最主要的一部分是javax -> jakartapackageName的变更,另外一部分是对一些废弃/删除的类进行替换。…...

【新2023Q2模拟题JAVA】华为OD机试 - 最少停车数
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最少停车数 题目 特定大小的…...

《代码实例前端Vue》Security查询用户列表,用户新增
login.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>系统登录-超市订单管理系统</title><link rel"stylesheet" href"../css/style.css"><script type&qu…...

CANopenNode学习笔记(一)--- README翻译
CANopenNode学习笔记 文章目录CANopenNode学习笔记特性CANopen其他CANopenNode 流程图文件结构对象字典编辑器CANopenNode 是免费开源的CANopen协议栈。 CANopen是建立在CAN基础上的用于嵌入式控制系统的国际标准化(EN 50325-4) (CiA301)高层协议。有关CANopen的更多信息&#…...

关于Android 11、12和13服务保活问题
物联网环境,为了解决不同厂商、不同设备、不同网络情况下使用顺畅,同时也考虑到节约成本,缩小应用体积的好处,我们需要一个服务应用一直存在系统中,保活它以提供服务给其他客户端调用。 开机自启动,通过广播…...

Java 泛型 使用案例
参考资料 Java 基础 - 泛型机制详解路人甲-Java泛型专题 目录一. 通用Mapper1.1 实体类1.2 Mapper基类1.3 自定义接口1.4 抽象基类Service1.5 调用二. session和bean的获取一. 通用Mapper 1.1 实体类 ⏹ Accessors(chain true): 允许链式调用 import lombok.Data; import …...

进程与线程
文章目录什么是线程线程与进程的关系线程与进程的区别什么是线程 上一篇文章中我们介绍了什么进程,我们把进程比作一个工厂,那么线程就是工厂中的流水线。引入进程的目的就是为了实现多个任务并发执行,但是如果频繁的创建销毁进程࿰…...

骑友,怎么挑选适合自己的赛事
骑友,怎么挑选适合自己的赛事一、从场地、路况、天气,各个方面了解赛事的要求。二、看完赛事,要知道自己适合参加什么样的比赛。三、通过比赛成绩,对比自己的实力。四、综合考虑自己的经济能力,根据自己的经济能力选择…...

【Java 数据结构与算法】-遍历Map和Set的方式
作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Java 数据结构与算法】 文章目录一、遍历Map法一 先获取Map集合的全部key的set集合,遍历map的key的Set集合法二 把map的key和value打包成Set的key后的这个Set集合法…...

组件、套件、 中间件、插件
组件、套件、 中间件、插件 组件 位于框架最底层,是由重复的代码提取出来合并而成。组件的本质,是一件产品,独立性很强,组件的核心,是复用,与其它功能又有强依赖关系。 模块 在中台产品和非中台产品中&…...

自动化工具 pytest 内核测试平台落地初体验
测试平台,有人说它鸡肋,有人说它有用,有人说它轮子,众说纷纭,不如从自身出发,考虑是否要做测试平台: 第 1 阶段,用 Pythonrequests 写接口自动化。 第 2 阶段,选择 unit…...

Python 自动化指南(繁琐工作自动化)第二版:四、列表
原文:https://automatetheboringstuff.com/2e/chapter4/ 在开始认真编写程序之前,您需要理解的另一个主题是列表数据类型及其表亲元组。列表和元组可以包含多个值,这使得编写处理大量数据的程序更加容易。由于列表本身可以包含其他列表&#…...

大数据领域的发展及其对现实世界的价值
大数据已经成为全球各行业领域不可或缺的一部分,并且其应用不断涌现。尽管很多人最初对“大数据”这一术语表示怀疑和不信任,但大数据技术已经确立了稳定的发展方向。根据调研机构的预测,到2027年,全球大数据市场规模将达到1090亿…...

几种常见的架构模式
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址 如果访问不了Github,…...

flutter安装各种问题汇总
C:\Users\Administrator>flutter doctor -v Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source! [√] Flutter (Channel stable, 3.7.0, on Microsoft Windows [版本 10.0.19044.1826], locale zh-CN) • Flutte…...

网络传输层
目录传输层再谈端口号端口号范围划分认识知名端口号netstatpidofUDP协议UDP协议端格式UDP的特点面向数据报UDP的缓冲区UDP使用注意事项使用udp协议 的应用层协议其它TCP协议TCP协议段格式如何理解链接如何理解三次握手如何理解四次挥手概念TIME_WAIT/CLOSE_WAITTCP策略确认应答…...

linux内核启动分析(二)
文章目录1. set_task_stack_end_magic2.smp_setup_processor_id3. debug_objects_early_init4. cgroup_init_early4.1 init_cgroup_root4.1.1 init_cgroup_housekeeping4.2 cgroup_init_subsys5. local_irq_disable5.1 raw_irqs_disabled5.2 raw_local_irq_disable5.3 trace_ha…...

『EasyNotice』.NET开源消息通知组件——快速实现邮件/钉钉告警通知
📣读完这篇文章里你能收获到 傻瓜式扩展方法直接使用如何通过EasyNotice快速实现钉钉/邮件的通知发送感谢点赞收藏,避免下次找不到~ 文章目录一、EasyNotice1. 功能介绍2. 源码地址二、项目接入1. 发送邮件通知Step 1 : 安装包,通过Nuget安装…...

JVM垃圾回收算法
垃圾标记阶段 对象存活判断:在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC才会在执行垃圾回收时,…...

怎么看待ChatGPT封号这件事呢?
最近的ChatGPT大量封号,刷爆了全网,我的两个个人账号被封禁了,不知道大家最近有没有遇到相关的报错信息,要么就是检查你当前的浏览器配置,最后来一个access denied,要么直接就给你来一个当前的国家不支持。…...

八、交换技术原理
(一)交换机 1、交换机介绍 一种用于电(光)信号转发的网络设备,可以为接入交换机的任意两个网络节点提供独享的电信号通路。 工作于第二层的叫交换机,工作于第三层的叫第三层交换机,最常见的是…...

什么是DHCP?DHCP有什么用?(中科三方)
在IP网络中,每一个连接的设备都需要分配一个唯一的IP地址,才能实现和Internet上其他设备的互联。在一些终端规模较大的网络中,需要为每一个主机手工配置IP地址,以避免IP地址的重复,如果主机发生变更,还要去…...

算法设计-二分
一、有序和单调 二分本质上是一种更加智能的搜索状态空间的方式,他需要状态空间的状态呈现一种“有序的一维数组”的形式,然后再进行搜索。所以一开始的排序是无法避免的。 因为二分的写法问题,所以应当怎样排序也是有一定讲究的&…...

隧道技术基础
隧道技术基础基本概念端口转发应用层代理基本概念 攻击者通过边界主机进入内网,往往会利用它当跳板进行横向渗透,但现在的内部网络大多部署了很多安全设备,网络结构错综复杂,对于某些系统的访问会受到各种阻挠,这就需…...

卡尔曼滤波浅析
文章目录前言任务状态预测外部影响因素外部不确定性状态更新利用测量进一步修正状态合并两个高斯分布公式汇总图形化解释总结(readme)references前言 Kalman Filter算法,是一种递推预测滤波算法,算法中涉及到滤波,也涉…...

Eolink Apikit 创建/生成 API 文档
在 API 研发管理产品中,几乎所有的协作工作都是围绕着 API 文档进行的。 我们在接触了大量的客户后发现,采用 文档驱动 的协作模式会比先开发、后维护文档的方式更好,团队协作效率和产品质量都能得到提高。因此我们建议您尝试基于文档来进行工…...

2023年上半年系统分析师备考法则
截止3月30日,上海、北京等地都开始报名,部分省市已经截止报名,大家如果还没报名成功的赶紧报名,千万别错过了,另外就是别忘了缴费,缴费成功才是报名成功。 报名网址:https://bm.ruankao.org.cn…...