CN106100989B - 一种实验用可编程路由平台及其实现方法 - Google Patents

一种实验用可编程路由平台及其实现方法 Download PDF

Info

Publication number
CN106100989B
CN106100989B CN201610335015.2A CN201610335015A CN106100989B CN 106100989 B CN106100989 B CN 106100989B CN 201610335015 A CN201610335015 A CN 201610335015A CN 106100989 B CN106100989 B CN 106100989B
Authority
CN
China
Prior art keywords
data frame
network
interface card
network interface
operating system
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.)
Active
Application number
CN201610335015.2A
Other languages
English (en)
Other versions
CN106100989A (zh
Inventor
陈磊
鲍蓉
胡局新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xuzhou University of Technology
Original Assignee
Xuzhou University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xuzhou University of Technology filed Critical Xuzhou University of Technology
Priority to CN201610335015.2A priority Critical patent/CN106100989B/zh
Publication of CN106100989A publication Critical patent/CN106100989A/zh
Application granted granted Critical
Publication of CN106100989B publication Critical patent/CN106100989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Abstract

本发明公开了一种实验用可编程路由平台及其实现方法,属于计算机网络教学技术领域,采用成本较低的多网卡主机作为路由器,利用操作系统的自身安全策略阻隔了网卡和操作系统的联系,阻止了操作系统对数据帧的自动处理,同时使用sharpcap抓取和发送数据帧,实现对网络数据帧的处理,协议及路由算法由学生定义,并记录路由表和数据帧的变化情况,向学生全面展示数据帧的传输过程,从而提升学生的学习兴趣和对计算机网络的理解。

Description

一种实验用可编程路由平台及其实现方法
技术领域
本发明属于计算机网络教学技术领域,具体是一种于计算机网络类课程的教学实验可编程路由平台及其实现方法
背景技术
网络实验平台一般采用网络数据帧的发送、捕获和解析向学生展现计算机网络对数据帧的处理过程,揭示计算机网络工作原理。
局域网一般使用的是广播信道,从一个站点可以很方便的访问全网。计算机与外界局域网的连接是通过网络适配器(Adapter),适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的。所谓广播通信就是一台计算机发送数据时,总线上的所有计算机都能检测到这个数据。为了在总线上实现一对一通信,每个计算机都配备了全球唯一的MAC地址,在发送数据帧时,在帧的首部写明接收站的地址,总线上的每台计算机在检测到该数据帧时,适配器都会把数据帧的地址与自己的MAC地址匹配,如果一致则接收,否则丢弃。但是为了管理网络,适配器有一种特殊的工作模式:混杂模式,在该模式下适配器会接收总线上所有的数据帧。
通常,在网络平台中,数据帧的转发、路由信息的变化都是操作系统自动处理,实验学生无法对其进行干预,也看不到其处理过程,更无法尝试设计自己的协议和算法。因此,制约了学生对计算机网络的理解深度,限制了学生的创新能力。
发明内容
1、要解决的问题
本发明要解决的技术问题是提供一种实验用可编程路由平台及其实现方法,该平台是把多网卡计算机改造成一台路由器,实现对网络数据帧的处理,协议及路由算法由学生定义,并记录路由表和数据帧的变化情况,向学生全面展示数据帧的传输过程,从而提升学生的学习兴趣和对计算机网络的理解。
2、技术方案
为解决上述技术问题,本发明所采取的技术方案是:一种实验用可编程路由平台,其特征在于包括两台以上的单网卡主机以及一台多网卡主机,所述的多网卡主机的网络适配器个数大于等于单网卡主机,单网卡主机的网络适配器与多网卡主机的网络适配器之间通过网络通信设备相连,进行数据帧传递,单网卡主机与多网卡主机之间形成星形连接;在多网卡主机的网络适配器与其本身的操作系统之间通过安全策略阻隔,多网卡主机内设置sharpcap接口,在多网卡主机内的多个网络适配器之间通过sharpcap接口进行数据包捕获、传递及处理。
对上述方案作进一步补充,所述的单网卡主机内设置有与其内部网络适配器进行信息交互的sharpcap接口。
对上述方案作进一步补充,所述的sharpcap接口是监听软件调用Winpcap的直接接口,具有数据包捕获、注入、分析和构建的功能。
对上述方案作进一步补充所述的多网卡主机的网络适配器之间数据包传递过程中,根据自定义路由算法进行数据包的捕获及处理,同时记录传递的数据信息。
对上述方案作进一步补充所述的安全策略是操作系统处理网络适配器中数据包的访问协议,安全策略阻隔是利用操作系统的自身安全策略阻隔网卡和操作系统的联系,阻止了操作系统对数据帧的自动处理。
一种试验用可编程路由平台的实现方法,其特征在于包括如下步骤:
1)编辑链路层数据帧
2)在单网卡主机侧利用sharpcap发送编辑的数据帧;
3)利用多网卡主机作为路由器接收数据帧;
4)利用安全策略阻止操作系统对数据帧的自动处理;
5)在多网卡主机上捕获数据帧,并分析数据帧;
6)读取路由表,调用自行编写路由规则;
7)根据算法修改数据帧和路由表;
8)转发,并记录数据帧和路由表变化;
9)单网卡主机侧捕获报文,识别数据帧;
10)显示数据帧变化及传播路径、路由表变化。
3、有益效果
相比于现有技术,本发明的有益效果为:
本发明中的实验用可编程路由平台,采用多个网卡之间相互数据传递,实现网络教学平台,降低了建设网络实验平台成本;同时,该平台结合实现方法,利用操作系统的自身安全策略阻隔了网卡和操作系统的联系,阻止了操作系统对数据帧的自动处理,同时使用sharpcap抓取和发送数据帧,让学生既可以使用传统网络实验平台的功能,实验学生可以通过自行设计协议和路由算法,并观察路由过程,从而加深对计算机网络工作原理的理解,激发创造力。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明中可编程路由实验平台结构组成示意图;
图2是本发明中试验用可编程路由平台实现方法的流程图;
图3是利用sharpcap进行数据包捕获的序列图;
图4是网络适配器发送接收数据帧的流程图;
其中:1、单网卡主机,2、多网卡主机。
具体实施方式
下面结合具体实施例对本发明进一步进行描述。
本发明具体涉及一种实验用可编程路由平台及实现方法,用于计算机网络类课程的教学实验,让学生可以通过自行设计协议和路由算法,并观察路由过程,从而加深对计算机网络工作原理的理解。
附图1为可编程路由平台的结构组成示意图,该平台包括两台以上的单网卡主机1以及一台多网卡主机2,所述的多网卡主机2的网络适配器个数大于等于单网卡主机1,单网卡主机1的网络适配器与多网卡主机2的网络适配器之间通过网络通信设备相连,进行数据帧传递,单网卡主机1与多网卡主机2之间形成星形连接,单网卡主机1内设置有与其内部网络适配器进行信息交互的sharpcap接口;在多网卡主机2的网络适配器与其本身的操作系统之间通过安全策略阻隔,多网卡主机2内设置sharpcap接口,在多网卡主机2内的多个网络适配器之间通过sharpcap接口进行数据包捕获、传递及处理,多网卡主机2的网络适配器之间数据包传递过程中,根据自定义路由算法进行数据包的捕获及处理,同时记录传递的数据信息。
可编程路由平台利用sharpcap和winpcap实现对网络数据帧的捕获和发送,利用安全策略阻止操作系统接受数据帧,由实验软件对数据帧进行处理。从而把多网卡计算机改造成一台路由器。实验学生可以自由设计协议和编写自己的路由算法,平台同时记录路由表和数据帧的变化情况,向学生全面展示数据帧的传输过程。从而提升学生的学习兴趣和对计算机网络的理解。
本发明中的sharpcap接口是监听软件调用Winpcap的直接接口,具有数据包捕获、注入、分析和构建的功能,形成数据包捕获框架,该框架是Winpcap组件和Windows网络核心函数的完美结合。该框架集继承Winpcap又超越Winpcap,它采用了消息机制,将面向对象的优越性表现的淋漓尽致,同时还集成了部分网络API函数和读取注册表的API函数。
本发明中,利用Sharpcap进行数据包捕获的过程,如附图2所示:首先获得适配器列表,获得适配器的MAC地址和网关地址,然后根据操作的选择来打开相应适配器,接着对该适配器指定相应的过滤准则后,开始对适配器传递的信息进行捕获,在捕获的同时,需要对捕获的数据包接收、数据的处理以及数据的显示,最后关闭适配器。在数据包接收过程中,接收的设计影响这个捕获的效率、准确度,甚至决定了捕获数据包的成败,
在捕获过程中,sharpcap需要在主机内存中开启一个新的线程,专门负责监听适配器是否有数据包到来。这个线程的意义就是同主窗体这个线程分开,避免了当数据包到来时主线程阻塞,防止程序“死掉”。
本发明中的安全策略是操作系统处理网络适配器中数据包的访问协议,安全策略阻隔是利用操作系统的自身安全策略阻隔网卡和操作系统的联系,阻止了操作系统对数据帧的自动处理。
利用上述的可编程路由平台进行网络教学实验,其具体实现步骤如下:
1)编辑链路层数据帧
数据链路层负责将位组合成字节,并将字节组合成帧。帧被用在数据链路层,从网络层传递过来的数据包被封装成帧,以根据介质访问的类型进行传输。网路适配器上封装为802.3帧,其结构包括前导、目的地址、原地址、长度、数据和帧校验序列。学习者根据需要,利用接口软件对帧的每一部分进行编辑,写入封装包内,形成待用的数据包。
2)在单网卡主机侧利用sharpcap发送编辑的数据帧
网络适配器中的核心技术是随机争用型介质访问方法,也即CSMA/CD方法。利用sharpcap发送编辑的数据帧流程为:a.载波侦听,由于Ethernet数据采用曼侧斯特编码,故可判断总线电平是否跳变确定总线是否空闲;b.冲突检测,两个主机都侦听到总线空闲,两者都会发送数据,可能会有冲突所以应该进行冲突检测,发现冲突就应当停止发送数据;c.随机延迟重发,停发后,节点进行随机延迟重发,若重发16次仍然没有成功,则宣告发送失败。
3)利用多网卡主机作为路由器接收数据帧
主要利用网络适配器接收数据帧过程中,首先要检查是否发生冲突,是否发生着丢弃帧,否则进入下一步;检查该帧的目的地址看是否可以接受该帧,若可以则进入下一步;检查CRC校验和LLC数据长度,若都正确,接受该帧,否则丢弃。其具体发送与接收数据帧的流程图如附图4所示。
4)利用安全策略阻止操作系统对数据帧的自动处理
利用操作系统的自身安全策略阻隔了网卡和操作系统的联系,阻止了操作系统对数据帧的自动处理,这样防止数据帧的丢失,同时也为后续学生的学习提供重要保障。
5)在多网卡主机上捕获数据帧,并分析数据帧
在数据包解析线程中,就需要根据实际包的内容进行分析了。通过Sharpcap捕获的数据包数据存储在RowPacket类的实例中,该实例提供了字节类型的索引器以读取实际包数据,该索引器可以当作一个字节类型的只读数组来使用,其中以字节为单位存储了数据包信息。该数据包一般是一个标准的以太网帧,即前14位为MAC信息;如果它是一个TCP/IP协议帧的话,第15-34字节为IP信息,35-55字节为TCP信息;如果进一步它内涵HTTP数据包的话,后面紧跟着的字节就是HTTP请求和响应信息。
6)读取路由表,调用自行编写路由规则
根据捕获数据帧的要求,由学生来编写相应的路由规则,并按照路由表形式进行存储,最终通过自定义路由规则,来捕获相应的数据帧。
7)根据算法修改数据帧和路由表;
把捕获的数据帧读取后,可以进行修改,使其能够为学生熟悉操作数据帧格式以及路由表的构造,为学生学习提供方便。
8)转发,并记录数据帧和路由表变化;
9)单网卡主机侧捕获报文,识别数据帧;
数据包捕获就是指用于在传输层截取局域网中用户发送的数据包,并把捕获到的数据包放入程序缓冲区内;报文分析模块是接到捕获到的数据包后,从缓冲区内读取数据包,通过设置好的过滤规则,过滤筛选垃圾数据包,并对数据包分解后进行解析,分析报文,提高抓取解析数据包的效率;解码模块是根据编码规则,自动选择合适的解码方式解码检索串,用于还原被浏览器编码的检索数据字符串。
10)显示数据帧变化及传播路径、路由表变化
显示数据帧是利用当前局域网中用户的检索信息数据包的解析结果,包括数据包的捕获时间、源IP,源MAC,目的IP,搜索引擎主机名,使用协议,检索串,原始报文等相关信息,进行显示数据帧变化及传播路径、路由表变化。
可编程路由平台的教学实现方法采用成本较低的多网卡主机作为路由器,利用操作系统的自身安全策略阻隔了网卡和操作系统的联系,阻止了操作系统对数据帧的自动处理,同时使用sharpcap抓取和发送数据帧。因此,实验者可以利用平台接口自行设计路由策略和网络协议,并借助平台记录信息了解路由过程。因此,有助于加深对计算机网络工作原理的理解。
由技术常识可知,本发明可以通过其他的不脱离其精神实质或必要特征的实施方案来实现。因此,上述公开的实施方案,就各方面而言,都只是举例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的改变均被本发明所包含。

Claims (5)

1.一种实验用可编程路由平台,其特征在于包括两台以上的单网卡主机(1)以及一台多网卡主机(2),所述的多网卡主机(2)的网络适配器个数大于等于单网卡主机(1),单网卡主机(1)的网络适配器与多网卡主机(2)的网络适配器之间通过网络通信设备相连,进行数据帧传递,单网卡主机(1)与多网卡主机(2)之间形成星形连接;在多网卡主机(2)的网络适配器与其本身的操作系统之间通过安全策略阻隔,多网卡主机(2)内设置sharpcap接口,在多网卡主机(2)内的多个网络适配器之间通过sharpcap接口进行数据包捕获、传递及处理;
上述实验用可编程路由平台的实现方法,其特征在于包括如下步骤:
1)编辑链路层数据帧
2)在单网卡主机侧利用sharpcap发送编辑的数据帧;
3)利用多网卡主机作为路由器接收数据帧;
4)利用安全策略阻止操作系统对数据帧的自动处理;
5)在多网卡主机上捕获数据帧,并分析数据帧;
6)读取路由表,调用自行编写路由规则;
7)根据算法修改数据帧和路由表;
8)转发,并记录数据帧和路由表变化;
9)单网卡主机侧捕获报文,识别数据帧;
10)显示数据帧变化及传播路径、路由表变化。
2.根据权利要求1所述的一种实验用可编程路由平台,其特征在于所述的单网卡主机(1)内设置有与其内部网络适配器进行信息交互的sharpcap接口。
3.根据权利要求1或2所述的一种实验用可编程路由平台,其特征在于所述的sharpcap接口是监听软件调用Winpcap的直接接口,具有数据包捕获、注入、分析和构建的功能。
4.根据权利要求3所述的一种实验用可编程路由平台,其特征在于所述的多网卡主机(2)的网络适配器之间数据包传递过程中,根据自定义路由算法进行数据包的捕获及处理,同时记录传递的数据信息。
5.根据权利要求1所述的一种实验用可编程路由平台,其特征在于所述的安全策略是操作系统处理网络适配器中数据包的访问协议,安全策略阻隔是利用操作系统的自身安全策略阻隔网卡和操作系统的联系,阻止了操作系统对数据帧的自动处理。
CN201610335015.2A 2016-05-19 2016-05-19 一种实验用可编程路由平台及其实现方法 Active CN106100989B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610335015.2A CN106100989B (zh) 2016-05-19 2016-05-19 一种实验用可编程路由平台及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610335015.2A CN106100989B (zh) 2016-05-19 2016-05-19 一种实验用可编程路由平台及其实现方法

Publications (2)

Publication Number Publication Date
CN106100989A CN106100989A (zh) 2016-11-09
CN106100989B true CN106100989B (zh) 2019-06-21

Family

ID=57230054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610335015.2A Active CN106100989B (zh) 2016-05-19 2016-05-19 一种实验用可编程路由平台及其实现方法

Country Status (1)

Country Link
CN (1) CN106100989B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113257080B (zh) * 2021-05-10 2022-07-08 杭州优必学科技有限公司 一种实物化编程方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034509A (zh) * 2007-04-20 2007-09-12 吉林中软吉大信息技术有限公司 IPv6网络协议仿真教学实验装置
CN101067892A (zh) * 2007-05-31 2007-11-07 宁波大学 一种实验教学辅助管理系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034509A (zh) * 2007-04-20 2007-09-12 吉林中软吉大信息技术有限公司 IPv6网络协议仿真教学实验装置
CN100487757C (zh) * 2007-04-20 2009-05-13 吉林中软吉大信息技术有限公司 IPv6网络协议仿真教学实验装置
CN101067892A (zh) * 2007-05-31 2007-11-07 宁波大学 一种实验教学辅助管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Wireshark在TCP/IP网络协议教学中的应用";潘文婵等;《计算机教育》;20100325(第6期);全文

Also Published As

Publication number Publication date
CN106100989A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
CN104363231B (zh) 一种基于单向通道的网络安全隔离与信息交换方法及系统
CN101431440B (zh) 一种流量监控方法和设备
CN110401624A (zh) 源网荷系统交互报文异常的检测方法及系统
CN103959722B (zh) 改进以太网网络的系统
CN102065111B (zh) 一种反向代理方法和反向代理服务器
CN107154940A (zh) 一种物联网漏洞扫描系统及扫描方法
US9455896B2 (en) Dedicated network interface
CN110493351B (zh) 一种视联网接入方法、装置、设备及存储介质
KR20060024337A (ko) 사용자 mac 프레임 전송방법, 에지 브리지 및 프로그램
CN106534168A (zh) 基于fpga的tcpip协议栈安全化处理系统
CN104283882B (zh) 一种路由器的智能安全防护方法
CN105871643B (zh) 基于路由协议的网络运行仿真方法
CN107147655A (zh) 一种网络双协议栈并行处理模型及其处理方法
CN106789242A (zh) 一种基于手机客户端软件动态特征库的识别应用智能分析引擎
CN109217983A (zh) 一种工业物联网的作业终端通信协议设计方法
CN110225062A (zh) 一种监控网络攻击的方法和装置
CN106100989B (zh) 一种实验用可编程路由平台及其实现方法
CN109076022A (zh) 网络地址转换装置、设置请求装置、通信系统、通信方法和存储程序的存储介质
CN106131153A (zh) 基于智能网关的业务识别方法和装置
CN103428044B (zh) 一种数据包监听方法、装置和系统
CN107332793A (zh) 一种报文转发方法、相关设备及系统
CN105991353A (zh) 故障定位的方法和装置
CN108429729A (zh) 工业大数据采集环境下的数据通信隔离系统及其隔离方法
CN108494761A (zh) 一种路由器网址过滤方法和过滤系统
CN100452763C (zh) 用于前向传输以太网信息包的网络单元

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant