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

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — conntrack(CT,连接跟踪)相关的知识,希望对你有一定的参考价值。

目录

文章目录

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. 机器访问外部

以上是关于Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — conntrack(CT,连接跟踪)的主要内容,如果未能解决你的问题,请参考以下文章

Linux Kernel TCP/IP Stack — L4 Layer

Linux Kernel TCP/IP Stack — 协议栈发包处理流程

Linux Kernel TCP/IP Stack — Overview

Linux Kernel TCP/IP Stack — Overview

Linux Kernel TCP/IP Stack — L1 Layer

Linux Kernel TCP/IP Stack — L1 Layer