在我的网络教育期间,我一直被告知,互联网(以及任何计算机网络)的设计是并且应该设计为使智能不位于网络的核心。核心应该只有“愚蠢”的目标,即只提供数据。这意味着中心没有大防火墙,没有内容服务等。
虽然我完全同意这种设计,但我正在研究“为什么?”。为什么这是最好的设计?是否有关于此的某种文献(RFC 等)?我正在寻找支持这种设计的理性论据。
在我的网络教育期间,我一直被告知,互联网(以及任何计算机网络)的设计是并且应该设计为使智能不位于网络的核心。核心应该只有“愚蠢”的目标,即只提供数据。这意味着中心没有大防火墙,没有内容服务等。
虽然我完全同意这种设计,但我正在研究“为什么?”。为什么这是最好的设计?是否有关于此的某种文献(RFC 等)?我正在寻找支持这种设计的理性论据。
核心层负责跨网络的快速传输。您在那里尝试和执行的路由越智能,数据包流的速度就越慢。如果不需要,您不希望 WAN 路由器也进行 VLAN 路由。您希望它接收未绑定到 LAN 的流量并通过 Internet 或 MPLS 网络将其发送出去。如果您让核心层进行路由,则基本上所有 L3 流量都会首先到达它并被发送回 LAN。这是低效的,并且会导致路由器上的负载很容易被第 3 层交换机处理。
然而,分布层是应该发生智能路由的地方。如果我有一组接入交换机,每个接入交换机都访问不同的 VLAN,我是否希望该流量必须穿过两个分布交换机,然后到达 WAN 路由器上的子接口?不是。最短、最快的路径是从主机到接入交换机再到分布交换机,然后再到 LAN 上绑定的任何流量。补充阅读
不是在上面扔扳手,而是折叠核心配置变得越来越普遍。在折叠核心配置中,您将分布层和核心层合二为一。您会在小型企业中看到这一点。您的 WAN 路由器仍然是一个不同的设备,但您拥有一个运行 EIGRP 并学习和共享它“知道”的网络的核心,而不是“哑巴”核心。 补充阅读
虽然我完全同意这种设计,但我正在研究“为什么?”。为什么这是最好的设计?
用简单实用的术语来考虑它。我们在谈论什么样的智能?经常很快想到的两个具体示例是 ACL(或类似内容)和 QoS 的处理。
现在考虑如果你把这种智能放在核心位置会发生什么。数据在到达要处理的核心之前必须通过“一定数量”的链接和设备进行传输。
在流量将被 ACL 丢弃的情况下,此流量现在会进一步进入网络并占用其他合法流量可能需要的资源(无论是带宽、CPU 周期、内存还是其他任何东西)。
在 QoS 的情况下,除非您相信终端设备会正确标记流量(坏主意),否则流量必须经过一段未标记的距离,直到到达核心。如果在通往核心的途中出现链路拥塞,任何优先流量都将被视为您的尽力而为流量。
不需要 RFC 或标准就可以看出,最好尽可能靠近边缘进行此类处理。
“边缘智能”设计具有误导性,因为计算机网络行业已经发展并正在演变为 - SDN 风格的架构,其中智能现在集中在控制器中¹。在云网络或 SDN 风格的架构中,您会发现“智能”控制器以及控制平面和数据平面的分离。
“边缘智能”背后的最初想法是,在处理/转发大量 pps 的核心中,所需的深度数据包检查/操作是不切实际的。
深度数据包检查/修改仍然发生在边缘,但决定检查什么以及如何处理数据包是做出的,并从网络“控制器”推送到边缘。
¹出于冗余目的,中央控制器可能物理分布在数据中心或物理位置之间。
你当然可以问 10 个人并得到 10 个不同的答案。除了大型机销售人员之外,您可能会发现大多数人会喜欢平衡和完全分布式之间的某些东西。
将处理从核心移开创建的关键优势是更加面向对等的拓扑,其中中断不会影响整个服务。如果您将防火墙置于网络边缘,并且您有 5 个对等点,那么您(理想情况下)有 5 个冗余点,因此丢失其中一个不会影响您的一小部分服务,理想情况下它们已铺设以便一个故障导致其他自动接管流量。此外,这可以很好地扩展,因为如果您需要从 5 个对等点扩展到 6 个对等点,您可能只需要投资一小部分设备,而不是增长单个核心设备而不得不放弃它以支持提供多一点容量。在处理智能设备时,扩展能力通常是全有或全无的。