[发明专利]一种报文处理方法、转发设备及系统有效
申请号: | 201110078459.X | 申请日: | 2011-03-29 |
公开(公告)号: | CN102143078A | 公开(公告)日: | 2011-08-03 |
发明(设计)人: | 郑合文;陈海斌 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L1/16 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报文 处理 方法 转发 设备 系统 | ||
技术领域
本发明涉及通信技术领域,更具体地说,涉及一种报文处理方法、转发设备及系统。
背景技术
当前网络中,网络流量主要构成为视频业务流量。2010年10月20日,Sandvine公司发布对网络流量的监控报告,Netflix的视频业务流量占全美国晚上8点到10点下行数据量的20%。且预计到2014年,视频业务流量在网络流量的占比将达到91%。
视频数据在传输过程中采用TCP报文的格式,通过滑动窗口机制传输。具体过程如下:
步骤A:客户端和服务器之间建立TCP连接,服务器和客户端分别将自身最大数据接收量发送给对方。
需要指出的是:服务器在接收到来自客户端的TCP ACK报文(即TCP确认消息,该消息的TCP头ACK标志位被设置为1)之前一次性发送的数据量不会超过客户端的最大可接收的数据量。同时,客户端会在TCPACK报文中携带自身当前最大数据接收量(即通过TCP头的window字段标识);
服务器的发送窗口即一次性发送的数据量不大于客户端最大可接收的数据量和拥塞窗口cwnd之间数值小的数据量。
步骤B:服务器发送第一个TCP报文;
服务器接收第一个TCPACK报文,并将拥塞窗口cwnd设为2个报文数目,即服务器可一次性发送两个TCP报文至客户端;
服务器连续发送后续的两个TCP报文,接收第二个和第三个TCP ACK报文,并将拥塞窗口cwnd设为4,即服务器可一次性发送四个TCP报文至客户端;
后续服务器发送TCP报文并收到来自客户端针对该TCP连接的所有TCPACK报文后,服务器每收到一个TCPACK报文就将cwnd增加1,此过程称为SS(slow start,慢启动)阶段,直至拥塞窗口cwnd增加到慢启动阶段阈值ssthresh,对于大多数TCP实现来说,ssthresh的值是65536字节。
步骤C:当拥塞窗口cwnd增加到慢启动阶段阈值后,在服务器发送的所有TCP报文都被客户端通过TCP ACK确认成功接收后,服务器拥塞窗口cwnd增加1,此过程为CA(congestion avoidance,拥塞避免),直至拥塞窗口cwnd达到客户端的最大的接收数据接收量。
步骤D:客户端检查收到的TCP报文的序列号,当TCP报文的TCP头中的序列号大于客户端上次收到的TCP报文的TCP头序列号与上次收到的TCP报文负荷(不含TCP头)字节数之和时,表明TCP报文丢失,客户端重复发送TCPACK报文请求服务器重传丢失的TCP报文。
服务器感受到丢包后,将慢启动阶段阈值设置ssthresh为当前拥塞窗口cwnd的一半,将拥塞窗口cwnd重新设置为1,重新进入慢启动阶段(SS)。
从上述TCP报文处理过程可以看到,当TCP报文丢失后,TCP的拥塞窗口cwnd迅速降低、同时花费时间处理重传,这意味着TCP的吞吐量迅速下降,对于那些时延及吞吐量敏感的实时应用如视频通讯而言,用户的体验会显著下降。
针对这个问题,服务器禁用了拥塞窗口cwnd,这会导致无法根据网络拥塞情况调节服务器发送字节数目,进一步加剧了网络拥塞,降低了网络资源利用率。
发明内容
为解决上述技术问题,本发明实施例提供一种报文处理方法、转发设备及系统,以解决现有技术中服务器禁用拥塞窗口cwnd所导致的网络拥塞进一步加剧,网络资源利用率进一步降低的问题,技术方案如下:
基于本发明实施例的一个方面,提供一种报文处理方法,包括:
接收客户端当前发送的TCP ACK报文;
当判断客户端当前发送的TCP ACK报文的TCP头中的AcknowledgeNumber字段值与所述客户端之前针对同一个TCP连接发送的TCP ACK报文的TCP头中的Acknowledge Number字段值相同时,在存储设备内查找所述TCP ACK报文请求重传的TCP报文;
当在存储设备内查找到所述TCP ACK报文请求重传的TCP报文时,丢弃所述TCP ACK报文,发送所述TCP报文至发送该TCP ACK报文的客户端。
基于本发明实施例的另一方面,提供一种转发设备,包括:
ACK报文接收模块,用于接收客户端当前发送的TCP ACK报文;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110078459.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现数字基带预失真的方法及装置
- 下一篇:接入节点的业务控制方法和装置