在获取数据包进行网络分析时,常用的方法有三种:HUB、SPAN和TAP。

一 HUB
    HUB 很“弱智”,但这种方法却是最早的数据包获取方法。HUB是半双工的以太网设备,在广播数据包时,无法同时进行反方向的数据流传输。

优势:便宜

劣势
1、降低链路一半以上的带宽
2、导致错误冲突,潜在的网络故障点
3、无千兆方案

二 SPAN
  SPAN(Switch Port Analysis)也就是镜像端口。
    高级的交换机可以将其一个或几个端口的数据包复制到一个指定的端口,分析仪可以接到镜像端口接受数据。但这一功能会影响交换机的性能,当数据过载时还会造成数据包的丢失。
    
优势
1、 经济的,不需要额外的设备。
2、 可同时监测一个交换机上一个 VLAN 上所有的流量。
3、 一台分析仪可监测多条链路。

劣势
1、 多端口流量镜像到一个端口上,可引起缓存过载及丢包现象。
2、 数据包通过缓存时会被重定时,就不可能精确的确定时间尺度,如:抖动、数据包间隔 分析、延迟。
3、 不能监测OSI第1.2层错误包,大多数据镜像端口过滤掉不规则的数据包,这就不能为故障排查提供详尽有用的数据信息。
4、 因为镜像端口的流量使得交换机的 CPU 负载加重,所以会引起交换机工作性能下降。

镜像技术的典型应用
1、在带宽较低且能有较的进行镜像的链路,可进行多端口镜像来灵活的分析、监测。
2、趋势监测:不需要精确的监测,只要不定期的数据统计就可以的情况下。
3、协议和应用分析:从一个镜像端口可以方便、经济的提供相关的数据信息
4、整个 VLAN 监测:利用多端口镜像技术可以方便的监测一个交换机上的一个 VLAN 的 全部。

三 TAP
    TAP(Test Access Point)也叫分路器,是目前较流行的一种网络数据获取方法。
    即便是TAP电源掉电也不会中断网络连接,可提供全面可视的网络数据流,对全线速的双向会话进行准确无误的监测,并且无丢包和延迟。

优势
1、 捕获 100%的数据包,没有丢包。
2、 可监测到不规则的数据包,方便于故障排查。
3、 精确的时间戳,没有延迟和重定时。
4、 一次安装,可方便分析仪接入和移动。

劣势
1、 需额外花费购买分路器TAP,很贵,还占用机架空间
2、 一次只能看一条链路。

分路器技术的典型应用
1、 商业链路:这些链路需要极短的故障排除时间,在这些链路中安装上分路器 TAP,网络工程师可迅速查找、排除突发的问题。
2、 核心或骨干链路。它们具有高带宽利用率,同时在接入、移动分析仪时不能中断链路。TAP保证了数据 100%的捕获而没有丢包,为精确分析这些链路提供了性能保障。
3、 VoIP和QoS:VoIP 服务质量测试需要精确的抖动和丢包率度量。TAP可完全保障这些测试,但镜像端口会改变抖动值,提供不真实的丢包率。
4、 故障排查:保证能监测到不规则数据包及错误的数据包。镜像端口会将这些数据包全部过滤掉,这样就不能为工程师查找故障提供重要而完整的数据信息。
5、 IDS 应用:IDS 依靠完整的数据信息来识别入侵模式,TAP能提供可靠完整的数据流给入侵检测系统。
6、 服务器群:多端口分路器可以同时连接8/12条链路,可实现远程自由切换,方便于随时监测、分析。

结论
通常重要的链路和临界的应用,更喜欢分路器的应用。
分路器TAP能提供一个完整、精确数据监测的接入点。
镜像端口通常用在总体趋势的监测或希望能同时监测到多条链路信息的应用。
由于镜像端口的缓存,同步、丢包率不能精确的度量,不能应用在 VoIP 及其它对时间要求精确的度量上。

HUB、SPAN、TAP比较的更多相关文章

  1. 移动端为何不使用click而模拟tap事件及解决方案

    移动端click会遇到2个问题,click会有200-300ms的延迟,同时click事件的延迟响应,会出现穿透,即点击会触发非当前层的点击事件. 为什么会存在延迟? Google开发者文档中有提到: ...

  2. Socket网络编程--FTP客户端

    Socket网络编程--FTP客户端(1)(Windows) 已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解F ...

  3. Socket网络编程--FTP客户端(1)(Windows)

    已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解FTP作用 就是一个提供一个文件的共享协议. 1.了解FTP协议 ...

  4. 点击穿透问题(http://www.tuicool.com/articles/6NfaUnM)

    一.click与300ms延迟 移动浏览器提供一个特殊的功能:双击(double tap)放大 300ms的延迟就来自这里,用户碰触页面之后,需要等待一段时间来判断是不是双击(double tap)动 ...

  5. Socket网络编程--FTP客户端(60篇socket博客,而且都比较简单、深入浅出)

    已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解FTP作用 就是一个提供一个文件的共享协议. 1.了解FTP协议 ...

  6. 移动端JS事件、移动端框架

    一.移动端的操作方式和PC端是不同的,移动端主要是用手指操作,所以有特殊的touch事件,touch事件包括如下几个事件: 1.手指放到屏幕上时触发   touchstart 2.手指放在屏幕上滑动式 ...

  7. hammer.js方法总结(只做了一个简单的demo)

    html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  8. qemu网络虚拟化之数据流向分析一

    插曲:   今天下午欣喜的想写点关于qemu网络部分的功能,但是中途出现了点小插曲,电脑被某人搞得死机了,并且文章也没有保存.结果,,,就只能重新写了!!所以这里强烈建议开发团队提供自动保存的功能! ...

  9. document.onclick在ios上不触发的解决方法与touchstart点击穿透处理

    document.onclick = function (e) { var e = e ? e : window.event; var tar = e.srcElement || e.target; ...

  10. js——移动端js事件、zepto.js

    1. touchstart : 手指放到屏幕上时触发 2. touchmove : 手指在屏幕上滑动时触发 3. touched : 手指离开屏幕时触发 4. touchcancel : 系统取消to ...

随机推荐

  1. Akka 编程: 什么是Actor

    上一篇我们简介了Actor系统.说明了Actor之间存在着层次关系,它也是构成Actor应用的最主要的单位. 本篇介绍Actor本身的一些基本概念.一个Actor包括了State(状态),Behavi ...

  2. Spring 4 官方文档学习(六)核心技术之Spring AOP

    目录 1.介绍 1.1.AOP概念 1.2.Spring AOP 能力 和 目标 1.2.1.简介 1.2.2.@AspectJ 支持 1.2.3.声明一个aspect 例子 1.2.4.声明advi ...

  3. 深入了解Android蓝牙Bluetooth ——《总结篇》

    在我的上两篇博文中解说了有关android蓝牙的认识以及API的相关的介绍,蓝牙BLE的搜索,连接以及读取. 没有了解的童鞋们请參考: 深入了解Android蓝牙Bluetooth--<基础篇& ...

  4. par函数bty参数-控制绘图边框

    bty 可以看作box type 的缩写,控制绘图边框的显示,取值范围为o, l, u, c, ], n 默认值为"o", 代码示例: par(bty = "o" ...

  5. 继承MonoBehaviour类的优缺点和相关报错

    Unity3D文档里虽然说所有脚本继承MonoBehaviour类,但如果你想自定义类,就可以不用继承MonoBehaviour,但是这个类只能调用其中的方法和属性,无法拖到场景的物体中使用. 所有从 ...

  6. memcached 安装使用

    一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

  7. PL/SQL如何调试Oracle存储过程

    from:http://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html 调试过程对找到一个存过的bug或错误是非常重要的,Oracle作 ...

  8. 单行dp复习hdu1087

    我写的想法是每个dp[i]都是前dp[i]的最大值 dp[i]就等于前全部dp[0...i-1]的最大值加上dp[i] 最大值是一个中间变量 最大值得选取条件就是序列的值大小都是递增的,也就是a[i] ...

  9. 超全面的JavaWeb笔记day17<JDBC>

    1.JDBC的原理 是由JavaEE提供的连接数据库的规范 需要由各大数据库的厂商提供对JDBC的实现类 2.四大核心类 3.四大参数 driverClassName url username pas ...

  10. Android中Invalidate与postInvalidate的区别<转>

    http://www.cnblogs.com/it-tomorrow/archive/2012/11/08/2760146.html 示例:http://rayleung.iteye.com/blog ...