趣谈网络协议
刘超
网易研究院云计算技术部首席架构师
立即订阅
39583 人已学习
课程目录
已完结 51 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 想成为技术牛人?先搞定网络协议!
免费
第一模块 通信协议综述 (4讲)
第1讲 | 为什么要学习网络协议?
第2讲 | 网络分层的真实含义是什么?
第3讲 | ifconfig:最熟悉又陌生的命令行
第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?
第二模块 底层网络知识详解:从二层到三层 (5讲)
第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?
第6讲 | 交换机与VLAN:办公室太复杂,我要回学校
第7讲 | ICMP与ping:投石问路的侦察兵
第8讲 | 世界这么大,我想出网关:欧洲十国游与玄奘西行
第9讲 | 路由协议:西出网关无故人,敢问路在何方
第二模块 底层网络知识详解:最重要的传输层 (4讲)
第10讲 | UDP协议:因性善而简单,难免碰到“城会玩”
第11讲 | TCP协议(上):因性恶而复杂,先恶后善反轻松
第12讲 | TCP协议(下):西行必定多妖孽,恒心智慧消磨难
第13讲 | 套接字Socket:Talk is cheap, show me the code
第二模块 底层网络知识详解:最常用的应用层 (4讲)
第14讲 | HTTP协议:看个新闻原来这么麻烦
第15讲 | HTTPS协议:点外卖的过程原来这么复杂
第16讲 | 流媒体协议:如何在直播里看到美女帅哥?
第17讲 | P2P协议:我下小电影,99%急死你
第二模块 底层网络知识详解:陌生的数据中心 (6讲)
第18讲 | DNS协议:网络世界的地址簿
第19讲 | HTTPDNS:网络世界的地址簿也会指错路
第20讲 | CDN:你去小卖部取过快递么?
第21讲 | 数据中心:我是开发商,自己拿地盖别墅
第22讲 | VPN:朝中有人好做官
第23讲 | 移动网络:去巴塞罗那,手机也上不了脸书
第三模块 热门技术中的应用:云计算中的网络 (5讲)
第24讲 | 云中网络:自己拿地成本高,购买公寓更灵活
第25讲 | 软件定义网络:共享基础设施的小区物业管理办法
第26讲 | 云中的网络安全:虽然不是土豪,也需要基本安全和保障
第27讲 | 云中的网络QoS:邻居疯狂下电影,我该怎么办?
第28讲 | 云中网络的隔离GRE、VXLAN:虽然住一个小区,也要保护隐私
第三模块 热门技术中的应用:容器技术中的网络 (3讲)
第29讲 | 容器网络:来去自由的日子,不买公寓去合租
第30讲 | 容器网络之Flannel:每人一亩三分地
第31讲 | 容器网络之Calico:为高效说出善意的谎言
第三模块 热门技术中的应用:微服务相关协议 (5讲)
第32讲 | RPC协议综述:远在天边,近在眼前
第33讲 | 基于XML的SOAP协议:不要说NBA,请说美国职业篮球联赛
第34讲 | 基于JSON的RESTful接口协议:我不关心过程,请给我结果
第35讲 | 二进制类RPC协议:还是叫NBA吧,总说全称多费劲
第36讲 | 跨语言类RPC协议:交流之前,双方先来个专业术语表
第四模块 网络协议知识串讲 (4讲)
第37讲 | 知识串讲:用双十一的故事串起碎片的网络协议(上)
第38讲 | 知识串讲:用双十一的故事串起碎片的网络协议(中)
第39讲 | 知识串讲:用双十一的故事串起碎片的网络协议(下)
第40讲 | 搭建一个网络实验环境:授人以鱼不如授人以渔
答疑与加餐 (9讲)
协议专栏特别福利 | 答疑解惑第一期
协议专栏特别福利 | 答疑解惑第二期
协议专栏特别福利 | 答疑解惑第三期
协议专栏特别福利 | 答疑解惑第四期
协议专栏特别福利 | 答疑解惑第五期
加餐1 | 测一测:这些网络协议你都掌握了吗?
加餐2 | 创作故事:我是如何创作“趣谈网络协议”专栏的?
加餐3 | “趣谈网络协议”专栏食用指南
第2季回归 | 这次我们来“趣谈Linux操作系统”
结束语 (1讲)
结束语 | 放弃完美主义,执行力就是限时限量认真完成
趣谈网络协议
登录|注册

第27讲 | 云中的网络QoS:邻居疯狂下电影,我该怎么办?

刘超 2018-07-18
在小区里面,是不是经常有住户不自觉就霸占公共通道,如果你找他理论,他的话就像一个相声《楼道曲》说的一样:“公用公用,你用我用,大家都用,我为什么不能用?”。
除此之外,你租房子的时候,有没有碰到这样的情况:本来合租共享 WIFI,一个人狂下小电影,从而你网都上不去,是不是很懊恼?
在云平台上,也有这种现象,好在有一种流量控制的技术,可以实现 QoS(Quality of Service),从而保障大多数用户的服务质量。
对于控制一台机器的网络的 QoS,分两个方向,一个是入方向,一个是出方向。
其实我们能控制的只有出方向,通过 Shaping,将出的流量控制成自己想要的模样。而进入的方向是无法控制的,只能通过 Policy 将包丢弃。

控制网络的 QoS 有哪些方式?

在 Linux 下,可以通过 TC 控制网络的 QoS,主要就是通过队列的方式。

无类别排队规则

第一大类称为无类别排队规则(Classless Queuing Disciplines)。还记得我们讲ip addr的时候讲过的 pfifo_fast,这是一种不把网络包分类的技术。
pfifo_fast 分为三个先入先出的队列,称为三个 Band。根据网络包里面 TOS,看这个包到底应该进入哪个队列。TOS 总共四位,每一位表示的意思不同,总共十六种类型。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《趣谈网络协议》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(17)

  • Hurt
    云里雾里 不是科班 感觉要补的东西太多了
    2018-07-18
    1
    16
  • 晓.光
    越来越发现云中的网络控制跟本地原理一致~

    作者回复: 对啊,所以原理是通的

    2018-07-18
    8
  • Fisher
    这篇文章控制的出口流量是控制网卡层面的,那么像标题里面的,如果是在局域网中别人疯狂下载,这种控制网速的是在哪个层面控制的,路由器本身控制速度的原理又是什么呢,只是控制转发速度吗
    2018-07-21
    4
  • yungoo
    通过ingress qdisc策略将入口流量重定向到虚拟网卡ifb,然后对ifb的egress进行出口限速,从而变通实现入口流控。
    2018-07-18
    4
  • iron_man
    虚拟机的流量都通过openv switch控制,机器数量多了,openvswitch会不会成为一个瓶颈
    2018-08-08
    2
  • zcpromising
    前面15讲以前的内容,在学校是可以接触到的,后面每讲的内容,在学校是体会不到的,每天听老师您的课程,感觉就像发现了新大陆一样,惊喜万分。要是学校老师能够按照您这样的方式讲,那该多好。
    2018-07-18
    2
  • u
    超哥,有个问题想问下:你平时代码写的多吗?

    作者回复: 现在写的少了

    2018-08-02
    1
  • 被过去推开
    很多网关都提供了基于令牌桶模式的限流,比如spring cloud gateway
    2019-10-15
  • 超超
    答问题1:是否可以在虚拟机的前一级控制出口流量?前一级的出口流量得到控制,那么虚拟机的入口流量也就得到了控制。

    作者回复: 是的,可以联动

    2019-04-07
  • haha
    几种队列的控制策略,放到哪合适的场景适用,借鉴与启发,原理都是如此。
    2019-01-03
  • iron_man
    所有的流量都通过openv
    2018-08-08
  • Summer___J
    3:1:6的例子、假如一开始是2个节点疯狂发包占满带宽,假如是第一个和第二个一开始在发,带宽利用占比是3:1。一段时间后,第三个节点再开始疯狂发包。这种情况,当第三个上来以后,这三个节点在带宽占用上会动态地回到3:1:6吗?
    2018-07-20
  • rtoday
    ovs-vsctl set port first_br qos=@newqos
    -- --id=@newqos create qos type=linux-htb other-config:max-rate=10,000,000 queues=0=@q0,1=@q1,2=@q2
    -- --id=@q0 create queue other-config:min-rate=3,000,000 other-config:max-rate=10,000,000
    -- --id=@q1 create queue other-config:min-rate=1,000,000 other-config:max-rate=10,000,000
    -- --id=@q2 create queue other-config:min-rate=6,000,000 other-config:max-rate=10,000,000

    这是倒数第二个指令
    我刻意排版一下,并且把数字使用三位一个撇节

    1. 语法问题
    为何写成
    -- --id=@newqos
    我可以只写下面这样吗
    --id=@newqos
    双横线然后后面不加上option,请问有什么特殊用意吗?

    2.语意问题
    是否是我吹毛求疵了
    好象每个数字都少一个0
    还是我的认知有误呢
    2018-07-19
  • 网络已断开
    看完似懂非懂,心里痒痒的
    2018-07-19
  • rtoday
    第一题
    这篇讲的是Client如何控制出口流量
    那Client的入口流量
    也按照一样的原理,只是由Server端,或是数据中心端的人,来控制他们的出口流量即可。这应该是有没有权限的问题。

    第二题,应该是下期的主题,等下期出刊后,再来回顾本题,可能体会的比较完整。
    2018-07-19
  • 三水
    问题2: 可以使用Linux Network Namespace进行隔离,cgroup 就进行资源调配和统计,云计算多租户资源使用,如基于docker的云计算服务
    2018-07-18
  • 张益通
    请问如何实现疯狂发包?

    作者回复: 性能测试软件都可以

    2018-07-18
收起评论
17
返回
顶部