本章介绍各种 Internet 协议套件参数,如 TCP、IP、UDP 以及 SCTP。
可调参数 |
参考 |
---|---|
Solaris 内核可调参数 | |
NFS 可调参数 | |
网络高速缓存和加速器 (Network Cache and Accelerator, NCA) 可调参数 |
有关 IP 转发的最新信息,请参见新增和已更改的 TCP/IP 参数。
可以使用 ndd 命令设置本章中介绍的所有调优参数,但ipcl_conn_hash_size除外,此参数只能在 /etc/system 文件中设置。
例如,按照以下语法使用 ndd 命令可设置 TCP/IP 参数:
# ndd -set driver parameter |
有关更多信息,请参见ndd(1M)。
虽然 SMF 框架提供了一种管理系统服务的方法,但是系统启动脚本中仍然包括 ndd 命令。有关创建启动脚本的更多信息,请参见《系统管理指南:基本管理》中的“运行控制脚本”。
本节中介绍的所有参数都会被检验是否处于参数范围内。每个参数的说明中都提供参数的范围。
RFC 文档中介绍了 Internet 协议和标准规范。可以从 ftp://ftp.rfc-editor.org/in-notes 获取 RFC 的副本。通过查看此站点上的 rfc-index.txt 文件可浏览 RFC 主题。
控制 IP 生成 IPv4 或 IPv6 ICMP 错误消息的速率。IP 在某一 ip_icmp_err_interval 间隔内最多只生成 ip_icmp_err_burst 条 IPv4 或 IPv6 ICMP 错误消息。
ip_icmp_err_interval 参数可防止 IP 受到拒绝服务攻击。将此参数设置为 0 可禁用速率限制。但并不禁用错误消息的生成。
对于 ip_icmp_err_interval,为 100 毫秒
对于 ip_icmp_err_burst,为 10 条错误消息
对于 ip_icmp_err_interval,为 0 – 99,999 毫秒
对于 ip_icmp_err_burst,为 1 – 99,999 条错误消息
是
为了进行诊断而需要更高的错误消息生成速率时。
不稳定
1(启用)
0(禁用)或 1(启用)
是
如果出于安全原因而不想要此行为,则将其禁用。
不稳定
1(启用)
0(禁用)或 1(启用)
是
如果出于安全原因而不想要此行为,则将其禁用。
不稳定
0(禁用)
0(禁用)或 1(启用)
是
保持此参数为禁用状态以防止拒绝服务攻击。
不稳定
有关信息,请参见ip_forward_src_routed 和 ip6_forward_src_routed (Solaris 10)。
256
1 到 8192
是
请勿更改此值。如果需要更多的逻辑接口,则可以考虑增大此值。但是,应该意识到这种更改可能会对 IP 性能产生负面影响。
不稳定
确定对于未在非转发接口上显式配置的 IP 地址是否可以接受到达此接口的包。如果已启用 ip_forwarding,或者已针对相应接口启用 xxx:ip_forwarding,则可以忽略此参数,因为实际上已转发了包。
请参阅 RFC 1122 中的第 3.3.4.2 节。
0(宽松的多宿主)
0 =关闭(宽松的多宿主)
1 =打开(严格的多宿主)
是
如果计算机接口通过严格的网络域(如防火墙或 VPN 节点),则将此参数设置为 1。
不稳定
使网络栈在传输过程中能够一次向网络设备驱动程序发送多个包。
启用此参数可以通过提高主机 CPU 使用率和/或网络吞吐量来减少每个包的处理开销。
现在,此参数控制使用多数据传输 (multidata transmit, MDT) 来传输 IP 分段。例如,当发出大于链路 MTU 的 UDP 有效负荷时。启用此可调参数之后,会将特定的高级协议(如 UDP)的 IP 分段成批传送到网络设备驱动程序。如果禁用此功能,则会导致网络栈中的 TCP 和 IP 分段逻辑恢复为每次向驱动程序发送一个包。
MDT 功能仅对支持此功能的设备驱动程序有效。
另请参见tcp_mdt_max_pbufs。
1(启用)
0(禁用)或 1(启用)
是
如果出于调试目的或任何其他原因不希望启用此参数,请将其禁用。
不稳定
有关信息,请参见ip_multidata_outbound (Solaris 10)。
控制唤醒工作线程来处理在 squeue 中排队的 TCP/IP 包的最大延迟。squeue 是指 TCP/IP 内核代码用来处理 TCP/IP 包的连续队列。
10 毫秒
0 – 50 毫秒
是
如果对网络的响应及时性要求较高,并且网络通信流量较小,则考虑调优此参数。例如,计算机主要用于处理交互式网络通信时。
通常,在网络文件服务器、Web 服务器或者任何具有大量网络通信流量的服务器上,使用缺省值最合适。
不稳定
控制 squeue 操作在处理来自应用程序的 TCP/IP 包时的行为。
2
0 到 2
是
在某些情况下,考虑将此参数更改为 1 以提高某些应用程序的网络性能。例如,当 CPU 数超过活动的 NIC 数时,请将此参数更改为 1。
否则,不要更改此参数。
不稳定
有关信息,请参见ip_squeue_write(Solaris 10 发行版)。
确定将 TCP/IP 连接与 squeue 关联的模式。
值为 0 时会将新的 TCP/IP 连接与创建此连接的 CPU 进行关联。值为 1 时会将此连接与属于不同 CPU 的多个 squeue 进行关联。用于扇出 (fanout) 连接的 squeue 数基于 ip_soft_rings_cnt。
0
0 或 1
是
在某些情况下,考虑将此参数设置为 1 以将负载分散到所有 CPU。例如,当 CPU 数超过 NIC 数,并且一个 CPU 不能处理一个 NIC 的网络负载时,请将此参数设置为 1。
不稳定
有关信息,请参见ip_squeue_fanout (Solaris 10)。
确定用于扇出 (fanout) 传入 TCP/IP 连接的 squeue 数。
将传入通信流量放在其中一个环上。如果此环过载,则会丢弃包。每丢弃一个包,kstat dls 计数器 dls_soft_ring_pkt_drop 会增加 1。
2
0 - n 个 CPU,其中 n 是系统中的最大 CPU 数
否。更改此参数时,应该再次检测接口。
在具有 10 Gbps NIC 以及多个 CPU 的系统上,请考虑将此参数设置为大于 2 的值。
过时
建议不要更改以下参数。
指定 IP 刷新路径最大传输单元 (path maximum transfer unit, PMTU) 搜索信息并尝试重新搜索 PMTU 的间隔(以毫秒为单位)。
请参阅有关 PMTU 搜索的 RFC 1191。
10 分钟
5 秒到 277 小时
是
请勿更改此值。
不稳定
当 IPv4 或 IPv6 发送 ICMPv4 或 ICMPv6 错误消息时,它包括导致此错误消息的 IP 数据包头。此参数控制 ICMPv4 或 ICMPv6 错误消息中包括的超过 IPv4 或 IPv6 数据包头的额外包字节数。
64 字节
8 到 65,536 字节
是
请勿更改此值。在 ICMP 错误消息中包括更多信息可能有助于诊断网络问题。如果需要此功能,则增大此值。
不稳定
指定非直接连接的主机的 TCP 延迟确认 (acknowledgment, ACK) 计时器的超时值。
请参阅 RFC 1122 中的第 4.2.3.2 节。
100 毫秒
1 毫秒到 1 分钟
是
请勿将此值增大到多于 500 毫秒。
在以下情况下应增大此值:
网络链接速度较慢(小于 57.6 Kbps),并且最大段大小 (maximum segment size, MSS) 大于 512 字节
接收多个 TCP 段的间隔很短
不稳定
指定直接连接的主机的 TCP 延迟确认 (acknowledgment, ACK) 计时器的超时值。
请参阅 RFC 1122 中的第 4.2.3.2 节。
50 毫秒
1 毫秒到 1 分钟
是
请勿将此值增大到多于 500 毫秒。
在以下情况下应增大此值:
网络链接速度较慢(小于 57.6 Kbps),并且最大段大小 (maximum segment size, MSS) 大于 512 字节
接收多个 TCP 段的间隔很短
不稳定
指定在生成确认 (acknowledgment, ACK) 之前从非直接连接的远程目标接收的最大TCP 段数。TCP 段以单个连接的最大段大小 (maximum segment size, MSS) 为单位。如果设置为 0 或 1,则不延迟 ACK(假设所有段的长度均为 1 MSS)。将动态计算每个连接的实际数量。此值为缺省的最大值。
2
0 到 16
是
请勿更改此值。在某些情况下,如由于 ACK 延迟致使网络通信流量突然变高时,请减小此值。但不要将此值减小到 2 以下。
不稳定
指定在生成确认 (acknowledgment, ACK) 之前从直接连接的目标接收的最大 TCP 段数。TCP 段以单个连接的最大段大小 (maximum segment size, MSS) 为单位。如果设置为 0 或 1,则表示 ACK 不会发生延迟(假设所有段的长度均为 1 MSS)。将动态计算每个连接的实际数量。此值为缺省的最大值。
8
0 到 16
是
请勿更改此值。在某些情况下,如由于 ACK 延迟致使网络通信流量突然变高时,请减小此值。但不要将此值减小到 2 以下。
不稳定
当启用此参数(为缺省设置)时,TCP 始终发送带有窗口缩放比例选项的 SYN 段,即使窗口缩放比例选项值为 0 时也是如此。请注意,如果 TCP 收到带有窗口缩放比例选项的 SYN 段,则即使禁用了此参数,TCP 也会使用带有窗口缩放比例选项的 SYN 段进行响应。此外,应根据接收窗口大小设置此选项值。
请参阅 RFC 1323 以了解窗口缩放比例选项。
1(启用)
0(禁用)或 1(启用)
是
如果与不支持窗口缩放比例选项的旧版 TCP 协议栈之间存在互操作性问题,则禁用此参数。
不稳定
有关信息,请参见tcp_wscale_always(Solaris 9 发行版)。
如果设置为 1,则 TCP 将始终发送带有时间标记选项的 SYN 段。请注意,如果 TCP 收到带有时间标记选项的 SYN 段,则即使此参数设置为 0,TCP 也会使用带有时间标记的 SYN 段进行响应。
0(禁用)
0(禁用)或 1(启用)
是
如果难以准确测量往返时间 (round-trip time, RTT) 并且可能出现 TCP 序列号回绕问题,则启用此参数。
请参阅 RFC 1323 以了解有关要启用此选项的更多理由。
不稳定
定义缺省的发送窗口大小(以字节为单位)。有关针对每个路由设置不同值的介绍,请参阅每路由度量标准。另请参见tcp_max_buf。
49,152
4096 到 1,073,741,824
是
应用程序可以使用 setsockopt(3XNET) SO_SNDBUF 来更改单个连接的发送缓冲区。
不稳定
定义缺省的接收窗口大小(以字节为单位)。有关针对每个路由设置不同值的介绍,请参阅每路由度量标准。另请参见tcp_max_buf和 tcp_recv_hiwat_minmss。
49,152
2048 到 1,073,741,824
是
应用程序可以使用 setsockopt(3XNET) SO_RCVBUF 来更改单个连接的接收缓冲区。
不稳定
定义最大缓冲区大小(以字节为单位)。此参数控制由使用 setsockopt(3XNET) 的应用程序设置的发送缓冲区和接收缓冲区的大小。
1,048,576
8192 到 1,073,741,824
是
如果要在高速网络环境中建立 TCP 连接,则增大此值以便适应较高的网络链接速度。
不稳定
定义 TCP 拥塞窗口 (congestion window, cwnd) 的最大值(以字节为单位)。
有关 TCP 拥塞窗口的更多信息,请参阅 RFC 1122 和 RFC 2581。
1,048,576
128 到 1,073,741,824
是
即使应用程序使用 setsockopt(3XNET) 将窗口大小更改为大于 tcp_cwnd_max 的值,所用的实际窗口仍然不会超过 tcp_cwnd_max。因此,tcp_max_buf 应该大于 tcp_cwnd_max。
不稳定
定义 TCP 连接的最大初始拥塞窗口 (congestion window, cwnd) 大小,以最大段大小 (maximum segment size, MSS) 为单位。
有关如何计算初始拥塞窗口大小,请参阅 RFC 2414。
4
1 到 4
是
请勿更改此值。
如果初始 cwnd 大小在特定情况下导致网络拥塞,则减小此值。
不稳定
TCP 连接在空闲(未接收段)一个重新传输超时 (retransmission timeout, RTO) 时间段之后的拥塞窗口大小,以最大段大小 (maximum segment size, MSS) 为单位。
有关如何计算初始拥塞窗口大小,请参阅 RFC 2414。
4
1 到 16,384
是
有关更多信息,请参见tcp_slow_start_initial。
不稳定
如果设置为 2,则 TCP 将始终发送带有允许选择性确认 (selective acknowledgment, SACK) 的选项的 SYN 段。如果 TCP 收到带有允许 SACK 的选项的 SYN 段,并且此参数设置为 1,则 TCP 会使用允许 SACK 的选项进行响应。如果此参数设置为 0,则无论传入段是否包含允许 SACK 的选项,TCP 都不会发送允许 SACK 的选项。
有关 SACK 选项的信息,请参阅 RFC 2018。
2(主动启用)
0(禁用)、1(被动启用)或 2(主动启用)
是
SACK 处理可以提高 TCP 重新传输性能,因此应该将其主动启用。有时,主动启用 SACK 选项会使另一端出现混乱。如果出现混乱,则将此值设置为 1,以便只在传入连接允许 SACK 处理时启用 SACK 处理。
不稳定
如果设置为 0,则出于安全原因 TCP 不会对传入连接的 IP 源路由选项进行反向。如果设置为 1,则 TCP 会正常进行源路由反向。
0(禁用)
0(禁用)或 1(启用)
是
如果进行诊断时需要 IP 源路由,则将其启用。
不稳定
指定 TCP 连接保持 TIME-WAIT 状态的时间(以毫秒为单位)。
有关更多信息,请参阅 RFC 1122 中的第 4.2.2.13 节。
60,000(60 秒)
1 秒到 10 分钟
是
请不要将此值设置为低于 60 秒的值。
有关更改此参数的信息,请参阅 RFC 1122 中的第 4.2.2.13 节。
不稳定
控制显式拥塞通知 (Explicit Congestion Notification, ECN) 支持。
如果此参数设置为 0,则 TCP 不会与支持 ECN 机制的对等方进行协商。
如果启动连接时此参数设置为 1,则 TCP 不会告知对等方其支持 ECN 机制。
但是,如果对等方在 SYN 段中指示其支持 ECN 机制,则当接受新的传入连接请求时,TCP 会告知此对等方其支持 ECN 机制。
如果此参数设置为 2,则除了在接受连接时与对等方协商 ECN 机制之外,TCP 还在建立主动传出连接时在传出 SYN 段中指示其支持 ECN 机制。
1(被动启用)
0(禁用)、1(被动启用)或 2(主动启用)
是
ECN 可以帮助 TCP 更好地处理拥塞控制。但是,此机制会使现有的 TCP 实现、防火墙、NAT 以及其他网络设备出现混乱。这些设备不符合 IETF 标准。
由于存在这些设备,因此将此参数的缺省值设置为 1。在极少数情况下,被动启用仍会导致问题。仅当完全必要时将此参数设置为 0。
不稳定
指定缺省的 TCP 侦听器等待 accept(3SOCKET) 接受的最大暂挂 TCP 连接数。另请参见tcp_conn_req_max_q0。
128
1 到 4,294,967,296
是
对于可能接收多个连接请求的应用程序(如 Web 服务器),可以增大缺省值以便适应较高的传入速率。
请不要将此参数增大到非常大的值。暂挂 TCP 连接可能会占用过多内存。此外,如果由于暂挂 TCP 连接数过多而导致应用程序不能迅速处理如此多的连接请求,则可能会拒绝新的传入请求。
请注意,增大 tcp_conn_req_max_q 并不意味着应用程序可以具有如此多的暂挂 TCP 连接。应用程序可以使用 listen(3SOCKET) 来更改每个套接字的最大暂挂 TCP 连接数。此参数是应用程序可以使用 listen() 设置的最大值。因此,即使根据 listen() 中使用的值将此参数设置为非常大的值,套接字的实际最大数量也可能比 tcp_conn_req_max_q 小得多。
不稳定
有关信息,请参见xxx:ip_forwarding(Solaris 9 发行版)。
指定缺省的 TCP 侦听器未完成的(尚未完成三次握手)最大暂挂 TCP 连接数。
有关 TCP 三次握手的更多信息,请参阅 RFC 793。另请参见tcp_conn_req_max_q。
1024
0 到 4,294,967,296
是
对于可能收到过多连接请求的应用程序(如 Web 服务器),可以增大缺省值以便适应较高的传入速率。
下面介绍了 tcp_conn_req_max_q0 与每个套接字的最大暂挂连接数之间的关系。
收到连接请求时,TCP 首先检查侦听器等待被接受的暂挂 TCP 连接(已执行三次握手)数目是否超过最大值 (N)。如果连接数过多,则会拒绝请求。如果连接数为允许数目,则 TCP 会检查未完成的暂挂 TCP 连接数是否超过 N 与 tcp_conn_req_max_q0 的总和。如果没有超过,则接受请求。否则,会删除最早未完成的暂挂 TCP 请求。
不稳定
有关信息,请参见xxx:ip_forwarding(Solaris 9 发行版)。
指定缺省的侦听器等待被接受的最大暂挂 TCP 连接请求数的最小值。这是应用程序可以使用的最大 listen(3SOCKET) 值的下限值。
1
1 到 1024
是
对于使用 listen(3SOCKET) 设置的最大暂挂 TCP 连接数过低的应用程序,此参数可提供一种解决方案。请增大此值以便适应较高的传入连接请求速率。
不稳定
如果此参数设置为 1,则 RST 段的最大发送速率受 ndd 参数 tcp_rst_sent_rate 控制。如果此参数设置为 0,则不对 RST 段的发送速率进行任何控制。
1(启用)
0(禁用)或 1(启用)
是
此可调参数通过限制 RST 段的发出速率来防止 TCP 受到拒绝服务攻击。仅当要求严格遵守 RFC 793 时,才应该禁用此速率控制。
不稳定
40
0 到 4,294,967,296
是
在 TCP 环境中,可能存在合法的理由使生成的 RST 数多于缺省值允许的数量。在这种情况下,请增大此参数的缺省值。
不稳定
指定由 TCP 生成的一条 M_MULTIDATA 消息可以携带的有效负荷缓冲区数。另请参见ip_multidata_outbound。
16
1 到 16
是
减小此参数时,可以通过限制由 TCP 生成的每条 M_MULTIDATA 消息携带的有效负荷缓冲区数而有助于调试设备驱动程序开发。
不稳定
ipcl_conn_hash_size 参数只能在 /etc/system 文件中设置。修改此文件之后,请重新引导系统。
以下项设置 ipcl_conn_hash_size 参数:
set ip:ipcl_conn_hash_sizes=value |
无符号整数
0
0 到 82,500
否。只能在引导系统时更改此参数。
如果系统始终具有数万个 TCP 连接,则可以相应地增大此值。增加散列表大小意味着占用更多内存,从而减少了用户应用程序的可用内存。
不稳定
建议不要更改以下参数。
指定缺省的 TCP 连接重新传输总超时值。对于给定的 TCP 连接,如果 TCP 包已经重新传输了 tcp_ip_abort_interval 时间,但在这段时间内未收到来自另一个端点的任何确认,则 TCP 将关闭此连接。
有关 TCP 重新传输超时 (retransmission timeout, RTO) 计算,请参阅 RFC 1122 中的第 4.2.3 节。另请参见tcp_rexmit_interval_max。
8 分钟
500 毫秒到 1193 小时
是
请勿更改此值。有关例外,请参见tcp_rexmit_interval_max。
不稳定
指定缺省的 TCP 连接初始重新传输超时 (retransmission timeout, RTO) 值。有关针对每个路由设置不同值的介绍,请参阅每路由度量标准。
3 秒
1 毫秒到 20 秒
是
请勿更改此值。减小此值可能会导致不必要的重新传输。
不稳定
定义缺省的最大重新传输超时 (retransmission timeout, RTO) 值。对于所有 TCP 连接,计算后得出的 RTO 不能超过此值。另请参见tcp_ip_abort_interval。
60 秒
1 毫秒到 2 小时
是
在一般的网络环境中,请勿更改此值。
在某些特殊情况下,如果连接的往返时间 (round-trip time, RTT) 大约为 10 秒,则可以增大此值。如果更改此值,则还应该更改 tcp_ip_abort_interval 参数。将tcp_ip_abort_interval 的值更改为至少是 tcp_rexmit_interval_max 值的四倍。
不稳定
指定缺省的最小重新传输超时 (retransmission timeout, RTO) 值。所有 TCP 连接的已计算的 RTO 不能低于此值。另请参见tcp_rexmit_interval_max。
400 毫秒
1 毫秒到 20 秒
是
在一般的网络环境中,请勿更改此值。
TCP 的 RTO 计算应该可以应对大多数 RTT 浮动。在某些非常特殊的情况下,如果连接的往返时间 (round-trip time, RTT) 大约为 10 秒,则增大此值。如果更改此值,则应该更改 tcp_rexmit_interval_max 参数。应将 tcp_rexmit_interval_max 的值更改为至少是 tcp_rexmit_interval_min 值的八倍。
不稳定
0 毫秒
0 到 2 小时
是
请勿更改此值。
当 RTO 计算无法获得连接的最佳值时,可以更改此值以免不必要的重新传输。
不稳定
1(启用)
0(禁用)或 1(启用)
是
请勿更改此值。通常,当在高速网络中使用 TCP 时,必须防止序列号回绕。因此,需要 timestamp 选项。
不稳定
控制缺省的最小接收窗口大小。最小值是连接的最大段大小 (maximum segment size, MSS) 的 tcp_recv_hiwat_minmss 倍。
4
1 到 65,536
是
请勿更改此值。如果需要更改此值,则不要将其更改为低于 4 的值。
不稳定
定义缺省的最大 UDP 套接字数据报大小。有关更多信息,请参见udp_max_buf。
57,344 字节
1,024 到 1,073,741,824 字节
是
请注意,应用程序可以使用 setsockopt(3XNET) SO_SNDBUF 来更改单个套接字的大小。通常情况下,不需要更改缺省值。
不稳定
有关信息,请参见udp_xmit_hiwat(Solaris 9 发行版)。
定义缺省的最大 UDP 套接字接收缓冲区大小。有关更多信息,请参见udp_max_buf。
57,344 字节
128 到 1,073,741,824 字节
是
请注意,应用程序可以使用 setsockopt(3XNET) SO_RCVBUF 来更改单个套接字的大小。通常,不需要更改缺省值。
不稳定
有关信息,请参见udp_recv_hiwat(Solaris 9 发行版)。
建议不要更改以下参数。
2,097,152 字节
65,536 到 1,073,741,824 字节
是
请勿更改此值。如果将此参数设置为非常大的值,则 UDP 套接字应用程序可能会占用过多的内存。
不稳定
有关信息,请参见udp_max_buf(Solaris 9 发行版)。
在以下任一标注位置中启用或禁用 IPQoS 处理:转发外发、转发传入、本地外发以及本地传入。此参数是如下所示的位掩码:
未使用 |
未使用 |
未使用 |
未使用 |
转发外发 |
转发传入 |
本地外发 |
本地传入 |
---|---|---|---|---|---|---|---|
X |
X |
X |
X |
0 |
0 |
0 |
0 |
任一位置中的 1 将掩盖或禁用此特定标注位置中的 IPQoS 处理。例如,值 0x01 将针对所有本地传入包禁用 IPQoS 处理。
缺省值为 0,意味着在所有标注位置中启用 IPQoS 处理。
0 (0x00) 到 15 (0x0F)。值 15 指示在所有标注位置中禁用 IPQoS 处理。
是
要在任一标注位置中启用或禁用 IPQoS 处理时。
不稳定
控制 SCTP 端点在重新发送 INIT 块时应该进行的最大尝试次数。SCTP 端点可以使用 SCTP 启动结构覆盖此值。
8
0 到 128
是
INIT 的重新传输数取决于 sctp_pa_max_retr。理论上,sctp_max_init_retr 应该小于或等于 sctp_pa_max_retr。
不稳定
控制 SCTP 关联的最大重新传输数(所有路径上的)。当超过此数值时,将中止 SCTP 关联。
10
1 到 128
是
所有路径上的最大重新传输数取决于路径数以及每条路径上的最大重新传输数。理论上,应该将 sctp_pa_max_retr 设置为所有可用路径上的 sctp_pp_max_retr 之和(参见sctp_pp_max_retr)。例如,如果有 3 条通往目标的路径,并且这 3 条路径中每条路径上的最大重新传输数均为 5,则应该将 sctp_pa_max_retr 设置为小于或等于 15。(请参见 RFC 2960 的第 8.2 节中的注释。)
不稳定
5
1 到 128
是
请不要将此值更改为小于 5 的值。
不稳定
1,048,576
128 到 1,073,741,824
是
即使应用程序使用 setsockopt(3XNET) 将窗口大小更改为大于 sctp_cwnd_max 的值,所用的实际窗口仍然不会超过 sctp_cwnd_max。因此,sctp_max_buf应该大于 sctp_cwnd_max。
不稳定
控制 SCTP 关联的外发 IPv4 包的 IPv4 数据包头中的生存时间 (time to live, TTL) 值。
64
1 到 255
是
该值通常不需要更改。如果通往目标的路径可能跨越 64 个以上跃点,则考虑增大此参数。
不稳定
计算向空闲目标发送 HEARTBEAT 块的时间间隔,该间隔为心跳时间。
30 秒
0 到 86,400 秒
是
请参阅 RFC 2960 的第 8.3 节。
不稳定
2 分钟
0 到 1,440 分钟
是
请参阅 RFC 2960 的第 5.1.3 节。
不稳定
1500 字节
68 到 65,535
是
如果基础链接支持大于 1500 字节的帧大小,则增大此参数。
不稳定
100 毫秒
1 到 60,000 毫秒
是
请参阅 RFC 2960 的第 6.2 节。
不稳定
0(禁用)
0(禁用)或 1(启用)
是
如果要忽略路径上的 MTU 更改,则启用此参数。但是,如果路径 MTU 减少,则启用此参数可能会导致 IP 分段。
不稳定
102,400
1024 到 4,294,967,295
是
请参阅 RFC 2960 的第 7.2.1 节。
不稳定
设置缺省的发送窗口大小(以字节为单位)。另请参见sctp_max_buf。
102,400
8,192 到 1,073,741,824
是
应用程序可以使用 setsockopt(3SOCKET) SO_SNDBUF 来更改单个关联的发送缓冲区。
不稳定
8,192
8,192 到 1,073,741,824
是
该值通常不需要更改。此参数设置为了将套接字标记为可写而需要在发送缓冲区中包含的最小大小。如果需要,请考虑根据sctp_xmit_hiwat更改此参数。
不稳定
控制缺省的接收窗口大小(以字节为单位)。另请参见sctp_max_buf。
102,400
8,192 到 1,073,741,824
是
应用程序可以使用 setsockopt(3SOCKET) SO_RCVBUF 来更改单个关联的接收缓冲区。
不稳定
控制最大缓冲区大小(以字节为单位)。它控制由使用 setsockopt(3SOCKET) 的应用程序设置的发送缓冲区和接收缓冲区的大小。
1,048,576
8,192 到 1,073,741,824
是
如果要在高速网络环境中进行关联,则增大此参数的值以便适应较高的网络链接速度。
不稳定
60
0 到 255
是
该值通常不需要更改。如果通往目标的路径可能跨越 60 个以上跃点,则考虑增大此参数。
不稳定
设置对等方的所有目标地址的重新传输超时 (retransmission timeout, RTO) 下限(以毫秒为单位)。
1,000
500 到 60,000
是
请参阅 RFC 2960 的第 6.3.1 节。
不稳定
控制对等方的所有目标地址的重新传输超时 (retransmission timeout, RTO) 上限(以毫秒为单位)。
60,000
1,000 到 60,000,000
是
请参阅 RFC 2960 的第 6.3.1 节。
不稳定
控制对等方的所有目标地址的初始重新传输超时 (retransmission timeout, RTO)(以毫秒为单位)。
3,000
1,000 到 60,000,000
是
请参阅 RFC 2960 的第 6.3.1 节。
不稳定
60,000
10 到 60,000,000
是
该值通常不需要更改。可以根据sctp_rto_max更改此参数。
不稳定
60,000
0 到 300,000
是
该值通常不需要更改。可以根据sctp_rto_max更改此参数。
不稳定
0(禁用)
0(禁用)或 1(启用)
是
如果需要动态地址重新配置,则可以启用此参数。出于安全考虑,只在进行测试时启用此参数。
不稳定
1(启用)
0(禁用)或 1(启用)
是
如果 SCTP 环境不支持部分可靠性,则禁用此参数。
不稳定
从 Solaris 8 发行版开始,可以使用每路由度量标准将某些属性与 IPv4 和 IPv6 路由表项进行关联。
例如,有一个系统配备了两个不同的网络接口:一个快速以太网接口和一个千兆位以太网接口。系统的缺省 tcp_recv_hiwat 为 24,576 字节。此缺省值对于快速以太网接口是足够了,但可能无法满足千兆位以太网卡接口的需求。
可以将不同的缺省 TCP 接收窗口大小关联到千兆位以太网接口路由项,而不是增大系统的 tcp_recv_hiwat 缺省值。通过进行此关联,所有通过此路由的 TCP 连接都将具有增大的接收窗口大小。
例如,以下是路由表 (netstat -rn) 中的项(采用 IPv4):
192.123.123.0 192.123.123.4 U 1 4 hme0 192.123.124.0 192.123.124.4 U 1 4 ge0 default 192.123.123.1 UG 1 8 |
在本示例中,执行以下操作:
# route change -net 192.123.124.0 -recvpipe x |
然后,所有通往 ge0 链接上的 192.123.124.0 网络的连接都将使用接收缓冲区大小 x,而不使用缺省的接收窗口大小 24567。
如果目标位于 a.b.c.d 网络中,并且不存在特定于此网络的路由项,则可以向此网络中添加前缀路由并更改度量标准。例如:
# route add -net a.b.c.d 192.123.123.1 -netmask w.x.y.z # route change -net a.b.c.d -recvpipe y |
请注意,此前缀路由的网关是缺省路由器。然后,所有通往此网络的连接都使用接收缓冲区大小 y。如果有多个接口,则使用 -ifp 参数指定要使用的接口。这样,可以控制将哪个接口用于特定的目标。要检验此度量标准,请使用 route(1M) get 命令。