计算机网络-网络层中间盒

Aki 发布于 2023-07-07 276 次阅读


路由器是网络层的主力设备,路由器的基本工作是将IP数据报转发到目的地。除了路由器外,还有其他的设备,它们位于数据路径上,执行转发以外的功能。例如Web缓存,NAT,防火墙等等设备。

在过去的20年里,我们看到了这类中间盒(middlebox)的迅猛增长,RFC3234将其定义为:在源主机和目的主机的数据路径上,执行除了IP路由器的正常标准功能之外的其他功能的任何中间的盒子。

我们可以大致确定由中间盒子提供的三种服务:

(1)NAT转换。NAT盒子实现了内网到公网的转换,重写数据报首部IP地址和端口号。

(2)安全服务。防火墙基于首部字段值或重定向分组来阻塞流量,从而进行附加处理,如深度分组检测(DPI)。入侵检测系统(IDS)能够检测预先确定的模式,并相应的过滤分组。应用程序级电子邮件过滤器可以拦截垃圾邮件、网络钓鱼邮件或其他构成安全威胁的邮件。

(3)性能增强。这些中间盒向能够提供所需服务的服务器之一,执行诸如压缩、内容缓存和负载均衡等服务的服务请求。

随着中间盒的增多,产生了操作、管理和升级该设备的相关需求。单独的专用硬件盒、单独的软件堆栈和单独的管理、操作技能都意味着巨大的运营成本和投资费用。因此,研究人员正在探索使用商用硬件,并试图在通用软件堆栈之上构建专门的软件来实现这些服务,这也许并不令人惊讶。

多年来,因特网架构在网络层和运输/应用层之间有一条明确的分界线。以前,网络层由路由器组成,在网络核心中运行,只使用IP数据报首部中的字段将数据转发到目的地。运输层和应用层是在网络边缘运行的主机上实现的。主机之间通过运输层和应用层报文交换分组。今天的中间盒显然违背了这种分离:位于路由器和主机之间的NAT盒重写网络层IP地址和运输层端口号;网络内防火墙使用应用层、运输层和网络层首字段阻止可疑的数据报。