《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——配套实验:访问4层&7层CLB场景对比(6)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——配套实验:访问4层&7层CLB场景对比(6)

《企业运维之云上网络原理与实践》——第二章 负载均衡 CLB——配套实验:访问4层&7层CLB场景对比(5) https://developer.aliyun.com/article/1230668?groupCode=supportservice



9. 在CLB监听的后端服务器上测试ECS1访问4层CLB的8080端口,并在ECS内部抓包

 

访问时建议需要使用curl,因为7层监听是http层面的动作,如果只用telnet来测试,三次握手建立好了之后,客户端和proxy集群(tengine集群)进行了连接,没有发起任何数据的时候,在CLB部分集群上不会向后端ECS建立连接发送数据的,所以必须用curl实际的发送一些7层的数据。

 

抓包时我们关注的信息有哪些?

 

image.png

 

除了192开头的IP,我们还可以看到来自100网段的IP数据包,这些数据包正是7层监听交互的表现

 

14:24:03.135859 IP 192.168.11.181.34290 > 192.168.11.175.8080: Flags [S], seq 1995438430, win 
29200, options [mss 1460,sackOK,TS val 3146156 ecr 0,nop,wscale 7], length 0
14:24:03.137054 IP 192.168.11.175.8080 > 192.168.11.181.34290: Flags [S.], seq 2376897256, ack 
1995438431, win 29200, options [mss 1440,nop,nop,sackOK,nop,wscale 9], length 0
14:24:03.137071 IP 192.168.11.181.34290 > 192.168.11.175.8080: Flags [.], ack 1, win 229, length 0
14:24:03.137179 IP 192.168.11.181.34290 > 192.168.11.175.8080: Flags [P.], seq 1:84, ack 1, win 229, 
length 83: HTTP: GET / HTTP/1.1
14:24:03.138336 IP 192.168.11.175.8080 > 192.168.11.181.34290: Flags [.], ack 84, win 58, length 0
14:24:03.139023 IP 100.122.64.142.2292 > 192.168.11.181.80: Flags [S], seq 1176088477, win 28480, 
options [mss 1424,sackOK,TS val 4003383056 ecr 0,nop,wscale 9], length 0
14:24:03.139038 IP 192.168.11.181.80 > 100.122.64.142.2292: Flags [S.], seq 2293269875, ack 
1176088478, win 28960, options [mss 1460,sackOK,TS val 3146159 ecr 4003383056,nop,wscale 7], 
length 0
14:24:03.140054 IP 100.122.64.142.2292 > 192.168.11.181.80: Flags [.], ack 1, win 56, options 
[nop,nop,TS val 4003383058 ecr 3146159], length 0
14:24:03.140073 IP 100.122.64.142.2292 > 192.168.11.181.80: Flags [P.], seq 1:162, ack 1, win 56, 
options [nop,nop,TS val 4003383058 ecr 3146159], length 161: HTTP: GET / HTTP/1.1
14:24:03.140078 IP 192.168.11.181.80 > 100.122.64.142.2292: Flags [.], ack 162, win 235, options 
[nop,nop,TS val 3146160 ecr 4003383058], length 0
14:24:03.140254 IP 192.168.11.181.80 > 100.122.64.142.2292: Flags [FP.], seq 1:264, ack 162, win 
235, options [nop,nop,TS val 3146160 ecr 4003383058], length 263: HTTP: HTTP/1.1 200 OK
14:24:03.141713 IP 100.122.64.142.2292 > 192.168.11.181.80: Flags [F.], seq 162, ack 265, win 58, 
options [nop,nop,TS val 4003383059 ecr 3146160], length 0
14:24:03.141732 IP 192.168.11.181.80 > 100.122.64.142.2292: Flags [.], ack 163, win 235, options 
[nop,nop,TS val 3146161 ecr 4003383059], length 0
14:24:03.141742 IP 192.168.11.175.8080 > 192.168.11.181.34290: Flags [P.], seq 1:247, ack 84, win 
58, length 246: HTTP: HTTP/1.1 200 OK
14:24:03.141754 IP 192.168.11.181.34290 > 192.168.11.175.8080: Flags [.], ack 247, win 237, length 
0 
14:24:03.141889 IP 192.168.11.181.34290 > 192.168.11.175.8080: Flags [F.], seq 84, ack 247, win 
237, length 0
14:24:03.143047 IP 192.168.11.175.8080 > 192.168.11.181.34290: Flags [F.], seq 247, ack 85, win 58, 
length 0
14:24:03.143056 IP 192.168.11.181.34290 > 192.168.11.175.8080: Flags [.], ack 248, win 237, length 
0

 

三、 实验分析

 

1. 实验结果

 

从以上的实验结果来看,ECS1访问CLB的80端口,会出现时通时不通的表现,而访问CLB的8080端口,则是100%连通。

 

2. 实验分析

 

image.png

 

由于四层CLB下,CLB会将客户端的原始链接转发到后端服务器上,因此在这种情况下,ECS1访问CLB内网地址的80端口时相当于访问自己的80端口,从抓包可看到源目IP都是自己,在回SYN_ACK时直接由lo网卡转发到本机,内核未看到SYN_ACK包对应五元组的SYN包,导致内核直接发送了RST


七层CLB下,由于CLB在中间隔离了TCP链接,因此ECS1看到的源IP均为CLB的内网IP,因此地址不会冲突。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1天前
|
机器学习/深度学习 人工智能 运维
|
29天前
|
存储 边缘计算 运维
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
26 1
|
1月前
|
运维 监控 测试技术
5个常见运维场景,用这几个Python脚本就够了!
5个常见运维场景,用这几个Python脚本就够了!
|
1月前
|
网络协议
网络工程师必看 | 某高校实验作业:以太网帧分析
网络工程师必看 | 某高校实验作业:以太网帧分析
|
1月前
|
网络协议 网络虚拟化 网络架构
【原创】华为网络设备单臂路由配置实验
【原创】华为网络设备单臂路由配置实验
|
2月前
|
机器学习/深度学习 TensorFlow API
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API,由Python编写,并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验,能够用最少的代码实现想法,并且能够方便地在CPU和GPU上运行。
|
2月前
|
运维 监控 容灾
智能化运维场景分析
【7月更文挑战第12天】智能运维目标是解放运维人员,提高效率,确保业务连续性和优化资源利用。
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的网络互联实验平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的网络互联实验平台附带文章源码部署视频讲解等
39 0
|
3月前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之如何访问周期任务运维
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
|
3月前
|
运维 网络协议
网络建设与运维-OSPF单区域实验
全国职业院校技能大赛“网络建设与运维”赛项相关的OSPF单区域实验练习。

热门文章

最新文章

相关产品

  • 负载均衡