CN108880938A - 一种端到端tcp会话测速方法 - Google Patents
一种端到端tcp会话测速方法 Download PDFInfo
- Publication number
- CN108880938A CN108880938A CN201810630921.4A CN201810630921A CN108880938A CN 108880938 A CN108880938 A CN 108880938A CN 201810630921 A CN201810630921 A CN 201810630921A CN 108880938 A CN108880938 A CN 108880938A
- Authority
- CN
- China
- Prior art keywords
- speed
- transmission
- confirmation message
- difference
- byte number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种端到端TCP会话测速方法,通过计算一个时间段内传输的字节数,得到传输速度;即传输速度=字节数/传输时长,所述字节数是通过提取第一确认报文和第二确认报文的TCP报文头部的确认序号,并计算所述确认序号的差值得到的;所述传输时长是通过计算第一确认报文和第二确认报文的时间戳的差值得到的;本发明提高了可以精确测量上层应用实际有效传输速率,不受背景流量干扰,占用***资源少,而且不占用额外带宽。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种端到端TCP会话测速方法。
背景技术
网络传输速度是用户关心的指标,也是经常测量的参数。目前传统的测速只能反映整个链路的传输速率,无法精准测量具体会话的有效传输性能。而且测量时需要经常读取数据缓冲区或网络套接字,需要一定的***占用;有时其测量时需要占据整个网络带宽,甚至影响别的网络应用程序的使用。
为了解决上述问题,本发明提出一种端到端TCP会话测速方法。本发明提出的端到端TCP会话测速是一种精细粒度的带宽测量方法,可以精确测量上层应用实际有效传输速率,不受背景流量干扰。只需基础的协议分析,占用资源少,而且不占用额外带宽。
发明内容
为了解决上述问题,本发明提出一种端到端TCP会话测速方法。
其发明的思路如下:如图2所示,图2为TCP报文的标准格式,其包含有序列号(Sequence Number,SEQ)和确认序号(Acknowledgment Number,ACK),其中,SEQ和ACK满足公式1、公式2所示关系,LEN代表TCP报文实际传输的字节数。
SEQ=ACK (公式1)
ACK=SEQ+LEN (公式2)
假设TCP完成三次握手,协商TCP会话某个发送方以SEQ1作为起始序列号,那么
①第一次数据发送的序列号为SEQ1、数据长度LEN1,接收确认序号ACK1=SEQ1+LEN1;
②第二次数据发送的序列号为SEQ2=ACK1、数据长度LEN2,接收确认序号ACK2=SEQ2+LEN2。
按此规则,
第n-1次数据发送的序列号SEQn-1=ACKn-2、数据长度LENn-1,接收确认序号ACKn-1=SEQn-1+LENn-1
第n次数据发送的序列号SEQn=ACKn-1、数据长度LENn,接收确认序号ACKn=SEQn+LENn。
因此,端到端TCP会话的有效传输速率可以取任意两次确认报文确认序号的差值除以两个确认报文之间的时间差计算,即公式3所示,
Speed=Δack/Δtime (公式3)
其中Δack为两个确认报文之间的差值,Δtime为两个确认报文之间的时间差
具体的,一种端到端TCP会话测速方法,通过计算一个时间段内传输的字节数,得到传输速度;即传输速度=字节数/传输时长,所述字节数是通过提取任意两次,即第一确认报文和第二确认报文,的TCP报文头部的确认序号,并计算所述确认序号的差值得到的。该处的传输时长的获取为公知技术,不再累述。
优选的,所述传输时长是通过计算第一确认报文和第二确认报文的时间戳的差值得到的;所述时间戳是指第一确认报文和第二确认报文到达本地网卡的时间。
在具体的操作中,每个确认报文到达本地网卡的时间一般为报文捕获软件所在***的当前***时间;或者当***存在NTP时间服务器时,取服务器时间为到达时间。
优选的,还包括对传输速度的计算:
a.瞬时速度;取任意两次确认报文的确认序号的差值除以两个确认报文之间的时间戳差值后得出;
b.每秒速度;统计一秒内累计传输的字节数和累计传输时长,计算得出每秒速度;
c.会话速度;统计整个TCP会话中的累计传输的字节数和累计传输时长,计算得出本次的会话速度。
本发明的有益效果在于:
1)可以精确测量上层应用实际有效传输速率,不受背景流量干扰;
2)只需基础的协议分析,占用***处理资源少;
3)不占用额外带宽。
附图说明
图1是本发明***图;
图2是为TCP报文的标准格式;
图3是实施例的测试样本;
图4是实施例的测速结果。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
具体的,一种端到端TCP会话测速方法,通过计算一个时间段内传输的字节数,得到传输速度;即传输速度=字节数/传输时长,所述字节数是通过提取任意两次,即第一确认报文和第二确认报文,的TCP报文头部的确认序号,并计算所述确认序号的差值得到的。该处的传输时长的获取为公知技术,不再累述。
优选的,所述传输时长是通过计算第一确认报文和第二确认报文的时间戳的差值得到的;所述时间戳是指第一确认报文和第二确认报文到达本地网卡的时间。
在具体的操作中,每个确认报文到达本地网卡的时间一般为报文捕获软件所在***的当前***时间;或者当***存在NTP时间服务器时,取服务器时间为到达时间。
优选的,还包括对传输速度的计算:
a.瞬时速度;取任意两次确认报文的确认序号的差值除以两个确认报文之间的时间戳差值后得出;
b.每秒速度;统计一秒内累计传输的字节数和累计传输时长,计算得出每秒速度;
c.会话速度;统计整个TCP会话中的累计传输的字节数和累计传输时长,计算得出本次的会话速度。
附图3为采集一次浏览器下载文件的数据包为测试样本,提取确认号和对应的时间戳;
按照本申请所述的方法,取1秒钟的时间间隔,测得速率如附图4所示,可以看到:
附图4转换后的网速在0.78Mbps至1.56Mbps之间波动,与实际观察记录的本次TCP会话下载速率在100KB/s至200KB/s之间波动,是相当吻合的。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM、RAM等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (3)
1.一种端到端TCP会话测速方法,通过计算一个时间段内传输的字节数,得到传输速度;即传输速度=字节数/传输时长,其特征在于,所述字节数是通过提取第一确认报文和第二确认报文的TCP报文头部的确认序号,并计算所述确认序号的差值得到的。
2.如权利要求1所述的一种端到端TCP会话测速方法,其特征在于,所述传输时长是通过计算第一确认报文和第二确认报文的时间戳的差值得到的;所述时间戳是指第一确认报文和第二确认报文到达本地网卡的时间。
3.如权利要求2所述的一种端到端TCP会话测速方法,其特征在于,还包括对传输速度的计算:
a.瞬时速度;取任意两次确认报文的确认序号的差值除以两个确认报文之间的时间戳差值后得出;
b.每秒速度;统计一秒内累计传输的字节数和累计传输时长,计算得出每秒速度;
c.会话速度;统计整个TCP会话中的累计传输的字节数和累计传输时长,计算得出本次的会话速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810630921.4A CN108880938A (zh) | 2018-06-19 | 2018-06-19 | 一种端到端tcp会话测速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810630921.4A CN108880938A (zh) | 2018-06-19 | 2018-06-19 | 一种端到端tcp会话测速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108880938A true CN108880938A (zh) | 2018-11-23 |
Family
ID=64339646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810630921.4A Pending CN108880938A (zh) | 2018-06-19 | 2018-06-19 | 一种端到端tcp会话测速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108880938A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110380825A (zh) * | 2019-07-29 | 2019-10-25 | 网宿科技股份有限公司 | 一种传输速率的控制方法和装置 |
CN110943932A (zh) * | 2019-11-14 | 2020-03-31 | 锐捷网络股份有限公司 | 一种信息处理方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005455A (zh) * | 2006-12-30 | 2007-07-25 | 中国科学院计算技术研究所 | 一种基于旁路干扰的流量控制方法 |
CN102546832A (zh) * | 2012-02-29 | 2012-07-04 | 北京快网科技有限公司 | 基于tcp协议的报文发送方法 |
CN102957580A (zh) * | 2012-11-02 | 2013-03-06 | 华为技术有限公司 | 一种流量统计方法及设备 |
CN104009986A (zh) * | 2014-05-22 | 2014-08-27 | 中国电子科技集团公司第三十研究所 | 一种基于主机的网络攻击跳板检测方法及装置 |
CN105634836A (zh) * | 2014-10-27 | 2016-06-01 | 香港理工大学 | 信息处理方法及装置 |
CN106899510A (zh) * | 2015-12-18 | 2017-06-27 | 华为技术有限公司 | 一种基于iSCSI协议的传输速率控制方法和装置 |
CN108011781A (zh) * | 2017-12-06 | 2018-05-08 | 上海市共进通信技术有限公司 | 基于Linux内核提高网络设备测试性能的方法 |
CN108092840A (zh) * | 2016-11-23 | 2018-05-29 | ***通信集团广东有限公司 | 网络速率分段处理方法及装置 |
-
2018
- 2018-06-19 CN CN201810630921.4A patent/CN108880938A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005455A (zh) * | 2006-12-30 | 2007-07-25 | 中国科学院计算技术研究所 | 一种基于旁路干扰的流量控制方法 |
CN102546832A (zh) * | 2012-02-29 | 2012-07-04 | 北京快网科技有限公司 | 基于tcp协议的报文发送方法 |
CN102957580A (zh) * | 2012-11-02 | 2013-03-06 | 华为技术有限公司 | 一种流量统计方法及设备 |
CN104009986A (zh) * | 2014-05-22 | 2014-08-27 | 中国电子科技集团公司第三十研究所 | 一种基于主机的网络攻击跳板检测方法及装置 |
CN105634836A (zh) * | 2014-10-27 | 2016-06-01 | 香港理工大学 | 信息处理方法及装置 |
CN106899510A (zh) * | 2015-12-18 | 2017-06-27 | 华为技术有限公司 | 一种基于iSCSI协议的传输速率控制方法和装置 |
CN108092840A (zh) * | 2016-11-23 | 2018-05-29 | ***通信集团广东有限公司 | 网络速率分段处理方法及装置 |
CN108011781A (zh) * | 2017-12-06 | 2018-05-08 | 上海市共进通信技术有限公司 | 基于Linux内核提高网络设备测试性能的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110380825A (zh) * | 2019-07-29 | 2019-10-25 | 网宿科技股份有限公司 | 一种传输速率的控制方法和装置 |
CN110380825B (zh) * | 2019-07-29 | 2022-05-10 | 网宿科技股份有限公司 | 一种传输速率的控制方法和装置 |
CN110943932A (zh) * | 2019-11-14 | 2020-03-31 | 锐捷网络股份有限公司 | 一种信息处理方法及装置 |
CN110943932B (zh) * | 2019-11-14 | 2022-11-11 | 锐捷网络股份有限公司 | 一种信息处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2276202A1 (en) | Network transmission capacity measurement | |
Jaeger et al. | Reproducible measurements of TCP BBR congestion control | |
US20160226730A1 (en) | A Method And System For Determining Page Impression In A Client-Server System | |
TWI497970B (zh) | 用於改良之時脈偏移測量之技術 | |
CN108880938A (zh) | 一种端到端tcp会话测速方法 | |
CN105634836A (zh) | 信息处理方法及装置 | |
CN104901851B (zh) | 一种检测网络质量的方法和*** | |
CN106656642B (zh) | 一种往返时延的测量方法、装置及*** | |
US10181994B2 (en) | Probing a network | |
JP2006261755A (ja) | 測定装置、測定方法および測定プログラム | |
JP2017163272A (ja) | パケット解析プログラム、パケット解析方法およびパケット解析装置 | |
JP2017142238A (ja) | 試験測定装置及び特定リンク・トレーニング情報を選択する方法 | |
CN110169134A (zh) | 无线质量支持视频体验的检测方法及装置 | |
US20200110692A1 (en) | Latency measurement in an i/o operation of computer data storage | |
Peng et al. | Network measurement and performance analysis at server side | |
CN115514682B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN108092840B (zh) | 网络速率分段处理方法及装置 | |
CN106126640B (zh) | 内容数据推送方法及装置 | |
CN105611406B (zh) | 一种接入网服务商监测用户到视频服务器延迟特性方法 | |
JP3866647B2 (ja) | パケット損失率測定方法及びシステム | |
CN107171887B (zh) | 一种网络带宽测试方法、客户端及网络带宽测试*** | |
JP6568662B2 (ja) | データ収集システム、データ収集方法、クライアント装置、サーバー装置及びプログラム | |
WO2019156001A1 (ja) | 推定装置、推定方法及びプログラム | |
US20140237136A1 (en) | Communication system, communication controller, communication control method, and medium | |
US10110459B2 (en) | Throughput measuring method, computer readable medium, and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |