特定于接口的网络选项

特定于接口的网络选项 (ISNO) 允许对 IP 网络接口进行定制调整而获得最佳性能。

为单个接口设定的值要比整个系统范围内的设定值要优先,系统设定采用 no 命令。 使用 no 命令 use_isno 选项可对整个系统启用(缺省值)或禁用该功能。 如果系统管理员需要隔离性能问题时,单点的 ISNO 禁用选项是诊断工具的一部分,用来清除潜在的调整错误。

程序员和性能分析员都应注意,ISNO 值不会显示在套接字中(意思是它们不能由 getsockopt() 系统调用读取),直到实现 TCP 连接为止。 在连接完成之前,套接字使用的特定网络接口事实上是未知的,因此该套接字反映的是 no 命令中的系统缺省值。 在 TCP 连接得到承认并且网络接口已知后,ISNO 值就会放入套接字中。

以下参数已经添加给每个受支持的网络接口,并且仅对 TCP(以及非 UDP)连接有效:

  • rfc1323
  • tcp_nodelay
  • tcp_sendspace
  • tcp_recvspace
  • tcp_mssdflt

为特定接口而设置时,这些值会覆盖为系统设置的对应的 no 选项值。 这些参数可用于所有的主流 TCP/IP 接口(令牌环、FDDI、10/100 以太网和千兆以太网),但 SP 交换机上的 css# IP 接口除外。 这种情况下可有一个简单的变通方法,SP 交换机用户可以使用系统范围的 no 命令为交换机设置合适的调整选项,然后使用 ISNO 来设置其他系统接口所需要的值。

这些选项时为 TCP/IP 接口所设定的(比如 en0 或者 tr0),不是网络适配器(ent0 或 tok0)。

AIX为千兆以太网接口设置了 MTU 1500 和巨帧模式(MTU 9000)的默认值。 只要通过 SMIT tcpip 屏幕配置接口,ISNO 选项就应该设置为缺省值,以便提供良好的性能。

对于 10/100 以太网和令牌环适配器,系统并不设置 ISNO 缺省值,因为它们在系统全局 no 缺省值下通常运行良好。 但是,如果需要覆盖全局缺省值,那么可以设置 ISNO 属性。

以下示例显示了 MTU 1500 方式下针对 GigE 的 tcp_sendspacetcp_recvspace 的缺省 ISNO 值:
# ifconfig en0
en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
        inet 10.0.0.1 netmask 0xffffff00 broadcast 192.0.0.255
        tcp_sendspace 131072 tcp_recvspace 65536
对于巨型帧方式,tcp_sendspacetcp_recvspacerfc1323 的缺省 ISNO 值设置为如下:
 # ifconfig en0
en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
       inet 192.0.0.1 netmask 0xffffff00 broadcast 192.0.0.255
       tcp_sendspace 262144 tcp_recvspace 131072 rfc1323 1
如果 MTU 大小为 4096 字节或更大,请使用以下设置来启用 rfc1323,并将 tcp_sendspacetcp_recvspace 值设置为 128 KB 以适用于高速适配器(千兆位或更快)。 非常高速的适配器被设置为 256 KB。 “空”值表示该选项没有设置,所以它会继承全局的“no”设置。
接口 速度 MTU tcp_sendspace tcp_recvspace rfc1323 tcp_nodelay tcp_mssdflt
lo0(回送) 不适用 16896 131072 131072 1    
以太网 10 或 100 (Mbit)            
以太网 1000(千兆位) 1500 131072 65536 1    
以太网 1000(千兆位) 9000 262144 131072 1    
以太网 10 GigE 1500 262144 262144 1    
以太网 10 GigE 9000 262144 262144 1    
以太网通道 根据底层接口的 speed/MTU 进行配置。
虚拟以太网 不适用 any 262144 262144 1    
InfiniBand 不适用 2044 131072 131072 1    

可采用以下方法设置 ISNO 选项:

  • SMIT
  • chdev 命令
  • ifconfig 命令

使用 SMIT 或 chdev 命令更改磁盘上 ODM 数据库中的值,使其成为永久值。 ifconfig 命令只更改内存中的值,这样在下一次重新引导时它们会恢复成存储在 ODM 中的先前值。