本發(fā)明涉及計(jì)算機(jī)技術(shù),尤其涉及一種網(wǎng)絡(luò)包傳送方法、以太網(wǎng)控制器、高速緩存及系統(tǒng)。
背景技術(shù):
一般來說,數(shù)據(jù)在以太網(wǎng)中以網(wǎng)絡(luò)包的形式進(jìn)行傳輸,網(wǎng)絡(luò)包包括兩部分:網(wǎng)絡(luò)協(xié)議包頭和有效載荷。其中,網(wǎng)絡(luò)協(xié)議包頭中包含網(wǎng)絡(luò)各層次協(xié)議的相關(guān)信息,如來源、包大小、包類型等;有效載荷中存放需要被傳輸?shù)臄?shù)據(jù)。
當(dāng)以太網(wǎng)控制器向高速緩存(cache)發(fā)送網(wǎng)絡(luò)包時(shí),采用直接高速緩存訪問(Direct Cache Access,DCA)方法,先將網(wǎng)絡(luò)協(xié)議包頭發(fā)送至cache,再將有效載荷發(fā)送至cache,待有效載荷發(fā)送完畢后,以太網(wǎng)控制器改寫內(nèi)存中的描述符并向中央處理器(Central Processing Unit,CPU)發(fā)出中斷。然后,由CPU讀取并處理該網(wǎng)絡(luò)包。網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至cache、以及網(wǎng)絡(luò)協(xié)議包頭被CPU讀出的速度影響網(wǎng)絡(luò)協(xié)議棧的處理效率,進(jìn)而影響整體運(yùn)行性能。該過程中,從網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至cache,到CPU從cache中讀出該網(wǎng)絡(luò)協(xié)議包頭的時(shí)長,稱之為網(wǎng)絡(luò)協(xié)議包頭的重用距離,具體可參見圖1,圖1為現(xiàn)有技術(shù)中網(wǎng)絡(luò)協(xié)議包頭的重用距離的示意圖。由圖1可知,現(xiàn)有技術(shù)中網(wǎng)絡(luò)協(xié)議包頭的重用距離包括網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至cache中的時(shí)長、有效載荷被發(fā)送至cache中的時(shí)長以及以太網(wǎng)控制器改寫描述符和發(fā)出中斷的時(shí)長。
上述網(wǎng)絡(luò)包的發(fā)送過程中,網(wǎng)絡(luò)協(xié)議包頭在cache中是“先進(jìn)先出”的,即先被以太網(wǎng)控制器發(fā)送至cache中的網(wǎng)絡(luò)協(xié)議包頭,也先被CPU讀取,造成網(wǎng)絡(luò)協(xié)議包頭的重用距離較長,使得網(wǎng)絡(luò)協(xié)議包頭占用cache空間,從而將其他重要的數(shù)據(jù)替換出cache,當(dāng)CPU使用這些重要數(shù)據(jù)時(shí)需要重新從內(nèi)存中讀??;或者,使得網(wǎng)絡(luò)協(xié)議包頭被后續(xù)發(fā)送的有效載荷從cache中替換 出去,當(dāng)CPU需要使用該網(wǎng)絡(luò)協(xié)議包頭時(shí),得重新從內(nèi)存中讀取,帶來網(wǎng)絡(luò)包的無效傳輸,導(dǎo)致運(yùn)行效率降低、網(wǎng)絡(luò)傳輸性能差的問題。因此,如何縮短DCA方法中網(wǎng)絡(luò)協(xié)議包頭的重用距離以提高網(wǎng)絡(luò)包的傳輸效率及網(wǎng)絡(luò)傳輸性能,實(shí)為業(yè)界亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種網(wǎng)絡(luò)包傳送方法、以太網(wǎng)控制器、高速緩存及系統(tǒng),通過縮短DCA方法中網(wǎng)絡(luò)協(xié)議包頭的重用距離,達(dá)到提高運(yùn)行效率及網(wǎng)絡(luò)傳輸性能的目的。
第一個(gè)方面,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)包發(fā)送方法,包括:
以太網(wǎng)控制器存儲(chǔ)接收到的網(wǎng)絡(luò)協(xié)議包頭;
所述以太網(wǎng)控制器接收所述網(wǎng)絡(luò)協(xié)議包頭所屬的網(wǎng)絡(luò)包的有效載荷;
所述以太網(wǎng)控制器向高速緩存cache發(fā)送所述有效載荷;
當(dāng)所述有效載荷發(fā)送完畢時(shí),所述以太網(wǎng)控制器向所述cache發(fā)送所述網(wǎng)絡(luò)協(xié)議包頭。
在第一個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,該方法還包括:
當(dāng)所述網(wǎng)絡(luò)協(xié)議包頭發(fā)送完畢后,所述以太網(wǎng)控制器改寫內(nèi)存中的描述符并向中央處理器CPU發(fā)送中斷。
結(jié)合第一個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第一個(gè)方面的第二種可能的實(shí)現(xiàn)方式中,所述網(wǎng)絡(luò)協(xié)議包頭的重用距離包括:所述網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至所述cache中的時(shí)長和所述改寫所述描述符與發(fā)送所述中斷的時(shí)長。
第二個(gè)方面,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)包接收方法,包括:
高速緩存cache接收以太網(wǎng)控制器發(fā)送的有效載荷;
當(dāng)所述有效載荷接收完畢后,所述cache接收所述以太網(wǎng)控制器發(fā)送的網(wǎng)絡(luò)協(xié)議包頭,其中,所述網(wǎng)絡(luò)協(xié)議包頭為存儲(chǔ)在所述以太網(wǎng)控制器中的網(wǎng)絡(luò)協(xié)議包頭,所述網(wǎng)絡(luò)協(xié)議包頭為所述有效載荷所屬的網(wǎng)絡(luò)包的網(wǎng)絡(luò)協(xié)議包頭。
在第二個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,所述網(wǎng)絡(luò)協(xié)議包頭的重用距離包括:所述網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至所述cache中的時(shí)長和所述以太網(wǎng)控制器改寫描述符與發(fā)送中斷的時(shí)長。
第三個(gè)方面,本發(fā)明實(shí)施例提供一種以太網(wǎng)控制器,包括:
接收模塊,用于接收網(wǎng)絡(luò)協(xié)議包頭;
存儲(chǔ)模塊,用于存儲(chǔ)所述接收模塊接收到的所述網(wǎng)絡(luò)協(xié)議包頭;
所述接收模塊,還用于接收所述網(wǎng)絡(luò)協(xié)議包頭所屬的網(wǎng)絡(luò)包的有效載荷;
發(fā)送模塊,用于向高速緩存cache發(fā)送所述接收模塊接收的所述有效載荷;以及當(dāng)所述有效載荷發(fā)送完畢時(shí),向所述cache發(fā)送所述存儲(chǔ)模塊存儲(chǔ)的所述網(wǎng)絡(luò)協(xié)議包頭。
在第三個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,該以太網(wǎng)控制器還包括:
處理模塊,用于當(dāng)所述發(fā)送模塊將所述網(wǎng)絡(luò)協(xié)議包頭發(fā)送完畢后,改寫內(nèi)存中的描述符;
所述發(fā)送模塊,還用于向中央處理器CPU發(fā)送中斷。
第四個(gè)方面,本發(fā)明實(shí)施例還提供一種高速緩存cache,包括:接收模塊,用于接收以太網(wǎng)控制器發(fā)送的有效載荷,以及當(dāng)所述有效載荷接收完畢后,接收所述以太網(wǎng)控制器發(fā)送的網(wǎng)絡(luò)協(xié)議包頭,其中,所述網(wǎng)絡(luò)協(xié)議包頭為存儲(chǔ)在所述以太網(wǎng)控制器中的網(wǎng)絡(luò)協(xié)議包頭,所述網(wǎng)絡(luò)協(xié)議包頭為所述有效載荷所屬的網(wǎng)絡(luò)包的網(wǎng)絡(luò)協(xié)議包頭。
在第四個(gè)方面的第一種可能的實(shí)現(xiàn)方式中,所述網(wǎng)絡(luò)協(xié)議包頭的重用距離包括:所述網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至所述cache中的時(shí)長、所述以太網(wǎng)控制器改寫描述符與發(fā)送中斷的時(shí)長。
第五個(gè)方面,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)包發(fā)送及接收系統(tǒng),包括如上第三個(gè)方或第三個(gè)方面的第一種可能的實(shí)現(xiàn)方式實(shí)現(xiàn)的以太網(wǎng)控制器,以及如上第四個(gè)方面或第四個(gè)方面的第一種可能的實(shí)現(xiàn)方式實(shí)現(xiàn)的高速緩存。
本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)包傳送方法、以太網(wǎng)控制器、高速緩存及系統(tǒng),在通過DCA方法發(fā)送網(wǎng)絡(luò)包時(shí),以太網(wǎng)控制器接收網(wǎng)絡(luò)協(xié)議包頭并存儲(chǔ),然后接收有效載荷并將其發(fā)送至cache,待有效載荷發(fā)送完畢后,取出網(wǎng)絡(luò)協(xié)議包頭并發(fā)送。該過程中,網(wǎng)絡(luò)協(xié)議包頭是在有效載荷發(fā)送完畢之后發(fā)送的,使得網(wǎng)絡(luò)協(xié)議包頭的重用距離不包括有效載荷被發(fā)送至cache中的時(shí)長,從而在一定程度上縮短了網(wǎng)絡(luò)協(xié)議包頭的重用距離,達(dá)到提高運(yùn)行效率及網(wǎng)絡(luò)傳輸性能的目的。
附圖說明
圖1為現(xiàn)有技術(shù)中網(wǎng)絡(luò)協(xié)議包頭的重用距離的示意圖;
圖2為本發(fā)明網(wǎng)絡(luò)包發(fā)送方法實(shí)施例一的流程圖;
圖3為本發(fā)明網(wǎng)絡(luò)包發(fā)送方法中重用距離的示意圖;
圖4為本發(fā)明網(wǎng)絡(luò)包接收方法實(shí)施例一的流程圖;
圖5為本發(fā)明以太網(wǎng)控制器實(shí)施例一的結(jié)構(gòu)示意圖;
圖6為本發(fā)明以太網(wǎng)控制器實(shí)施例二的結(jié)構(gòu)示意圖;
圖7為本發(fā)明cache實(shí)施例一的結(jié)構(gòu)示意圖。
具體實(shí)施方式
現(xiàn)代CPU中往往包含一級(jí)或多級(jí)cache,cache保存內(nèi)存數(shù)據(jù)的備份,其具有訪問速度快的優(yōu)勢。DCA方法正是利用cache訪問速度快的特點(diǎn),將以太網(wǎng)控制器發(fā)送的網(wǎng)絡(luò)包直接送入cache,然后由CPU進(jìn)行讀取并處理,從而減少訪問內(nèi)存的次數(shù)。若以太網(wǎng)協(xié)議包頭的重用距離過長,使得網(wǎng)絡(luò)協(xié)議包頭占用cache空間,從而將其他重要的數(shù)據(jù)替換出cache,當(dāng)CPU使用這些重要數(shù)據(jù)時(shí)需要重新從內(nèi)存中讀取;或者,使得網(wǎng)絡(luò)協(xié)議包頭被后續(xù)發(fā)送的有效載荷從cache中替換出去,當(dāng)CPU需要使用該網(wǎng)絡(luò)協(xié)議包頭時(shí),得重新從內(nèi)存中讀取,帶來網(wǎng)絡(luò)包的無效傳輸,導(dǎo)致運(yùn)行效率降低、網(wǎng)絡(luò)傳輸性能差的問題。也就是說,DCA方法中以太網(wǎng)協(xié)議包頭的重用距離關(guān)系到DCA方法的效果。
有鑒于此,本發(fā)明提供一種網(wǎng)絡(luò)包傳送方法、以太網(wǎng)控制器、高速緩存及系統(tǒng),通過縮短DCA方法中網(wǎng)絡(luò)協(xié)議包頭的重用距離,達(dá)到提高運(yùn)行效率及網(wǎng)絡(luò)傳輸性能的目的。
圖2為本發(fā)明網(wǎng)絡(luò)包發(fā)送方法實(shí)施例一的流程圖,本實(shí)施例的執(zhí)行主體為以太網(wǎng)控制器,適用于DCA方法中需要縮短網(wǎng)絡(luò)協(xié)議包頭的重用距離的場景。具體的,本實(shí)施例包括如下步驟:
101、以太網(wǎng)控制器存儲(chǔ)接收到的網(wǎng)絡(luò)協(xié)議包頭。
本發(fā)明實(shí)施例中,以太網(wǎng)控制器也稱以太網(wǎng)適配器,即俗稱的“網(wǎng)卡”,其具有與外界通信的網(wǎng)絡(luò)端口,通過該網(wǎng)絡(luò)端口接收網(wǎng)絡(luò)包;網(wǎng)絡(luò)包包括兩部分:網(wǎng)絡(luò)協(xié)議包頭和有效載荷。其中,網(wǎng)絡(luò)協(xié)議包頭中包含網(wǎng)絡(luò)各層次協(xié) 議的相關(guān)信息,如來源、包大小,包類型等;有效載荷中存放需要被傳輸?shù)臄?shù)據(jù)。
本步驟中,當(dāng)有網(wǎng)絡(luò)包傳輸至以太網(wǎng)控制器時(shí),以太網(wǎng)控制器從網(wǎng)絡(luò)端口接收網(wǎng)絡(luò)包的網(wǎng)絡(luò)協(xié)議包頭。在接收到網(wǎng)絡(luò)協(xié)議包頭后,以太網(wǎng)控制器將該網(wǎng)絡(luò)協(xié)議包頭存儲(chǔ)起來。例如,可預(yù)先給以太網(wǎng)控制器設(shè)置緩存,從而將接收到的以太網(wǎng)協(xié)議包頭暫存在緩存中。其中,該緩存可以是任何具有暫存功能的硬件模塊或虛擬模塊。
102、所述以太網(wǎng)控制器接收所述網(wǎng)絡(luò)協(xié)議包頭所屬的網(wǎng)絡(luò)包的有效載荷。
本步驟中,當(dāng)網(wǎng)絡(luò)協(xié)議包頭接收并存儲(chǔ)完畢后,以太網(wǎng)控制器繼續(xù)從網(wǎng)絡(luò)端口接收該網(wǎng)絡(luò)協(xié)議包頭所屬的網(wǎng)絡(luò)包的有效載荷。
103、所述以太網(wǎng)控制器向高速緩存cache發(fā)送所述有效載荷。
本步驟中,以太網(wǎng)控制器將通過網(wǎng)絡(luò)端口接收到的有效載荷向cache發(fā)送。
104、當(dāng)所述有效載荷發(fā)送完畢時(shí),所述以太網(wǎng)控制器向所述cache發(fā)送所述網(wǎng)絡(luò)協(xié)議包頭。
本步驟中,當(dāng)以太網(wǎng)控制器將網(wǎng)絡(luò)協(xié)議包頭所屬的網(wǎng)絡(luò)包的所有有效載荷都發(fā)送至cache后,從緩存中取出該網(wǎng)絡(luò)協(xié)議包頭,并將該網(wǎng)絡(luò)協(xié)議包頭發(fā)送至cache。
由于網(wǎng)絡(luò)協(xié)議包頭的重用距離是指網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至cache,到CPU從cache中讀出該網(wǎng)絡(luò)協(xié)議包頭的時(shí)長?,F(xiàn)有技術(shù)中,通過DCA方法發(fā)送網(wǎng)絡(luò)包時(shí),先發(fā)送網(wǎng)絡(luò)協(xié)議包頭,再發(fā)送有效載荷,從而使得網(wǎng)絡(luò)協(xié)議包頭的重用距離包括有效載荷被發(fā)送至cache中的時(shí)長。而本實(shí)施例中,通過DCA方法發(fā)送網(wǎng)絡(luò)包時(shí),網(wǎng)絡(luò)協(xié)議包頭是在有效載荷發(fā)送完畢之后發(fā)送的。因此,相較于現(xiàn)有技術(shù),本發(fā)明實(shí)施例中網(wǎng)絡(luò)協(xié)議包頭的重用距離不包括有效載荷被發(fā)送至cache中的時(shí)長。
本發(fā)明實(shí)施例提供的絡(luò)包發(fā)送方法,在通過DCA方法發(fā)送網(wǎng)絡(luò)包時(shí),以太網(wǎng)控制器接收網(wǎng)絡(luò)協(xié)議包頭并存儲(chǔ),然后接收有效載荷并將其發(fā)送至cache,待有效載荷發(fā)送完畢后,取出網(wǎng)絡(luò)協(xié)議包頭并發(fā)送。該過程中,網(wǎng)絡(luò)協(xié)議包頭是在有效載荷發(fā)送完畢之后發(fā)送的,使得網(wǎng)絡(luò)協(xié)議包頭的重用距離 不包括有效載荷被發(fā)送至cache中的時(shí)長,從而在一定程度上縮短了網(wǎng)絡(luò)協(xié)議包頭的重用距離,達(dá)到提高運(yùn)行效率及網(wǎng)絡(luò)傳輸性能的目的。
可選的,在本發(fā)明一實(shí)施例中,當(dāng)所述網(wǎng)絡(luò)協(xié)議包頭發(fā)送完畢后,所述以太網(wǎng)控制器改寫內(nèi)存中的描述符并向CPU發(fā)送中斷。具體的,可參見圖3,圖3為本發(fā)明網(wǎng)絡(luò)包發(fā)送方法中重用距離的示意圖。
請參照圖3,從時(shí)間軸上來看,隨著時(shí)間的增長,以太網(wǎng)控制器先向cache發(fā)送有效載荷,再發(fā)送網(wǎng)絡(luò)協(xié)議包頭,然后網(wǎng)絡(luò)控制器改寫描述符并發(fā)送中斷,最后,CPU讀取網(wǎng)絡(luò)協(xié)議包頭并處理。如此一來,根據(jù)重用距離的概念,本實(shí)施例中,重用距離不包括有效載荷被發(fā)送至cache中的時(shí)長,而是僅僅包括絡(luò)協(xié)議包頭被發(fā)送至cache中的時(shí)長、以及以太網(wǎng)控制器改寫內(nèi)存描述符與向CPU發(fā)送中斷的時(shí)長。
圖4為本發(fā)明網(wǎng)絡(luò)包接收方法實(shí)施例一的流程圖,本實(shí)施例的執(zhí)行主體為cache,適用于DCA方法中需要縮短網(wǎng)絡(luò)協(xié)議包頭的重用距離的場景。具體的,本實(shí)施例包括如下步驟:
201、高速緩存cache接收以太網(wǎng)控制器發(fā)送的有效載荷;
202、當(dāng)所述有效載荷接收完畢后,所述cache接收所述以太網(wǎng)控制器發(fā)送的網(wǎng)絡(luò)協(xié)議包頭,所述網(wǎng)絡(luò)協(xié)議包頭為存儲(chǔ)在所述以太網(wǎng)控制器中的網(wǎng)絡(luò)協(xié)議包頭,所述網(wǎng)絡(luò)協(xié)議包頭為所述有效載荷所屬的網(wǎng)絡(luò)包的網(wǎng)絡(luò)協(xié)議包頭。
具體的,本發(fā)明實(shí)施例中關(guān)于以太網(wǎng)控制器、網(wǎng)絡(luò)包、網(wǎng)絡(luò)協(xié)議包頭、有效載荷、重用距離等的描述,可參見上述圖2所示實(shí)施例,此處不再贅述。
本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)包接收方法,cache在接收以太網(wǎng)控制器通過DCA方法發(fā)送的網(wǎng)絡(luò)包時(shí),先接收以太網(wǎng)控制器發(fā)送的有效載荷,待有效載荷接收完畢后,再接收以太網(wǎng)控制器存儲(chǔ)并發(fā)送的網(wǎng)絡(luò)協(xié)議包頭。該過程,網(wǎng)絡(luò)協(xié)議包頭是在有效載荷接收完畢之后接收的,使得網(wǎng)絡(luò)協(xié)議包頭的重用距離不包括有效載荷被發(fā)送至cache中的時(shí)長,從而在一定程度上縮短了網(wǎng)絡(luò)協(xié)議包頭的重用距離,達(dá)到提高運(yùn)行效率及網(wǎng)絡(luò)傳輸性能的目的。
可選的,在本發(fā)明一實(shí)施例中,所述網(wǎng)絡(luò)協(xié)議包頭的重用距離包括:所述網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至所述cache中的時(shí)長、所述以太網(wǎng)控制器改寫描述符與發(fā)送中斷的時(shí)長。
圖5為本發(fā)明以太網(wǎng)控制器實(shí)施例一的結(jié)構(gòu)示意圖,本實(shí)施例提供的以 太網(wǎng)控制器,其可實(shí)現(xiàn)本發(fā)明任意實(shí)施例提供的應(yīng)用于以太網(wǎng)控制器的方法的各個(gè)步驟。具體的,本實(shí)施例提供的以太網(wǎng)控制器100包括:
接收模塊11,用于接收網(wǎng)絡(luò)協(xié)議包頭;
存儲(chǔ)模塊12,用于存儲(chǔ)所述接收模塊11接收到的所述網(wǎng)絡(luò)協(xié)議包頭;
所述接收模塊11,還用于接收所述網(wǎng)絡(luò)協(xié)議包頭所屬的網(wǎng)絡(luò)包的有效載荷;
發(fā)送模塊13,用于向高速緩存cache發(fā)送所述接收模塊11接收的所述有效載荷;以及當(dāng)所述有效載荷發(fā)送完畢時(shí),向所述cache發(fā)送所述存儲(chǔ)模塊12存儲(chǔ)的所述網(wǎng)絡(luò)協(xié)議包頭。
本發(fā)明實(shí)施例提供的以太網(wǎng)控制器,在通過DCA方法發(fā)送網(wǎng)絡(luò)包時(shí),接收網(wǎng)絡(luò)協(xié)議包頭并存儲(chǔ),然后接收有效載荷并將其發(fā)送至cache,待有效載荷發(fā)送完畢后,取出網(wǎng)絡(luò)協(xié)議包頭并發(fā)送。該過程中,網(wǎng)絡(luò)協(xié)議包頭是在有效載荷發(fā)送完畢之后發(fā)送的,使得網(wǎng)絡(luò)協(xié)議包頭的重用距離不包括有效載荷被發(fā)送至cache中的時(shí)長,從而在一定程度上縮短了網(wǎng)絡(luò)協(xié)議包頭的重用距離,達(dá)到提高運(yùn)行效率及網(wǎng)絡(luò)傳輸性能的目的。
圖6為本發(fā)明以太網(wǎng)控制器實(shí)施例二的結(jié)構(gòu)示意圖。如圖6所示,本實(shí)施例的以太網(wǎng)控制器100在圖5裝置結(jié)構(gòu)的基礎(chǔ)上,還包括:
處理模塊14,用于當(dāng)所述發(fā)送模塊13將所述網(wǎng)絡(luò)協(xié)議包頭發(fā)送完畢后,改寫內(nèi)存中的描述符;
所述發(fā)送模塊13,還用于向中央處理器CPU發(fā)送中斷。
圖7為本發(fā)明cache實(shí)施例一的結(jié)構(gòu)示意圖,本實(shí)施例提供的cache,其可實(shí)現(xiàn)本發(fā)明任意實(shí)施例提供的應(yīng)用于以cache的方法的各個(gè)步驟。具體的,本實(shí)施例提供的cache200包括:
接收模塊21,用于接收以太網(wǎng)控制器發(fā)送的有效載荷,以及當(dāng)所述有效載荷接收完畢后,接收所述以太網(wǎng)控制器發(fā)送的網(wǎng)絡(luò)協(xié)議包頭,其中,所述網(wǎng)絡(luò)協(xié)議包頭為存儲(chǔ)在所述以太網(wǎng)控制器中的網(wǎng)絡(luò)協(xié)議包頭,所述網(wǎng)絡(luò)協(xié)議包頭為所述有效載荷所屬的網(wǎng)絡(luò)包的網(wǎng)絡(luò)協(xié)議包頭。
本發(fā)明實(shí)施例提供的cache,在接收以太網(wǎng)控制器通過DCA方法發(fā)送的網(wǎng)絡(luò)包時(shí),先接收以太網(wǎng)控制器發(fā)送的有效載荷,待有效載荷接收完畢后,再接收以太網(wǎng)控制器存儲(chǔ)并發(fā)送的網(wǎng)絡(luò)協(xié)議包頭。該過程,網(wǎng)絡(luò)協(xié)議包頭是 在有效載荷接收完畢之后接收的,使得網(wǎng)絡(luò)協(xié)議包頭的重用距離不包括有效載荷被發(fā)送至cache中的時(shí)長,從而在一定程度上縮短了網(wǎng)絡(luò)協(xié)議包頭的重用距離,達(dá)到提高運(yùn)行效率及網(wǎng)絡(luò)傳輸性能的目的。
可選的,在本發(fā)明一實(shí)施例中,所述網(wǎng)絡(luò)協(xié)議包頭的重用距離包括:所述網(wǎng)絡(luò)協(xié)議包頭被發(fā)送至所述cache中的時(shí)長和所述以太網(wǎng)控制器改寫描述符與發(fā)送中斷的時(shí)長。
另外,在上述網(wǎng)絡(luò)包發(fā)送方法、網(wǎng)絡(luò)包接收方法、以太網(wǎng)控制器及高速緩存的基礎(chǔ)上,本發(fā)明實(shí)施例還提供一種網(wǎng)絡(luò)包發(fā)送及接收系統(tǒng),包括如上實(shí)施例提供的以太網(wǎng)控制器及高速緩存,具體工作原理可參見上述各實(shí)施例,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。