协议僵化 or 协议僵化
中间节点对传输协议行为的最小化固定假设可避免协议僵化。具体做法是:
- 传输协议使用 TLV 格式自解释,避免采用固定报文头。
TLV 格式具有自解释特征,中间节点若要对其行为特征进行假设,处理起来会非常棘手且低效,从而不得不放弃深度解析。
固定的报文头对中间节点理解传输协议反而助力。一旦中间节点以固定的方式理解并假设传输协议,就与传输协议发生了耦合,后面传输协议升级时,中间节点必须同步升级自己的理解和假设,这便是协议僵化的根源。
协议僵化确实阻碍了 TCP 的升级,“僵化”是个贬义词,但它就一定不好吗?
没有中间节点和传输协议的耦合,NAT 就很难实现。 如果网关认不得端口,又如何做 NAT?如果中间节点不理解 TCP/UDP,针对业务的限速,整形又如何来做? 当然,有种说法是,所有涉及中间节点识别
传输层以上协议的任何行为的目的都怀有不良的恶意,但如果是善意呢?
这又是端到端之争。
如果快递没有安检,你可能会收到陌生人寄来的炭疽或者屎,但安检显然违反了端到端原则。
QUIC 尽可能将信息加密,中间节点再也无法识别并作出哪怕最弱的假设,从此 QUIC 的进化与中间节点完全无关,这完全避免了 QUIC 协议的僵化。好事还是坏事?
总之,TLV 会让解析变得顺畅,但没法预设,我建议端系统采用这种格式避免中间节点的预设。但中间节点则相反,处理传输层以下层协议,只有固定,定长格式才能便于快速处理以及硬件卸载。
QUIC 和 IPv6 代表了这两者,QUIC 让中间节点无能力处理,IPv6 让中间节点快速处理。
端到端协议首选TLV,尽可能加密就对了,让中间节点处理起来很麻烦很棘手就对了。
网络层以及以下层协议就应该定长,字段固定,便于转发节点硬件加速。
别的花活儿都是瞎几把扯淡故弄玄虚
浙江温州皮鞋湿,下雨进水不会胖。
协议僵化 or 协议僵化相关推荐
- 数据库和服务器什么协议,数据库服务器协议
数据库服务器协议 内容精选 换一换 本章节适用于MRS 3.x之前版本.Loader支持以下多种连接,每种连接的配置介绍可根据本章节内容了解.obs-connectorgeneric-jdbc-con ...
- Objective-C非正式协议与正式协议
为什么80%的码农都做不了架构师?>>> 类别与类扩展的区别: ①类别中只能增加方法: ②是的,你没看错,类扩展不仅可以增加方法,还可以增加实例变量(或者合成属性),只是该实例 ...
- RIP协议与OSPF协议与BGP协议
RIP协议: https://www.bilibili.com/video/BV19E411D78Q?p=54 RIP是一-种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单. ...
- 计算机网络协议教案,计算机网络实验教案(6)网络协议分析-IP协议3.pdf
计算机网络实验教案(6)网络协议分析-IP协议3.pdf (2页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机网络实验> ...
- 基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器——《干饭聊天室》
基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器--<干饭聊天室> 在这里首先感谢前端小伙伴飞鸟 前端技术请看一款基于React.C++,使用TCP/HTTP协 ...
- 网络协议 19 - RPC 协议:远在天边近在眼前
[前五篇]系列文章传送门: 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HT ...
- 网络攻城狮怎么看待TCP/IP协议与UDP协议?
在互联网中,存在着各种不同层次的协议,它们分别的功能也是不同的.但做为网络攻城狮,对这些协议的使用以及区分是工作的必备技能.那今天以网络攻城狮的角度来告诉大家攻城狮是怎么看待TCP/IP协议与UDP协 ...
- 文本协议与二进制协议
感想随笔: 1.文本协议与二进制协议 个人理解: 1)文本协议是根据文本中出现某些字符来表达信息,如出现\n.<.{."等等,json xml等就是文本协议: 2)二进制协议是按照字节 ...
- 盘点路由协议之RIP协议及IGRP协议
-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-e ...
- ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御
ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3 ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...
最新文章
- 20年来最不靠谱的五大互联网预言
- (反射):获取一个类的父类和父类的泛型
- 如何debug web worker
- pythonwhile循环怎么修改数据类型_python基础--数据类型循环
- 浅谈智能电网的建设 软件开发
- 对于DSH算法损失函数的理解
- (转)oracle表分区详解
- 计算机前置usb应用,电脑前置usb和后置usb的区别
- 块层介绍 第一篇: bio层
- Dataformatstring属性设置(详解)
- 前端开发程序员的月薪到底有多高?
- flutter编译遇到unknown revision or path not in the working tree的错误
- 品牌生命周期和产品生命周期之间的关系
- 汽车喷漆车间风淋室八大参数TENAISU
- 【vscode】 远程:Unauthorized client refused: auth mismatch)
- android pixel 2,谷歌 Pixel 2 评测:目前最好的安卓手机
- 大于或小于100万,1000万,1亿,10亿,1000亿,万亿,亿亿,10亿亿,100亿亿上下的10个质数(素数)...
- java许愿墙_许愿墙 – javaee 项目实战(2)
- P110中 深拷贝与浅拷贝问题
- git clone之后修改了东西 推到远程库去
热门文章
- 考研英语复习五大计划表
- IT界 PK 投资界,那些令人心驰神往的公司食堂
- 操作系统–––成组链接法
- Tagtraum.Industries.beaTunes.v3.5.7.Incl.Keygen-NOY
- 『一起学AI』生成对抗网络(GAN)原理学习及实战开发
- 基于LMS算法的DFE判决反馈均衡器
- 小猫爬山(DFS+剪枝)
- 学习笔记之——李群与李代数的理解
- 赛诺菲巴斯德宣布建立专属mRNA疫苗卓越中心;​葛兰素史克单片双药艾滋病治疗药物多伟托在中国上市 | 医药健闻...
- 互联网提供的音频/视频服务类型