- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HUNAN UNIVERSITY计算机网络实验报告学生姓名肖大鹏学生学号201308030408专业班级通信1303班组员姓名朱凯刘代晓2016 年05月30日令牌桶 tokenbuket实验分工朱凯:负责烧制NetMagic硬件代码,并解决路由器存在的问题。刘代晓:负责操控Linux终端,编译所给的代码输入命令并运行。肖大鹏:负责路由器和各终端的连接,并操作Windows主机ping。实验内容及原理实验仪器:两台主机,一台需要装有 Linux 操作系统(可以是虚拟机)一台装有 quartus 的 Windows 系统;两根千兆网线,注意控制器连 1 号端口,Quartus 主机网线连 4 号端口。仪器连接图:实验内容原理:1.计数器软件所需基本知识:Linux 终端简单命令行操作;网络协议基本知识;网络报文格式基本知识,计算机系统基本知识。2.令牌桶原理:如图 1.1 1) 令牌以一定的速率(v)放入桶中。2) 每个令牌允许源发送一定数量的比特(b)。3) 发送一个包,流量调节器就要从桶中删除与包大小相等的令牌数。4) 如果没有足够的令牌发送包,这个包就会等待直到有足够的令牌(在整形器的情况下)或者包被丢弃。5) 桶有特定的容量,如果桶已经满了,新加入的令牌就会被丢弃。因此,在任何时候,源发送到网络上的最大突发数据量与桶的大小成比例。令牌桶允许突发,即桶深为(h),突发处理 h 个报文,但是不能超过限制。3. 基于 NetMagic 实现令牌桶,硬件设计参考,tokenbucket.sof 是烧制的令牌桶硬件代码,软件控制端通过下发 NMAC 写报文来控制端口报文速率,如图 1.2,控制端将令牌规则(令牌下发速率 v,桶深 h,一次下发多少令牌 b)写入 RAM 表,NetMagic 硬件读取规则后来通过令牌来控制端口速率。4. RAM 虚拟地址空间定义,如图 1.3 所示,1400_0008 代表令牌桶深度,即表示可突发处理的报文长度;1400_0009 代表代表令牌增加粒度,表示一次增加多少个报文;1400_000a代表令牌增加时间粒度,每个时钟周期增加 1 次令牌,NetMagic 时间频率为 125MHz,因此一个时钟周期为 8ns,如果 t=3,则代表 8ns*3=24ns 增加 1 次。实验结果将 Linux 虚拟机设置为桥接模式,将物理机和虚拟机的 IP 地址设置同一网段,虚拟机配置 IP 地址如下图所示烧制 tokenbucket.sof 硬件代码,怎样烧制详见 Hi-Packet3. 进入 Linux 虚拟机,编译代码(gcc tokenbucket.c –o tokenbucket –lpcap -lnet),运行我们的软件,选择端口,一般是 ethX。设置令牌桶深 h:256,令牌粒度 b:128,速率 tNetMagic 是 125Mhz 即 8 纳秒为一个时钟周期,t 为 1 个时钟周期,那么个时钟周期×8 纳秒 =0.2 秒,即 0.2 秒下发一次令牌)打开物理机 windows,ping 另外一台主机,可以看到 ping 流畅不掉包重新进入 Linux,将时间粒度增大,时间粒度 v:250000000(此时为 2 秒下发一次令牌)可以看到访问请求超时,实验成功。结果分析在本次实验中,我们小组成功的基于NetMagic实现了令牌桶的功能,通过在Linux的软件控制端通过下发 NMAC 写报文来控制端口报文速率和报文深度,下发令牌桶规则到 NetMagic 的 RAM。实验基于 Libpcap/Libnet 套件来实现 NMAC 协议,采用 Libnet 封装读请求报文,然后用 Libpcap 抓取读响应报文。达到流量整形的效果。我们学习到了在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送。令牌桶算法就实现了这个功能,可控制发送到网络上数据的数目,并允许突发数据的发送。令牌桶这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。令牌桶中的每一个令牌都代表一个字节。如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。因此,如果突发门限被合理地配置并且令牌桶中有足够的令牌,那么流量就可以以峰值速率发送。
文档评论(0)