流量监控(TC)+网络管控(iptables工具)+分布式框架简介

TC工具:参考

应用场景:网络故障模拟(网卡)

实现平台:Linux

解决问题:

       本质上是做一个流量的控制(延伸到具体应用有丢包、延迟、抖动等)

原理:

       从流量控制的角度看(使用TC工具),流量控制主要分为三块,包括队列、类和TC,这里我们会先建一个队列,队列的方式有CBQ、HTB等,然后在队列下建立类,这边流量过来,比如说WWW和Email这两种流量需要被分派到两个类中,我们通过filter对应相应的流量规则来匹配这两种类

linux基本的流程操作是:

1、建立队列:

tc qdisc add dev eth1 root handle 1:htb default 11

通过qudis创建跟队列root,采用队列方式是htb

2、创建类

  tc class add dev eth1 parent 1: classid 1:13 htb rate 20mbit ceil 20mbit

通过class创建类,跟队列是parent1,子队列是class 1:13,这里是对带宽进行了限制这里是rate 20mbit,最高带宽ceil 20mbit

3、设置过滤器

 tc filter add dev eth0  parent 1:0 protocol ip prio 1 u32 match ip dport 80 0xffff flowid 1:11 

这里是一个匹配操作,u32过滤器要检查的协议字段是 protocol ip,匹配的的ip端口是80 ,匹配的结果是0xffff ,最终会把流量放入类1:11 中

4、检查流量配置情况

tc filter show dev DEV或者tc -s -d qdisc ls这个表示方式很多

与其他工具或模块的结合

比如说和netem模块结合,可模拟场景包括:模拟端口或IP超时、网络丢包(netem  loss)、包损坏(netem  corrupt)、包乱序( reorder )、包重复(netem  duplicate)、网络抖动(抖动是在延迟基础上做的,是一个迭代过程,可以先用tc设置延迟,一定时间之后将tc规则删除,在设置延迟再删除以此往复)

注意的点:

tc执行必须root账号 ;只针对出口流量有效


iptables工具:参考

应用场景:网络管控(作用层是第三层和第四层)

实现平台:Linux

解决问题:网络的过滤或网络地址转换

原理:

        这里iptables内部可以理解为一个网,这里table是一个整体的框架,里层是chain,chain里是具体的rule ,这里的一个table可以包含多个chain,chain可以包含多个rule。table主要分为三部分,主要是nat、mangle和filter,其中nat主要是改变网络地址,mangle主要是做对包的一些设置,相关的chain是 PREROUTING,POSTROUTING, OUTPUT,INPUT 和 FORWARD,对于filter 做的是对包进行 DROP、LOG、ACCEPT 和 REJECT 等操作。举一个例子来说:进入主机的包(data)主要有三种为输入本机的包,本机作为源输出的包,和本机作为中转的包,当data进入时iptables这边会先做一个relu的判断,是丢弃(relu中Target参数DROP)包还是接受(ACCEPT),如果是接受,接收后判断是否是本机的包,如果是本机包,送入上层进行处理,如果不是则通过Forwarding Block处理,同时也接受来自本机的包,这里如果和TC结合可以理解为iptables做了一个Mark的工作,将经过预处理的包再让TC做一个流量控制。当然relu是可以自己依情况设置规则的,这里只是做了一个包处理过程模拟,当然它还包括网址切换等操作

linux基本的流程操作是(这里基本是和TC联合一起用的)

这边是一个简单的上网、端口设置和限流的例子

iptables -t nat -A POSTROUTING -s 172.16.44.0/24 -o eth0 -j MASQUERADE

通过nat添加端口转发

iptables -t nat -I PREROUTING -p tcp -d a.b.c.d --dport 80 -j DNAT --to 172.16.44.210:80iptables -t nat -I POSTROUTING -p tcp -d 172.16.44.210 --dport 80 -j SNAT --to 172.16.44.1

这里是指定外网地址,将80端口转发到172.16.44.210:80,它这里设置的内网地址是 172.16.44.210

下面既可以用TC对网路进行一个限速


分布式系统:

       我们客户端这边用的是Tomcat(web server)和应用(java app),通过HHTP协议与服务端进行通信,服务器这边的部署是根据分布式框架,希望用更多的计算机实现更大的数据处理,这里的计算机即系统分布节点,这里是多节点提供相同服务,那么问题就是如果几个应用过来应该选择哪个节点,这里采用的是负载均衡选出一个节点,对于日常应用可能每个应用间还有联系,也就是各节点间要通信,通信符合TCP/IP协议,节点的下边就是数据处理层

        这是内部一个集群的处理过程,在公司的情况下,一个部门的服务可能与其他部门是相关的,每个部门都有独立的机器部署,相互间的通信是通过rpc实现的远程处理(rpc实现通信的过程主要是对一端对数据进行封装,另一端解封,调用的过程)

这是一个大概的框架,如果下一步会详细看下

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含iptables的功...
    随风化作雨阅读 4,738评论 1 16
  • iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防...
    yshenhn阅读 112,203评论 2 78
  • iptables俗称防火墙,或许我们已经不在陌生,但是作为openstack基础,这里还是对其做一些补充,了解更多...
    ximitc阅读 1,790评论 0 8
  • (本文源于转载或摘抄整理) 一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的...
    JackyTsuuuy阅读 8,925评论 1 6
  • 正则表达式要想做更精确地匹配,可以用[]表示范围,比如: [0-9a-zA-Z\_]可以匹配一个数字、字母或者下划...
    溪西阅读 589评论 0 0