tcp协议优化
『壹』 TCP优化器怎样使用
现在Windows服务来器是众多用户的首先源,以其使用方法、配置简单赢得了大家一致的好评。而现在网络上通行的协议就是TCP/IP协议,在Windows系统中配置TCP/IP非常简单,只要指定IP地址、掩码、网关、DNS等选项后就能够让其进行工作。而我们在学习TCP/IP的时候,所了解的情况并不是如此简单的。之所以出现两种截然相反的情况,是因为对于TCP/IP很多参数,Windows采用了默认的设置。我们知道一般默认的设置都讲究“不求有功,但求无过”的思想,即采用保守的配置以满意大部分用户的一般需求。对于追求性能的用户来说,就需要手工进行调整了。在对TCP/IP调整的过程中,最重要有效的就是调整最大传输单元MTU的值。下面我们就向大家介绍具体的优化过程。
『贰』 网站加速的传输协议优化
网页传输一般都采用HTTP协议,而HTTP协议又是基于TCP协议,所以一般的传输协议优化,会选择优化HTTP协议或TCP协议。 Google提出了SPDY协议,来替代广泛使用的HTTP 协议。SPDY 协议可以通过一个单独的 TCP 链接实现并行的多路复用流通信,并且支持优先级,优先传送最重要的 HTML 内容,而其他 JavaScript,视频等不是太重要的内容的优先级则会相对较低。
SPDY协议的缺点是与HTTP协议并不兼容,所以只能用于Chrome浏览器与支持SPDY的WEB应用(主要是Google自己的应用)。 因为HTTP协议基于TCP协议,所以如果TCP协议得到了优化,HTTP协议也自然得到了优化。但是,这种TCP优化,要求优化后的协议与标准TCP协议兼容。主流的TCP优化技术包括:
1.Zeta-TCP
由北京华夏创新科技有限公司(AppEx Networks) 实现并商业化。
2. FastTCP
由FastSoft实现并商业化。
由于Zeta-TCP和FastTCP是直接对TCP协议进行优化,所以其不仅仅对于HTTP协议有效,对于所有基于TCP的协议,例如FTP、SMTP、POP3或其它基于TCP的自定义协议,都有加速效果。
TCP协议优化对于静态内容和动态内容同样生效。
『叁』 安卓cpu优化tcp拥塞算法cubic和reno怎么选择
上述具体的论文可以参考:CUBIC: A New TCP-Friendly High-Speed TCP Variant
1. tcp cubic数学模型
CUBIC在设计上简化了BIC-TCP的窗口调整算法,在BIC-TCP的窗口调整中会出现一个凹和凸(这里的凹和凸指的是数学意义上的凹和凸,凹函数/凸函数)的增长曲线,CUBIC使用了一个三次函数(即一个立方函数),在三次函数曲线中同样存在一个凹和凸的部分,该曲线形状和BIC-TCP的曲线图十分相似,于是该部分取代BIC-TCP的增长曲线。另外,CUBIC中最关键的点在于它的窗口增长函数仅仅取决于连续的两次拥塞事件的时间间隔值,从而窗口增长完全独立于网络的时延RTT,之前讲述过的HSTCP存在严重的RTT不公平性,而CUBIC的RTT独立性质使得CUBIC能够在多条共享瓶颈链路的TCP连接之间保持良好的RRTT公平性。
来看下具体细节:当某次拥塞事件发生时,Wmax设置为此时发生拥塞时的窗口值,然后把窗口进行乘法减小,乘法减小因子设为β,当从快速恢复阶段退出然后进入到拥塞避免阶段,此时CUBIC的窗口增长开始按照“凹”式增长曲线进行增长,该过程一直持续直到窗口再次增长到Wmax,紧接着,该函数转入“凸”式增长阶段。该方式的增长可以使得窗口一直维持在Wmax附近,从而可以达到网络带宽的高利用率和协议本身的稳定性。
窗口的增长函数如下:
W(t)=C*(t-K)3+Wmax,其中C和β为常量。
t为当前时间距上一次窗口减小的时间差,而K就代表该函数从W增长到Wmax的时间周期,。
当收到ACK后,CUBIC计算利用该算法计算下一个RTT内的窗口增长速度,即计算W(t+RTT),该值将作为cwnd的目标值,根据cwnd的大小,CUBIC将进入三种不同模式,如果cwnd会小于在标准TCP下经过上次拥塞之后的时刻t窗口将会达到的值(该值是通过标准TCP的窗口增长函数计算出来的),那么CUBIC就处于标准TCP模式,如果小于Wmax,那么位于凹阶段的,如果大于Wmax,那么处于凸阶段。
tcp cubic 内核源代码调用逻辑
CUBIC整体架构调用的逻辑如下:
1. 连接每收到一个ack,则调用tcp_ack
2. tcp_ack会调用bictcp_acked,用来更新cnt和delayed_ack(用来消除delay包的影响)
3. tcp_ack会调用bictcp_cong_avoid,这是分两种情况:
(1)snd_cwnd小于慢启动阈值,处于慢启动阶段,则调用tcp_slow_start
(2)snd_cwnd大于慢启动阈值,处于拥塞避免阶段,则调用bictcp_update来更新bictcp,再调用tcp_cong_avoid_ai
4. tcp_ack中如果检测到丢包,进入拥塞处理阶段,则调用bictcp_recalc_ssthresh来更新慢启动阈值
5. tcp_ack中完成丢包重传后,退出拥塞处理阶段,则调用bictcp_undo_cwnd来更新
快速重传:tcp_ack中的丢包检测,即检测到连续3个重复ACK。
快速恢复:bictcp_undo_cwnd,直接把snd_cwnd更新为max(snd_cwnd,last_max_cwnd),和掉包前相差不大。
『肆』 如何优化TCP/IP网络
现在Windows服务器是众多用户的首先,以其使用方法、配置简单赢得了大家一致的好评。而现在网络上通行的协议就是TCP/IP协议,在Windows系统中配置TCP/IP非常简单,只要指定IP地址、掩码、网关、DNS等选项后就能够让其进行工作。而我们在学习TCP/IP的时候,所了解的情况并不是如此简单的。之所以出现两种截然相反的情况,是因为对于TCP/IP很多参数,Windows采用了默认的设置。我们知道一般默认的设置都讲究“不求有功,但求无过”的思想,即采用保守的配置以满意大部分用户的一般需求。对于追求性能的用户来说,就需要手工进行调整了。在对TCP/IP调整的过程中,最重要有效的就是调整最大传输单元MTU的值。下面我们就向大家介绍具体的优化过程。
一、找出最合适的MTU值
在默认情况下,TCP/IP在网络中的最大传输单元为1500。这是什么意思呢?我们知道网络传输数据是按数据包的形式来传送的,例如默认的MTU值为1500字节,那么当传送的数据大于1500时,则会以此为标准,将其分封个若干个1500字节,然后进行封包、解包操作。由此看来,MTU值的大小会影响到封包和解包操作的频率。
那么我们是不是将MTU的值设的越大越好呢?当然不是,首先值过小,那么会在网络中进行频繁的封包和解包,其影响显而易见;而设置的值过大那么适合局域网内部的高速传输,但是接入Internet则会影响稳定性。因此我们需要寻找最合适的MTU值。
寻找MTU合适大小的方法是借助Ping工具来完成的。在运行窗口中输入“cmd”后回车打开命令提示符窗口,输入“ping -f -l MTU值 网关IP”,其中-f表示不进行碎片整理,-l表示指定MTU的值,而最终朱则试我们一般是拿网关为标准。
在测试时,我们可以先取一个基准数据,例如默认设置1500,如果命令执行之后返回的提示信息是“Packet needs to be fragmented but DF set.”时,那则说明我们设置的MTU值过大,不适合当前的网络(图1);当不适合时则需要重新执行该命令并将MTU值改小,而返回的信息变成“Reply from 192.168.1.254: bytes=1472 time=1ms TTL=64”的时候(图2),那么则可以将MTU值再增大,一直找到在两种状态之间的那个MTU值,这个数值就是当前环境下最合适的MTU值了。知道了这个数值后,我们才好进行后面的工作。二、修改MTU值
尽管找到了最合适的MTU值大小,但是怎么去修改呢?因为Windows系统默认都已经设置好了,并没有给我们提供修改的选项。
不要紧张,系统的参数设置都是保存在注册表中的,因此我们可以通过修改注册表的方法来实现修改MTU的值。打开运行窗口,输入“regedit”后回车打开注册表编辑器,然后依次选择“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces”,在该项下会看到很多接口,单击其中的每个接口,在右侧则都会有一个“IPAddress”的键,查看它的值,如果它的值与当前网卡的IP地址相同,那么就表示这个接口为当前使用的。这样只要在该接口上单击鼠标右键,选择弹出菜单中的“新建——Dword值”,创建一个名为“MTU”的Dword主键,然后将其值设为前面获取的MTU值即可最后提醒大家,在修改注册表之前,最好做好备份之后再修改,以避免修改出错导致系统产生故障。三、应用实例
修改了MTU值后,只要数值大小合适,那么网络性能一般都会有所提高。尤其是传送较大容量的数据时效果会比较明显。但是在实际的使用中,仍然有一些情况需要我们注意。下面笔者继续向大家作一介绍。
1.启用MTU路径检测
前面我们知道,MTU的值是要讲究环境的,很多朋友会说,我确定最适合的MTU值时是以本地网关为参照的,如果出了局域网进入互联网该怎么办呢?不要紧,我们只要启用MTU路径检测,那么TCP/IP协议就会自动检测到达目标远程主机路径中所经过的网络MTU值并自动作出调整,从而避免冲突。
打开注册后,依次选择“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\”,然后在右侧创建一个名为“enablepmtudiscovery”的Dword值,再把它的值设为设为1表示启用MTU路径检测.
2.启用默认路由
我们知道,Windows 2000/XP/2003在某种情况下可以充当路由器来使用,但是默认状态下该功能却是关闭的。如果启用该功能,那则可允许内置的路由缓冲和队列来优化TCP/IP网络。因此我们可以打开注册表,定位到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\”,然后新建一个“ipenablerouter”的Dword值,并设为1即可。
『伍』 ns2 优化tcp 算法需要修改什么文件
NS2是用来跑网络仿真的,你单纯的算法用ns2跑干嘛?你要是路由算法 ,教你一个简单的方法,找个简单的路由协议,路由名字不要改,把你的算法合上去,连makefile都不要改了,重新编译。
『陆』 tcp建立连接成功率底有哪些原因造成,该怎么优化
tcp建立连接需要经过三次握手才能建立连接。所以和网络信号的稳定性有关系,建议更换更好的网络。
『柒』 如何优化网速
前提是你的接入方式能提供给你足够的带宽
否则即使是使用1000M网卡同样不内能达到提速的容目的
另外
如果使用xp系统可以通过限制系统保留的带宽来达到提速的目的
具体方法:
开始--运行--gpedit.msc
进入策略组编辑器
j进入--管理模板--网络--Qos数据包调度程序--限制可保留带宽
将保留的20%带宽更改为0
『捌』 想深入了解tcp机制和相关参数优化吗
公平性
公平性发拥塞各
源端(或同源端建立同TCP连接或UDP数据报)能公平共享同网络资源(带宽、缓存等)处于相同级别源端应该相同数量网络资源产
公平性根本原于拥塞发必导致数据包丢失数据包丢失导致各数据流间争抢限网络资源发竞争争抢能力弱数据流受更损害
没拥塞没公平性问题
TCP层公平性问题表现两面:
(1)
面向连接TCP连接UDP拥塞发拥塞指示同反应处理导致网络资源公平使用问题拥塞发拥塞控制反应机制TCP
数据流按拥塞控制步骤进入拥塞避免阶段主减发送入网络数据量连接数据报UDP由于没端端拥塞控制机制即使网络发拥
塞指示(数据包丢失、收重复ACK等)UDP像TCP减少向网络发送数据量结遵守拥塞控制TCP数据流网络资源越越少
没拥塞控制UDP则越越网络资源导致网络资源各源端配严重公平
网络资源配公平反
加重拥塞甚至能导致拥塞崩溃何判断拥塞发各数据流否严格遵守TCP拥塞控制及何惩罚遵守拥塞控制协议行
目前研究拥塞控制热点传输层解决拥塞控制公平性问题根本全面使用端端拥塞控制机制
(2) 些TCP连接间存公平性问题产问题原于些TCP拥塞前使用窗口尺寸或者RTT较或者数据包比其TCP占带宽
RTT公平性
AIMD拥塞窗口更新策
略存些缺陷式增加策略使发送发送数据流拥塞窗口往返延(RTT)内增加数据包同数据流网络瓶颈带宽进
行竞争具较RTTTCP数据流拥塞窗口增加速率快于具RTTTCP数据流占更网络带宽资源
附加说明
美间线路质量rtt较且丢包TCP协议丢包败丢包;TCP设计目解决靠线路靠传输问题即解决丢包丢包却使TCP传输速度幅降HTTP协议传输层使用TCP协议所网页载速度取决于TCP单线程载速度(网页单线程载)
丢包使TCP传输速度幅降主要原丢包重传机制控制机制TCP拥塞控制算
Linux内核提供若干套TCP拥塞控制算已加载进内核通内核参数net.ipv4.tcp_available_congestion_control看
1. Vegas
1994
Brakmo提种新拥塞控制机制TCP
Vegas另外角度进行拥塞控制前面看TCP拥塞控制基于丢包旦现丢包于调整拥塞窗口由于丢包定由
于网络进入拥塞由于RTT值与网络运行情况比较密切关系于TCP
Vegas利用RTT值改变判断网络否拥塞调整拥塞控制窗口发现RTT增Vegas认网络发拥塞于始减拥塞窗
口RTT变Vegas认网络拥塞逐步解除于再增加拥塞窗口由于Vegas利用丢包判断网络用带宽利用RTT变化判断更精确探测网络用带宽效率更Vegas缺陷并且说致命终影响TCP
Vegas并没互联网规模使用问题采用TCP Vegas流带宽竞争力及未使用TCP Vegas流
网络路由器要缓冲数据造RTT变缓冲区没溢并发拥塞由于缓存数据导致处理延RTT变
特别带宽比较网络要始传输数据RTT急剧增线网络特别明显种情况TCP
Vegas降低自拥塞窗口要没丢包面看标准TCP降低自窗口于两者始公平再循环TCP
Vegas效率非低其实所TCP都采用Vegas拥塞控制式流间公平性更竞争能力并Vegas算本身问题
适用环境:难互联网规模适用(带宽竞争力低)
2. Reno
Reno目前应用广泛且较熟算该算所包含慢启、拥塞避免快速重传、快速恢复机制现众算基础Reno运行机制容易看维持态平衡必须周期性产定量丢失再加AIMD机制--减少快增慢尤其窗口环境由于数据报丢失所带窗口缩要花费间恢复带宽利用率能高且随着网络链路带宽断提升种弊端越越明显公平性面根据统计数据Reno公平性相肯定能够较网络范围内理想维持公平性原则
Reno算其简单、效鲁棒性主流广泛采用
能效处理组同数据窗口丢失情况问题New Reno算解决
基于丢包反馈协议
近几随着高带宽延网络(High Bandwidth-Delay proct network)普及针提高TCP带宽利用率点涌现许新基于丢包反馈TCP协议改进其包括HSTCP、STCP、BIC-TCP、CUBICH-TCP
总说基于丢包反馈
协议种式拥塞控制机制其依据网络丢包事件做网络拥塞判断即便网络负载高要没产拥塞丢包协议主降低自
发送速度种协议程度利用网络剩余带宽提高吞吐量由于基于丢包反馈协议网络近饱状态所表现侵略性面提高网络带宽利用率;另面于基于丢包反馈拥塞控制协议说提高网络利用率同意味着拥塞丢包事件期远所些协议提高网络带宽利用率同间接加网络丢包率造整网络抖性加剧
友性
BIC-TCP、
HSTCP、STCP等基于丢包反馈协议提高自身吞吐率同严重影响Reno流吞吐率基于丢包反馈协议产低劣TCP友
性组要原于些协议算本身侵略性拥塞窗口管理机制些协议通认网络要没产丢包定存余带宽断提高自发送速率
其发送速率间宏观角度看呈现种凹形发展趋势越接近网络带宽峰值发送速率增越快仅带量拥塞丢包同恶意吞并网络
其共存流带宽资源造整网络公平性降
3. HSTCP(High Speed TCP)
HSTCP(高速传输控制协议)高速网络基于AIMD(加性增乘性减少)种新拥塞控制算,能高速度延网络更效提高网络吞吐率通标准TCP拥塞避免算增加减少参数进行修改实现窗口快速增慢速减少使窗口保持足够范围充利用带宽高速网络能够获比TCP
Reno高带宽存严重RTT公平性公平性指共享同网络瓶颈流间占网络资源相等
TCP发送端通网络所期望丢包率态调整HSTCP拥塞窗口增量函数
拥塞避免窗口增式: cwnd = cwnd + a(cwnd) / cwnd
丢包窗口降式:cwnd = (1-b(cwnd))*cwnd
其a(cwnd)
b(cwnd)两函数标准TCPa(cwnd)=1b(cwnd)=0.5达TCP友性窗口较低情况说非
BDP网络环境HSTCP采用标准TCP相同ab保证两者间友性窗口较(临界值LowWindow=38)采取新a
b达高吞吐要求具体看RFC3649文档
4. westwood
线网络量研究基础发现tcpwestwood种较理想算主要思想通发送端持续断检测ack达速率进行带宽估计拥塞发用带宽估计值调整拥塞窗口慢启阈值采用aiad(additive increase and
adaptive decrease)拥塞控制机制仅提高线网络吞吐量,且具良公平性与现行网络互操作性存问题能区传输程拥塞丢包线丢包导致拥塞机制频繁调用
5. H-TCP
高性能网络综合表现比较优秀算:h-tcprtt公平性低带宽友性等问题
6. BIC-TCP
BIC-TCP缺点:首先抢占性较强BIC-TCP增函数链路带宽延短情况比起标准TCP抢占性强探测阶段相于重新启慢启算TCP处于稳定窗口直线性增再执行慢启程其BIC-TCP窗口控制阶段binary
search increase、max probingSmaxSmin区几值增加算实现难度同协议性能析模型增加复杂度低RTT网络 低速环境BIC能于积极BIC进行进步改进即CUBICLinux采用CUBIC前默认算
7. CUBIC
CUBIC设计简化BIC-TCP窗口调整算
BIC-TCP窗口调整现凹凸(凹凸指数意义凹凸凹函数/凸函数)增曲线CUBIC使用三函数(即
立函数)三函数曲线同存凹凸部该曲线形状BIC-TCP曲线图十相似于该部取代BIC-TCP增曲线另
外CUBIC关键点于窗口增函数仅仅取决于连续两拥塞事件间间隔值窗口增完全独立于网络延RTT前讲述HSTCP存严重RTT公平性CUBICRTT独立性质使CUBIC能够条共享瓶颈链路TCP连接间保持良RTT公平性
CUBIC is a congestion control protocol for TCP (transmission control protocol) and thecurrent default TCP algorithm in Linux.
The protocol modifies the linear window
growth function of existing TCP standards to be a cubic function in
order to improve the scalability of TCP over fast and long distance
networks. It also achieves more equitable bandwidth allocations among
flows with different RTTs (round trip times) by making
the window growth to be independent of RTT – thus those flows grow
their congestion window at the same rate. During steady state, CUBIC
increases the window size aggressively when the window is far from the
saturation point, and the slowly when it is close
to the saturation point.This feature allows
CUBIC to be very scalable when the bandwidth and delay proct of the
network is large, and at the same time, be highly stable and also fair
to standard TCP flows.
8. STCP
STCPScalable tcp
STCP算由 Tom Kelly于 2003提 ,通修改 TCP窗口增加减少参数调整发送窗口 ,适应高速网络环境该算具高链路利用率稳定性该机制窗口增加 RTT反比 ,定程度存着
RTT公平现象 ,且传统 TCP流共存 ,占用带宽 ,其 TCP友性较差
-
『玖』 我使用360优化一直没有出错,但这次优化后,网络的TCP/IP协议没了,WHY
从来不用那玩意优化。。。以前用什么优化的软件 把我win7的桌面预览给关了。。不靠谱阿不靠谱、、
『拾』 电脑需要进行TCP窗口优化吗
如果和别人的电脑速率下载一直有差距,还是优化一下!
像LTE这种测试,一般是需要进行修改的