專利名稱:網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法。
背景技術(shù):
隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)分組網(wǎng)絡(luò)技術(shù)逐步成熟,為實(shí)現(xiàn)傳統(tǒng)電路交換網(wǎng)絡(luò)與IP分組網(wǎng)絡(luò)的互通,需要在IP網(wǎng)絡(luò)上傳輸No.7信令等電路交換信令協(xié)議。目前的SIGTRAN(Signaling Transport,信令傳輸)協(xié)議集即可滿足在IP網(wǎng)絡(luò)上傳輸傳統(tǒng)電路交換信令協(xié)議的需求,SIGTRAN協(xié)議棧的結(jié)構(gòu)如圖1所示,由三部分組成;其中,SCTP(Stream Control Transmission Protocol,流控傳輸協(xié)議)為用于IP網(wǎng)絡(luò)的通用信令傳輸協(xié)議,用來保證信令消息的可靠、有序傳輸;信令適配子層是對所承載的特定高層窄帶信令進(jìn)行適配的層次,用于向上提供了原有窄帶信令的特定接口使得高層窄帶信令可以保持不變透明地傳輸在信令傳輸協(xié)議棧上;IP是TCP/IP(傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)集內(nèi)的標(biāo)準(zhǔn)IP協(xié)議。
SCTP能夠提供面向連接的可靠數(shù)據(jù)包傳輸,無須上層實(shí)現(xiàn)數(shù)據(jù)定界功能,并有實(shí)時(shí)性好、安全性高、避免了行頭阻塞、支持多地址等諸多優(yōu)點(diǎn),相對于TCP就更適合實(shí)時(shí)、安全、可靠性要求高的信令傳輸。
在現(xiàn)有的網(wǎng)絡(luò)通信應(yīng)用中,為減少數(shù)據(jù)收發(fā)過程導(dǎo)致內(nèi)存頻繁分配與釋放造成的碎片,基于SCTP的數(shù)據(jù)發(fā)送/接收緩沖區(qū)一般采用靜態(tài)分配的方式進(jìn)行管理。然而,靜態(tài)分配的發(fā)送/接收緩沖區(qū)在使用過程中存在以下問題在發(fā)送端,交給SCTP層傳輸?shù)纳蠈訑?shù)據(jù)是不定長的,SCTP需要將該數(shù)據(jù)保存到大小固定的SCTP發(fā)送緩沖區(qū)內(nèi),若緩沖區(qū)太大,用戶數(shù)據(jù)長度較小時(shí)浪費(fèi)內(nèi)存;若緩沖區(qū)太小,用戶數(shù)據(jù)長度較大時(shí),則數(shù)據(jù)分片太多,降低數(shù)據(jù)收發(fā)處理速度;在接收端,SCTP接收數(shù)據(jù)包長度也是不確定的,SCTP同樣需要將接收數(shù)據(jù)包保存到大小固定的SCTP接收緩沖區(qū)內(nèi),當(dāng)數(shù)據(jù)包長度很小時(shí),內(nèi)存浪費(fèi)嚴(yán)重,當(dāng)數(shù)據(jù)長度較大時(shí),則數(shù)據(jù)分片太多。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,以提高數(shù)據(jù)發(fā)送/接收緩沖區(qū)使用過程中的利用率,并有效地提高數(shù)據(jù)收發(fā)處理速度。
本發(fā)明的目的是這樣實(shí)現(xiàn)的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,包括a、將數(shù)據(jù)發(fā)送/接收緩沖區(qū)劃分成不同大小的子緩沖區(qū);b、對于需要進(jìn)行緩存的數(shù)據(jù),根據(jù)數(shù)據(jù)包的大小確定與其相匹配的子緩沖區(qū),進(jìn)行數(shù)據(jù)的緩存。
所述的步驟a為
將數(shù)據(jù)發(fā)送緩沖區(qū)劃分為D1、D2......Dn-1、Dn種類型子緩沖區(qū),且按其大小依次為D1>D2>......>Dn-1>Dn;將數(shù)據(jù)接收緩沖區(qū)劃分為D1、D2......Dm-1、Dm種類型子緩沖區(qū),且按其大小依次為D1>D2>......>Dm-1>Dm。
當(dāng)需要緩存的數(shù)據(jù)包為待發(fā)送的數(shù)據(jù)包時(shí),所述的步驟b為確定待發(fā)送數(shù)據(jù)包長度,并選擇Dx子緩沖區(qū)緩存該數(shù)據(jù)包,且滿足Dx子緩沖區(qū)大?。驹摂?shù)據(jù)包長度>Dx-1子緩沖區(qū)的大小,1≤x≤n。
該方法還包括所述的Dx子緩沖區(qū)不足以緩存待發(fā)送的數(shù)據(jù)包時(shí),則依次使用Dx+1、Dx+2......Dn子緩沖區(qū);所有的子緩沖區(qū)均不足以緩存待發(fā)送的數(shù)據(jù)包時(shí),則可以將數(shù)據(jù)包分片后進(jìn)行緩存,并由接收端將分片后的數(shù)據(jù)進(jìn)行還原。
用于緩存發(fā)送數(shù)據(jù)包的子緩沖區(qū)的大小應(yīng)小于傳輸路徑MTU(最大傳輸單元)。
當(dāng)需要緩存的數(shù)據(jù)包為待接收的數(shù)據(jù)包時(shí),所述的步驟b為確定待接收數(shù)據(jù)包長度,并選擇Dy子緩沖區(qū)緩存該數(shù)據(jù)包,且滿足Dy子緩沖區(qū)大小>該數(shù)據(jù)包長度>Dy-1子緩沖區(qū)的大小,1≤y≤m。
所述的Dy子緩沖區(qū)不足以緩存待接收的數(shù)據(jù)包時(shí),則依次使用Dy+1、Dy+2......Dm子緩沖區(qū)。
當(dāng)數(shù)據(jù)包到達(dá)但沒有適用的緩沖區(qū)時(shí),丟棄傳輸序列號(hào)最大的數(shù)據(jù)包;同時(shí),對于接收的長度超出IP包長度1500字節(jié)的數(shù)據(jù)包,做丟棄處理。
丟棄的數(shù)據(jù)包如果已經(jīng)被證實(shí),還需要發(fā)送否定證實(shí)消息。
所述的數(shù)據(jù)發(fā)送/接收緩沖區(qū)為基于SCTP(流控傳輸協(xié)議)的發(fā)送/接收緩沖區(qū),且將數(shù)據(jù)發(fā)送緩沖區(qū)劃分為大、中、小三種類型子緩沖區(qū),將數(shù)據(jù)接收緩沖區(qū)劃分為超長、大、中、小四種類型子緩沖區(qū)。
由上述技術(shù)方案可以看出,本發(fā)明將基于SCTP的數(shù)據(jù)發(fā)送/接收緩沖區(qū)按大小分為不同類型,并根據(jù)傳輸數(shù)據(jù)長度和路徑MTU大小進(jìn)行統(tǒng)一分配管理,從而提高基于SCTP的數(shù)據(jù)發(fā)送/接收緩沖區(qū)使用過程中的利用率,同時(shí),可有效地提高數(shù)據(jù)收發(fā)處理速度。
圖1為信令傳輸協(xié)議協(xié)議棧結(jié)構(gòu)示意圖;圖2為發(fā)送數(shù)據(jù)包時(shí)緩沖區(qū)分配流程圖;圖3為接收數(shù)據(jù)包時(shí)緩沖區(qū)分配流程圖。
具體實(shí)施例方式
本發(fā)明的核心思想是將SCTP緩沖區(qū)按大小分成不同類型的子緩沖區(qū),并根據(jù)數(shù)據(jù)包的大小確定與其相匹配的子緩沖區(qū)進(jìn)行數(shù)據(jù)包的緩存。
實(shí)施本發(fā)明,首先需要將數(shù)據(jù)發(fā)送緩沖區(qū)劃分為D1、D2......Dn-1、Dn種類型子緩沖區(qū),且按其大小依次為D1>D2>......>Dn-1>Dn,n為大于或等于1的整數(shù);將數(shù)據(jù)接收緩沖區(qū)劃分為D1、D2......Dm-1、Dm種類型子緩沖區(qū),且按其大小依次為D1>D2>......>Dm-1>Dm,m為大于或等于1的整數(shù)。
當(dāng)需要緩存的數(shù)據(jù)包為待發(fā)送的數(shù)據(jù)包時(shí),需要確定待發(fā)送數(shù)據(jù)包長度,并選擇Dx子緩沖區(qū)緩存該數(shù)據(jù)包,且滿足Dx子緩沖區(qū)大小>該數(shù)據(jù)包長度>Dx-1子緩沖區(qū)的大小,1≤x≤n;當(dāng)所述的Dx子緩沖區(qū)不足以緩存待發(fā)送的數(shù)據(jù)包時(shí),則依次使用Dx+1、Dx+2......Dn子緩沖區(qū);所有的子緩沖區(qū)均不足以緩存待發(fā)送的數(shù)據(jù)包時(shí),則可以將數(shù)據(jù)包分片后進(jìn)行緩存,并由接收端將分片后的數(shù)據(jù)進(jìn)行還原;當(dāng)需要緩存的數(shù)據(jù)包為待接收的數(shù)據(jù)包時(shí),需要確定待接收數(shù)據(jù)包長度,并選擇Dy子緩沖區(qū)緩存該數(shù)據(jù)包,且滿足Dy子緩沖區(qū)大?。驹摂?shù)據(jù)包長度>Dy-1子緩沖區(qū)的大小,1≤y≤m;當(dāng)所述的Dy子緩沖區(qū)不足以緩存待接收的數(shù)據(jù)包時(shí),則依次使用Dy+1、Dy+2......Dm子緩沖區(qū)。
例如,對于SCTP數(shù)據(jù)發(fā)送/接收緩沖區(qū)可以分為大、中、小三種類型的子緩沖區(qū);且SCTP接收緩沖區(qū)還可以分配有超長類型的子緩沖區(qū),以方便接收數(shù)據(jù)包的緩存;以最大數(shù)據(jù)包長度為1500字節(jié)的以太網(wǎng)為例,可以將SCTP發(fā)送緩沖區(qū)分為100字節(jié)、200字節(jié)和500字節(jié)三種類型的子緩沖區(qū),且大子緩沖區(qū)大小就小于路徑MTU值,即小于500字節(jié);將SCTP接收緩沖區(qū)分為100字節(jié)、200字節(jié)、500字節(jié)和1500字節(jié)四種類型的子緩沖區(qū),其中1500字節(jié)的子緩沖區(qū)為2-3個(gè)即可,該子緩沖區(qū)的設(shè)置是考慮到可能需要接收少量500字節(jié)<接收數(shù)據(jù)長度≤1500字節(jié)的數(shù)據(jù);各子緩沖區(qū)大小和數(shù)目可根據(jù)網(wǎng)絡(luò)通信系統(tǒng)需要確定。
將發(fā)送/接收緩沖區(qū)劃分成若干個(gè)子緩沖區(qū)后,便可以根據(jù)發(fā)送/接收數(shù)據(jù)包長度,及發(fā)送數(shù)據(jù)包傳輸路徑MTU大小來分配使用各個(gè)子緩沖區(qū),該過程進(jìn)一步包括
發(fā)送數(shù)據(jù)包時(shí),根據(jù)發(fā)送數(shù)據(jù)包長度和路徑MTU大小分配相應(yīng)的子緩沖區(qū),具體分配方案如圖2所示,包括步驟1確定待發(fā)送數(shù)據(jù)包的長度;步驟2判斷待發(fā)送數(shù)據(jù)包的長度,是否小于或等于小子緩沖區(qū)的大小,如果是,則執(zhí)行步驟3,否則,執(zhí)行步驟4;步驟3優(yōu)先使用小子緩沖區(qū),如果小子緩沖區(qū)不足以緩存數(shù)據(jù)待發(fā)送的包時(shí),則可依次使用中子緩沖區(qū)和大子緩沖區(qū);即當(dāng)發(fā)送數(shù)據(jù)包長度≤100字節(jié)時(shí),使用100字節(jié)的發(fā)送子緩沖區(qū)保存發(fā)送數(shù)據(jù)包;若100字節(jié)的發(fā)送子緩沖區(qū)無法滿足使用,則可使用200字節(jié)的發(fā)送子緩沖區(qū)來替代;若200字節(jié)的發(fā)送子緩沖區(qū)不夠,則可使用500字節(jié)的發(fā)送子緩沖區(qū)來替代;若SCTP三種發(fā)送子緩沖區(qū)都不夠使用了,分配發(fā)送子緩沖區(qū)失?。徊襟E4判斷待發(fā)送數(shù)據(jù)包的長度是否小于或等于中子緩沖區(qū)大小,如果是,則執(zhí)行步驟5,否則,執(zhí)行步驟6;步驟5優(yōu)先使用中子緩沖區(qū),如果中子緩沖區(qū)不足以緩存數(shù)據(jù)待發(fā)送的包時(shí),則可使用大子緩沖區(qū);如果大子緩沖區(qū)還不足以緩存數(shù)據(jù)待發(fā)送的包時(shí),則使用SCTP的分片功能將待發(fā)送數(shù)據(jù)包分片,然后使用小子緩沖區(qū)緩存數(shù)據(jù);即當(dāng)100字節(jié)<發(fā)送數(shù)據(jù)包長度≤200字節(jié),且路徑MTU≥200字節(jié)時(shí),則使用200字節(jié)的發(fā)送子緩沖區(qū)保存發(fā)送數(shù)據(jù)包;若200字節(jié)的發(fā)送子緩沖區(qū)無法滿足使用,則可使用500字節(jié)的發(fā)送子緩沖區(qū)來替代;若500字節(jié)的發(fā)送子緩沖區(qū)不夠,則將數(shù)據(jù)包分片,并使用100字節(jié)的發(fā)送子緩沖區(qū)來替代;若SCTP三種發(fā)送子緩沖區(qū)都不夠使用了,分配發(fā)送子緩沖區(qū)失??;步驟6優(yōu)先使用大子緩沖區(qū),如果大子緩沖區(qū)不足以緩存數(shù)據(jù)待發(fā)送的包時(shí),則使用SCTP的分片功能將待發(fā)送數(shù)據(jù)包分片,然后使用中、小子緩沖區(qū);即當(dāng)發(fā)送數(shù)據(jù)包長度>200字節(jié),且路徑MTU≥500字節(jié)時(shí),使用500字節(jié)的發(fā)送子緩沖區(qū)保存發(fā)送數(shù)據(jù)包;若500字節(jié)的發(fā)送子緩沖區(qū)無法滿足使用,則將數(shù)據(jù)包分片,并使用200字節(jié)和100字節(jié)的發(fā)送子緩沖區(qū)來替代;若SCTP三種發(fā)送子緩沖區(qū)都不夠使用了,分配發(fā)送子緩沖區(qū)失敗。
另外,對于長度較大的發(fā)送數(shù)據(jù)包,則需要使用SCTP的分片功能將其分片;例如,發(fā)送數(shù)據(jù)長度為1500字節(jié),則需要將數(shù)據(jù)包拆分為3個(gè)500字節(jié)數(shù)據(jù)包;若500字節(jié)子緩沖區(qū)已經(jīng)分配完,也可拆為7個(gè)200字節(jié)和1個(gè)100字節(jié)的數(shù)據(jù)包;對端收到SCTP消息分片,可利用SCTP組包功能將接收到的分片數(shù)據(jù)包還原。
接收數(shù)據(jù)包時(shí),根據(jù)數(shù)據(jù)包長度確定相應(yīng)的子緩沖區(qū),具體分配方案如圖3所示,包括步驟11確定接收的數(shù)據(jù)包長度;步驟12判斷接收的數(shù)據(jù)包長度是否小于或等于小子緩沖區(qū)大小,如果是,則執(zhí)行步驟13,否則,執(zhí)行步驟14
步驟13優(yōu)先使用小子緩沖區(qū),如果小子緩沖區(qū)無法滿足使用,則可依次使用中、大子緩沖區(qū);即當(dāng)接收數(shù)據(jù)包長度≤100字節(jié)時(shí),使用100字節(jié)的接收子緩沖區(qū)保存該接收數(shù)據(jù);步驟14判斷接收的數(shù)據(jù)包長度是否小于或等于中子緩沖區(qū)大小,如果是,則執(zhí)行步驟15,否則,執(zhí)行步驟16;步驟15優(yōu)先使用中子緩沖區(qū),如果中子緩沖區(qū)無法滿足使用,則可使用大子緩沖區(qū);即當(dāng)100字節(jié)<接收數(shù)據(jù)長度≤200字節(jié)時(shí),使用200字節(jié)的接收子緩沖區(qū)保存該接收數(shù)據(jù);步驟16判斷接收的數(shù)據(jù)包長度是否小于或等于大子緩沖區(qū)大小,如果是,則執(zhí)行步驟17,否則,執(zhí)行步驟18;步驟17優(yōu)先使用大子緩沖區(qū);即當(dāng)200字節(jié)<接收數(shù)據(jù)長度≤500字節(jié)時(shí),使用500字節(jié)的接收子緩沖區(qū)保存該接收數(shù)據(jù);步驟18判斷接收的數(shù)據(jù)包長度是否小于或等于超長子緩沖區(qū)大小,如果是,則執(zhí)行步驟19,否則,執(zhí)行步驟21;步驟19判斷所有超長子緩沖區(qū)是否可以滿足緩存接收數(shù)據(jù)使用,如果可以,則執(zhí)行步驟20,否則,執(zhí)行步驟22;步驟20使用超長子緩沖區(qū)進(jìn)行數(shù)據(jù)緩存;
即當(dāng)500字節(jié)<接收數(shù)據(jù)長度≤1500字節(jié)的數(shù)據(jù)時(shí),使用1500字節(jié)的接收緩沖區(qū)保存該接收數(shù)據(jù);步驟21丟棄該數(shù)據(jù)包,即對于長度超過1500字節(jié)的接收數(shù)據(jù),作丟棄處理;步驟22丟棄TSN(傳輸序列號(hào))最大的數(shù)據(jù)包,即當(dāng)數(shù)據(jù)包到達(dá)但沒有適用的緩沖區(qū)來緩存該數(shù)據(jù)包時(shí),將數(shù)據(jù)包作丟棄處理。
而且,因?yàn)镾CTP允許分片地證實(shí),接收到的數(shù)據(jù)包的傳輸序列號(hào)不一定是最大的TSN,為了盡量減少分片證實(shí)的個(gè)數(shù),而丟棄傳輸序列號(hào)最大的數(shù)據(jù)包。
如果丟棄的數(shù)據(jù)包已經(jīng)被證實(shí),還需要發(fā)送否定證實(shí)消息。SCTP有專用于證實(shí)的消息,與TCP(傳輸控制協(xié)議)一樣叫SACK,該消息是數(shù)據(jù)接收方向發(fā)送方通知其接收了的數(shù)據(jù),SCTP的每個(gè)數(shù)據(jù)塊都有一個(gè)TSN,SACK就是通過該序列號(hào)向發(fā)送方發(fā)送確認(rèn)信息的。否定證實(shí)是在下面的情況出現(xiàn)的當(dāng)對方發(fā)送來的數(shù)據(jù)已正確接收且已經(jīng)向?qū)Χ税l(fā)送過SACK證實(shí),當(dāng)出現(xiàn)接收緩沖區(qū)滿的情況下又有數(shù)據(jù)到達(dá)時(shí)必須要丟棄該數(shù)據(jù),丟棄后必須重新向?qū)Χ税l(fā)送SACK,表明該數(shù)據(jù)塊需重發(fā)。
權(quán)利要求
1.一種網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于包括a、將數(shù)據(jù)發(fā)送/接收緩沖區(qū)劃分成不同大小的子緩沖區(qū);b、對于需要進(jìn)行緩存的數(shù)據(jù),根據(jù)數(shù)據(jù)包的大小確定與其相匹配的子緩沖區(qū),進(jìn)行數(shù)據(jù)的緩存。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于所述的步驟a為將數(shù)據(jù)發(fā)送緩沖區(qū)劃分為D1、D2......Dn-1、Dn種類型子緩沖區(qū),且按其大小依次為D1>D2>......>Dn-1>Dn;將數(shù)據(jù)接收緩沖區(qū)劃分為D1、D2......Dm-1、Dm種類型子緩沖區(qū),且按其大小依次為D1>D2>......>Dm-1>Dm。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于當(dāng)需要緩存的數(shù)據(jù)包為待發(fā)送的數(shù)據(jù)包時(shí),所述的步驟b為確定待發(fā)送數(shù)據(jù)包長度,并選擇Dx子緩沖區(qū)緩存該數(shù)據(jù)包,且滿足Dx子緩沖區(qū)大小>該數(shù)據(jù)包長度>Dx-1子緩沖區(qū)的大小,1≤x≤n。
4.根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于該方法還包括所述的Dx子緩沖區(qū)不足以緩存待發(fā)送的數(shù)據(jù)包時(shí),則依次使用Dx+1、Dx+2......Dn子緩沖區(qū);所有的子緩沖區(qū)均不足以緩存待發(fā)送的數(shù)據(jù)包時(shí),則可以將數(shù)據(jù)包分片后進(jìn)行緩存,并由接收端將分片后的數(shù)據(jù)進(jìn)行還原。
5.根據(jù)權(quán)利要求3或4所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于用于緩存發(fā)送數(shù)據(jù)包的子緩沖區(qū)的大小應(yīng)小于傳輸路徑MTU(最大傳輸單元)。
6.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于當(dāng)需要緩存的數(shù)據(jù)包為待接收的數(shù)據(jù)包時(shí),所述的步驟b為確定待接收數(shù)據(jù)包長度,并選擇Dy子緩沖區(qū)緩存該數(shù)據(jù)包,且滿足Dy子緩沖區(qū)大?。驹摂?shù)據(jù)包長度>Dy-1子緩沖區(qū)的大小,1≤y≤m。
7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于所述的Dy子緩沖區(qū)不足以緩存待接收的數(shù)據(jù)包時(shí),則依次使用Dy+1、Dy+2......Dm子緩沖區(qū)。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于當(dāng)數(shù)據(jù)包到達(dá)但沒有適用的緩沖區(qū)時(shí),丟棄傳輸序列號(hào)最大的數(shù)據(jù)包;同時(shí),對于接收的長度超出IP包長度1500字節(jié)的數(shù)據(jù)包,做丟棄處理。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于丟棄的數(shù)據(jù)包如果已經(jīng)被證實(shí),還需要發(fā)送否定證實(shí)消息。
10.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法,其特征在于所述的數(shù)據(jù)發(fā)送/接收緩沖區(qū)為基于SCTP(流控傳輸協(xié)議)的發(fā)送/接收緩沖區(qū),且將數(shù)據(jù)發(fā)送緩沖區(qū)劃分為大、中、小三種類型子緩沖區(qū),將數(shù)據(jù)接收緩沖區(qū)劃分為超長、大、中、小四種類型子緩沖區(qū)。
全文摘要
本發(fā)明涉及一種網(wǎng)絡(luò)通信中數(shù)據(jù)發(fā)送/接收緩沖區(qū)的管理方法。該方法為首先,將數(shù)據(jù)發(fā)送/接收緩沖區(qū)劃分成不同大小子緩沖區(qū),然后,對于需要進(jìn)行緩存的數(shù)據(jù),根據(jù)數(shù)據(jù)包的大小確定與其相匹配的子緩沖區(qū),進(jìn)行數(shù)據(jù)的緩存。本發(fā)明將基于SCTP的數(shù)據(jù)發(fā)送/接收緩沖區(qū)按大小分為不同類型,并根據(jù)傳輸數(shù)據(jù)長度和路徑MTU大小進(jìn)行統(tǒng)一分配管理,從而提高基于SCTP的數(shù)據(jù)發(fā)送/接收緩沖區(qū)使用過程中的利用率,同時(shí),可有效地提高數(shù)據(jù)收發(fā)處理速度。
文檔編號(hào)H04L12/56GK1494277SQ0214747
公開日2004年5月5日 申請日期2002年11月1日 優(yōu)先權(quán)日2002年11月1日
發(fā)明者崔烽, 葉玲, 崔 烽 申請人:華為技術(shù)有限公司