CN107070738A - 一种tcp协议传输数据原理可视化的方法和系统 - Google Patents
一种tcp协议传输数据原理可视化的方法和系统 Download PDFInfo
- Publication number
- CN107070738A CN107070738A CN201710092962.8A CN201710092962A CN107070738A CN 107070738 A CN107070738 A CN 107070738A CN 201710092962 A CN201710092962 A CN 201710092962A CN 107070738 A CN107070738 A CN 107070738A
- Authority
- CN
- China
- Prior art keywords
- data
- protocol
- transmission control
- tcp
- control protocol
- 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/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/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种TCP协议传输数据原理可视化的方法和系统,涉及通信协议领域和图形界面编程领域,本发明可以展示两台主机通过TCP协议发送、接收数据的过程,以图形和文字的方式详细展现以太网的数据链路层、网络层、传输层的协议定义和原理。该系统以仿真软件的形式体现,模拟发送、接收TCP数据,将发送或者接收到的数据按照以太网协议自动分为数据链路层、网络层、传输层,并以分层图形的形式展现,每一层都按照协议规定按照协议字段展示,使用鼠标点击相关部分都有详细的协议规范解释。较传统通过阅读书籍、编程实验等学习方法学习TCP协议相比,具有趣味性,整体性的优点。
Description
技术领域
本发明涉及通信协议领域和图形界面编程领域,尤其涉及一种TCP协议传输数据原理可视化的方法和系统。
背景技术
计算机技术领域可以分为两大类:计算机本身的技术,计算机之间的互联技术。在网络发达的今天,计算机之间的互联技术便有了很高的研究价值。在计算机互联领域,TCP协议无疑成为了现在千万计算机互联的语言。研究、学习TCP协议对于理解计算机之间的互联技术以及设计一些简单的通讯协议具有很高的价值,但TCP协议本身具有复杂、结构庞大的特点,学习研究TCP协议需要C语言和OS的相关知识,入门门槛较高。学习TCP协议最直接的方式是阅读TCP协议的具体实现项目,比如Lwip。但是此类项目源代码体积庞大,阅读代码往往会陷入代码细节,不能从整体上掌握协议栈设计原理及方法。
发明内容
为了解决该问题,本发明提出了一种TCP协议传输数据原理可视化的方法和系统。将TCP协议的理论知识通过仿真软件以图形和文字的方式展示出来,让对TCP协议有兴趣的学习者有了一个简单有效地全面了解协议栈的途径,能够让学习者快速入门。
本发明提供了一种TCP协议传输数据原理可视化的方法。模拟终端设备通讯中TCP协议发送、接收数据的过程,以图形和文字的方式详细展现以太网的数据链路层、网络层、传输层的协议定义和原理。以仿真软件的形式体现,模拟发送、接收TCP数据,将发送或者接收到的数据按照以太网协议自动分为数据链路层、网络层、传输层,并以分层图形的形式展现,每一层都按照协议规定按照协议字段展示,使用鼠标点击相关部分都有详细的协议规范解释。系统可以模拟的硬件设备有PC机、交换机,可以模拟两个PC机之间使用TCP协议发送、接收数据。同时,也可以使用两个PC机和交换机(三层)模拟两台PC之间通过三层路由交换的数据交互。
模拟的硬件设备有PC机、交换机,模拟两个PC机之间使用TCP协议发送、接收数据。
使用两个PC机和交换机模拟两台PC之间通过三层路由交换的数据交互。
分为三个主要的模块,设备仿真模块、TCP协议仿真模块、界面展示模块;
设备仿真模块主要仿真的设备有PC机和三层交换机;PC需要仿真的主要特性包括设置MAC地址、IP地址、建立网络连接、发送接收数据;三层交换机需要仿真的主要特性包括设置端口的IP,设置三层路由;
TCP协议仿真模块根据TCP协议规范内容,使用算法模拟仿真一个轻量级的TCP协议栈,能产生符合TCP协议的数据包,解析TCP协议的数据包;
界面展示模块通过图形界面和文字的方式展示收发TCP数据包的详细过程。
PC机和三层交换机的外观设计使用QT的点、线、面绘制模块绘制简单的外观形状。
TCP协议仿真模块实现了一个轻量级的TCP协议栈,支持数据链路层、IP层、TCP层的协议数据封装和解析。此模块为设备仿真模块提供协议包封包、解包的服务。
界面展示模块负责将整个TCP通讯过程中涉及到的协议,以图形配合文字的形式展示出来;展示模块使用QT的2D图形管理架构The Graphics View Framework。GraphicsView 框架提供了一个界面,用于管理和交互大量的用户自定义的2D图形物件,并且有一个view widget用户可视化这些物件。
每一个图形展示元素都有两部分组成,图形本身的属性描述和数据描述;图形本身的属性主要包括表格类型、线条粗细,内容数据属性主要包含由TCP仿真层提供的动态数据组成。
具体图形模块抽象模型如下所示。
class display module
{
Color;
Fill;
Class attribute_data
{
TCP header;
TCP data;
}
}
图形展示元素的数据属性设计按照TCP协议栈各层次的协议格式设计,当用户发送数据时,由TCP仿真模块产生TCP协议包各个协议层数据内容更新图形展示模块的数据属性,图形展示元素检测到数据属性变化后更新展示内容。
本发明的有益效果是
本发明可以帮助初学者快速掌握TCP协议内容,对整个协议内容的宏观掌握有较强的帮助作用。较传统通过阅读书籍、编程实验等学习方法学习TCP协议相比,具有趣味性,整体性的优点。
附图说明
图1是系统整体架构图
图2是协议总体展示图;
图3是具体协议内容概况提示图;
图4是体协议内容示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
该系统共分为三个主要的模块,设备仿真模块、TCP协议仿真模块、界面展示模块。设备仿真模块主要仿真的设备有PC机和三层交换机。PC需要仿真的主要特性包括设置MAC地址、IP地址、建立网络连接、发送接收数据。三层交换机需要仿真的主要特性包括设置端口的IP,设置三层路由。TCP协议仿真模块根据TCP协议规范内容,使用算法模拟仿真一个轻量级的TCP协议栈,能产生符合TCP协议的数据包,解析TCP协议的数据包。界面展示模块通过图形界面和文字的方式展示收发TCP数据包的详细过程。整个系统的架构见附图1所示。
设备仿真模块主要设备有两种,PC机和三层交换机。PC机和三层交换机的外观设计使用QT的点、线、面绘制模块绘制简单的外观形状。主要设计到的QT的图形类有QPainter、QPen 、QRectF 、QBrush 等。PC设备可以设置MAC地址、IP地址,交换机设备可以设置端口IP和静态路由信息。
TCP协议仿真模块实现了一个轻量级的TCP协议栈,支持数据链路层、IP层、TCP层的协议数据封装和解析。此模块为设备仿真模块提供协议包封包、解包的服务。设计并实现TCP_protocol_init、TCP_protocol_socket_create、TCP_protocol_socket_bind、TCP_protocol_socket_listen、TCP_protocol_socket_ accept、TCP_protocol_socket_connect、TCP_protocol_socket_send_data、TCP_protocol_socket_receive_data、TCP_protocol_close接口。这些接口为设备仿真层提供socket应用层的服务。
界面展示模块负责将整个TCP通讯过程中涉及到的协议,以图形配合文字的形式展示出来。展示模块使用QT的2D图形管理架构The Graphics View Framework。GraphicsView 框架提供了一个界面,用于管理和交互大量的用户自定义的2D图形物件,并且有一个view widget(QGraphicsView)用户可视化这些物件,支持zoom和rotate。这个框架包含事件传播构架,支持场景中物体交互能力。物件的键盘,鼠标的按下,移动,松开,双击事件都能响应,并且可以跟踪鼠标移动。该框架可以满足TCP原理展示的具体需求。TCP原理展示最好的图形是表格,但需要表格的内容和格式是随着仿真设备的配置和使用的具体协议以及发送的内容动态更改的。因此,本系统使用了具体图形形状属性和内容数据分离的设计,即每一个图形展示元素都有两部分组成,图形本身的属性描述和数据描述。图形本身的属性主要包括表格类型、线条粗细等外观,内容数据属性主要包含由TCP仿真层提供的动态数据组成。具体图形模块抽象模型如下所示。
class display module
{
Color;
Fill;
Class attribute_data
{
TCP header;
TCP data;
}
}
图形展示元素的数据属性设计按照TCP协议栈各层次的协议格式设计,当用户发送数据时,由TCP仿真模块产生TCP协议包各个协议层数据内容更新图形展示模块的数据属性,图形展示元素检测到数据属性变化后更新展示内容。
该系统的实例说明,两台PC间通过TCP通讯。步骤如下:
1. 新建project,然后新增两台PC机仿真设备,然后使用仿真RJ45网线将两台计算机连接。
2. 设置PC1的IP地址为192.168.0.12,PC2的IP地址为192.168.0.15。
3. 使用PC1使用本地地址和80端口创建TCP server,并等待对方连接。
4. PC2使用PC1的IP地址和作为服务地址,连接PC1。
5. 连接成功后,使用PC1发送TCP数据到PC2。
6. 系统将这个过程中的数据链路层、IP层、TCP层的数据内容以图形的方式实时展示。
展示的一个实例,图2为TCP协议整体的概况说明展示图,鼠标放在某一个具体协议内容上时(这里以IP协议头为例),系统会简略提示该协议内容,见图3具体协议内容概况提示。使用鼠标点击具体的协议内容,可以查看该协议的具体细节,见图4具体协议内容。同样,可以在详细的协议图里点击查看协议字段详细的解释。
Claims (9)
1.一种TCP协议传输数据原理可视化的方法,其特征在于,
以仿真软件的形式体现,模拟发送、接收TCP数据,将发送或者接收到的数据按照以太网协议自动分为数据链路层、网络层、传输层,并以分层图形的形式展现,每一层都按照协议规定按照协议字段展示,使用鼠标点击相关部分都有详细的协议规范解释。
2.根据权利要求1所述的方法,其特征在于,
模拟的硬件设备有PC机、交换机,模拟两个PC机之间使用TCP协议发送、接收数据。
3.根据权利要求2所述的方法,其特征在于,使用两个PC机和交换机模拟两台PC之间通过三层路由交换的数据交互。
4.一种TCP协议传输数据原理可视化的系统,其特征在于,
分为三个主要的模块,设备仿真模块、TCP协议仿真模块、界面展示模块;
设备仿真模块主要仿真的设备有PC机和三层交换机;PC需要仿真的主要特性包括设置MAC地址、IP地址、建立网络连接、发送接收数据;三层交换机需要仿真的主要特性包括设置端口的IP,设置三层路由;
TCP协议仿真模块根据TCP协议规范内容,使用算法模拟仿真一个轻量级的TCP协议栈,能产生符合TCP协议的数据包,解析TCP协议的数据包;
界面展示模块通过图形界面和文字的方式展示收发TCP数据包的详细过程。
5.根据权利要求4所述的系统,其特征在于,
PC机和三层交换机的外观设计使用QT的点、线、面绘制模块绘制简单的外观形状。
6.根据权利要求4所述的系统,其特征在于,
TCP协议仿真模块实现了一个轻量级的TCP协议栈,支持数据链路层、IP层、TCP层的协议数据封装和解析;此模块为设备仿真模块提供协议包封包、解包的服务。
7.根据权利要求4所述的系统,其特征在于,
界面展示模块负责将整个TCP通讯过程中涉及到的协议,以图形配合文字的形式展示出来;展示模块使用QT的2D图形管理架构The Graphics View Framework;Graphics View框架提供了一个界面,用于管理和交互大量的用户自定义的2D图形物件,并且有一个viewwidget用户可视化这些物件;
每一个图形展示元素都有两部分组成,图形本身的属性描述和数据描述;图形本身的属性主要包括表格类型、线条粗细,内容数据属性主要包含由TCP仿真层提供的动态数据组成。
8.根据权利要求7所述的系统,其特征在于,
具体图形模块抽象模型如下所示;
class display module
{
Color;
Fill;
Class attribute_data
{
TCP header;
TCP data;
}
}。
9.根据权利要求7所述的系统,其特征在于,
图形展示元素的数据属性设计按照TCP协议栈各层次的协议格式设计,当用户发送数据时,由TCP仿真模块产生TCP协议包各个协议层数据内容更新图形展示模块的数据属性,图形展示元素检测到数据属性变化后更新展示内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710092962.8A CN107070738A (zh) | 2017-02-21 | 2017-02-21 | 一种tcp协议传输数据原理可视化的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710092962.8A CN107070738A (zh) | 2017-02-21 | 2017-02-21 | 一种tcp协议传输数据原理可视化的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107070738A true CN107070738A (zh) | 2017-08-18 |
Family
ID=59621245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710092962.8A Pending CN107070738A (zh) | 2017-02-21 | 2017-02-21 | 一种tcp协议传输数据原理可视化的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070738A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111493A (zh) * | 2017-12-13 | 2018-06-01 | 盛科网络(苏州)有限公司 | 一种激励报文的产生方法和装置 |
CN110442337A (zh) * | 2019-08-13 | 2019-11-12 | 中国核动力研究设计院 | 一种基于核电厂dcs平台逻辑算法图云图的标注方法 |
CN110930820A (zh) * | 2019-12-12 | 2020-03-27 | 中环天仪股份有限公司 | 一种hart总线协议学习系统 |
CN114567569A (zh) * | 2022-02-25 | 2022-05-31 | 西安微电子技术研究所 | 一种PCIe仿真数据可视化方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034509A (zh) * | 2007-04-20 | 2007-09-12 | 吉林中软吉大信息技术有限公司 | IPv6网络协议仿真教学实验装置 |
CN102123413A (zh) * | 2011-03-29 | 2011-07-13 | 杭州电子科技大学 | 无线传感网络的网络监测和协议分析系统 |
CN104767729A (zh) * | 2015-02-10 | 2015-07-08 | 上海创景计算机系统有限公司 | 通信数据协议构造与分解系统及方法 |
CN105610604A (zh) * | 2015-12-16 | 2016-05-25 | 网宿科技股份有限公司 | Tcp传输数据的图形化分析方法和系统 |
-
2017
- 2017-02-21 CN CN201710092962.8A patent/CN107070738A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034509A (zh) * | 2007-04-20 | 2007-09-12 | 吉林中软吉大信息技术有限公司 | IPv6网络协议仿真教学实验装置 |
CN102123413A (zh) * | 2011-03-29 | 2011-07-13 | 杭州电子科技大学 | 无线传感网络的网络监测和协议分析系统 |
CN104767729A (zh) * | 2015-02-10 | 2015-07-08 | 上海创景计算机系统有限公司 | 通信数据协议构造与分解系统及方法 |
CN105610604A (zh) * | 2015-12-16 | 2016-05-25 | 网宿科技股份有限公司 | Tcp传输数据的图形化分析方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108111493A (zh) * | 2017-12-13 | 2018-06-01 | 盛科网络(苏州)有限公司 | 一种激励报文的产生方法和装置 |
CN110442337A (zh) * | 2019-08-13 | 2019-11-12 | 中国核动力研究设计院 | 一种基于核电厂dcs平台逻辑算法图云图的标注方法 |
CN110442337B (zh) * | 2019-08-13 | 2022-03-22 | 中核控制系统工程有限公司 | 一种基于核电厂dcs平台逻辑算法图云图的标注方法 |
CN110930820A (zh) * | 2019-12-12 | 2020-03-27 | 中环天仪股份有限公司 | 一种hart总线协议学习系统 |
CN114567569A (zh) * | 2022-02-25 | 2022-05-31 | 西安微电子技术研究所 | 一种PCIe仿真数据可视化方法、系统、设备及介质 |
CN114567569B (zh) * | 2022-02-25 | 2023-10-20 | 西安微电子技术研究所 | 一种PCIe仿真数据可视化方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106301911B (zh) | 基于sdn的空间信息网络半实物集中式仿真平台及其实现方法 | |
CN107070738A (zh) | 一种tcp协议传输数据原理可视化的方法和系统 | |
CN104778073B (zh) | 一种新型信息安全攻防实验平台及其实现方法 | |
Zhang et al. | Teaching innovation in computer network course for undergraduate students with packet tracer | |
CN103001823B (zh) | 一种基于多粒度抽象理论的虚拟网络构建方法和系统 | |
CN102622262B (zh) | 基于modelica建模语言的分布式实时交互仿真系统 | |
CN106448300A (zh) | 一种基于虚拟现实的移动互联网的学习平台 | |
CN105871487A (zh) | 一种面向卫星移动通信的系统级仿真演示验证系统 | |
CN203070573U (zh) | 基于云存储服务的数字教室系统 | |
CN107341979A (zh) | 一种微型vr教育计算机系统 | |
CN107888676A (zh) | 一种基于微服务的云端个人学习环境装置 | |
CN105959347A (zh) | 一种基于p2p网络的全数字协同仿真系统通信方法 | |
CN104575150A (zh) | 用于电力仿真培训的多人联机合作的方法和装置及系统 | |
CN108076083A (zh) | 一种kvm交换机远程控制方法及系统 | |
Cho et al. | E-learning based on internet of things | |
CN107483284A (zh) | 网络设备的测试方法及装置 | |
CN106200448B (zh) | 一种工业接口实施远程映射系统 | |
CN103634290B (zh) | 网络仿真系统 | |
CN103699761B (zh) | 基于数据流映射的通用人工社会态势显示方法及装置 | |
CN105912751A (zh) | 一种模型联合仿真的方法及系统 | |
CN210807344U (zh) | 一种远程fpga实验系统 | |
CN205068849U (zh) | 一种跆拳道交互式在线教学系统 | |
CN105138390B (zh) | 应用在过程监测控制系统与仿真支撑系统间的实时数据通讯系统及方法 | |
Li et al. | Construction of modularized english teaching platform for multimedia wireless network based on NS2 simulation software | |
Liu et al. | Research on computer network simulation platform based on VR technology |
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 |
Application publication date: 20170818 |
|
RJ01 | Rejection of invention patent application after publication |