欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種報文轉(zhuǎn)發(fā)方法和裝置的制造方法

文檔序號:9754487閱讀:248來源:國知局
一種報文轉(zhuǎn)發(fā)方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種報文轉(zhuǎn)發(fā)方法和裝置。
【背景技術(shù)】
[0002]傳統(tǒng)的交換機以及路由器等具有報文轉(zhuǎn)發(fā)和流量監(jiān)控功能的裝置,都可以將報文向介質(zhì)訪問控制(英文:media access control,縮寫:MAC)地址表中記錄的目的地址對應(yīng)的端口轉(zhuǎn)發(fā),被轉(zhuǎn)發(fā)的隊列中的報文一般都緩存在交換機設(shè)置的隨機存取存儲器(英文:random-access memory,縮寫:RAM)中。
[0003]通常的報文轉(zhuǎn)發(fā)的實現(xiàn)方案中,可以通過隊列鏈表和緩存空間鏈表管理RAM緩存空間中待轉(zhuǎn)發(fā)的隊列中的報文。其中,隊列鏈表按照報文的入隊順序記錄各報文的頭指針,先入隊的報文的頭指針只記錄有緊跟它入隊的下一個隊列的報文的頭指針,以此來記錄隊列中報文的轉(zhuǎn)發(fā)順序。每個緩存在RAM中的報文都具有各自的緩存空間鏈表,緩存空間鏈表中記錄了緩存該報文數(shù)據(jù)的所有緩存空間對應(yīng)的指針。緩存空間鏈表的任意指針對應(yīng)的緩存空間中只記錄有該指針的下一個緩存空間鏈表指針,每個緩存空間鏈表指針都對應(yīng)一塊緩存空間。在轉(zhuǎn)發(fā)緩存在RAM中的隊列中的報文時,交換機中設(shè)置的用于轉(zhuǎn)發(fā)報文的現(xiàn)場可編程門陣列(英文:field-programmable gate array,縮寫:FPGA)芯片只能根據(jù)該報文的緩存空間鏈表指針的順序先獲取存儲該報文的第一個RAM緩存空間地址并讀取緩存數(shù)據(jù),然后再獲取存儲該報文的第二個RAM緩存空間地址并讀取緩存數(shù)據(jù),依此類推,直到讀取報文的完整數(shù)據(jù),然后將讀取的報文轉(zhuǎn)發(fā)。在完成一個報文的轉(zhuǎn)發(fā)后,根據(jù)隊列鏈表中報文的順序,獲取下一個報文的頭指針,按照以上的描述,再將該報文讀取并轉(zhuǎn)發(fā),直到將隊列中的報文全部轉(zhuǎn)發(fā)出去。
[0004]讀取報文的過程中,由于RAM芯片的特性,在獲取存儲該報文的相鄰的兩個RAM緩存空間地址之間會有時延,若報文較大導(dǎo)致緩存該報文的緩存空間較多,那么就會在讀取報文的過程中產(chǎn)生較大的時延,而這會嚴(yán)重影響網(wǎng)絡(luò)的性能,為了減小時延對網(wǎng)絡(luò)性能的影響,一般采用四倍數(shù)據(jù)倍率同步動態(tài)隨機存儲器(英文:Quad Data Rate synchronousdynamic random-access memory,縮寫:QDR SDRAM)芯片來存儲隊列鏈表和緩存空間鏈表。QDR SDRAM芯片雖然讀取速度快、可以減小時延,但是QDR SDRAM的存儲空間較小且成本極高,在現(xiàn)階段不能夠大規(guī)模的使用,實用性較低。

【發(fā)明內(nèi)容】

[0005]為了解決上述的問題,本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)方法和裝置。所述技術(shù)方案如下:
[0006]第一方面,本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)方法,所述方法包括:
[0007]獲取對報文的轉(zhuǎn)發(fā)指令,所述報文有緩存空間鏈表,所述緩存空間鏈表包括所述報文的所有指針,所述報文的所有指針中的頭指針對應(yīng)的第一類緩存空間中記錄有所述報文的第一部分報文數(shù)據(jù)和多個第二類緩存空間對應(yīng)的多個指針,所述多個第二類緩存空間分別緩存所述報文的所述第一部分報文數(shù)據(jù)外的多個部分的報文數(shù)據(jù);
[0008]從所述報文的緩存空間鏈表中獲取所述報文的頭指針;
[0009]從所述報文的頭指針對應(yīng)的所述第一類緩存空間中,讀取所述報文的所述第一部分報文數(shù)據(jù),并獲取所述多個指針;
[0010]根據(jù)所述多個指針,獲取所述多個第二類緩存空間;
[0011]從所述多個第二類緩存空間中,并行讀取所述第一部分報文數(shù)據(jù)外的所述多個部分的報文數(shù)據(jù);
[0012]讀取到完整的報文數(shù)據(jù)后,轉(zhuǎn)發(fā)所述報文。
[0013]在第一方面的第一種可能的實現(xiàn)方式中,在獲取對報文的轉(zhuǎn)發(fā)指令之前,所述方法還包括:
[0014]接收所述報文;
[0015]確定用于緩存所述報文的RAM的空間是否已滿;
[0016]若確定所述RAM的空間未滿,則從所述RAM中獲取多個空閑緩存空間對應(yīng)的指針;
[0017]根據(jù)多個空閑緩存空間對應(yīng)的指針,生成所述報文的緩存空間鏈表;
[0018]根據(jù)生成的所述緩存空間鏈表,將接收到的所述報文緩存到多個空閑緩存空間中,其中,所述多個空閑緩存空間包括第一類緩存空間和多個所述第二類緩存空間;
[0019]將所述報文的所述緩存空間鏈表的頭指針連接到所述報文所在隊列的隊列鏈表中。
[0020]結(jié)合第一方面以及第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述方法還包括:
[0021]若確定所述RAM的空間已滿,則丟棄所述報文。
[0022]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,在所述判斷所述RAM的空間是否已滿步驟中:
[0023]若所述RAM中緩存的報文占用的緩存空間數(shù)量小于預(yù)先設(shè)定的閾值,則確定所述RAM未滿。
[0024]結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述隊列鏈表和所述緩存空間鏈表存儲在所述RAM中。
[0025]第二方面,本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)裝置,所述裝置包括:
[0026]第一獲取模塊,用于獲取對報文的轉(zhuǎn)發(fā)指令,所述報文有緩存空間鏈表,所述緩存空間鏈表包括所述報文的所有指針,所述報文的所有指針中的頭指針對應(yīng)的第一類緩存空間中記錄有所述報文的第一部分報文數(shù)據(jù)和多個第二類緩存空間對應(yīng)的多個指針,所述多個第二類緩存空間分別緩存所述報文的所述第一部分報文數(shù)據(jù)外的多個部分的報文數(shù)據(jù);
[0027]第二獲取模塊,用于從所述報文的緩存空間鏈表中獲取所述報文的頭指針;
[0028]第三獲取模塊,用于從所述報文的頭指針對應(yīng)的所述第一類緩存空間中,讀取所述報文的所述第一部分報文數(shù)據(jù),并獲取所述多個指針;
[0029]第四獲取模塊,用于根據(jù)所述多個指針,獲取所述多個第二類緩存空間;
[0030]讀取模塊,用于從所述多個第二類緩存空間中,并行讀取所述報文的所述第一部分報文數(shù)據(jù)外的所述多個部分的報文數(shù)據(jù);
[0031]轉(zhuǎn)發(fā)模塊,用于讀取到完整的報文數(shù)據(jù)后,轉(zhuǎn)發(fā)所述報文。
[0032]在第二方面的第一種可能的實現(xiàn)方式中,所述裝置還包括:
[0033]接收模塊,用于接收所述報文;
[0034]判斷模塊,用于確定用于緩存所述報文的RAM的空間是否已滿;
[0035]第一處理模塊,用于若確定所述RAM的空間未滿,則從所述RAM中獲取多個空閑緩存空間對應(yīng)的指針;
[0036]第二處理模塊,用于根據(jù)多個空閑緩存空間對應(yīng)的指針,生成所述報文的緩存空間鏈表;
[0037]緩存模塊,用于根據(jù)生成的所述緩存空間鏈表,將接收到的所述報文緩存到多個空閑緩存空間中,其中,所述多個空閑緩存空間包括所述第一類緩存空間和多個所述第二類緩存空間;
[0038]存儲模塊,用于將所述報文的所述緩存空間鏈表的頭指針連接到所述報文所在隊列的隊列鏈表中。
[0039]結(jié)合第二方面以及第二一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述裝置還包括:第三處理模塊,用于若確定所述RAM的空間已滿,則丟棄所述報文。
[0040]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,在所述判斷模塊中:
[0041]若所述RAM中緩存的報文占用的緩存空間數(shù)量小于預(yù)先設(shè)定的閾值,則說明所述RAM未滿。
[0042]結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述隊列鏈表和所述緩存空間鏈表存儲在RAM中。
[0043]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0044]本發(fā)明實施例提供了一種報文轉(zhuǎn)發(fā)方法和裝置,通過從報文的緩存空間鏈表中獲取報文的頭指針,報文的頭指針中記錄有緩存報文其余部分的第二類緩存空間對應(yīng)指針,可以使緩存到RAM中的報文被轉(zhuǎn)發(fā)時,可以僅通過讀取報文的頭指針就可以獲取報文的頭指針對應(yīng)的第一類緩存空間和第一類緩存空間中記錄的多個指針對應(yīng)的指針?biāo)鶎?yīng)的分別緩存報文的
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
五大连池市| 赫章县| 阿图什市| 文化| 和政县| 阿克陶县| 柳州市| 景德镇市| 胶南市| 渭源县| 靖西县| 赤城县| 仙居县| 天水市| 苏尼特左旗| 广宁县| 年辖:市辖区| 贵德县| 南郑县| 册亨县| 绥宁县| 伊春市| 政和县| 乌兰县| 宁德市| 神木县| 晋中市| 兴山县| 九龙坡区| 寿宁县| 惠州市| 宁远县| 成武县| 罗平县| 祁连县| 黄浦区| 漳平市| 上饶县| 丰台区| 唐河县| 布尔津县|