Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — conntrack(CT,连接跟踪)

Linux Kernel: Conntrack机制在TCP/IP Stack中的作用
CT(连接跟踪)在Linux内核的netfilter框架中扮演关键角色,负责跟踪连接状态,涉及iptables、LVS/IPVS等多个网络应用。它采集并存储IP 5-tuple定义的Flow信息,维护Conntrack Table记录连接详情,如创建时间、包数、字节数,并执行过期连接的垃圾回收。CT支持更高层功能,如iptables的决策制定。

目录

文章目录

CT

CT(conntrack,connection tracking,连接跟踪),顾名思义,就是跟踪(并记录)连接的状态,是许多网络应用的基础。例如:iptables、LVS/IPVS、OvS、Docker Network、Kubernetes Service、ServiceMesh Sidecar 等。

CT 在 netfilter 框架中完成了 Connection 信息的采集和录入功能,单并不会修改或丢弃数据包,后者是其他模块(e.g. NAT)基于 Netfilter Hook 机制完成的。

需要注意的是,CT 中的 connection,与 TCP 的 connection 并不完全相同。CT 中,一个 IP 5-tuple 定义的一条 Flow 就表示一条 Connection。

在这里插入图片描述

例如,上图是一台 IP 地址为 10.1.1.2 的 Linux 机器,我们能看到这台机器上有三条连接:

  1. 机器访问外部 HTTP 服务的连接(目的端口 80)。
  2. 外部访问机器内 FTP 服务的连接(目的端口 21)。
  3. 机器访问外部 DNS 服务的连接(目的端口 53)。

CT 所做的事情就是发现并跟踪这些连接的状态,具体包括:

  • 从数据包
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范桂飓

文章对您有帮助就请一键三连:)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值