趣谈网络协议
刘超
前网易研究院云计算技术部首席架构师
130417 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 51 讲
趣谈网络协议
15
15
1.0x
00:00/00:00
登录|注册

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

数据库更新
乐观锁(CAS)
RPC调用过程
VXLAN隧道封装
公网NAT转换为私网IP
重传机制
ACK
Sequence Number
边界路由器到SLB的公网IP
C2路由器到云平台边界路由器
C1路由器到C2路由器
A2路由器到C1路由器
NAT网关到A2路由器
PGW到NAT网关
SGW到PGW
PGW到SGW
手机到PGW
目标IP
源IP
目标MAC
源MAC
下单扣减库存优惠券和数据入库
进入隧道打标签和RPC远程调用
数据中心到公网NAT过程
TCP的滑动窗口协议
网络包发送路径
网络包封装过程
网络包发送过程涉及的细节

该思维导图由 AI 生成,仅供参考

上一节,我们封装了一个长长的网络包,“大炮”准备完毕,开始发送。
发送的时候可以说是重重关隘,从手机到移动网络、互联网,还要经过多个运营商才能到达数据中心,到了数据中心就进入第二个复杂的过程,从网关到 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/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

文章介绍了网络包在发送过程中经历的多个关卡和转发过程,以及在数据中心进入网关、公网NAT转换为私网的详细过程。网络包在发送过程中经历了多次结构变化,包括源MAC、目标MAC、源IP和目标IP的变化。此外,文章还介绍了网络包在数据中心进入网关、公网NAT转换为私网的过程。整个过程中,网络包的路径复杂多变,需要借助TCP的机制进行重传,同时需要实现幂等以应对可能的重复发送情况。文章还涉及了网络传输的细节和技术特点,包括TCP协议维护Sequence Number和滑动窗口协议,以确保数据的可靠传输。此外,文章还介绍了网络包在数据中心进入网关、公网NAT转换为私网的过程。整个过程中,网络包的路径复杂多变,需要借助TCP的机制进行重传,同时需要实现幂等以应对可能的重复发送情况。文章内容详实,对于读者快速了解网络包发送过程提供了全面的概览。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈网络协议》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(22)

  • 最新
  • 精选
  • 小宇宙
    有个疑问,在库存的例子里边,因为网络的抖动,用户没收到确认信号,应用层会重新发起扣减库存的请求,我们可以根据客户端的订单ID ,来识别这次的请求属于同一个订单的请求,而不会重复扣减库存,这也可以实现幂等吧,乐观锁不是应对多个用户,多个线程的并发请求 的时候实现幂等的方法吗?

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

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

    作者回复: dns返回多个

    2018-08-15
    8
  • 拉欧
    每看一遍都会有新的收获,是我基础太差了么?

    作者回复: 不是啦,加油

    2018-11-20
    1
  • 网络已断开
    这个专辑使我受益颇多,值得之前读三遍。
    2018-08-16
    14
  • stone
    我是跪着看完的,期待下一个专栏
    2018-12-21
    1
    4
  • favorlm
    忘记vxlan是什么了
    2018-08-15
    1
    4
  • blue mountain
    真不错,刚工作就订阅了,那时候看了感觉很深奥,放了半年再看,一切都很通透,非常好的课程。
    2021-03-11
    3
  • eason
    感觉老师这样串讲特别好,把前面的零碎的知识点串起来,虽然目前我还是比较菜。。。
    2018-12-28
    2
  • 夏洛克的救赎
    提问:为什么本地能够ping通服务器,双方也能通过sftp传输文件,但是服务器不能ping通本地,本地无法通过scp命令从服务器下载文件? 都是在同一内网环境。
    2018-08-15
    1
    2
  • 程启
    🐮牛
    2018-08-15
    2
收起评论
显示
设置
留言
22
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部