用libpcap分析CAIDA的网络流量文件的猝发性

在这个程序中我们将对一个CAIDA的流量文件equinix-nyc.dirB.20180419-131800.UTC.anon.pcap进行分析. 这个流量文件中包含的数据包数为74940702个, 其中TCP和UDP数据包为70084416个, 数据包到达速率大约为1.25Mpps. 我们使用容量无限, 流出速率为12.5Mpps的先进先出队列对这个流量文件进行处理, 并计算在最坏情况下队列的长度 (即队列最拥塞的时候队列中的数据包数). 

 //解析.c
#include <pcap.h>
#include <net/ethernet.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <翻译包.h>
#include <网络.h>
#include <内存.h>

_类体_ _缓冲区_{
	公共域:
		_缓冲区_(_整数_ 缓冲区长度) {
			本地->缓冲区 = 新建 _流标识符_[缓冲区长度];
			本地->队首 = 0;
			本地->队尾 = 0;
			本地->缓冲区长度 = 缓冲区长度;
		}
		~_缓冲区_() {
			删除[] 本地->缓冲区;
		}

		空返 入队(_流标识符_ 元数据) {
			如果(本地->队首 != (本地->队尾 + 1)%本地->缓冲区长度) {
				_复制内存((_字符_*)&本地->缓冲区[本地->队尾], \
						(_字符_*)&元数据, _长度(_流标识符_));
				本地->队尾 = (本地->队尾 + 1)%本地->缓冲区长度;	
			}
		}
		
		空返 出队(_流标识符_& 元数据)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值