C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 3030|回复: 0

[技术讨论] ZTE-FDDLTE测试电脑TCP窗口设置 [复制链接]

军衔等级:

亚星游戏官网-yaxin222  新兵

注册:2011-11-29
发表于 2016-4-14 17:44:34 |显示全部楼层
        问题描述(故障现象)
现在大多数LTE FDD项目中,在做TCP峰值吞吐量测试时,往往采用多线程,这样以来会遮盖好多测试中的问题,比如:传输的丢包,特别涉及到均匀丢包时,这些问题就被掩盖了,如果用单线程测试,就要涉及到发射缓存和接收窗口的修改,本文专门就不同操作系统的相关窗口的修改详细说明。
  组网环境

  问题原因分析
TCP 的发送窗口取决于接收方的接收窗口以及发送方系统所能提供的最大发送缓存,即 TCP 发送窗口= min (接收方的接收窗口,发送方的最大发送缓存)。  
接收方的接收窗口是操作系统根据注册表中的值来设定,在建立 TCP 连接时接收方就按这个接收窗口提供相应的物理缓存,用于存放 TCP 数据。接收方收到按序到达的 TCP 数据包后会以一定的周期或事件触发将其缓存中的数据递交到应用层。 在 Windows 操作系统中默认的接收窗口只有 8Kbyte 或 64Kbyte ,在 RTT 时延 20ms 的情况下速率峰值只能达到 3.2Mbps 和 25.6Mbps 。在 LTE 中,下行单用户峰值超过了 100Mbps ,为了测试单线程吞吐率峰值,就必须修改接收窗口。 建议按照公式来配置接收窗口:最小接收窗口=速率× RTT ,该公式的含义是在一定的时延下要达到该速率所需要的接收窗口最小值。  
由于发送窗口需要缓存已发送但未收到确认的数据,需要系统提供相应的物理缓存。在 Windows 操作系统中,发送缓存的最大值= min ( DefaultSendWindow , 2 × TransmitIoLength ),其中 DefaultSendWindow 和 TransmitIoLength 均在注册表中设置。
  问题解决方案
接收方的接收窗口的修改
在 Windows XP 、 2003 系统中,通过 DrTcp 工具来修改接收窗口。打开该App后,在左上角的 Tcp Receive Window 编辑框中输入你要修改的 TCP 窗口值,其单位是 byte ,例如需要修改成 512K ,则直接输入 512000 ,如下图所示。然后点击右下角的 Save 按钮后退出,最后将电脑正常重启。

在Vista系统中,需要手动修改注册表,
路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
键名 : TcpWindowSize
类型: dword 〔 32 位〕
键值: 80000 ( 16 进制, 512Kbyte )
键名 : GlobalMaxTcpWindowSize
类型: dword 〔 32 位〕
键值: 80000 ( 16 进制, 512Kbyte )
修改完注册表后,需要以管理员身份打开 DOS 窗口,输入以下命令后正常重启电脑 。
netsh int tcp set global autotuninglevel=disabled
   
发送方的发送缓存
  
在 Windows 2003 Server 中默认的 DefaultSendWindow 很大,所以只需要修改 TransmitIoLength ,而在 Windows XP 中则需要同时修改这两个参数。在注册表中找到下述路径,添加或修改指定键名的键值。
DefaultSendWindow
路径: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\AFD\Parameters
键名: DefaultSendWindow
类型: DWORD
键值:建议修改成接收窗口大小,例如 512K , 10 进制数为 524288 ,十六进制数为 80000
T ransmitIoLength
路径: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\AFD\Parameters
键名: TransmitIoLength
类型: DWORD
键值:建议修改为发送窗口的一半,例如发送窗口为 512K ,则该键值修改 256K ,十进制数为 262144 ,十六进制数为 40000
另外,系统考虑到 HTTP 业务服务器的连接数可能比较多,所以 HTTP 业务的发送缓存还受限于另外一个参数 MaxBytesPerSend 。修改方式如下:
MaxBytesPerSend
路径: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ HTTP \Parameters
键名: MaxBytesPerSend
类型: DWORD
键值:建议修改成接收窗口大小,例如 512K , 10 进制数为 524288 ,十六进制数为 80000
  总结及注意事项
  
备注:本文档中没有 Vista 的发射缓存的修改说明和 WIN7 接收窗口和发送缓存的修改说明,在咨询过R&D专家后给出建议: Win7 的接收窗口大小是无法修改的,它采用 Receive Window Auto-Tuning Level 自动调整方式。但是对于 LTE 单线程下载, win7 的这个 auto-tuning 是否能把窗口大小调整到合适的值,还不能确认。从目前经验看, LTE 单线程下载,接收窗大小应该设置到 600KB 以上。使用 Windows XP ,配置 window scale 选项,可以达到需要的数值。另外,从外场测试情况看,有些 FTP App,如新版本的 FileZilla ,根本不使用 Windows 操作系统的接收窗设置,而是在其配置文件中可以设置接收窗大小。建议使用这类App进行单线程测试。如果系统没有问题,在配置适当的 tcp 参数条件下,单线程下载应具有和多线程下载同等的吞吐量水平。现在国内普遍用多线程下载进行测试验证,可能会掩盖系统丢包等缺陷问题。建议用单线程App进行测试验证,如果 SINR 没有问题,单线程下载不仅仅峰值速率可以到极限值,平均下载吞吐量也应该接近极限值。

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-11-16 07:54 , Processed in 0.117234 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图