网络术语与Linux内核构建全解析
1. 网络术语详解
1.1 TCAM - 三元内容可寻址内存
与普通计算机内存(RAM)不同,RAM 是通过地址存储数据,只能根据给定地址查询内容。而内容可寻址内存(CAM)则相反,它是根据提供的内容在内存中搜索,返回包含该内容的地址列表。普通 RAM 搜索时,软件需不断读取内存地址,将内存内容与搜索内容进行比较,直到搜索完指定区域。而 CAM 只需一次操作就能返回包含指定内容的地址列表,大大提高了搜索速度。
三元内容可寻址内存(TCAM)在此基础上更进一步。普通 CAM 存储的数据仅为二进制位,而 TCAM 内存中还存在“不关心”状态(用“X”表示)。例如,地址处的一个字可能是 10011X01,它可以匹配 10011101 和 10011001 的搜索。CAM 和 TCAM 常用于交换机和路由器中,分别存储 MAC 查找表和路由表。路由器内存中有网络地址,当数据包到达需要路由时,可在 TCAM 中搜索其目的 IP 地址,TCAM 会立即返回该目的地址的路由表项地址,其中目的网络的网络部分存储为 1 或 0,主机部分为 X。不过,CAM 和 TCAM 比普通 RAM 更复杂、昂贵且耗电,但对于每秒需要进行数千或数百万次路由表搜索的应用来说是必不可少的。
1.2 TCP - 传输控制协议
TCP 是互联网运行的核心协议之一,它允许应用程序创建连接。连接建立后,应用程序可以通过该连接传输数据。操作系统中的 TCP 栈负责将数据流分割成带有序列号的段,并通过基于 IP 的网络发送出去。在远程端,TCP 栈会确认已收到的数据包(以便重发丢失的数据包),并将收到的数据包按正确顺序重新组装,为远程应用程序提
超级会员免费看
订阅专栏 解锁全文
561

被折叠的 条评论
为什么被折叠?



