测试keepalived在DR模式下VIP转发数据到RIP的过程

简介:

测试keepalived在DR模式下VIP转发数据到RIP的过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
此处测试环境约定:
【Client】                            CIP = 10.0.200.22       MAC = 8c:89:a5:96:4c:b2(假设为11:11:11:11:11:11)
【Director】      VIP = 10.0.205.100  DIP = 10.0.200.21       MAC = 8c:89:a5:96:51:cf(假设为22:22:22:22:22:22)
【RealServer】                        RIP = 10.0.205.2        MAC = 08:00:27:3b:62:f5(假设为33:33:33:33:33:33)
 
1)【Client】 ARP Request  who  has 10.0.205.100 tell 10.0.200.22
CIP = 10.0.200.22
MAC = 11:11:11:11:11:11
 
2)【Director】响应1,ARP Reply 10.0.205.100 is-at 22:22:22:22:22:22
VIP = 10.0.205.100
DIP = 10.0.200.21
MAC = 22:22:22:22:22:22
 
3)【Client】发送TCP SYN
CIP = 10.0.200.22   MAC = 11:11:11:11:11:11
->
VIP = 10.0.205.100  MAC = 22:22:22:22:22:22
 
4)【Director】选一个【RealServer】,改数据包里的MAC为RIP的MAC,转发给RIP
CIP = 10.0.200.22   MAC = 11:11:11:11:11:11
->
VIP = 10.0.205.100  MAC = 33:33:33:33:33:33
 
 
5)【RealServer】收包,发ARP,Request  who  has 10.0.200.22 tell 10.0.205.2
6)【Client】响应5)ARP Reply 10.0.200.22 is-at 11:11:11:11:11:11
7)【RealServer】使用VIP回应3
 
 
实测抓包内容:
[root@svr200-22 ~] # tcpdump -nn host 10.0.200.22 and \(10.0.200.21 or 10.0.205.100 or 10.0.205.2\)
tcpdump: verbose output suppressed, use - v  or -vv  for  full protocol decode
listening on eth0, link- type  EN10MB (Ethernet), capture size 65535 bytes
18:08:31.342062 ARP, Request  who -has 10.0.205.100 tell 10.0.200.22, length 28
18:08:31.342627 ARP, Reply 10.0.205.100 is-at 8c:89:a5:96:51:cf, length 46
18:08:31.342637 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [S],  seq  3567838243, win 14600, options [mss 1460,sackOK,TS val 373309346 ecr 0,nop,wscale 7], length 0
18:08:31.343842 ARP, Request  who -has 10.0.200.22 tell 10.0.205.2, length 46
18:08:31.343854 ARP, Reply 10.0.200.22 is-at 8c:89:a5:96:4c:b2, length 28
18:08:31.344629 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [S.],  seq  4193479915, ack 3567838244, win 14480, options [mss 1460,sackOK,TS val 27450580 ecr 373309346,nop,wscale 6], length 0
18:08:31.344649 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [.], ack 1, win 115, options [nop,nop,TS val 373309348 ecr 27450580], length 0
18:08:39.260264 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [P.],  seq  1:6, ack 1, win 115, options [nop,nop,TS val 373317264 ecr 27450580], length 5
18:08:39.261438 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [.], ack 6, win 227, options [nop,nop,TS val 27458498 ecr 373317264], length 0
18:08:39.261637 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [P.],  seq  1:174, ack 6, win 227, options [nop,nop,TS val 27458498 ecr 373317264], length 173
18:08:39.261663 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [.], ack 174, win 123, options [nop,nop,TS val 373317265 ecr 27458498], length 0
18:08:39.261670 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [F.],  seq  174, ack 6, win 227, options [nop,nop,TS val 27458498 ecr 373317264], length 0


wKioL1UY63TA2L9sAAS3btzknNo352.jpg


本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1626394,如需转载请自行联系原作者

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
1天前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
24 1
|
1天前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
39 1
|
1天前
|
敏捷开发 存储 安全
敏捷方法:什么是软件测试中的敏捷模式?
敏捷方法:什么是软件测试中的敏捷模式?
|
1天前
|
计算机视觉
Google Earth Engine(GEE)——使用MODIS数据单点测试SG滤波和harmonics method 滤波的差异分析
Google Earth Engine(GEE)——使用MODIS数据单点测试SG滤波和harmonics method 滤波的差异分析
53 0
|
1天前
|
传感器 数据采集 算法
LabVIEW无人机大气数据智能测试系统
LabVIEW无人机大气数据智能测试系统
12 3
|
1天前
|
监控 数据挖掘 定位技术
Spartacus 测试,后台修改 product price 数据后,添加到 Cart 时,会带出来最新的价格吗
Spartacus 测试,后台修改 product price 数据后,添加到 Cart 时,会带出来最新的价格吗
13 2
|
1天前
|
JSON 测试技术 数据格式
Elasticsearch 8.X 如何生成 TB 级的测试数据 ?
Elasticsearch 8.X 如何生成 TB 级的测试数据 ?
15 0
|
1天前
|
人工智能 测试技术
测试数据不再难,人工智能批量生成给你用!
本文介绍了如何利用ChatGPT生成测试数据。测试数据是验证功能和触发异常场景的关键,设计时需全面考虑等价类、边界值和正交法。实践中,先明确数据类型、格式和需求,然后向ChatGPT提供相关信息。例如,对于只能输入中国手机号的输入框,初始提示可能只包含正常手机号,但应进一步补充异常场景,如非数字、长度错误、非中国号码、特殊字符、空输入等。此外,可通过指定yaml格式来满足代码使用需求。总结来说,生成测试数据需清晰定义需求,拆分任务,并系统测试各种变化。
25 2
|
1天前
|
数据可视化
结构方程模型 SEM 多元回归和模型诊断分析学生测试成绩数据与可视化
结构方程模型 SEM 多元回归和模型诊断分析学生测试成绩数据与可视化
|
1天前
|
人工智能 分布式计算 Kubernetes
人工智能,应该如何测试?(三)数据构造与性能测试篇
本文探讨了人工智能场景中的性能测试,区别于传统互联网测试,其复杂性更高。主要关注点包括两类AI产品——业务类和平台类,后者涉及AI全生命周期,测试难度更大。测试重点是模型训练的性能,特别是数据模拟。需要构造大量结构化数据,如不同规模、分布、分片和特征规模的数据,以评估算法效率。此外,还涉及模拟设备规模(如视频流)和节点规模(边缘计算),以测试在大规模负载下的系统性能。文中提到了使用工具如Spark、ffmpeg、流媒体服务器和Kubernetes(K8S)的扩展项目,如Kubemark,来模拟大规模环境。最后,文章介绍了使用Golang进行异步IO操作以构建海量小文件,优化IO性能。
229 0

热门文章

最新文章