中间节点对传输协议行为的最小化固定假设可避免协议僵化。具体做法是:

  • 传输协议使用 TLV 格式自解释,避免采用固定报文头。

TLV 格式具有自解释特征,中间节点若要对其行为特征进行假设,处理起来会非常棘手且低效,从而不得不放弃深度解析。

固定的报文头对中间节点理解传输协议反而助力。一旦中间节点以固定的方式理解并假设传输协议,就与传输协议发生了耦合,后面传输协议升级时,中间节点必须同步升级自己的理解和假设,这便是协议僵化的根源。

协议僵化确实阻碍了 TCP 的升级,“僵化”是个贬义词,但它就一定不好吗?

没有中间节点和传输协议的耦合,NAT 就很难实现。 如果网关认不得端口,又如何做 NAT?如果中间节点不理解 TCP/UDP,针对业务的限速,整形又如何来做? 当然,有种说法是,所有涉及中间节点识别

传输层以上协议的任何行为的目的都怀有不良的恶意,但如果是善意呢?

这又是端到端之争。

如果快递没有安检,你可能会收到陌生人寄来的炭疽或者屎,但安检显然违反了端到端原则。

QUIC 尽可能将信息加密,中间节点再也无法识别并作出哪怕最弱的假设,从此 QUIC 的进化与中间节点完全无关,这完全避免了 QUIC 协议的僵化。好事还是坏事?

总之,TLV 会让解析变得顺畅,但没法预设,我建议端系统采用这种格式避免中间节点的预设。但中间节点则相反,处理传输层以下层协议,只有固定,定长格式才能便于快速处理以及硬件卸载。

QUIC 和 IPv6 代表了这两者,QUIC 让中间节点无能力处理,IPv6 让中间节点快速处理。

端到端协议首选TLV,尽可能加密就对了,让中间节点处理起来很麻烦很棘手就对了。
网络层以及以下层协议就应该定长,字段固定,便于转发节点硬件加速。
别的花活儿都是瞎几把扯淡故弄玄虚

浙江温州皮鞋湿,下雨进水不会胖。

协议僵化 or 协议僵化相关推荐

  1. 数据库和服务器什么协议,数据库服务器协议

    数据库服务器协议 内容精选 换一换 本章节适用于MRS 3.x之前版本.Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解.obs-connectorgeneric-jdbc-con ...

  2. Objective-C非正式协议与正式协议

    为什么80%的码农都做不了架构师?>>>    类别与类扩展的区别: ①类别中只能增加方法: ②是的,你没看错,类扩展不仅可以增加方法,还可以增加实例变量(或者合成属性),只是该实例 ...

  3. RIP协议与OSPF协议与BGP协议

    RIP协议: https://www.bilibili.com/video/BV19E411D78Q?p=54 RIP是一-种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单. ...

  4. 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf

    计算机网络实验教案(6)网络协议分析-IP协议3.pdf (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机网络实验> ...

  5. 基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器——《干饭聊天室》

    基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器--<干饭聊天室> 在这里首先感谢前端小伙伴飞鸟 前端技术请看一款基于React.C++,使用TCP/HTTP协 ...

  6. 网络协议 19 - RPC 协议:远在天边近在眼前

    [前五篇]系列文章传送门: 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HT ...

  7. 网络攻城狮怎么看待TCP/IP协议与UDP协议?

    在互联网中,存在着各种不同层次的协议,它们分别的功能也是不同的.但做为网络攻城狮,对这些协议的使用以及区分是工作的必备技能.那今天以网络攻城狮的角度来告诉大家攻城狮是怎么看待TCP/IP协议与UDP协 ...

  8. 文本协议与二进制协议

    感想随笔: 1.文本协议与二进制协议 个人理解: 1)文本协议是根据文本中出现某些字符来表达信息,如出现\n.<.{."等等,json xml等就是文本协议: 2)二进制协议是按照字节 ...

  9. 盘点路由协议之RIP协议及IGRP协议

    -border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-e ...

  10. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

最新文章

  1. 20年来最不靠谱的五大互联网预言
  2. (反射):获取一个类的父类和父类的泛型
  3. 如何debug web worker
  4. pythonwhile循环怎么修改数据类型_python基础--数据类型循环
  5. 浅谈智能电网的建设 软件开发
  6. 对于DSH算法损失函数的理解
  7. (转)oracle表分区详解
  8. 计算机前置usb应用,电脑前置usb和后置usb的区别
  9. 块层介绍 第一篇: bio层
  10. Dataformatstring属性设置(详解)
  11. 前端开发程序员的月薪到底有多高?
  12. flutter编译遇到unknown revision or path not in the working tree的错误
  13. 品牌生命周期和产品生命周期之间的关系
  14. 汽车喷漆车间风淋室八大参数TENAISU
  15. 【vscode】 远程:Unauthorized client refused: auth mismatch)
  16. android pixel 2,谷歌 Pixel 2 评测:目前最好的安卓手机
  17. 大于或小于100万,1000万,1亿,10亿,1000亿,万亿,亿亿,10亿亿,100亿亿上下的10个质数(素数)...
  18. java许愿墙_许愿墙 – javaee 项目实战(2)
  19. P110中 深拷贝与浅拷贝问题
  20. git clone之后修改了东西 推到远程库去

热门文章

  1. 考研英语复习五大计划表
  2. IT界 PK 投资界,那些令人心驰神往的公司食堂
  3. 操作系统–––成组链接法
  4. Tagtraum.Industries.beaTunes.v3.5.7.Incl.Keygen-NOY
  5. 『一起学AI』生成对抗网络(GAN)原理学习及实战开发
  6. 基于LMS算法的DFE判决反馈均衡器
  7. 小猫爬山(DFS+剪枝)
  8. 学习笔记之——李群与李代数的理解
  9. 赛诺菲巴斯德宣布建立专属mRNA疫苗卓越中心;​葛兰素史克单片双药艾滋病治疗药物多伟托在中国上市 | 医药健闻...
  10. 互联网提供的音频/视频服务类型