博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winpcap与tcp(转)
阅读量:4199 次
发布时间:2019-05-26

本文共 1140 字,大约阅读时间需要 3 分钟。

Winpcap源于BPF(Berkley Packet Filter)和libpcap函数库,支持Win32的网络监测程序设计。Winsock是人们很熟悉的Windows套接字编程工具,源于 Berkley Socket技术。这两款网络开发工具各有特色,结合使用可以取长补短,提高软件开发的效率,增强软件的运行性能。Winpcap支持网络原始数据包的接收和发送,绕开了TCP/IP协议栈,有利于高速的数据包检测和分析;支持对数据包的过滤,只处理应用程序感兴趣的数据,可以提高程序运行性能,减少系统开销,但不能为端到端的应用提供面向连接和无连接的网络服务。
  Winsock是建立在TCP/IP协议栈之上的程序开发工具,提供面向连接和的连接得网络服务,可以大大降低程序开发工作量。但是,网络程序必须从协议栈获取数据包,增加了运行的开销,降低了性能;由于链路层帧首部在提交给IP层之前就已经去掉,不便于网络低层的数据分析,应用范围有限。
转载请注明出自赛微电子网,本帖地址:http://www.srvee.com/?action-viewnews-itemid-4811

 

程序采用三层架构:网络接口层、网络层、测试层。
  其中网络接口层就是网卡驱动程序模块,负责程序与网络设备间的交互。
  网络层包括两部分:一个是基于NPF(网络数据包过滤器)的网络模块,一个是基于TCP/IP的网络模块。
  测试层通过Winpcap编程接口来访问NPF,检测出原始数据包并获取数据包到达时刻;通过Winsock编程接口来访问TCP/IP,获取TCP会话信息。主从程序测试层均包括两个基本功能模块:数据包检测和TCP会话。数据包检测模块利用Winpcap接口获取网络中的原始数据包,测量开始后,主程序数据包检测模块直接解析出发送端计算机发出的数据包IP标识,记录进主测试窗口,从程序的数据包检测模块直接解析出接收端计算机接收的数据包IP标识,记录进从测试窗口,同时记录视频包的达到时刻;TCP会话模块利用Winsock接口建立主从程序间的TCP连接,控制测量步骤,并交互测量过程中获取的数据。窗口调节模块利用这两个基本功能动态调整测试窗口尺寸。根据正确接收的数据包和主程序通知确认的数据包序列,从程序的丢包确认模块检查数据包的丢失情况,并把丢包数据反馈给主程序。根据反馈的丢包信息,主程序的丢包率计算分析模块计算丢包率。从程序的延迟计算模块通过时间提取,计算相继到达视频包的延迟,并通过TCP会话连接将最后的延迟统计值返回给主程序的延迟获取模块。
转载请注明出自赛微电子网,本帖地址:http://www.srvee.com/?action-viewnews-itemid-4811

 

网址:

你可能感兴趣的文章
Linux CentOS Tomcat修改默认端口 -
查看>>
安装tomcat
查看>>
亿级Web系统搭建——单机到分布式集群
查看>>
mongodb 复制集
查看>>
yii2 mongodb 连接 mongo 副本集模式(复制集) 配置
查看>>
Strace 追踪 php 模拟页面执行,打印log
查看>>
yii2 strace 追踪 某个执行的url
查看>>
yii2 strace 追踪正在执行的进程
查看>>
安装pear
查看>>
php 5.4 安装 pthreads
查看>>
php pthreads 获取货运号代码实例
查看>>
Workerman
查看>>
swoole
查看>>
MySQL Proxy
查看>>
redis 消息队列
查看>>
MySQL集群的几种方案
查看>>
MySQL的information_schema的介绍
查看>>
MySQL5.5 performance_schema的介绍
查看>>
pt-query-digest查询日志分析工具
查看>>
性能监控的好工具 - NewRelic
查看>>