网络技术与Linux内核构建知识详解
1. 网络技术术语解释
1.1 TCAM - 三态内容可寻址存储器
与普通计算机中的随机存取存储器(RAM)不同,RAM 是将数据存储在多个地址中,并且只能查询给定地址的内容。内容可寻址存储器(CAM)则相反,它接收内容,然后在其内存中搜索,返回包含该内容的地址列表。使用 RAM 进行搜索时,软件需要反复从内存地址读取数据,将内存内容与要搜索的内容进行比较,然后移动到下一个地址,直到搜索完整个 RAM 区域。而 CAM 只需一次操作就能返回包含该内容的地址列表,大大提高了内存内容的搜索速度。
三态内容可寻址存储器(TCAM)在此基础上更进一步。普通 CAM 中存储的数据仅以位的形式存在,例如一个地址处的字可能是 10011101,但 TCAM 内存中可能包含第三种状态“不关心”或“X”,所以一个地址处的字可以是 10011X01,它能匹配 10011101 和 10011001 的搜索。CAM 和 TCAM 通常分别用于交换机和路由器中存储 MAC 查找表和路由表。路由器内存中可能有一个网络地址,当一个数据包到达需要路由时,可以在 TCAM 中搜索其目的 IP 地址,TCAM 会立即返回其目的地址的路由表项的地址,其中目的网络的网络部分存储为 1 或 0,主机部分存储为 X。不过,与普通 RAM 相比,CAM 和 TCAM 在内存方面更加复杂、昂贵且耗电,但对于像路由这样每秒需要进行数千或数百万次路由表搜索的应用来说是必不可少的。
1.2 TCP - 传输控制协议
TCP 是互联网功能中至关重要的核心协议之一。它允许应用程序创建连接,一旦连接建立,应用程序就可以跨连接流式传输数据。操作系统中的