据说路由器等第 3 层设备没有应用层。但是每当我想配置我的家庭路由器时,我都会输入 IP 地址并打开它的图形用户界面。我们应该将这种低级设备的那种“应用程序”称为什么?
“重要的是,你不需要编写运行在网络核心设备上的软件,比如路由器或链路层交换机。即使你想为这些网络核心设备编写应用软件,你也做不到。所以。” 计算机网络自顶向下方法 James Kurose
据说路由器等第 3 层设备没有应用层。但是每当我想配置我的家庭路由器时,我都会输入 IP 地址并打开它的图形用户界面。我们应该将这种低级设备的那种“应用程序”称为什么?
“重要的是,你不需要编写运行在网络核心设备上的软件,比如路由器或链路层交换机。即使你想为这些网络核心设备编写应用软件,你也做不到。所以。” 计算机网络自顶向下方法 James Kurose
据说路由器等第 3 层设备没有应用层。
不,路由器在第 3 层路由,而不是在应用层,但这并不意味着路由器不能在应用层有用户界面。
但是每当我想配置我的家庭路由器时,我都会输入 IP 地址并打开它的图形用户界面。
家庭网络和消费级设备在这里显然是题外话。
我们应该将这种低级设备的那种“应用程序”称为什么?
这样的用户界面是一个应用程序。PC 也是第 3 层设备,但它可以运行应用程序。路由器也是主机,就像 PC 一样,实际上,路由协议(在路由器之间交换路由信息,但实际上并不路由)是一个应用程序。
“重要的是,你不需要编写运行在网络核心设备上的软件,比如路由器或链路层交换机。即使你想为这些网络核心设备编写应用软件,你也做不到。所以。” 计算机网络自顶向下方法 James Kurose
这是因为大多数企业级设备运行专有操作系统,您无法为其编写应用程序,尽管制造商可以并且确实为其设备编写应用程序。这正在发生一些变化,例如 Cisco 有一些操作系统,您可以在某些情况下在某些限制条件下为其编写应用程序,但路由器进程作为单独的专有进程运行。
您应该区分路由器功能和路由器设备。
路由器功能位于网络层。路由器根据其路由表接收数据包并根据其目标地址在网络之间转发它们。
路由器设备的主要功能是路由。此外,它可以在各个层上支持各种附加功能,包括但不限于
具有许多功能的设备通常以防火墙、UTM 设备或各种其他名称销售,但大多数还包括路由器。
更进一步,路由功能(转发数据包)发生在第 3 层。但是许多路由协议,如 BGP 和 RIP,运行在应用层。OSPF 和 EIGRP 也是应用程序(有点),但它们不太适合 OSI 或 TCPIP 模型。
重要的是,您不需要编写在网络核心设备(例如路由器或链路层交换机)上运行的软件。即使你想为这些网络核心设备编写应用软件,你也做不到。”
即使是这些界限在今天也变得模糊。有一些公司拥有“软件”路由器,他们为开发人员提供功能、SDK 等,以便在现有路由器和防火墙功能之上编写应用软件。这些公司大多是 API 驱动的界面,但仍然为需要它的人提供 GUI。