网络算法学的核心要点与发展方向
1. 核心问题概述
网络算法学致力于解决良好网络抽象与快速网络硬件之间的性能差距问题。网络抽象,如模块化服务器代码和基于前缀的转发,虽提升了网络的可用性,但与光纤等原始传输链路的容量相比,会带来性能损失。核心问题在于能否既保留抽象的可用性,又实现最快传输链路的线速性能。
2. 终端节点算法学
终端节点算法学主要聚焦于服务器,面临的诸多问题源于软件和结构的复杂性,而非本质上的基础复杂性。这些复杂性由终端节点的以下特性导致:
- 计算与通信 :终端节点用于通用计算,需处理从数据库查询到气象预测等各种未知和多样的计算需求;而路由器主要用于通信。
- 垂直与水平集成 :终端节点通常是水平集成的,不同机构分别负责主板制造、内核软件开发和应用程序编写。内核需设计为能容忍未知且可能有缺陷的应用程序;如今路由器通常是垂直集成的,硬件和所有软件由一家公司组装。
- 计算复杂性 :终端节点的协议功能(应用层、传输层)比路由器的相应功能(路由、数据链路层)更复杂。
终端节点软件存在三个难以避免的重要因素,导致效率低下,需要解决或最小化:
1. 结构 :由于终端节点软件的复杂性和庞大性,代码被结构化和模块化以方便软件开发。通过核心操作系统和未知应用程序之间的标准应用程序编程接口(API)允许未知应用程序运行。
2. 保护 :为了容纳未知应用程序,需要保护应用程序之间以及操作系统免受应用程序的影响。
3.