原文地址:www.techguruhub.net/2021/05/iso…
原文作者:www.techguruhub.net/author/tech…
发布时间:2021年5月13日
所谓 "堆叠 "协议模型是网络架构中最基本的技术之一。该模型创建于20世纪70年代末,是创建一般网络原则和方法的更大尝试的一部分。开放系统互连的基本参考模型,也被称为开放系统互连参考模型或 "OSI模型",是在1983年CCITT和ISO结合他们的努力建立的。这个架构提供了一个七层的抽象网络模型,描述了整个网络功能以及网络的各个组成部分的标准行为。
ISO OSI参考模型
在该模型中,功能被分为两个部分。
媒体层通过物理通信媒体处理二进制数据编码,数据连接层识别两个相互连接的 "节点 "所使用的数据帧,网络层处理多节点网络,包括管理附加主机之间数据传输的寻址和路由行为。
服务器层关注终端主机的作用。数据分割成数据包、端到端流量管理、数据包错误恢复和多路复用都是由传输层执行。会话层、表现层和应用本身是OSI模型中传输层之上的层。
内部节点只使用网络层对每个数据包做出转发决定,这些数据包在网络模型中被管理为一系列内部节点和一组连接的主机,而主机使用传输层来控制相互作用的主机之间的数据流。
这个模型意味着节点和主机的角色有明确的区别,也意味着它们执行功能所需的数据有明确的区别。节点不需要知道传输层的设置,而主机不需要知道网络层的设置(图2)。
图2:主机和节点的功能
网络层功能被编码为互联网协议套件中数据包的IP头,而传输层功能被编码为传输头,通常是TCP或UDP头(尽管其他头也由IP定义)。根据互联网架构模型,一个数据包应该是可以在互联网上传递的,而不考虑添加到它的传输头。
因此,你在IP数据包头的IP协议区输入的重要性应该丝毫不重要。它与网络的关系不大!。
请注意,IPv6中的扩展头字段是完全一样的。然而,不管出于什么原因,IPv6把鸡蛋打乱了,一些扩展头,如Hop-by-Hop和Routing扩展头,是针对网络组件的。另一方面,大多数的扩展头似乎都是针对目标主机的。如果扩展头只被指定为主机(或目的地)的扩展,那么IPv6网络应该忽略它们,而如果它们是为了网络的选择,主机应该忽略它们。也许这就是哲学和现实不尽相同的地方之一。
从严格意义上讲,IPv4包头中的协议区本来就不可能包含在IPv4包头中。原则上,网络对传输主机使用的传输协议并不关心。这也确保了如果两个传输主机想对网络隐藏传输协议的控制设置,网络可能不会受到丝毫影响。
在今天的公共互联网中,传输协议头对网络的可用性仍然非常重要。实际上,不仅传输协议要能被网络访问,而且主机想要的传输协议对网络也很重要。这是因为当今网络的许多组件不仅要看它们所传输的数据包的传输头,而是要依赖传输头中包含的细节。网络地址转换器、等价多路径负载平衡器和服务质量策略引擎等,都是这种依赖性的例子。为了对单一传输流中的所有数据包的处理做出明确的判断,这些网络功能对IP数据包中传输头的可见性做出了假设。通常,这些网络功能更进一步,只处理带有众所周知的传输头的数据包(通常是TCP和UDP),而忽略其他一切。这也走得太远了,今天的经验法则是,带有TCP传输头的未破碎的IP数据包,其中一端使用443端口,而带有UDP传输头的未破碎的IP数据包,其中一端使用53端口,将其数据有效载荷带到预期目标的概率更高。任何试图扩大这种极其有限的数据包特征范围的行为都会引起基于网络的连接中断的风险。
加密的传输头
如果在公共互联网上使用新的传输协议是一种自我限制的行为,为什么我们还在探索加密传输协议的可能性,使所有的传输头不为网络所见?
"爱德华-斯诺登 "是一种可能性。除了这些关于广泛监控的发现[RFC 7624],互联网工程任务组(IETF)采取了 "以此类推 "的方式,得出了 "普遍监控是一种攻击 "的结论[RFC 7258]。对这种欺骗性攻击的一般解决方案是提高互联网流量的保护量,以使基于网络的监控更加困难。这个IETF的答案不仅包括尽可能使用TLS来加密互联网上的会话有效载荷,以及改变设备行为配置文件,使其成为默认操作,而且还包括互联网通信的其他领域,其中信任模型的破坏被认为是一个问题。
DNS协议的行为,以及传输协议头的传输,都被纳入了这个IETF的普遍混淆工作。我们已经从主机无法执行加密功能的时代走过了很长一段路。强有力的加密不再是一种限制使用的奢侈选择,而是现在任何消费者都可以公平地计划使用的最低要求。如果目标是限制互联网通信系统所有方面的知识泄漏,控制元数据与数据本身一样关键。在传输头字段中使用匿名性将有助于保护用户的隐私,并防止网络设备的这种攻击或数据包滥用[RFC 8404]。
然而,我认为,隐私问题只是故事的一个方面。尽管从网络中掩盖主机功能是今天互联网生态系统的某些部分通过传输头加密积极遵循的方向,但它可能不是这些加密互联网流量的努力的核心,它发挥了对安全状态以相对不规范的方式运行的共同恐惧。
目前还不清楚这里的目标是什么,像许多相互依存的复杂结构一样,故意将机制的一个部分与另一个部分掩盖起来,有好处也有坏处。RFC 8546,标题为 "网络协议的线图",最近由IAB发布(2019年4月)。按照今天的RFC指南,它是一篇简短的文字(9页),但简短并不总是意味着透明。这篇论文似乎把它想表达的任何意思都掩盖在一层厚厚的模糊术语中,以至于它没能说出任何有用的内容 IAB的文件似乎是由QUIC工作组中关于QUIC传输协议中可见自旋位的使用的长时间辩论引起的(见以前关于这个问题的文章),我怀疑它开始是为了论证某种传输行为对网络的可见性,但是IAB对这个问题的预测最终没有提供什么解决方案。IAB并不以多产的评论家著称,但任何促使IAB回答的问题,无论回答多么晦涩难懂,都表明该主题具有普遍意义,而不是隐藏在特定程序设计深处的相当深奥的争吵。
由于加密的传输头是一个运输问题,我们很正常地想知道IETF的传输区是否能比IAB做得更好,对问题进行简单而详细的解释。互联网工程任务组的传输区工作组已经完成了对这一问题的分析,互联网草案 "关于传输头保密性、网络运行和互联网传输协议的演变的考虑 "现在已经进入RFC编辑队列。
"根据该文件的介绍,"本文讨论了当网络流量使用带有加密传输头的协议时的潜在影响。它提出了在开发新的传输协议或功能时需要思考的问题"。
这篇论文似乎是试图包含一个比之前IAB的努力更现实的关于头加密的评论。
很明显,49个字的这篇扩展评论不会让人很快读完,但它能否提高讨论要点的一致性?
该文件一开始就为网络使用报头内容提出了几个理由。在这种情况下,他们引用了链接聚合的条件和数据包重新排序的问题。为了获得比从源和目的IP地址对获得的更细化的流量图像,网络通常可以向下窥视到传输头。对于IPv6流量的名称,它是IPv4的代理。(尽管IPv6流量标签字段的预期功能如此混乱,但无论如何也很难看出IPv6流量标签字段有什么用处!) 在 "运行质量 "的幌子下,该文件提到了旨在造成选择性流量中断的差异化服务尝试(这个 "质量 "标签在我看来总是有一种奥威尔式的内涵,更诚实的标签应该是 "选择性服务降级",甚至只是 "运载站服务")。该文件还列出了网络运营商可以利用传输级数据进行的不同类型的网络分析,如流量概况分析、延迟和抖动以及丢包。另一方面,该文件给我的印象是提供了一个可疑的理由集合。它让我想起了一个语音电话运营商为其窃听电话辩护,声称所收集的情报,或者换句话说,人们通过电话互相做什么的细节,可能会被用来改善电话网络。该文件还援引了 "可用性 "的模糊定义,认为如果网络运营商不再被允许窃听活动会话的传输参数,他们运营稳定网络的能力将以某种未指明的方式受到损害。
显然,本文提出的理由没有一个能经得起近距离的检验。
在其审查中,它经常倾向于采用面向隐私的方法。另一方面,隐私的观点似乎只是为材料和运输之间更重大的意见冲突提供了一个隐含的理由。在很大程度上,从应用的角度来看,问题在于网络运营商试图通过修改传输头来进行 "流量梳理",导致的结果无非是对应用数据流造成伤害,导致网络的传输效率降低。而在这里,我们可以寻找到当今互联网中网络和主机之间的真正问题:以网络服务一致性的名义,利用网络有选择地降低传输效率。
干扰传输协议
首先,我们应该考虑互联网上的主机和网络之间存在的冲突。
在电话的世界里,网络供应商负责所有的流量。你可以保留一个能够通过实时语音对话的虚拟电路,或者在网络的两个端点之间保留一个固定容量的通道。如果你选择了这些平台之一,你就不能比合同规定的速度更快,因为如果你走得慢,你就不能释放出流行的容量给别人使用。显然,网络为更高容量的租赁支付了额外费用。随着分组网络的引入,这种情况大部分得到了改善。由于网络上几乎没有合规性,不同的应用程序(或流量)争夺相同的通信能力。对于希望管理向客户分配相互的一般通信服务的网络来说,存在着挑战。
这是20世纪90年代和21世纪互联网上关于 "服务质量"(或QoS)的大量研究的推动力。网络供应商决定为某些客户和流量配置文件提供 "更好的标准 "服务(无疑是有偿的)。然而,如果一个网络有固定的规模,给某些客户更多的网络资本,必然意味着给其他人更少的资本。尽管网络可能会以各种方式打断对话会话,使其进行得更慢,但使通信会话进行得更快则更加困难(或许在某些情况下更难)。这意味着,如果你给一种交通流以特殊考虑,你可能会使所有其他的交通流走得更慢 其目的是为那些应该被优先考虑的会话释放一些网络带宽,以延长其发送窗口,填补这一新释放的空间。所谓的 "性能增强代理 "并不能真正使所选择的TCP会话移动得更快。即使如此,他们还是能够减慢其他TCP会话的速度,为所选的会话释放一些带宽,以提供较低的数据包故障可能性,从而拥有更好的数据吞吐量限制。丢弃数据包是节制会话的一种方法。改变TCP控制参数是一个更微妙但同样强大的过程。如果提供的TCP窗口大小参数减少,发送方可以很容易地节流其发送速率。
显然,应用程序并没有把网络对活跃的TCP会话的这种有选择的节流看作是一种同情的姿态,而且从设备规模上看,已经有了两个大的反应。首先,一种新的拥堵管理算法已经被实施,它不太容易受到数据包丢失的影响,而且对跨网络路由的端到端带宽延迟产品的改进更加敏感。这就是BBR TCP控制协议,它是TCP的一个现代发送方控制算法。然而,BBR也容易受到路径上TCP窗口大小滥用的影响。加密的传输头是保护会话免受这种网络入侵的一个重要目标。这是第二个答案,它混淆了数据包中TCP控制细节的位置。
如前所述,你无法从公共互联网上的IP数据包中删除透明的传输头,即使对TCP头进行加密,也几乎肯定会导致同样的网络放弃答案。然而,主机可以选择无视这些传输头选项。尽管可见的传输头不能被删除,但它可能会被主机弄得毫无用处。
一个 "假的 "外部TCP包装器可能被用作网络的炮灰,这些网络想要窥视传输并利用会话设置,同时在加密的有效载荷中覆盖实际的TCP访问头。除了观察到TCP终端主机对其窗口参数的滥用没有反应外,不会有任何可见的网络特征来表明这种情况的发生。
然而,这种方法的麻烦在于,现在的程序不仅试图从插手的网络中获得对传输会话参数的控制权,而且还试图控制应用程序所在的服务器。理论上,程序可以使用 "原始IP "接口进入平台的I/O程序,但在现实中,这在已实施的系统中几乎是不可能的。在制造过程中使用的平台有一种倾向,即对应用程序持怀疑态度。鉴于勒索软件的盛行,网络上这种程度的偏执很可能是合理的)。禁用平台处理传输协议的所有方面,并将传输协议的所有权从内核转移到设备空间是一项艰巨的任务。
因此,采用QUIC的策略是有意义的,其中shim包装器使用UDP作为可见的传输头,并将TCP头驱动到IP包的加密有效载荷中。在这种情况下,UDP类似于最佳,因为它没有传输控制,只使用本地端口号。由于它是一个在太多方面使用TLS的UDP会话,QUIC在网络上看来是一个使用类似TLS会话加密的UDP会话。由于只有QUIC传输 "两端 "的两个应用程序会看到端到端加密的UDP有效载荷中编码的端到端传输控制参数,因此端到端TCP流量控制现在是真正的端到端流量。主机平台对UDP数据包的控制是最小的,然后方案被赋予对会话传输活动的完全控制。
传输与内容
也许向不透明传输头的转变反映的不仅仅是应用程序需要有更安全的自主权力。QUIC的变化可能被视为服务提供商对另一轮非常熟悉的旧游戏的报复,网络运营商通过挟持信息流量向内容提供商征收费用,或者,正如它被称为关于 "网络中立性 "的角力。
有几次,网络供应商出台政策,对那些他们说以任何方式 "不公平 "地使用其网络的流量类型进行节流。所有这一切的模糊性更可能是由于运营商的基本意图,即以一种简单的敲诈方式向内容发行商勒索运输费。"我的网络,我的一套准则。你,客户,才是付钱的人!"
我认为,这个市场上的许多传输商认为他们是受害者,因为他们让内容提供商拿走了所有的利润。
为了夺回他们丢失的任何收入来源,他们正在寻求通过向内容产业的巨头施压,要求他们补偿公平的传输成本,从而夺回 "平等份额 "的收入。另一方面,如果敲诈压力是通过操纵通过传输网络的流量的传输控制参数来实施的(或者,换句话说,挟持流量),那么明显的反应是将传输控制与内容一起加密,以防止某些即时的流量配置文件操纵。而这也许是一个更有说服力的论据,说明为什么QUIC如此相关。
如果传输和服务之间的冲突是一场争夺首要地位的角逐,那么似乎内容方面的人正在赢得优势。内容商通过在协议堆栈的主机部分的任何层次上进行加密,甚至在传输层上进行加密,从而使传输商能够有选择地区别对待,并使内容商相互对立,从而拒绝向传输商提供信息。如果网络的能力被限制在完全加密的UDP数据包流上,一个数据流可能看起来与另一个相同,而有选择的歧视将是不可能的。如果这还不够,填充和故意的数据包差异将使任何流量分析的努力变得模糊。
然而,当我说 "东西 "时,我真正的意思是 "软件",当我说 "应用程序 "时,我真正的意思是 "浏览器",因为我真正在谈论的是Chrome浏览器,而Chrome浏览器,我指的是谷歌。
手机流量在市场上的巨大主导地位,以及安卓系统在移动设备领域的巨大主导地位,对这一领域产生了重大影响。鉴于谷歌对所有移动设备的固有优势,以及这个房间里的大多数浏览器平台,很难看到该公司如何在这场战斗中失败。然而,如果谷歌在这场战斗中击败了马车公司,这将是商店的结束,这一点值得怀疑。马车行业极有可能跟随传统印刷媒体的步伐,去找政治家,认为谷歌破坏了提供国家通信基础设施的商业模式,损害了国家利益,需要政治干预来恢复市场的某种平衡,让马车市场成为一种可行的选择。换句话说,由于谷歌实际上已经失去了剩余的包含价值的运载业务,它现在可以对运载运营商进行补偿以恢复其盈利能力。
加密和数据泄露的技术层面,以及所有行业对不同商业模式可行性的考虑,在这一刻都踏出了大门,取而代之的是一众律师和政客。当我们穿过参与者离开国家市场的无数模糊的尝试,我们可以专注于真正的问题。"什么是传输和内容之间可维持的商业合作?"
在这样一个充满政治色彩的环境下,我们的选择要么是由不同的商业行为者进行谈判,找到一个他们都能接受的协议,要么是由政策制定者制定一个几乎肯定会让所有人都不满意的结果。
无论结果如何,在接下来的几年里,看到这种情况的发展应该是很有趣的。记得带爆米花。