在先前的 Oracle Solaris 网络协议栈实现中,软件层上的接口和链路构建在硬件层中的设备上。更具体地说,硬件层中的硬件设备实例在数据链路层上有一个对应的链路,在接口层上有一个配置的接口。网络设备、其数据链路和 IP 接口之间的这种一对一关系如下图所示。
图 7-1 显示 Oracle Solaris 10 网络协议栈以及网络设备、链路和接口
Oracle Solaris 10 实现存在以下限制:
设备、数据链路和接口之间的一对一关系意味着网络配置取决于硬件配置以及网络拓扑。因此,如果硬件层中实施了更改,如更换了 NIC 或更改了网络拓扑,则必须重新配置接口。
数据链路层的虚拟设备受到的支持有限。仅链路聚合在 Oracle Solaris 10 中受支持。
ifconfig 命令可用于管理逻辑接口名称,其中,各个逻辑接口与接口上的 IP 地址对应。哪些托管功能应用于接口,哪些托管功能应用于单独地址,并不是始终显而易见的。
在 Oracle Solaris 11 中,硬件、数据链路和接口层之间的一对一关系保持不变,如下图中所示。但是,软件层与硬件层分离。在这种分离情况下,软件层上的网络配置不再绑定到硬件层中的芯片集或网络拓扑。
图 7-2 显示 Oracle Solaris 11 网络协议栈以及设备、链路和接口
Oracle Solaris 11 中实现的更改使网络管理更为灵活,表现在如下几个方面:
硬件层中可能出现的任何更改都不会影响网络配置。即使移除了底层硬件,链路和接口配置仍会保留。然后,这些相同的配置可以重新应用于任何更换的 NIC(只要这两个 NIC 的类型相同)。
通过将网络配置与网络硬件配置分离,还可以在数据链路层中使用定制的链路名称。
通过抽象的数据链路层,多个抽象的网络概念或配置(例如虚拟局域网 (virtual local area network, VLAN)、虚拟网络接口卡 (virtual network interface card, VNIC)、物理设备、链路聚合和 IP 隧道)统一到了一个公共管理实体,即数据链路。
有关在 Oracle Solaris 网络协议栈中如何管理网络功能的更多信息,请参见Oracle Solaris 11.2 中的网络管理策略 中的Oracle Solaris 网络协议栈中的网络管理。