JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:网络接口和网络虚拟化     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  网络栈概述

此 Oracle Solaris 发行版中的网络配置

Oracle Solaris 中的网络栈

网络设备和数据链路名称

其他链路类型的管理

第 1 部分网络自动配置

2.  NWAM 简介

3.  NWAM 配置和管理(概述)

4.  NWAM 配置文件配置(任务)

5.  NWAM 配置文件管理(任务)

6.  关于 NWAM 图形用户界面

第 2 部分数据链路和接口配置

7.  使用配置文件上的数据链路和接口配置命令

8.  数据链路配置和管理

数据链路的配置(任务)

dladm 命令

如何重命名数据链路

如何显示有关数据链路物理属性的信息

如何显示数据链路信息

如何删除数据链路

设置数据链路属性

数据链路属性概述

使用 dladm 命令设置数据链路属性

如何启用对巨型帧的支持

如何更改链路速度参数

如何获取有关数据链路属性的状态信息

如何将 e1000g 驱动程序设置为使用直接内存访问绑定

如何手动设置中断率

数据链路上的其他配置任务

如何使用动态重新配置更换网络接口卡

配置数据链路上的 STREAMS 模块

如何在数据链路上设置 STREAMS 模块

如何获取 autopush 链路属性设置

如何删除 autopush 链路属性设置

9.  配置 IP 接口

10.  在 Oracle Solaris 上配置无线接口通信

11.  管理网桥

12.  管理链路聚合

13.  管理 VLAN

14.  IPMP 简介

15.  管理 IPMP

16.  使用 LLDP 交换网络连接信息

第 3 部分网络虚拟化和资源管理

17.  网络虚拟化和资源控制简介(概述)

18.  规划网络虚拟化和资源控制

19.  配置虚拟网络(任务)

20.  在虚拟化环境中使用链路保护

21.  管理网络资源

22.  监视网络通信流量和资源使用情况

词汇表

索引

设置数据链路属性

除了执行基本的数据链路配置,您还可以使用 dladm 命令设置数据链路属性并根据您的网络需要对其进行定制。


注 - 只要链路的网络驱动程序已转换为 GLDv3 框架,如 e1000g,就可以使用 dladm 命令定制数据链路属性。要确认您的特定驱动程序是否支持此功能,请参阅驱动程序的手册页。


数据链路属性概述

可定制的数据链路属性取决于特定 NIC 驱动程序支持的属性。可通过使用 dladm 命令配置的数据链路属性分为两个类别:

链路属性通常具有缺省设置。但是,在某些网络情况下,可能需要您更改数据链路的特定属性设置。这些属性设置可以是公共或专用属性。例如,NIC 可能与不能正确执行自动协商的旧交换机进行通信。或者,一个交换机可能已配置为支持巨型帧。或者,可能需要针对给定驱动程序修改用于控制数据包传输或数据包接收的驱动程序特定属性。在 Oracle Solaris 中,现在可通过单一管理工具 dladm 重置所有这些设置。

使用 dladm 命令设置数据链路属性

下一节提供了设置特定数据链路属性的过程示例。所选属性是公共属性,适用于所有 NIC 驱动程序。特定于驱动程序的数据链路属性单独用一节来介绍。本节之后是配置 e1000g 驱动程序的所选专用属性的过程。

如何启用对巨型帧的支持

在网络设置中启用对巨型帧的支持是大多数网络方案的一项常见任务。支持巨型帧需要增加数据链路的最大传输单元 (maximum transmission unit, MTU) 的大小。以下过程包括使用定制名称来标识数据链路。有关定制名称及其在网络配置中的使用的概述,请参见Oracle Solaris 中的网络栈

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 为了标识需要重置其 MTU 大小的特定以太网设备,请显示系统中的链路。
    # dladm show-phys

    执行此步骤,尤其是如果您的网络配置使用数据链路的定制名称。使用定制名称时,数据链路不再必须由其基于硬件的名称标识。例如,以太网设备是 bge0。然而,该设备上的数据链路重命名为 net0。因此,您需要配置 net0 的 MTU 大小。请参阅IP 接口配置(任务),了解在使用定制名称的数据链路上的配置任务示例。

  3. (可选的)显示数据链路的当前 MTU 大小和其他属性。
    • 要显示数据链路的特定属性,使用以下语法:
      dladm show-linkprop -p property datalink

      此命令显示您指定的属性的设置。

    • 要显示数据链路的几个选定属性,使用以下语法:
      # dladm show-link datalink

      此命令显示数据链路信息,包括 MTU 大小。

  4. 如果一个 IP 接口是在数据链路上配置的,则删除该 IP 接口。
    # ipadm delete-ip interface
  5. 将链路的 MTU 大小更改为 9000,即针对巨型帧的设置。
    # dladm set-linkprop -p mtu=9000 datalink
  6. 创建 IP 接口。
    # ipadm create-ip interface
  7. 配置 IP 接口。
    # ipadm create-addr -T addr-type [-a address] addrobj

    有关 ipadm 命令的更多信息,请参见ipadm(1M)

  8. (可选的)通过使用步骤 3 中的命令语法之一验证接口是否使用了新的 MTU 大小。
    # dladm show-linkprop -p mtu datalink
  9. (可选的)显示链路的当前以太网设置。
    # dladm show-ether datalink

示例 8-5 启用巨型帧支持

以下启用巨型帧支持的示例是在以下方案中进行的:

# dladm show-phys
LINK       MEDIA        STATE     SPEED     DUPLEX     DEVICE
net0       ether        up        100Mb     full       bge0
net1       ether        up        100Mb     full       bge1
net2       ether        up        100Mb     full       nge3

# dladm show-linkprop -p mtu net1
LINK     PROPERTY     VALUE     DEFAULT     POSSIBLE
net1     mtu          1500      1500        --

# ipadm delete-ip net1
# dladm set-linkprop -p mtu=9000 net1
# ipadm create-ip net1
# ipadm create-addr -T static -a 10.10.1.2/35 net1/v4

# dladm show-link web1
LINK     CLASS     MTU      STATE     BRIDGE     OVER
web1     phys      9000     up        --         --

请注意,现在 MTU 设置是 9000。在本示例中,dladm 命令使您能够直接更改 net1 的 MTU 大小。前面使用 ndd 命令的方法需要您删除 net0,这会不必要地破坏主接口的运行。

如何更改链路速度参数

大多数网络设置包含多个具有不同速度能力的系统。例如,较旧系统与较新系统之间的通告速度可能需要更改为较低的设置才能进行通信。缺省情况下,通告 NIC 卡的所有速度和双工功能。此过程显示如何关闭 GB 能力而只通告 MB 能力。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. (可选的)显示您要修改的属性的当前状态。
    # dladm show-linkprop -p property datalink
  3. 要通告低速能力,请关闭高速能力以防通告高速能力。
    # dladm set-linkprop -p property=value1 datalink

示例 8-6 禁用 NIC 的 GB 能力通告

本示例显示如何防止链路 net1 通告 GB 能力。

# dladm show-linkprop -p adv_1000fdx_cap net1
LINK     PROPERTY             VALUE     DEFAULT     POSSIBLE
net1     adv_1000fdx_cap      1         --          1,0

# dladm show-linkprop -p adv_1000hdx_cap web1
LINK     PROPERTY             VALUE     DEFAULT     POSSIBLE
net1     adv_1000hdx_cap      1         --          1,0

通告链路的 GB 能力的属性是 adv_1000fdx_capadv_1000hdx_cap。要禁用这些属性的通告,请键入以下命令:

# dladm set-linkprop -p adv_1000fdx_cap=0 net1
# dladm set-linkprop -p adv_1000hdx_cap=0 net1

列出以太网参数设置将显示以下输出:

# dladm show-ether net1
LINK     PTYPE       STATE    AUTO  SPEED-DUPLEX             PAUSE
net1     current     up       yes   1G-f                     both

如何获取有关数据链路属性的状态信息

您可以通过显示以太网参数设置或链路属性获取有关数据链路属性的信息。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 要获取有关以太网参数设置的信息,请使用以下命令:
    # dladm show-ether [-x] datalink

    其中 -x 选项包括有关链路的附加参数信息。如果不使用 -x 选项,则只显示当前参数设置。

  3. 要获取有关链路的所有属性的信息,请使用以下命令:
    # dladm show-linkprop datalink

示例 8-7 显示以太网参数设置

本示例显示有关指定链路的参数信息的扩展列表。

# dladm show-ether -x net1
LINK     PTYPE       STATE    AUTO  SPEED-DUPLEX             PAUSE
net1     current     up       yes   1G-f                     both
--       capable     --       yes   1G-fh,100M-fh,10M-fh     both
--       adv         --       yes   100M-fh,10M-fh           both
--       peeradv     --       yes   100M-f,10M-f             both

如果使用 -x 选项,该命令还显示指定链路的内置能力,以及主机和链路伙伴之间当前通告的能力。将显示以下信息:

示例 8-8 显示链路属性

本示例说明如何列出链路的所有属性。如果您要只显示特定属性,则对要监视的特定属性使用 -p 选项。

# dladm show-linkprop net1
LINK     PROPERTY             VALUE       DEFAULT     POSSIBLE
net1     speed                1000        --          -- 
net1     autopush             --          --          -- 
net1     zone                 --          --          -- 
net1     duplex               half        --          half,full 
net1     state                unknown     up          up,down 
net1     adv_autoneg_cap      1           1           1,0 
net1     mtu                  1500        1500        -- 
net1     flowctrl             no          bi          no,tx,rx,bi 
net1     adv_1000fdx_cap      1           1           1,0 
net1     en_1000fdx_cap       1           1           1,0 
net1     adv_1000hdx_cap      1           1           1,0 
net1     en_1000hdx_cap       1           1           1,0 
net1     adv_100fdx_cap       0           0           1,0 
net1     en_100fdx_cap        0           0           1,0 
net1     adv_100hdx_cap       0           0           1,0 
net1     en_100hdx_cap        0           0           1,0 
net1     adv_10fdx_cap        0           0           1,0 
net1     en_10fdx_cap         0           0           1,0 
net1     adv_10hdx_cap        0           0           1,0 
net1     en_10hdx_cap         0           0           1,0

链路的速度和双工功能设置是在标记为 en_*_cap 的支持速度的属性上手动配置的。例如,en_1000fdx_cap 是对应于 GB 全双工能力的属性,en_100hdx_cap 是对应于 100 MB 半双工能力的属性。这些支持速度的属性的设置是通过相应的通告速度属性(它们标记为 adv_*_cap,如 adv_1000fdx_capadv_100hdx_cap)在主机和其链路伙伴之间通告的。

通常情况下,给定的支持速度属性和相应的通告属性的设置是相同的。不过,如果 NIC 支持一些高级功能(如电源管理),这些功能可能对主机和其链路伙伴之间实际通告的位设置限制。例如,使用电源管理时,adv_*_cap 属性的设置可能只是 en_*_cap 属性的设置的子集。有关支持速度属性和通告速度属性的更多信息,请参见dladm(1M) 手册页。

如何将 e1000g 驱动程序设置为使用直接内存访问绑定

此过程和下一过程显示如何配置专用属性。这两个过程适用于特定于 e1000g 驱动程序的属性。然而,一般步骤也可用于配置其他 NIC 驱动程序的专用属性。

大容量通信,例如文件传输,通常涉及通过网络的大数据包的协商。在这种情况下,您可以通过将 e1000g 驱动程序配置为自动使用 DMA 绑定(其中为数据包段大小定义阈值),从该驱动程序获得更好的性能。如果一个段大小超过阈值,则使用 DMA 绑定进行传输。如果一个段大小在阈值内,则使用 bcopy 模式,其中段数据被复制到先前指定的传输缓冲区。

要设置阈值,请执行以下步骤:

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 设置 _tx_bcopy_threshold 属性的相应设置。
    # dladm set-linkprop -p _tx_bcopy_threshold=value e1000g-datalink

    对于此属性,阈值范围的有效设置为 60 到 2048。


    注 - 与配置公共属性一样,也必须取消激活接口,才能修改专有属性设置。


  3. (可选的)验证新的阈值设置。
    # dladm show-linkprop -p _tx_bcopy_threshold e1000g-datalink

如何手动设置中断率

控制由 e1000g 驱动程序提供中断的速率的参数也会影响网络和系统性能。通常,通过为每个数据包生成一个中断来将网络数据包传送到栈的上层。进而,缺省情况下,中断率由内核中的 GLD 层自动调整。但是,这种模式可能并非对所有的网络通信流量情况都是适宜的。有关此问题的讨论,请参阅 1996 年 USENIX 技术会议上发表的文档 (http://www.stanford.edu/class/cs240/readings/mogul.pdf)。因此,在某些情况下,必须手动设置中断率以获得更好的性能。

要定义中断率,需要设置以下参数:

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"如何获取管理权限"

  2. 如有必要,确定您要修改其驱动程序属性的设备。
    # dladm show-phys
  3. 禁用中断限制率的自动调优。
    # dladm set-linkprop -p _intr_adaptive=0 e1000g-datalink

    注 - 当启用中断限制率的自动调优时,将忽略参数 _intr_throttling_rate 的任何现有设置。


  4. 删除在数据链路上配置的任何 IP 接口。
  5. 设置最低内部中断级别设置。
    # dladm set-linkprop -p _intr_throttling_rate=value e1000g-datalink

    注 - 在基于 SPARC 的系统上,_intr_throttling_rate 参数的缺省设置为 550,在基于 x86 的系统上为 260。将最低内部中断级别设置为 0 将禁用中断限制逻辑。


  6. 配置 IP 接口。
  7. (可选的)显示阈值的新设置。

示例 8-9 配置 DMA 绑定和设置中断限制率

本示例使用具有 e1000g NIC 的基于 x86 的系统。驱动程序配置有可在使用 DMA 绑定或 bcopy 模式之间切换的阈值设置,以便传输数据包。中断限制率的设置也会被修改。此外,e1000g 数据链路使用由 OS 指定的缺省通用名称。因此,通过引用定制名称 net0 在数据链路上执行配置。

# dladm show-phys
LINK       MEDIA        STATE     SPEED     DUPLEX     DEVICE
net0       ether        up        100Mb     full       e1000g0

# dladm show-linkprop -p _tx_bcopy_threshold net0
LINK        PROPERTY                VALUE     DEFAULT     POSSIBLE
net0        _tx_bcopy_threshold     512       512         --

# dladm show-linkprop -p _intr-throttling_rate
LINK        PROPERTY                  VALUE     DEFAULT     POSSIBLE
net0        _intr-throttling_rate     260       260         --

# ipadm delete-ip net0
# dladm set-linkprop -p _tx_bcopy_threshold=1024 net0
# dladm set-linkprop -p _intr_adaptive=0 net0
# dladm set-linkprop -p _intr-throttling_rate=1024 net0

# ipadm create-ip net0
# ipadm create-addr -T static -a 10.10.1.2/24 net0/v4addr
# dladm show-linkprop -p _tx_bocopy_threshold=1024 net0
LINK        PROPERTY                VALUE     DEFAULT     POSSIBLE
net0        _tx_bcopy_threshold     1024      512         --

# dladm show-linkprop -p _intr_adaptive net0
LINK        PROPERTY           VALUE     DEFAULT     POSSIBLE
net0        _intr-adaptive     0         1           --

# dladm show-linkprop -p _intr-throttling_rate
LINK        PROPERTY                  VALUE     DEFAULT     POSSIBLE
net0        _intr-throttling_rate     1024      260         --