特定于接口的网络选项
特定于接口的网络选项 (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 属性。
# 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
# 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 | 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 中的先前值。