张伟(华为云容器网格数据平面技术专家)交流视频学习:Envoy原理介绍及线上问题采坑-张伟_哔哩哔哩_bilibili
1、五元组<源IP地址、目的IP地址、协议号、源端口、目的端口>能够唯一确定一个会话。TCP会话(TCP_Session_IDT)可以通过四元组<源IP地址、目的IP地址、源端口号和目的端口号>唯一标识。
- 五元组不能重复,否者conntrack(连接跟踪)无法区分。在互联网上一个五元组标识一个应用程序到远端的另一个应用程序的连接。要保证端到端的可达性,显然在全局范围内,五元组必须是唯一的。
- 连接跟踪是许多网络应用的基础。例如,Kubernetes Service、ServiceMesh sidecar、 软件四层负载均衡器 LVS/IPVS、Docker network、OVS、iptables 主机防火墙等等,都依赖连接跟踪功能。
- Linux 的连接跟踪是在 Netfilter 中实现的。Iptables 是配置 Netfilter 过滤功能的用户空间工具。
iptables 包含 4个表,5个链。(Linux 防火墙软件 IPtables -CSDN博客)
2、工具方法
3、总体架构
4、用于流量拦截的是iptables规则
5、LDS作用在listener监听器;RDS作用在route模块;CDS/EDS作用在上游upstream的cluster选取;L4层的chain处理发现是http的话会进入http_filter chain,然后找到上游的cluster。
6、mysql、Dubbo是四层过滤器.
7、metadata_exchange在请求的头部插入POD信息,用于交换POD信息(为了满足可观测性需求,普罗米修斯会拉取该信息)。