当前位置: 首页 > news >正文

计算机网络自顶向下方法39——网络层 中间盒 互联网架构原则(IP沙漏 端到端原则)

互联网架构哲学:端到端原则、IP沙漏与中间盒的现实挑战

本文将深入解析互联网最初的设计哲学、其简洁优美的核心模型,以及现实业务需求如何催生了架构上的“妥协”——中间盒,并引发了持续的张力。

一、互联网的沙漏模型:以IP为核心的简洁之美

互联网的体系结构常被描绘成一个沙漏,其最核心、最狭窄的部分就是IP层

1. 沙漏模型的核心思想

  • 窄腰:IP协议作为互联网的“腰”,是体系结构中唯一一个所有网络都必须实现和遵守的协议

  • 上层多样性:在IP之上,可以承载各种各样、不断创新的传输层和应用层协议

  • 下层多样性:在IP之下,可以包容任何现有的和未来的物理网络技术(以太网、Wi-Fi、蜂窝网络、卫星链路等)。

2. 沙漏模型的巨大优势

  • 互联互通:任何支持IP的网络都可以接入全球互联网,实现全球范围的通信。

  • 持续创新:在应用层和链路层的创新可以独立、快速地进行,而无需修改核心的IP层。例如,开发新的视频流应用无需等待路由器升级。

  • 鲁棒性和简单性:网络核心(路由器)功能极其简单——只需尽力而为地转发IP包,复杂性被推到了网络边缘(端系统)。

二、端到端原则:互联网的“灵魂”

端到端原则是对沙漏模型设计思想的进一步深化和哲学总结。

1. 核心论点
某些功能(如可靠性、安全性、排序)最好、最正确地在通信的端点实现,而不是在网络中间节点实现。

2. 经典论据:可靠文件传输

  • 假设网络中间节点(路由器)提供了可靠性保障(如确认和重传)。

  • 然而,错误可能发生在任何地方:源主机的磁盘、目的主机的内存、操作系统缓冲区等等。

  • 因此,无论如何,最终仍需在端点进行端到端的校验以确保文件的完整无误。在网络中间提供可靠性保障变成了冗余的、甚至有害的,因为它增加了复杂性,却无法提供真正的端到端保证。

3. 端到端原则的优势

  • 保持核心简单:网络中间设备无需维护复杂的连接状态,实现了互联网的无状态核心,使其极具扩展性和鲁棒性。

  • 支持创新:新的应用可以自行决定在端点实现所需的功能,而无需征得网络运营商的同意或支持。

三、中间盒:对原则的现实“背叛”

尽管端到端原则非常优美,但现实中的商业需求、安全和管理需求催生了大量部署在网络中间的设备,即中间盒

1. 什么是中间盒?
中间盒是部署在网络路径中,除了简单的IP路由和转发之外,还执行其他功能的网络设备

2. 常见的中间盒类型

  • NAT:在私有网络和公共互联网边界修改IP地址和端口,解决了IPv4地址短缺,但破坏了端到端寻址。

  • 防火墙:根据安全策略过滤流量,保护内部网络,但阻止了端到端的直接连接。

  • 入侵检测/防御系统:深度检查包内容以发现攻击,可能涉及隐私问题。

  • 负载均衡器:将流量分发到多个服务器,提高了可扩展性和可靠性。

  • Web缓存/代理:缓存常用内容,减少延迟和带宽消耗。

  • ** parental control **:过滤特定内容。

3. 中间盒带来的问题

  • 破坏端到端原则:它们使得网络不再是“透明”的比特管道,端点之间的通信变得不纯粹。

  • 复杂性增加:网络变得难以诊断和管理,出现了“中间盒困境”——数据包被静默丢弃,却很难知道是哪个中间盒、为何丢弃。

  • 阻碍创新:特别是P2P应用,因为NAT和防火墙的存在,建立直接连接变得异常困难。

  • 安全与隐私的权衡:虽然防火墙提供了安全,但深度包检测也引发了隐私担忧。

四、原则与现实:持续的张力
端到端原则的理想世界充满中间盒的现实世界
网络角色透明的比特管道智能的、可管理的服务提供者
复杂性位置边缘核心与边缘
连接性任意端到端连接受控的连接(常被NAT/防火墙限制)
创新焦点应用创新网络服务与应用创新并存
价值取向简洁、开放、通用安全、管理、性能、盈利

未来的方向:
这场原则与现实之间的拉锯战仍在继续。新的技术和架构试图在其中寻找平衡:

  • IPv6:通过巨大的地址空间,旨在消除对NAT的需求,在一定程度上向端到端原则回归。

  • SDN:通过集中控制和管理,试图让中间盒的行为更加透明和可编程。

  • 零信任网络:安全模型不再依赖固定的网络边界(防火墙),而是认为威胁无处不在,每个访问请求都必须经过严格认证和授权,这某种意义上是一种端到端安全思想的回归。

总结

互联网的架构是一场优雅的理想实用的现实之间持续不断的对话。

  • IP沙漏模型端到端原则代表了其理想的灵魂:一个简单、通用、开放和鼓励创新的平台。

  • 中间盒代表了其现实的骨骼:为了满足性能、安全、管理和商业需求而不得不做出的妥协和演化。

理解这两者之间的张力,是理解互联网过去、现在以及未来的关键。

http://www.dtcms.com/a/585769.html

相关文章:

  • 广州有做虚拟货币网站视频创作用什么软件
  • wap网站和app开发正邦集团招聘
  • RV1126 NO.43:OPENCV形态学基础之二:腐蚀
  • 算法学习 24 使用集合解决问题
  • Java基础——集合进阶3
  • Ascend C 编程模型揭秘:深入理解核函数与任务并行机制
  • 算法题——002
  • 佛山微信网站开发易语言网站开发教程
  • 从零搭建PyTorch计算机视觉模型
  • 培训课程网站建设淮阳 网站建设
  • 服务器为何成为网络攻击的“重灾区“?
  • Linux rcu机制
  • ES 总结
  • j集团公司的网站建设石家庄百度推广优化排名
  • k8s-node-NotReady后如何保证服务可用
  • 5-GGML:看一下CUDA加法算子!
  • 做网站优化需要做哪些事项wordpress圆圈特效
  • 濮阳网站建设费用网站怎样做外链
  • Docker 部署 Java 项目实践
  • Git push/pull 避坑指南:什么时候加 origin?什么时候不用加?
  • Ubuntu22.04系统中各文件目录的作用
  • 49_AI智能体核心业务之使用Flask蓝图模块化AI智能体服务:构建可维护的RESTful API
  • 网站建设教程数据库网站开发兼职成都
  • 网站 空间 下载行情网免费网站大全
  • 深度学习实战(基于pytroch)系列(五)线性回归的pytorch实现
  • 玩转Rust高级应用. ToOwned trait 提供的是一种更“泛化”的Clone 的功能,Clone一般是从T类型变量创造一个新的T类型变量
  • 11.8 脚本网页 推箱子
  • 网站建设要钱么深圳一百讯网站建设
  • [Java算法] 双指针(1)
  • 江苏省建设厅网站官网湖南做网站最厉害的公司