99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CAM和TCAM是什么?

ruikundianzi ? 來源:IP與SoC設計 ? 2023-01-05 15:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

提到存儲介質,大家應該很容易想到RAM。相比于RAM,CAM可能就顯得有些陌生了。實際上,TCAM對于交換芯片非常重要。比如了解OpenFlow的人都知道流表,最典型的流表都是用TCAM來做的。TCAM,主要用于快速查找ACL、路由等表項。

它到底是個什么東西,起到什么樣的作用呢?接下來我們慢慢聊。

TIP:

OpenFlow,一種網(wǎng)絡通信協(xié)議,屬于數(shù)據(jù)鏈路層,能夠控制網(wǎng)上交換器或路由器的轉發(fā)平面(forwarding plane),借此改變網(wǎng)絡數(shù)據(jù)包所走的網(wǎng)絡路徑。

什么是CAM?

CAM是Content Addressable Memory的縮寫,即“內容尋址存儲器”的意思,它是在傳統(tǒng)的存儲技術的基礎上實現(xiàn)的聯(lián)想記憶存儲器,關于CAM的基本操作有三種:

1)寫操作:輸入地址和數(shù)據(jù),將數(shù)據(jù)寫到指定的地址上,寫入速度與RAM相同;

2)讀操作:輸入地址,返回該地址上的數(shù)據(jù),讀取速度與RAM相同;

3)查找操作:輸入待查數(shù)據(jù),返回該數(shù)據(jù)被存儲的地址。這也是CAM的最主要用途,它能夠從巨大的數(shù)據(jù)庫中進行快速查找,并且返回最佳的匹配地址,最快查找速度能達到每秒一億次以上。

CAM和RAM有何區(qū)別?

相對于CAM,我們可能更加熟悉RAM。SRAM、DRAM大家可能或多或少有所接觸。

如果想了解更多關于存儲相關的內容,可以查看我們的往期文章:

科普:什么是OTP?什么是MTP?

科普:RAM和ROM有什么區(qū)別?

言歸正傳,在本文中,我們不再花費太多筆墨去闡釋RAM相關內容。我們將重點放在CAM上。

那么,RAM與CAM,有什么區(qū)別呢?舉個例子。

一個表(table)被放在RAM中以便進行高速操作,提供一個地址并從表中獲取與該地址相匹配的數(shù)據(jù)。然而,使用RAM進行查找可能需要多個周期來完成,它的速度不是很理想。

cdaf665a-8cc8-11ed-bfe3-dac502259ad0.jpg

因此,CAM應運而生。在原理上,它反其道而行之,數(shù)據(jù)被當作搜索其所在地址的鑰匙。根據(jù)CAM設計的性質,搜索是并行的,這意味著查找可以在一個周期內完成。這使得CAM更適合做數(shù)據(jù)表的查找,它的速度更快。

cdd1266e-8cc8-11ed-bfe3-dac502259ad0.jpg

與具有簡單存儲單元的靜態(tài) RAM (SRAM) 不同,全并行 CAM 中的每個單獨的存儲位都必須具有與自身相關的比對電路,以檢測存儲位和輸入位之間的匹配情況。此外,在使用 CAM 時,必須將數(shù)據(jù)字中每個單元的匹配輸出組合起來,才能產生完整的數(shù)據(jù)字匹配信號。

因而在搜索層面,CAM具有性能優(yōu)勢,而代價則是需要更大的面積和更高的功耗。

CAM的分類

cdee9514-8cc8-11ed-bfe3-dac502259ad0.png

我們通常使用兩種不同類型的CAM,分別為BCAM(Binary CAM)和TCAM(Ternary CAM)。

BCAM,顧名思義,是指數(shù)據(jù)為二進制狀態(tài),即0或1,數(shù)據(jù)搜索必須完全匹配。它適用于具有唯一條目的數(shù)據(jù)查詢,如MAC地址查詢。

ce03e004-8cc8-11ed-bfe3-dac502259ad0.png

而TCAM是Ternary Content Addressable Memory的縮寫,即“三態(tài)內容尋址存儲器”的意思,它是從CAM的基礎上發(fā)展而來的。

這個“三態(tài)”,就非常有意思了。

一般的CAM存儲器中每個bit位的狀態(tài)只有兩個,“0”或“1”,而TCAM中每個bit位有三種狀態(tài),除掉“0”和“1”外,還有一個“don’t care”狀態(tài),也可以稱作“wildcard”,也可以表示為“X”,從中文理解,就是忽略的意思。所以稱為“三態(tài)”,它是通過掩碼來實現(xiàn)的。

正是TCAM的這個第三種狀態(tài)特征使其既能進行精確匹配查找,又能進行模糊匹配查找,而BCAM沒有第三種狀態(tài),所以只能進行精確匹配查找。

ce9bf5ec-8cc8-11ed-bfe3-dac502259ad0.png

TCAM的實現(xiàn)除了有ASIC芯片外,還可以在FPGA上用IP核實現(xiàn)。

當涉及到路由時,“don’t care”的概念在很多方面都是有用的。

例如,當我們寫下1.1.1.0/24時,它描述了從1.1.1.0到1.1.1.255的IP地址范圍。數(shù)字24表示IP地址的前24位必須被匹配,而后8位是什么并不重要。

cec64a04-8cc8-11ed-bfe3-dac502259ad0.jpg

TIP:

路由(routing)是指分組從源到目的地時,決定端到端路徑的網(wǎng)絡范圍的進程。路由工作在OSI參考模型第三層——網(wǎng)絡層的數(shù)據(jù)包轉發(fā)設備。路由器通過轉發(fā)數(shù)據(jù)包來實現(xiàn)網(wǎng)絡互連。

查找方式的對比:

基于SRAM的查找(傳統(tǒng)查找方式)

1、線性查找

2、二叉樹查找

3、HASH查找

基于TCAM的查找

基于硬件的實現(xiàn),整個表空間Database在同一時刻被查詢

TCAM之所以能做到一個bit表示三個值,原因是它的一條entry其實在物理上由兩條entry組成,一條存放data,另外一條存放相應的mask。由此可以實現(xiàn)0/1/X的表示。有了TCAM,就可以支持各種LOOKUP KEY的任何組合查找,任意地MASK掉任何不關心的字段,只有TCAM可以做這樣的事情,HASH做不到。

cef81d18-8cc8-11ed-bfe3-dac502259ad0.jpg

TCAM的查找特點

如果有多條TCAM ENTRY都能匹配上,TCAM優(yōu)先選擇INDEX最小的那一條。TCAM的查找效率與深度無關,也就是說,無論表項多大,查找速度是一樣的,這跟TCAM的硬件實現(xiàn)方式有關。命中其中一條之后,就返回index,然后根據(jù)這個index去它對應的RAM里面查找進一步的關聯(lián)數(shù)據(jù)。

cf184f8e-8cc8-11ed-bfe3-dac502259ad0.png

TCAM在高端路由器中的應用及查找過程

為什么TCAM都不會太大

TCAM可以內置在芯片里面,也可以外掛在芯片之外,芯片通過接口去訪問。但是內置TCAM非常占芯片面積,如果芯片內部放了太大的TCAM會導致芯片成本和功耗直線上升。所以一般芯片都不會內置太大TCAM。這就是為什么基于TCAM的流表做不大的原因。

外掛TCAM的成本和功耗一樣很大,甚至比ASIC芯片本身都貴,而且如果一個報文要訪問外部TCAM多次的話,受限于TCAM接口速率,會導致無法線速。所以一般交換機也都不會使用外掛TCAM。

cf3c4376-8cc8-11ed-bfe3-dac502259ad0.png

TCAM的優(yōu)勢

1、單周期查找;

2、平均查找速度是基于SRAM算法查找的6倍;

3、最好情況下,查找速度提高128倍。

總而言之,TCAM實現(xiàn)了通用性和高速度。TCAM的最大優(yōu)勢,就是速度。

TCAM的缺點

TCAM具有速度快、實現(xiàn)簡單的優(yōu)點,但是它也有三個不足之處:

1、與一般的隨機存儲器RAM 相比,單位比特的TCAM 更為昂貴,而且存儲芯片的容量相對要小一些;

2、由于TCAM 使用的是并行匹配比較方式,所以TCAM 芯片的功耗較大。查找過程所有關鍵字表項都進行了比較,但是實際能夠匹配上的關鍵字只是幾項,因此大部分的比較操作都被浪費了;

3、 TCAM 需要保證前綴較長的關鍵字保存在前綴較短的關鍵字之前,這種關鍵字之間的順序關系使得TCAM的關鍵字更新工作變得相對復雜了。當加入一條新的表項時,為了能夠仍然保持關鍵字間的順序關系,就需要移動一些前綴長度比新表項要長的一些表項,因此TCAM 的更新操作較為復雜。

總結下來就是:成本高、功耗大、路由更新復雜。

關于TCAM器件的應用

TCAM器件在通信領域種有非常廣泛的應用,主要有:

1、ATM Switching設備中的VCI/VPI轉發(fā)和ATM-to-MPLS or ATM-to-TCP-Flow地址映射表項的存儲和查找;

2、Ethernet Switching設備中的二層MAC地址、ARP/RARP解析和三層IP路由表項的存儲和查找;

3、Emerging Protocols and functions方面的MPLS label表項的存儲和查找;

4、Packet Classification業(yè)務中的Enforce security、Enforce departmental policies和QOS檢測表項的存儲和查找;

5、安全防護設備中的FIB/LBT、MFIB及ACL表項存儲和查找。

TCAM器件的硬件設計方式一般有三種:

cf675ad4-8cc8-11ed-bfe3-dac502259ad0.png

關于ACL

訪問控制列表ACL(Access Control List)是由一條或多條規(guī)則組成的集合。所謂規(guī)則,是指描述報文匹配條件的判斷語句,這些條件可以是報文的源地址、目的地址、端口號等。

ACL本質上是一種過濾器,規(guī)則是過濾器的濾芯。設備基于這些規(guī)則進行報文匹配,可以過濾出特定的報文,并根據(jù)應用ACL的業(yè)務模塊的處理策略來允許或阻止該報文通過。

訪問控制列表被廣泛地應用于路由器和三層交換機,借助于訪問控制列表,可以有效地控制用戶對網(wǎng)絡的訪問,從而最大程度地保障網(wǎng)絡安全。

TIP:

報文(message)是網(wǎng)絡中交換與傳輸?shù)臄?shù)據(jù)單元,即站點一次性要發(fā)送的數(shù)據(jù)塊。報文包含了將要發(fā)送的完整的數(shù)據(jù)信息,其長短很不一致,長度不限且可變。

應用場景

-匹配IP流量(可基于源,目的IP地址,協(xié)議類型,端口號等類型)

-在Traffic-fiter中被調用

-在NAT中被調用

-在路由策略調用

-在IPSec VPN中被調用

-在防火墻的策略部署中被調用

-在QoS中被調用

分類

目前遇到最多就是基本acl和高級acl,其他種類acl很少見。

cf9ea6c4-8cc8-11ed-bfe3-dac502259ad0.png

ACL/路由表/Mac表跟TCAM的關系

普通交換機中的ACL功能必須使用TCAM,所以內置TCAM省不掉。而對于路由,以前的芯片也都用TCAM來做(主機路由除外),所以路由表項也做不大?,F(xiàn)在最新的商業(yè)芯片都已經(jīng)使用算法來支持路由了,這樣就可以使用RAM來做路由。至于Mac表,它的查找是根據(jù)Mac+Vlan進行精確匹配,可以用Hash來做,所以跟路由一樣,都存放在RAM里面。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    460

    文章

    52529

    瀏覽量

    441336
  • CAM
    CAM
    +關注

    關注

    5

    文章

    202

    瀏覽量

    43926
  • 交換器
    +關注

    關注

    2

    文章

    92

    瀏覽量

    16794

原文標題:科普:CAM和TCAM是什么?

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    esp32cam

    這是在使用esp32cam攝像頭代碼時,報錯,具體為啥???thread \'main\' panicked at \'assertion failed: `(left != right)` left
    發(fā)表于 06-15 13:20

    燦芯半導體推出28HKC+工藝平臺TCAM IP

    Memory (TCAM) IP。該IP具有高頻率和低功耗特性,隨著網(wǎng)絡設備中快速處理路由表與訪問控制列表(ACL)等需要高效查找的場景不斷增加,該IP將被高端交換機、路由器等芯片廣泛采用。
    的頭像 發(fā)表于 05-29 15:18 ?474次閱讀

    ESP32-CAM帶OV2640攝像頭視頻顯示

    本文介紹了如何在Arduino IDE上開發(fā)實現(xiàn)ESP32-CAM模塊獲取實時圖像視頻
    的頭像 發(fā)表于 05-23 10:47 ?558次閱讀
    ESP32-<b class='flag-5'>CAM</b>帶OV2640攝像頭視頻顯示

    IMX93 evk卡上是否有跳線或開關可供設置,以便為RPI-CAM mipi供電?

    Hi 我有一個 RPI-CAM mipi 與 IMX93 evk 卡連接 https://docs.nxp.com/bundle/um11933/page/topics
    發(fā)表于 04-10 07:18

    MDMF304L1CAM-操作手冊 - PANATERM Ver6.0 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304L1CAM-操作手冊 - PANATERM Ver6.0相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304L1CAM-操作手冊
    發(fā)表于 02-07 19:17
    MDMF304L1<b class='flag-5'>CAM</b>-操作手冊 - PANATERM Ver6.0 松下

    MDMF304L1CAM-MINAS A6BN 系列 標準規(guī)格書 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304L1CAM-MINAS A6BN 系列 標準規(guī)格書相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304L1CAM-MINAS A6BN
    發(fā)表于 02-07 19:16
    MDMF304L1<b class='flag-5'>CAM</b>-MINAS A6BN 系列 標準規(guī)格書 松下

    MDMF304L1CAM-網(wǎng)絡式伺服A6N 設置例 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304L1CAM-網(wǎng)絡式伺服A6N 設置例相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304L1CAM-網(wǎng)絡式伺服A6N 設置例的引腳圖
    發(fā)表于 02-07 19:09
    MDMF304L1<b class='flag-5'>CAM</b>-網(wǎng)絡式伺服A6N 設置例 松下

    MDMF304L1CAM-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304L1CAM-MINAS A6N系列 介紹相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304L1CAM-MINAS A6N系列 介紹
    發(fā)表于 02-07 19:09
    MDMF304L1<b class='flag-5'>CAM</b>-MINAS A6N系列 介紹 松下

    MDMF304L1CAM-MINAS A6 系列 Block動作事例 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304L1CAM-MINAS A6 系列 Block動作事例相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304L1CAM-MINAS A6
    發(fā)表于 02-07 19:04
    MDMF304L1<b class='flag-5'>CAM</b>-MINAS A6 系列 Block動作事例 松下

    MDMF304L1CAM-MINAS A6 系列 Block動作應用說明資料 -Modbus啟動- 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304L1CAM-MINAS A6 系列 Block動作應用說明資料 -Modbus啟動-相關產品參數(shù)、數(shù)據(jù)手冊,更有
    發(fā)表于 02-07 19:03
    MDMF304L1<b class='flag-5'>CAM</b>-MINAS A6 系列 Block動作應用說明資料 -Modbus啟動- 松下

    MDMF304A1CAM-操作手冊 - PANATERM Ver6.0 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1CAM-操作手冊 - PANATERM Ver6.0相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304A1CAM-操作手冊
    發(fā)表于 01-16 19:15
    MDMF304A1<b class='flag-5'>CAM</b>-操作手冊 - PANATERM Ver6.0 松下

    MDMF304A1CAM-網(wǎng)絡式伺服A6N 設置例 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1CAM-網(wǎng)絡式伺服A6N 設置例相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304A1CAM-網(wǎng)絡式伺服A6N 設置例的引腳圖
    發(fā)表于 01-16 19:07
    MDMF304A1<b class='flag-5'>CAM</b>-網(wǎng)絡式伺服A6N 設置例 松下

    MDMF304A1CAM-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1CAM-MINAS A6N系列 介紹相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304A1CAM-MINAS A6N系列 介紹
    發(fā)表于 01-16 19:06
    MDMF304A1<b class='flag-5'>CAM</b>-MINAS A6N系列 介紹 松下

    MDMF304A1CAM-MINAS A6 系列 Block動作事例 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1CAM-MINAS A6 系列 Block動作事例相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304A1CAM-MINAS A6
    發(fā)表于 01-16 19:00
    MDMF304A1<b class='flag-5'>CAM</b>-MINAS A6 系列 Block動作事例 松下

    MDMF304A1CAM-MINAS A6 系列 標準規(guī)格書 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MDMF304A1CAM-MINAS A6 系列 標準規(guī)格書相關產品參數(shù)、數(shù)據(jù)手冊,更有MDMF304A1CAM-MINAS A6 系列
    發(fā)表于 01-16 18:57
    MDMF304A1<b class='flag-5'>CAM</b>-MINAS A6 系列 標準規(guī)格書 松下