跳到主要内容

TCP设置

本节向您展示如何配置用于客户端到事件代理以及事件代理到事件代理连接的 TCP 设置。

配置TCP保持活动设置

TCP 保持活动功能用于保持 Solace PubSub+ 事件代理上的 TCP 连接处于活动状态。可以为客户端到事件代理连接和事件代理到事件代理邻居连接配置 TCP 保持活动功能的计时器。

配置客户端到事件代理连接的TCP保持活动

要配置客户端到事件代理连接的 TCP 保持活动,请输入以下 CONFIG 命令。

solace# configure
solace(configure)# client-profile <name> message-vpn <name>
solace(configure/client-profile)# tcp keepalive
solace(configure/client-profile/tcp/keepalive)#

其中:

  • <name> 是客户端配置文件的名称。客户端配置文件名称可以包含最多 32 个字母数字字符(区分大小写)。也允许使用“_”字符。
  • <vpn-name> 是客户端配置文件所属的现有消息 VPN 的名称。

CLI 现在处于 TCP 保持活动配置模式,您可以在此模式下为客户端到事件代理连接的 TCP 保持活动功能计时器进行以下配置:

  • solace(configure/client-profile/tcp/keepalive)# count <num> — 设置 TCP 在断开连接前应发送的最大保持活动探测次数(从 2 到 5)。默认值为 5。
  • solace(configure/client-profile/tcp/keepalive)# idle <seconds> — 设置连接在 TCP 开始发送保持活动探测之前必须保持空闲的时间(从 3 到 120 秒)。默认值为 3。
  • solace(configure/client-profile/tcp/keepalive)# interval <seconds> — 设置作为各个保持活动探测之间间隔的时间(从 1 到 30 秒)。默认值为 1。

这些命令的 no 版本 no 将值重置回默认值。

配置事件代理到事件代理连接的 TCP 保持活动

要配置事件代理到事件代理邻居连接的 TCP 保持活动,请在每个邻居事件代理上输入以下命令:

solace# configure
solace(configure)# routing
solace(configure/routing)# cspf neighbor <physical-router-name>
solace(configure/routing/cspf/neighbor)# tcp keepalive
solace(...e/routing/cspf/neighbor/tcp/keepalive)#

CLI 现在处于 TCP 保持活动配置模式,您可以在此模式下为事件代理到事件代理连接的 TCP 保持活动功能计时器进行以下配置:

  • solace(configure/client-profile/tcp/keepalive)# count <num> — 设置 TCP 在断开连接前应发送的最大保持活动探测次数(从 2 到 5)。默认值为 5。
  • solace(configure/client-profile/tcp/keepalive)# idle <seconds> — 设置连接在 TCP 开始发送保持活动探测之前必须保持空闲的时间(从 3 到 120 秒)。默认值为 3。
  • solace(configure/client-profile/tcp/keepalive)# interval <seconds> — 设置作为各个保持活动探测之间间隔的时间(从 1 到 30 秒)。默认值为 1。

这些命令的 no 版本 no 将值重置回默认值。

配置TCP初始拥塞窗口大小

TCP 初始拥塞窗口大小用于启动 TCP 连接或从空闲状态恢复(即,没有流量)时。它是 TCP 在等待来自对等方的确认之前发送的段数。较大的初始窗口值允许连接更快地达到全速。有关更多详细信息,请参阅 RFC 2581。

将 TCP 初始拥塞窗口大小从默认值 2 更改会导致不符合 RFC 2581。此外,如果此参数值设置过高,可能会导致网络拥塞。在尝试更改 Solace PubSub+ 事件代理上的此 TCP 参数之前,请始终联系 Solace 获取技术支持。

TCP 初始拥塞窗口大小功能可以为客户端到事件代理连接和事件代理到事件代理邻居连接进行配置。

配置事件代理到客户端连接的TCP初始拥塞窗口大小

要配置事件代理在向客户端发送数据时使用的初始拥塞窗口大小,请输入以下 CONFIG 命令。

solace(configure)# client-profile <name> message-vpn <vpn-name>
solace(configure/client-profile)# tcp initial-cwnd <num-mss>

其中:

  • <name> 是客户端配置文件的名称。客户端配置文件名称可以包含最多 32 个字母数字字符(区分大小写)。也允许使用“_”字符。如果配置文件尚不存在,则会创建它。
  • <vpn-name> 是客户端配置文件所属的消息 VPN 的名称。它必须已经存在。
  • <num-mss> 是一个整数,指定以 TCP 最大段大小(MSS)的段数衡量的 TCP 初始拥塞窗口的大小。有效值为 2 到 7826。默认值为 2。

此命令的 no 版本 no tcp initial-cwnd 将 TCP 初始拥塞窗口的大小重置回默认值。

配置事件代理到事件代理连接的TCP初始拥塞窗口大小

要配置事件代理在向邻居事件代理发送数据时使用的初始拥塞窗口大小,您必须使用 tcp initial-cwnd 命令。

示例:

solace(configure)# routing
solace(configure/routing)# cspf neighbor <physical-router-name>
solace(configure/routing/cspf/neighbor)# tcp initial-cwnd <num-mss>

其中:

  • <num-mss> 是一个整数,指定以 TCP 最大段大小(MSS)的段数衡量的 TCP 初始拥塞窗口的大小。有效值为 2 到 7826。默认值为 2。

此命令的 no 版本 no tcp initial-cwnd 将 TCP 初始拥塞窗口的大小重置回默认值。

配置TCP最大窗口大小

TCP 最大窗口大小应设置为至少等于 TCP 对等方之间链路的带宽延迟乘积。

如果最大窗口大小设置为小于带宽延迟乘积,则 TCP 连接的运行速度将低于其最大潜在吞吐量。如果最大窗口设置为小于大约两倍的带宽延迟乘积,则偶尔的数据包丢失将导致 TCP 连接在处理丢失的确认和重传时运行速度低于其最大潜在吞吐量。

或者,如果 TCP 最大窗口大小设置得过大,在高负载的情况下,TCP 会逐渐增加其拥塞窗口大小,直到:

  • 拥塞窗口大小达到最大窗口大小
  • 网络中发生数据包丢失

最初,当 TCP 拥塞窗口大小较小时,网络的物理带宽延迟充当飞行中数据包的内存缓冲区。但随着拥塞窗口超过带宽延迟乘积,飞行中数据包的缓冲移动到网络中各个交换机、事件代理和其他设备的队列中。随着 TCP 拥塞窗口大小的持续增加,这些各种设备队列溢出,导致数据包丢失和 TCP 回退。

TCP 最大窗口大小可以为客户端到事件代理连接和事件代理到事件代理邻居连接进行配置。

配置客户端到事件代理连接的TCP最大窗口大小

要配置客户端发送到和从事件代理接收的数据的最大窗口大小,请输入以下 CONFIG 命令:

solace(configure)# client-profile <name> message-vpn <vpn-name>
solace(configure/client-profile)# tcp max-wnd <num-kilo-bytes>

其中:

  • <name> 是客户端配置文件的名称。客户端配置文件名称可以包含最多 32 个字母数字字符(区分大小写)。也允许使用“_”字符。如果配置文件尚不存在,则会创建它。
  • <vpn-name> 是现有消息 VPN 的名称,客户端配置文件属于该 VPN。
  • <num-kilo-bytes> 是一个整数,指定以千字节(KB)数衡量的 TCP 最大窗口的大小。有效值为 32 到 65536。默认值为 256。

此命令的 no 版本 no tcp max-wnd 将 TCP 最大窗口的大小重置回默认值。

配置更改将应用于所有现有的客户端连接。

配置事件代理到事件代理邻居连接的TCP最大窗口大小

要配置邻居事件代理发送到和从事件代理接收的数据的最大窗口大小,请输入以下 CONFIG 命令:

solace(configure)# routing
solace(configure/routing)# cspf neighbor <physical-router-name>
solace(configure/routing/cspf/neighbor)# tcp max-wnd <num-kilo-bytes>

其中:

  • <num-kilo-bytes> 是一个整数,指定最大 TCP 窗口大小的 KB 数。有效值为 32 到 65536 。默认值为 2048。

此命令的 no 版本 no tcp max-wnd 将 TCP 最大窗口的大小重置回默认值。

配置TCP MSS

您可以配置用于客户端到事件代理和事件代理到事件代理连接的 TCP 最大段大小(MSS)。

配置客户端到事件代理连接的 TCP MSS

要配置事件代理向客户端发送的数据的 TCP MSS,请输入以下 CONFIG 命令:

solace# configure
solace(configure)# client-profile <name> message-vpn <name>
solace(configure/client-profile)# tcp mss <byte-count>

其中:

  • <byte-count> 是最大段大小的字节数(256 到 1460)。默认值为 1460。

此命令的 no 版本 no mss 将 TCP 最大段大小重置回默认值。在事件代理运行期间更改此值将立即对所有现有和新的 TCP 连接生效。

配置事件代理到事件代理连接的 TCP MSS

要配置邻居事件代理的 TCP MSS,请输入以下 CONFIG 命令:

solace(configure)# routing
solace(configure/routing)# cspf neighbor <physical-router-name>
solace(configure/routing/cspf/neighbor)# mss <byte-count>

其中:

  • <byte-count> 是最大段大小的字节数(256 到 1460)。默认值为 1460。

此命令的 no 版本 no mss 将 TCP 最大段大小重置回默认值。在事件代理运行期间更改此值将立即对所有现有和新的 TCP 连接生效。