[0062]分組域核心網網關和服務提供商SP服務器;其中,
[0063]所述分組域核心網網關,用于將終端向SP服務器發(fā)送的TCP連接請求轉發(fā)給相應的SP服務器;
[0064]所述SP服務器,用于接收所述TCP連接請求并建立TCP連接后,進入慢啟動階段;還用于在慢啟動階段時,在當前cwnd小于慢啟動閾值ssthresh時根據當前RTT判斷是否進入擁塞避免階段。
[0065]上述方案中,所述分組域核心網網關進一步用于,將終端向SP服務器發(fā)送的TCP連接請求轉發(fā)給相應的SP服務器時,通過終端的TCP連接請求向SP服務器上報終端的網絡類型。
[0066]上述方案中,所述SP服務器進一步用于,在判斷是否進入擁塞避免階段之前,根據所述TCP連接請求中的終端的網絡類型設置初始擁塞窗口 cwnd。
[0067]上述方案中,所述SP服務器根據所述網絡類型設置初始擁塞窗口 cwnd,包括:
[0068]SP服務器將初始cwnd設置為當前網絡類型下平均往返時延RTT對應的出現(xiàn)次數最多的發(fā)送窗口 P(n_)、當前網絡類型下的初始擁塞窗口最高保障門限cwnd_以及終端的接收窗口 rwnd之中的最小值。
[0069]上述方案中,所述SP服務器在當前cwnd小于慢啟動閾值ssthresh時根據當前往返時延RTT判斷是否進入擁塞避免階段,具體指在以下任一情形時確定進入擁塞避免階段:
[0070](I)當當前RTT大于等于會話歷史平均RTT、且當前RTT大于等于上次RTTX2時;
[0071](2)當連續(xù)三次RTT增長幅度大于等于30%、且當前RTT時延方差大于等于30%時。
[0072]上述方案中,所述SP服務器,還用于在擁塞避免階段時,根據終端接收窗口和當前RTT判斷是否進入快速重傳和快速恢復階段。
[0073]上述方案中,所述SP服務器進一步用于,
[0074]判斷接收窗口是否擁塞,如果擁塞,則進入快速重傳和快速恢復階段;如果不擁塞,則判斷當前RTT是否超時,如果超時,則進入快速重傳和快速恢復階段,如果不超時,則維持在擁塞避免階段。
[0075]本發(fā)明實施例所提供的TCP優(yōu)化方法和系統(tǒng)、SP服務器,服務提供商SP服務器接收終端通過分組域核心網網關向所述SP服務器發(fā)送的傳輸控制協(xié)議TCP連接請求并建立TCP連接后,進入慢啟動階段;慢啟動階段時,SP服務器在當前cwnd小于慢啟動閾值ssthresh時根據當前往返時延RTT判斷是否進入擁塞避免階段;或者,擁塞避免階段時,SP服務器根據終端接收窗口和當前RTT判斷是否進入快速重傳和快速恢復階段。如此,慢啟動階段時,在是否進入擁塞避免階段的判斷中引入當前RTT時延作為判斷條件,可以更加合理的控制TCP出現(xiàn)擁塞的時間;另外,在擁塞避免階段,還可以當RTT波動程度達到一定門限時,提前進入擁塞避免階段,從而避免TCP過早出現(xiàn)擁塞。
【附圖說明】
[0076]圖1為本發(fā)明至少一個實施例提供的TCP優(yōu)化方法的流程示意圖;
[0077]圖2為本發(fā)明至少一個實施例提供的分組域核心網網關的結構示意圖;
[0078]圖3為本發(fā)明至少一個實施例提供的SP服務器的結構示意圖;
[0079]圖4為本發(fā)明至少一個實施例提供的TCP優(yōu)化系統(tǒng)的結構示意圖;
[0080]圖5為本發(fā)明至少一個實施例提供的SP服務器的結構示意圖。
【具體實施方式】
[0081]在本發(fā)明實施例中,服務提供商SP服務器接收終端通過分組域核心網網關向所述SP服務器發(fā)送的傳輸控制協(xié)議TCP連接請求并建立TCP連接后,進入慢啟動階段;慢啟動階段時,SP服務器在當前cwnd小于慢啟動閾值ssthresh時根據當前往返時延RTT判斷是否進入擁塞避免階段。
[0082]下面通過附圖及具體實施例對本發(fā)明做進一步的詳細說明。
[0083]實施例一
[0084]本發(fā)明實施例一提供的TCP優(yōu)化方法,如圖1所示,該方法包括以下步驟:
[0085]步驟101:服務提供商SP服務器接收終端通過分組域核心網網關向所述SP服務器發(fā)送的傳輸控制協(xié)議TCP連接請求并建立TCP連接后,進入慢啟動階段;
[0086]具體的,分組域核心網網關是指在網絡側用于接收和處理終端發(fā)送的TCP連接請求的網關設備,該設備處于終端和SP服務器之間,是連接終端和SP服務器的橋梁;在3G網絡中,分組域核心網網關指通用分組無線服務技術(GPRS, General Packet Rad1Service)服務支持節(jié)點(SGSN,Serving GPRS SUPPORT NODE);在LTE網絡中,分組域核心網網關指SGSN服務器(S-GW)。
[0087]具體的,所述TCP連接請求是由終端向SP服務器發(fā)起的,所述TCP連接請求首先被發(fā)送到分組域核心網網關,接下來,由所述分組域核心網網關轉發(fā)給相應的SP服務器;
[0088]SP服務器接收到TCP連接請求后,根據TCP連接請求建立TCP連接,此時,進入慢啟動階段;
[0089]步驟102:慢啟動階段時,SP服務器在當前cwnd小于慢啟動閾值ssthresh時根據當前往返時延RTT判斷是否進入擁塞避免階段;
[0090]具體的,在慢啟動過程中,SP服務器每接收到一個終端返回的ACK消息就將cwnd增加I,同時判斷當前cwnd是否大于或等于慢啟動閾值ssthresh,如果是,則進入擁塞避免階段;如果否,則進一步判斷當前的RTT是否滿足進入擁塞避免階段的條件;具體的,所述進入擁塞避免階段的條件為:
[0091]當前RTT彡會話歷史平均RTT、且當前RTT彡上次RTTX2 ;或者,
[0092]連續(xù)三次RTT增長幅度彡30%、且當前RTT方差彡30%。
[0093]進一步的,在本發(fā)明實施例所述方案中,所述TCP連接請求還可以包括:終端的網絡類型;具體的,所述終端的網絡類型是由分組域核心網網關通過終端的TCP連接請求向服務提供商(SP, Service Provider)服務器上報的;
[0094]具體的,現(xiàn)網中的分組域核心網網關接收到終端的TCP連接請求后,在HTTP協(xié)議棧中添加可擴展字段,通過可擴展字段上報終端當前接入的網絡類型;具體的,可擴展字段可以是NetWork-Type字段;終端當前接入的網絡類型可以包括:2G、3G、4G甚至是將來的5G、6G等等;
[0095]之后,分組域核心網網關將添加了可擴展字段的TCP連接請求發(fā)送給SP服務器;
[0096]當所述跟組網網關通過終端的TCP連接請求向SP服務器上報了終端的網絡類型后,SP服務器根據所述TCP連接請求建立網絡連接后,進入慢啟動階段;進入慢啟動階段時,SP服務器首先對接收到的TCP連接請求進行解析,從可擴展字段中獲得終端的網絡類型;之后,SP服務器根據獲得的網絡類型設置初始擁塞窗口 ;
[0097]具體的,根據網絡類型設置初始擁塞窗口 cwnd的方法為:將初始cwnd設置為當前網絡類型下平均往返時延(RTT,Round-Trip Time)對應的出現(xiàn)次數最多的發(fā)送窗口P(nmax)、當前網絡類型下的初始擁塞窗口最高保障門限Cwndmax以及終端的接收窗口 rwnd之中的最小值;也就是說,tcp_slow_start_initial = min[P(nmax), cwndmax, rwnd];其中,P(nmax)和rwnd可以在SP服務器側通過測量和統(tǒng)計方法獲得;cwnd_作為一個經驗值可以根據不同網絡類型及不同需要進行設置;
[0098]例如,在2G網絡中,Cwndmax設置為I,相應的,初始cwnd設置為Min [P (η隨),I,rwnd];
[0099]在3G網絡中,Cwndmax設置為4,相應的,初始cwnd設置為Min[P(nmax) ,4, rwnd];
[0100]在4G網絡中,Cwndmax設置為6,相應的,初始cwnd設置為Min[P(nmax) ,6, rwnd]。
[0101]本發(fā)明實施例還可以包括以下步驟103 ;
[0102]步驟103:擁塞避免階段時,SP服務器根據終端接收窗口和當前RTT判斷是否進入快速重傳和快速恢復階段;
[0103]進入擁塞避免階段后,SP服務器每接收到一個終端返回的ACK消息就執(zhí)行一次判斷,所述判斷是指根據終端接收窗口和當前RTT判斷是否進入快速重傳和快速恢復階段;
[0104]具體的,根據終端接收窗口和當前RTT判斷是否進入快速重傳和快速恢復階段,包括:
[0105]判斷接收窗口是否擁塞,如果擁塞,則進入快速重傳和快速恢復階段;如果不擁塞,則進一步判斷當前RTT是否超時,如果超時,則進入快速重傳和快速恢復階段;如果不超時,則維持在擁塞避免階段;
[0106]具體的,判斷接收窗口是否擁塞,包括:
[0107]當rwnd〈=初始cwndX 30%、且連續(xù)三次rwnd遞減時,確定接收窗口擁塞。
[0108]判斷當前RTT是否超時,包括