版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 网络算法学概述网络算法学要解决什么问题?o网络算法学要解决的问题:n由于实现不佳导致的网络系统性能瓶颈o网络系统有哪些性能瓶颈?n取决于网络设备的类型网络设备的两种基本类型o端节点:n网络终端,包括PC机、工作站、服务器等n针对通用计算而设计n运行全功能的操作系统o路由器:n代表一类通用的网络互联设备,包括网桥、交换机、网关等n网络专用设备n运行一个很轻量级的OS,以及一个完全由硬件实现的转发路径端节点性能瓶颈的产生o主要的性能瓶颈来自结构化开销:n软件分层:OS按照分层原则组织(硬件抽象层,资源管理层,资源分配及调度层等)n保护机制:OS实现了一组保护机制,以免遭应用程序的破坏n过度
2、一般化:为适应各种应用,核心例程(如调度器、内存分配器等)使用一般机制完成o对于提供网络服务的节点而言,性能瓶颈还来自用户规模:n许多OS使用只能支持少量连接的低效算法和数据结构o主要性能瓶颈:n数据拷贝,上下文切换,系统调用,中断处理,定时器管理,协议解复用,协议处理路由器性能瓶颈的产生o规模:nBandwidth scaling:链路速度不断提高nPopulation scaling:因特网规模不断增大o服务:n为网络应用提供服务质量、安全性和可靠性保证o主要性能瓶颈:n查表,包分类,交换,排队,测量,安全检查解决瓶颈的技术:网络算法学o网络算法学是解决这些瓶颈的一组基本技术o网络算法学是
3、一种跨学科的方法:n涉及体系结构、操作系统、硬件、算法等领域o网络算法学是一种系统的方法:n将网络设备看成是一个系统,其各个部分不是孤立的n某些功能可以在时间及空间上移动,以达到提高性能的目的一个热身的例子:检测异常URL的硬件o应用背景:检测利用HTTP报文中的URL域实施的内存溢出攻击o攻击特征:URL很长,且字符出现比例异常o设计要求:要求芯片设计师设计一个硬件,对包含可疑URL的包进行标记。o假设:安全分析员已经给出了每个字符的异常比例门限朴素的解决方案o维护两个长度为256的数组 T 和 C :n数组T:保存正常的URL中各个字符出现比例的上限n数组C:统计各个字符在当前URL中出现
4、的次数o每当开始一个新的数据包时,对数组C清零o确定URL的起始位置后:n每读入一个字符 “ i ”,Ci加1n扫描到URL终结符时,得到URL的长度Lo遍历T和C:n对于任何一个“j”,如果Cj L* Tj,标记该分组 算法分析o线速处理:一个分组必须在下一个分组到来之前处理完o假定Ci加1可以在每个字节到来的时间内完成o算法对数组有两次遍历:n新的数据包开始时,初始化C为零。n扫描完URL后,检查各个字符的出现比例是否超限 o两次遍历至少需要768次读/写操作:nC数组读、写各一次nT数组读一次 算法优化:取消URL结束后的遍历o直观上,扫描完URL后检查每个字符的出现比例是不必要的o基本
5、思想:只跟踪相对出现次数最高的算法优化:取消URL结束后的遍历o基本思想:只跟踪最高的相对出现次数o方法:n使用一个寄存器记录到目前为止最高的相对出现次数:Max = maxCi/Tin每读入一个新字符 “ i ”,oCi加1o若Ci/TiMax, Max= Ci/TinURL扫描结束后,若Max L,标记分组问题和分析oQ:除法逻辑比较复杂,能否避免除法运算?oA:若除数为2-k,除法可以用移位实现oQ:Ti不一定是2-koA:放宽系统要求,对于每个Ti,用不大于Ti的近似值(1/2k)表示利用硬件特性:消除除法运算o改进后的处理过程:nTi中存放移位的次数n读入新字符“i”后:oCi加1o
6、左移Ti位o若移位后的值大于Max, 更新Maxn当URL扫描结束后,如果Max L,标记分组问题和分析oQ:与朴素方案相比,每处理一个字节增加了一次读操作,能否不增加读/写次数?o基本思路:将C数组和T数组合并到一个数组中,将2次读操作合并为1次读操作。利用硬件:合并对T和C的读操作o改进方法:n使用较长宽度的字,每个字中保存Ci和Tin比如,Ci使用15比特,Ti使用14比特o可行性:n使用硬件取出合并到一个字中的域是很简单的o到目前为止,我们成功消除了URL扫描结束后对数组T和C的遍历,并消除了该方法产生的除法问题以及URL扫描过程中多一次访问T数组的问题 初始化C的开销能不能降下来?o
7、Q:有必要在每开始一个新的数据包时,清除整个C数组吗? oA:从道理上说,Ci不需要被清除,直到一个新的数据包需要使用它。(lazy evaluation)n当芯片扫描到一个新的URL、并且第一次遇到字符 “i”时,设置Ci=1n此后再扫描到字符“i”时,Ci加1初始化C的开销能不能降下来?oQ:有必要在每开始一个新的数据包时,清除整个C数组吗? oA:从道理上说,Ci不需要被清除,直到一个新的数据包需要使用它。(lazy evaluation)oQ:芯片如何知道Ci统计的是当前URL中的“i”,还是之前某个URL中的“i”?初始化C的开销能不能降下来?oQ:有必要在每开始一个新的数据包时,清
8、除整个C数组吗? oA:从道理上说,Ci不需要被清除,直到一个新的数据包需要使用它。(lazy evaluation)oQ:芯片如何知道Ci统计的是当前URL中的”i”,还是之前某个URL中的”i”?oA:给每个数据包赋一个世代号,该数据包使用的计数器具有与数据包相同的世代号 Lazy Evaluation:消除对:消除对C的初始化的初始化 o改进方法:n每个表项扩展一个世代域(generation number)Gi,比如3比特n另外维护一个寄存器g,记录当前数据包的世代号n每当一个新的数据包到来,g = (g+1) mod 8n每当Ci初始化时,Gi也要更新消除对C的初始化(续)o假定一个
9、正在处理的数据包,其世代号为hn当读入字符“i”时,从联合数组中读Gi、Ci和Tio若Gi h,写Ci = 1,并设Gi = ho若Gi = h,Ci加1nCi左移Ti位n若移位后的值大于Max,更新MaxnURL扫描结束后,如果Max L,标记分组 问题与分析oQ:g回绕怎么办?oA:未被使用的计数器,在其世代号发生回绕前必须被清除 o基本思想:n芯片需要一个额外的清洗循环,将世代号过时的Ci置0,但该循环只需在8个分组的时间内完成。使用长周期的清洗循环清理Co改进方法:n芯片需要两个状态,scrub和normal。每当扫描完一个URL,芯片切换到scrub状态。 n另外维护一个寄存器,指向下一个要清洗的表项s。n在scrub状态,每当收到一个非URL字节,读入表项s,如果Gs g,设置Gs = g 和 Cs=0。网络算法学的特性o网络算法学是跨学科的n跨学科的思维有助于产生出最好的设计 o网络算法学肯定系统思维的重要性 n放宽要求和将工作从一个子
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 输血科三基培训
- 包装材料公司部门经理述职报告
- 软考信息安全基础知识
- 全球土豆市场调研报告 20260210
- 软件项目营销管理培训
- 软件客户培训方案
- 贺新郎.别友课件
- 跑步入门知识
- 资金安全保障不违约承诺书(7篇)
- 购物商场售后培训课件
- 2026 昆明市高三市统测 三诊一模 英语试卷
- 市政设施巡查及维护方案
- 大型活动安保工作预案模板
- 2025年文化遗产数字化保护与开发:技术创新与经济效益研究报告
- 1.2 宪法的内容和作用 课件 (共28张) 八年级道法下册
- 山西焦煤考试题目及答案
- 加盟酒店合同范本
- (2025版)成人肺功能检查技术进展及临床应用指南解读课件
- 《春秋》讲解课件
- 铁路信号基础设备维护实训指导课件 5.认识25Hz相敏轨道电路
- T-ZGKSL 022-2025 头皮毛发健康理疗师职业能力评价规范
评论
0/150
提交评论