nCompass-网络流量基础知识

1.  流量分析基础知识

1.1  常见的流量分析方式:

  • SNMP: 网管平台通过主动式获取设备接口流量信息。
  • Flow:网络设备将穿越的数据流信息精简压缩打包。
  • 日志:有些设备支持基于业务访问内容生成详细的交互信息。
  • 原包:通常是交换机将穿越的数据包1:1的复制到一个新的物理端口发送至分析平台,然后分析平台进行拆解分析出指标。

1.1.1  SNMP :

网管平台以主动获取MIB-ID的方式读取设备接口硬件级信息,包含接口命名/速率/带宽/流入流出包数/流入流出吞吐量等。

优点: 运维人员最常用的流量分析方式,技术成熟

缺点:

  • 数据精细化颗粒度较差,获取到的数值为最近5分钟平均值;
  • 高频主动式获取可能会对地段设备性能消耗较大,业界内通常采用每5分钟或每1分钟读取一次;
  • 分析内容极少,有效信息仅包含接口实时吞吐量,无法看到明细通讯对。

1.1.2  Flow(NetStream、NetFlow和sFlow)

Flow技术基于“流”提供报文统计功能,可以对网络设备的每个端口上出入方向的流量进行采样,对采样到的报文依据报文中的关键值(例如五元组等)对网络中的流量进行分类统计。

优点:轻量级

缺点:

  • 采样比原因可能会导致数据准确性较差;
  • 有效的分析内容较少,仅包含基本的五元组信息;
  • 传输可能会消耗带宽。

1.1.3  日志:

优点:轻量级

缺点:

  • 传输可能会占用业务带宽(有的日志内容只能从业务端口发出,不能出带外端口发出);
  • 内容精细程度和各设备厂商所支持的分析程度有关。

1.1.4  原包(第一种:流量镜像):

优点:

  • 非入侵式旁路部署,不会对现网架构造成影响,隔离且独立的网络架构;
  • 高密度镜像端口集中化管理;
  • 良好的可扩展性。

缺点: 可能会对设备处理性能造成极微影响,

1.1.5 原包(第二种:分光器):

优点:

  • 不会对网络设备的性能造成任何影响;
  • 高密度镜像端口集中化管理;
  • 良好的可扩展性;
  • 分光器为无源设备,异常时会自动bypass,对业务影响几乎为零。

缺点: 初次上线分光器会中断业务。

1.2  nCompass采集口

电口:通用千兆电口模块。

光口:SFP 850nm LC多模模块,支持千/万兆。

注意,对端设备模块要求必须类型一致。

1.3 流量规划

监控节点:同一台设备的同一个物理接口才是一个监控节点。(同一台设备的不同物理接口不能当做一个监控节点。)

避免问题:非同一条数据流无法重组。(安全类设备随机回话序列号)

建议镜像方式:统一监控节点both双向镜像。

如何判定数据是同一监控节点? 通过一条数据流里面两个方向的数据(服务端到客户端,客户端到服务端),查看源目MAC是否是一对。

关键设备重点监控:例如串接的负载、WAF、代理设备、行为管理、防火墙、防水墙、防毒墙。(需分别监控交换机、入关键设备、出关键设备接口,尽可能的避免交换机异常导致故障定位分析的错误。)

1.4 监控原则

  • 关键性:需监控所有4层设备(对数据包具有处理功能的设备,防火墙、负载等)前后端节点;交换机只对数据进行快速转发,通常场景下不会对数据进行处理,不监控交换机的前后端。
  • 全面性:针对各关键业务系统架构特点合理部署监控节点,尽可能监控业务流上的每个关键节点。
  • 准确性:交换机镜像出的流量尽可能的纯净,应避免出现单向流量或重复流量,以减轻设备性能压力。
  • 唯一性:若两个监控点的流量重复,需借助TAP流量汇聚设备分别打上不同的VLAN标签或将以上两个节点的流量分配给不同的设备物理接口分析。
  • 均衡性:针对各区域数据量特点合理分配设备接口及处理性能,做到压力分摊,以保证数据的准确性。例如,东西向数据交互量大、南北向IP通讯对量大等。
  • 分压性:根据数据中心网络内部区域明细划分原则,大流量的不同区域尽可能使用不同的探针进行监控,以降低运维复杂度。
  • 扩展性:设备的部署应考虑峰值流量以及未来一段时间内业务增长蹴球,避免输入到设备的流量
  • 超出设备的实际处理能力。

1.5  nCompass的重要概念

“我的网络”:

nCompass流量分析平台是旁路设备,不像是串接的网络设备,很难去判定数据的流入/流出的方向,所以引入“我的网络”的概念。 进入“我的网络”流量为流入,离开“我的网络”流量为流出。

哪些地址段需要定义为“我的网络”:

  • 公网对外提供服务地址
  • 数据中心内部私有地址
  • 外联第三方单位对外体用服务地址

“时间戳”:

nCompass平台会对收到的每个数据包打上nm级时间戳,准确定为100%。

不建议使用TAP设备打时间戳。

如何定义分支站点?

分支站点定义存在一个很大的误区,如何准确的定义分支站点?

网络工程师可能会对此产生误解,专线的互联地址也就是网络设备的接口地址不应该定义为站点,因为在访问的实际交互过程中,例如一台上海的终端192.21.0.1访问的目的肯定真实的业务IP,而不是网络设备的接口,原始流量中看到的源目IP也是一样。

2. nCompass数据源

3.  nCompass产品配置基础

nCompass-网络流量基础知识的更多相关文章

  1. 【RL-TCPnet网络教程】第2章 嵌入式网络协议栈基础知识

    第2章        嵌入式网络协议栈基础知识 本章教程为大家介绍嵌入式网络协议栈基础知识,本章先让大家有一个全面的认识,后面章节中会为大家逐一讲解用到的协议. 基础知识整理自百度百科,wiki百科等 ...

  2. C#网络编程基础知识

    C#网络编程基础知识一 1.IPAddress类 用于表示一个IP地址.IPAddress默认构造函数 public IPAddress(long address);一般不用 其中Parse()方法最 ...

  3. [转帖]IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”)

    IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”) 2016-06-02 14:23:49 Times_poem 阅读数 9734更多 分类专栏: IPC网 ...

  4. TCP/IP网络协议基础知识集锦[转]

    引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以 ...

  5. 1.unix网络编程基础知识

    接触网络编程一年多了,最近在系统的学习vnp两本书,对基础知识做一些总结,希望理解的更透彻清晰,希望能有更多的沉淀. 1.套接口地址 针对IPv4和IPv6地址族,分别定义了两种类型的套接口地址:so ...

  6. windows socket网络编程基础知识

    下面介绍网络7层协议在WINDOWS的实现: 7层协议 WIN系统 ________________________________________ 7 应用层 7 应用程序 ____________ ...

  7. 【Java基础】Java网络编程基础知识

    什么是网络编程 网络编程是通过使用套接字来达到进程间通信目的,那什么是套接字呢?其实套接字是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的 ...

  8. JAVA网络编程基础知识

    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输.在TCP/IP协 ...

  9. 网络爬虫基础知识(Python实现)

    浏览器的请求 url=请求协议(http/https)+网站域名+资源路径+参数 http:超文本传输协议(以明文的形式进行传输),传输效率高,但不安全. https:由http+ssl(安全套接子层 ...

随机推荐

  1. Nginx代理服务——常用的配置语法

    可以到官方查看所有代理的配置语法http://nginx.org/en/docs/http/ngx_http_proxy_module.html 缓存区 Syntax:proxy_buffering ...

  2. kubernetes基础概念知多少

    kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用.高扩展性和可预测性的方式来管理容器应用的生命周期.通过k8s,用户可以定义程序运行方式.部署 ...

  3. Codeforces Round #615 (Div. 3)

    A. Collecting Coins 题目链接:https://codeforces.com/contest/1294/problem/A 题意: 你有三个姐妹她们分别有 a , b , c枚硬币, ...

  4. java集合与数组之间转换

    数组转换为集合 采用java中集合自带的asList()方法就可以完成转换了 String[] array = new String[] {"zhu", "wen&quo ...

  5. Java中的Swap,如何实现?

    程序员都知道,在C/C++里面交换值的方法: void swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; } 但是在Java中这 ...

  6. 优雅写Java之三(IO与文本解析)

    一.资源相关 二.路径与文件 读文件: String fileName = "str.txt"; Files.lines(Paths.get(fileName), Standard ...

  7. TypeScript——基本类型

    关于数据类型 原始类型 let bool: boolean = true; let num: number = 1; let str: string = 'i am string'; 引用类型 let ...

  8. java 编程小知识点

    --------------------------------- 时间不多了,抓紧做自己喜欢的事情 1. 使用位运算 & 来判断一个数是否是奇数.偶数的速度很快 (a & 1 ) = ...

  9. Spring注解开发系列VIII --- SpringMVC

    SpringMVC是三层架构中的控制层部分,有过JavaWEB开发经验的同学一定很熟悉它的使用了.这边有我之前整理的SpringMVC相关的链接: 1.SpringMVC入门 2.SpringMVC进 ...

  10. 获取PHP类的所有属性和所有方法,可通过反射机制

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php   class Class1{     public $var1 = 'v ...