趣谈网络协议
刘超
网易研究院云计算技术部首席架构师
立即订阅
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讲)
结束语 | 放弃完美主义,执行力就是限时限量认真完成
趣谈网络协议
登录|注册

第39讲 | 知识串讲:用双十一的故事串起碎片的网络协议(下)

刘超 2018-08-15
上一节,我们封装了一个长长的网络包,“大炮”准备完毕,开始发送。
发送的时候可以说是重重关隘,从手机到移动网络、互联网,还要经过多个运营商才能到达数据中心,到了数据中心就进入第二个复杂的过程,从网关到 VXLAN 隧道,到负载均衡,到 Controller 层、组合服务层、基础服务层,最终才下单入库。今天,我们就来看这最后一段过程。

7. 一座座城池一道道关,流控拥塞与重传

网络包已经组合完毕,接下来我们来看,如何经过一道道城关,到达目标公网 IP。
对于手机来讲,默认的网关在 PGW 上。在移动网络里面,从手机到 SGW,到 PGW 是有一条隧道的。在这条隧道里面,会将上面的这个包作为隧道的乘客协议放在里面,外面 SGW 和 PGW 在核心网机房的 IP 地址。网络包直到 PGW(PGW 是隧道的另一端)才将里面的包解出来,转发到外部网络。
所以,从手机发送出来的时候,网络包的结构为:
源 MAC:手机也即 UE 的 MAC;
目标 MAC:网关 PGW 上面的隧道端点的 MAC;
源 IP:UE 的 IP 地址;
目标 IP:SLB 的公网 IP 地址。
进入隧道之后,要封装外层的网络地址,因而网络包的格式为:
外层源 MAC:E-NodeB 的 MAC;
外层目标 MAC:SGW 的 MAC;
外层源 IP:E-NodeB 的 IP;
外层目标 IP:SGW 的 IP;
内层源 MAC:手机也即 UE 的 MAC;
内层目标 MAC:网关 PGW 上面的隧道端点的 MAC;
内层源 IP:UE 的 IP 地址;
内层目标 IP:SLB 的公网 IP 地址。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《趣谈网络协议》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(13)

  • 程启
    超哥,赞一个!

    有个小问题,下单系列一和二中,系列一里面说拿到三个slb的公网ip,二里面直接就建连了。
    本意是说客户端localdns随机返回一个,还是slb自身做负载均衡提供三个里面的一个?

    作者回复: dns返回多个

    2018-08-15
    6
  • 网络已断开
    这个专辑使我受益颇多,值得之前读三遍。
    2018-08-16
    4
  • 小宇宙
    有个疑问,在库存的例子里边,因为网络的抖动,用户没收到确认信号,应用层会重新发起扣减库存的请求,我们可以根据客户端的订单ID ,来识别这次的请求属于同一个订单的请求,而不会重复扣减库存,这也可以实现幂等吧,乐观锁不是应对多个用户,多个线程的并发请求 的时候实现幂等的方法吗?

    作者回复: 没收到确认是不会重新发应用层的。下单的幂等是用订单id,但是库存的幂等不是

    2018-08-27
    3
  • favorlm
    忘记vxlan是什么了
    2018-08-15
    3
  • stone
    我是跪着看完的,期待下一个专栏
    2018-12-21
    2
  • 夏洛克的救赎
    提问:为什么本地能够ping通服务器,双方也能通过sftp传输文件,但是服务器不能ping通本地,本地无法通过scp命令从服务器下载文件?

    都是在同一内网环境。
    2018-08-15
    2
  • 程启
    🐮牛
    2018-08-15
    2
  • 拉欧
    每看一遍都会有新的收获,是我基础太差了么?

    作者回复: 不是啦,加油

    2018-11-20
    1
  • 饭粒
    AS 边界路由器间的转发也相当于欧洲十国游?只换 MAC 就行,不换 IP 地址。
    2019-12-08
  • 天空只能仰望?
    很精彩,第一次有人给我展现一个完整的网络请求流程
    2019-10-29
  • 竹林清风
    有收获,还需要看很多遍!
    2019-09-09
  • 偏偏喜欢你
    老师您好,看了这节,对于接口的幂等深有感触,我们项目就发生过这种问题,下单一次因为网络卡顿,最后发现下单两次了,好尴尬,库存扣了多次
    2019-01-16
  • eason
    感觉老师这样串讲特别好,把前面的零碎的知识点串起来,虽然目前我还是比较菜。。。
    2018-12-28
收起评论
13
返回
顶部