TWI530123B - Communication devices and communication methods - Google Patents
Communication devices and communication methods Download PDFInfo
- Publication number
- TWI530123B TWI530123B TW100118429A TW100118429A TWI530123B TW I530123 B TWI530123 B TW I530123B TW 100118429 A TW100118429 A TW 100118429A TW 100118429 A TW100118429 A TW 100118429A TW I530123 B TWI530123 B TW I530123B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- bandwidth
- communication
- unit
- bandwidth adjustment
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5691—Access to open networks; Ingress point selection, e.g. ISP selection
- H04L12/5692—Selection among different networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
本發明係有關於一種當在傳送裝置與接收裝置之間藉由網路進行之通訊時,控制通訊帶寬之技術。
隨著近年來網路技術發展,透過網際網路等網路之傳輸流量不斷增加。在網際網路等使用之IP(Internet Protocol;網際網路協定)扮演將封包傳送至對方之裝置的角色。藉IP執行之通訊乃是「無可靠性之通訊」。即,IP不保證資料之送達和送達順序等。
TCP(Transmission Control Protocol;傳輸控制協定)係用來實現「具可靠性之通訊」。以下,所謂「具可靠性之通訊」,係指傳送資料依傳送順序傳送且無過與不及之通訊。
TCP目前雖佔傳輸流量之大部分,但其性能不穩定且散亂不一又是不爭事實。為穩定提供動畫等影像遞送服務等,必須使TCP性能更加穩定。
TCP性能相關之一種公知技術可舉TCP帶寬控制技術為例。TCP帶寬控制技術,係將傳輸流量限制在預定量以下之技術,基本上係依傳輸流量之種類賦予優先順位,廢棄優先度低之傳輸流量以迴避網際網路擁塞之技術。
根據習知技術,TCP具有當擁塞時藉流量控制以調整資料傳送速度之功能。該功能係當擁塞情況發生時便會作動,且只要傳送資料抵達接收測之終端裝置而封包未被廢棄,就欲提升性能。即,可依通訊狀態提升性能,但不可達成將性能抑制較低至適當範圍之控制。
就必須具有某些通訊之通訊性能而言,首先係由應用和系統管理者決定之性能A。其次係以該性能A為目標且依實際通訊情況更動態性地決定之性能B。有鑑於近年來傳輸流量增加之傾向,舉例而言若實際通訊狀況良好,性能B超越性能A時,就降低性能B,此外,若必須提升性能B時,就必須控制帶寬,提升性能B。
本發明係考慮到帶寬調整與高速化之均衡,其目的在於提供一種可進行帶寬調整以獲得必要性能之技術。
為解決前述課題,本發明揭示之通訊裝置,係當傳送裝置及接收裝置藉由網路進行通訊時,控制通訊之帶寬者,包含有:測量部,係對自前述傳送裝置至前述接收裝置,及自前述接收裝置至前述傳送裝置之雙向通訊中之至少單向之通訊,測量帶寬者;記憶部,係記憶關於包含顯示通訊所需帶寬之目標帶寬之帶寬調整之資訊者;及調整部,係自前述記憶部讀取前述測量帶寬之方向之目標帶寬,且依前述測量部所測量之帶寬與該讀取之目標帶寬之間之比較,調整封包之送出間隔,以進行帶寬之抑制或促進者。
依本發明揭示之通訊裝置,可使通訊穩定,有效抑制封包重傳。
第1(a)-(b)圖係顯示具有本實施形態之帶寬調整裝置之通訊系統之整體圖。
第2圖係本實施形態之帶寬調整裝置之結構圖。
第3圖係帶寬調整中繼部之結構圖。
第4圖係說明本實施形態之帶寬調整裝置之帶寬調整中繼部測量資料封包之帶寬之方法的圖。
第5圖係說明本實施形態之帶寬調整裝置之帶寬調整中繼部測量ACK封包之帶寬之方法的圖。
第6圖係說明關於資料封包傳送方向之帶寬抑制方法之圖。
第7圖係說明關於ACK封包傳送方向之帶寬抑制方法之圖。
第8圖係說明關於資料封包傳送方向之帶寬促進方法之圖。
第9圖係說明關於ACK封包傳送方向之帶寬促進方法之圖。
第10圖係顯示接收之封包之判別處理之流程圖。
第11圖係顯示帶寬測量處理之流程圖。
第12圖係顯示帶寬調整處理之中斷處理之流程圖。
第13圖係顯示帶寬調整處理之流程圖。
第14圖係說明緩衝資料封包之方法之圖。
第15圖係說明利用已緩衝之ACK封包之方法之圖。
第16圖係說明資料封包之緩衝處理之流程圖。
第17圖係說明ACK封包之緩衝處理之流程圖。
第18圖係說明廢棄緩衝資料之處理之圖。
第19圖係顯示資料封包之代理重傳處理之流程圖。
第20圖係顯示ACK封包之代理重傳處理之流程圖。
第21圖係說明資料封包之自動代理重傳方法之圖。
第22圖係顯示資料封包之自動代理重傳處理之流程圖。
第23(a)-(c)圖係說明藉服務通知資訊之利用以分散帶寬調整處理之方法之圖。
第24圖係顯示服務通知資訊之設定方法一例之圖。
第25圖係顯示服務通知資訊之設定方法另一例之圖。
第26圖係顯示通信期管理處理之流程圖。
第27圖係顯示使用服務通知資訊之通信期管理處理之流程圖。
第28圖係顯示服務通知旗標處理之流程圖。
第29圖係顯示通信期表之構造例之圖。
第30圖係顯示通信期表資料之構造例之圖。
以下,配合參照圖式,詳細說明本發明之實施形態。
[結構]
第1圖係顯示具有本實施形態之帶寬調整裝置之通訊系統之整體圖。第1(a)圖所示通訊系統,係2台終端裝置2A及終端裝置(以下稱終端)4B相互藉由網路10連接,進行使用例如TCP通訊之影像遞送(動畫遞送)等之通訊。網路10之可例舉如ADSL(Asymmetric Digital Subscriber Line;非對稱數位用戶線)、FTTx(Fiber To The x;光纖到x)等有線存取網路,和HSPA(High Speed Packet Access;高速封包存取)、WiMAX(World Interoperability for Microwave Access;全球互通微波存取)等無線存取網路。終端2A和4B由例如與網路10連接之家用或小規模辦公室用網路機器、個人電腦、可攜終端、網路連接用轉接器等構成。
各終端2A、4B分別具有帶寬調整裝置1A、1B,該帶寬調整裝置1A、1B將自身裝置傳送接收之封包之帶寬調整至對應通訊之適當值。以下說明中,資料之傳送側之裝置賦予標號「A」,接收側之裝置賦予標號「B」。
帶寬調整裝置1A、1B可配置於任何場所,只要是可觀測TCP/IP封包之位置。第1(a)圖中,顯示傳送終端及接收終端內具有帶寬調整裝置1A、1B之結構。
第1(b)圖係本實施形態之帶寬調整裝置1組裝於終端以外之裝置時之系統結構圖。如第1(b)圖所示之例,帶寬調整裝置1C組裝於中繼裝置3內,將終端2A與終端4B之間傳送接收之封包之帶寬調整至對應通訊之之適當值。
在此,所謂中繼裝置3,係指部分或完全地辨識TCP,提供TCP相關功能之網路機器,不只是路由器和橋接器等,代理伺服器、負載平衡器、傳輸流量整形器及WAN(Wide Area Network;廣域網路)最佳化裝置等也包括在中繼裝置。
又,第1(a)圖及第1(b)圖中,為說明本實施形態之帶寬調整裝置1之設置位置,於是簡略通訊系統之結構,僅顯示帶寬終端2A、4B及中繼裝置3。
以下,以第1(b)圖之結構,即以配置於傳送終端2A與接收終端4B之間之網路10上之中繼裝置3搭載有本實施形態之帶寬調整裝置1之情形為例,具體說明帶寬調整裝置1調整傳送終端2A與接收終端4B之間之通訊帶寬之方法。
第2圖係本實施形態之帶寬調整裝置1之結構圖。第2圖所示帶寬調整裝置1,具有二個帶寬調整中繼部11、12和通信期表13,該寬調整中繼部11、12分別自「其他模組30、32」接收封包且朝「其他模組31、33」遞送封包。
第2圖所示「其他模組30~33」係中繼裝置3內所設網路元件驅動程式和其他協定堆疊,分別處理包含TCP/IP封包。
帶寬調整裝置1之帶寬調整中繼部11、12,與其他模組30~33之間進行封包之傳送接收。當接收之封包為TCP封包時,帶寬調整中繼部11、12分別執行自傳送終端2A朝接收終端4B,及自接收終端4B朝傳送終端2A之方向之通訊之帶寬調整。另,在第2圖和即將說明之第3圖中,各通訊方向標示為「A→B方向」及「B→A方向」。
通信期表13儲存帶寬調整中繼部11、12執行帶寬調整時所需資訊。通信期表13之細節容後配合參照第29圖及第30圖詳細說明。
當自傳送終端2A朝接收終端4B及自接收終端4B朝傳送終端2A之雙向之封包通過帶寬調整裝置1時,帶寬調整裝置1進行雙向通訊之帶寬調整。當僅單向之封包通過帶寬調整裝置1時,帶寬調整裝置1會於帶寬調整中繼部11、12之中封包正通過之帶寬調整中繼部進行帶寬調整,且儲存通信期表13所需資訊。另一方之帶寬調整中繼部亦可參照通信期表13進行帶寬調整。
第3圖係帶寬調整中繼部之結構圖。第3圖所示帶寬調整中繼部11具有封包判別部21、通信期管理部22、接收帶寬測量部23、帶寬調整部24及傳送帶寬測量部25。
另,第3圖中,僅顯示A→B方向之帶寬調整中繼部11之結構,B→A方向之帶寬調整中繼部12之結構與第3圖所示帶寬調整中繼部11之結構相同,帶寬調整中繼部11、12共有通信期表13及緩衝部14。
封包判別部21判別自其他模組30接收之封包是否為帶寬調整之對象之封包。具體而言係判別是否為TCP封包。
當封包判別部21判別為帶寬調整之對象之封包時,通信期管理部22進行TCP通信期之管理。通信期管理部22執行將TCP通信期之管理所需資訊儲存於通信期表13,且自通信期表13取出所需資訊等之處理。
接收帶寬測量部23測量通信期管理部22視為管理對象之封包之接收帶寬。接收帶寬測量部23將所測之接收帶寬儲存於通信期表13,並且必要時將所接收之封包儲存於緩衝部14。
帶寬調整部24依儲存於通信期表13之測量帶寬等資訊,進行帶寬調整。具體而言,對應顯示通訊所需之帶寬之目標帶寬與實際測量之帶寬之間大小關係,增長或縮短封包之送出間隔以進行帶寬調整。關於封包之送出間隔之調整方法,容後配合圖式再詳述。
傳送帶寬測量部25測量依來自帶寬調整部24之指示而轉送至其他模組31之封包,和自封包判別部21轉送至其他模組31之封包之帶寬,且將測量結果儲存於通信期表13。
又,與通訊系統內之動作之說明中「傳送」「接收」之表記不同,第3圖之接收帶寬測量部23和傳送帶寬測量部25之說明中「接收」及「傳送」之表記係以帶寬調整裝置1為主體。即,由於接收帶寬測量部23係處理帶寬調整裝置1自其他模組30「接收」之封包,傳送帶寬測量部25係處理帶寬調整裝置1「傳送」至其他模組31之封包,所以才如此表記。
帶寬調整部24係在與相反方向之帶寬調整中繼部12之帶寬調整部之間,傳送接收關於帶寬調整之資訊。如前所述,一方之帶寬調整中繼部,即使未傳送接收TCP封包,未進行帶寬測量,仍可依另一方之帶寬調整中繼部儲存於通信期表13之資訊和自另一方之帶寬調整部接收之控制資訊,來進行帶寬調整。
如第1~3圖所示,帶寬調整裝置1監視TCP通訊並進行帶寬調整。例如Apache HTTP伺服器、Lighttpd、Squid cache、BitTorrent等大多數一般伺服器應用軟體,都具有按TCP通訊調整傳送帶寬之功能(帶寬節流)。然而,此種公知應用軟體之帶寬調整技術無法呼應高精度帶寬調整之期待。
即,縱然藉應用軟體進行帶寬調整,依賴作業系統之排程,在傳輸層(TCP等)、網路層(IP等)、裝置驅動程式等仍舊可能會變成叢發流量。又,若藉應用軟體進行帶寬調整,則無法正確掌握自TCP層到網路層之狀況,且應用軟體無法辨識應用軟體所期待之通訊功能與實際通訊功能之背離,而不能進行對應實際通訊之帶寬調整。舉例而言,即使是視為帶寬調整對象之資料,也無法即時辨識實際上傳送/接收/重傳多少資料等狀況。因此,應用軟體始終只是進行帶寬調整達到「理論上通訊所需之通訊功能」,無法進行對應實際狀況之帶寬調整。
相對於此,本實施形態之帶寬調整裝置1,如第1~3圖所示,可監視實際之TCP通訊並進行對應此之帶寬調整。相較於藉應用軟體進行之帶寬調整,可達成更高精度之帶寬調整。
[通訊方向]
傳送終端2A及接收終端4B,分別傳送資料封包及ACK封包至對方之終端目的地。第2圖及第3圖所示結構之帶寬調整裝置1,其帶寬調整中繼部11、12分別監視A→B方向及B→A方向之通訊。因此,不僅當轉送資料封包及ACK封包兩者之封包時,還有當轉送資料封包或ACK封包中其中任一者時,設於通訊路徑上之帶寬調整裝置1可進行帶寬調整。舉例而言,具有帶寬調整裝置1之中繼裝置3只中繼轉送A→B方向之資料封包,而ACK封包則經由其他路徑的情況時,僅帶寬調整裝置1之帶寬調整中繼部11會監視資料封包且進行帶寬調整。
[帶寬測量]
分別配合參照第4圖及第5圖,說明本實施形態之帶寬調整裝置1監視資料封包和ACK封包且測量通訊帶寬之方法。
第4圖係說明本實施形態之帶寬調整裝置1之帶寬調整中繼部11測量資料封包之帶寬之方法之圖,第5圖係說明帶寬調整裝置1之帶寬調整中繼部12測量ACK封包之帶寬之方法之圖。第4圖和第5圖之上層顯示資料封包DP之流程,下層顯示ACK封包AP之流程,以下說明中均同此。
第4圖及第5圖所示之例,顯示帶寬調整裝置1安裝於中繼裝置3,以下說明中均同此。後續說明中,舉作為網路機器之中繼裝置3為例說明,不過並非限於此。例如作業系統內部傳送TCP/IP之部分,也可達成同樣效果,以下說明之各種處理可組編為軟體及硬體。
中繼裝置3之帶寬調整裝置1內之接收帶寬測量部23,監視由傳送終端2A對接收終端4B傳送之資料封包DP和由接收資料封包DP之接收終端4B回傳傳送終端2A之ACK封包AP,且測量通訊帶寬。
藉資料封包測量通訊帶寬時,如第4圖所示,觀測資料封包所包含之順序號碼(第4圖之SEQ)與封包之資料長度且求得資料長度之累計值,以測量通訊系統中中繼裝置3之設置位置之傳送帶寬。
藉ACK封包測量通訊帶寬時,如第5圖所示,依ACK封包所包含ACK號碼(第5圖之ACK)測得ACK之增加,以測量通訊系統中中繼裝置3之設置位置之接收帶寬。
ACK封包相較於資料封包,資料長度較短,且不會如資料封包般每一封包資料長度差異大。因此,僅觀測ACK號碼且累計預定時間內中繼裝置3中繼轉送之ACK封包之增加,以測量接收帶寬。
[帶寬調整]
利用第4圖和第5圖所示方法所測量之通訊帶寬,帶寬調整裝置1之帶寬調整部24調整由中繼裝置3送出封包(資料封包DP和ACK封包AP)之時間間隔,以進行帶寬調整。如第3圖之說明中,帶寬調整部24對應所測量之通訊帶寬,決定應執行拉長封包送出之時間間隔(延長時間間隔)處理或壓縮封包送出之時間間隔(縮短時間間隔)處理之其中之一。
以下,將延長封包送出之時間間隔進行帶寬調整定義為「帶寬之抑制」,將縮短封包送出之時間間隔進行帶寬調整定義為「帶寬之促進」。首先,說明藉本實施形態之帶寬調整裝置1進行之帶寬之抑制方法。
第6圖係說明關於資料封包傳送方向之帶寬抑制方法之圖,第7圖係說明關於ACK封包傳送方向之帶寬抑制方法之圖。
在接收帶寬測量部23所測量之通訊帶寬高於顯示通訊所需帶寬之目標帶寬時,中繼裝置3之帶寬調整裝置1內之帶寬調整部24會控制通訊且抑制帶寬。帶寬之抑制方法,有控制資料封包之傳送間隔之方法及控制ACK封包之傳送間隔之方法。
關於例如資料封包之傳送間隔之控制,如第6圖所示,帶寬調整裝置1之帶寬調整部24抑制傳送終端2A所傳送之資料封包之帶寬,進行控制。具體而言,對於目標帶寬,控制資料封包之傳送間隔,俾順序號碼之每單位時間之增加控制在預定範圍內。藉此,即使傳送終端2A送出叢發流量,仍可以預定帶寬將資料封包送達接收終端4B。
另一方面,關於ACK封包之傳送間隔之控制,如第7圖所示,帶寬調整部24抑制接收終端4B所接收之ACK封包之帶寬,進行控制。具體而言,對於目標帶寬,控制ACK封包之傳送間隔,俾ACK號碼之每單位時間之增加控制在預定範圍內。
一般而言,在TCP通訊之初步時,傳送終端2A以叢發流量傳送視窗大小之資料封包,不過後續之資料封包之傳送,傳送終端2A以對應ACK封包之接收帶寬之帶寬送出接收終端4B目的地之資料封包。因此,如前所述藉控制ACK封包之送出間隔,傳送終端2A對應所接收之ACK封包之增加來傳送資料封包,於是可調整資料封包傳送方向之帶寬。
接下來,說明藉本實施形態之帶寬調整裝置1進行之帶寬之促進方法。
第8圖係說明關於資料封包傳送方向之帶寬促進方法之圖,第9圖係說明關於ACK封包傳送方向之帶寬促進方法之圖。
在接收帶寬測量部23所測量之通訊帶寬低於前述目標帶寬時,中繼裝置3之帶寬調整裝置1內之帶寬調整部24會進行控制以促進帶寬。與前述帶寬之抑制方法相同,帶寬之促進方法,有控制資料封包之傳送間隔之方法及控制ACK封包之傳送間隔之方法。
關於資料封包之傳送間隔之控制,如第8圖所示,帶寬調整裝置1之帶寬調整部24,於緩衝部14緩衝自傳送終端2A接收之資料封包,且將已緩衝之資料封包傳送至接收終端4B至少一次。已緩衝之資料封包之重傳可對應目標帶寬進行多次。
以下將帶寬調整裝置1將已緩衝之資料封包傳送至接收終端4B之事稱為「資料封包之代理重傳」。以下說明中,為相對於傳送終端2A藉TCP之重傳功能重傳資料封包之事,遂將帶寬調整裝置1重傳資料封包之事如此表述。
當接收代理重傳之資料封包之接收終端4B,參照資料封包所包含之順序號碼,辨識為未接收之資料封包時,回傳對應於代理重傳之資料封包之ACK封包。如此,藉帶寬之促進處理,即資料封包之代理重傳,由接收終端4B回傳對應於在中繼裝置3與接收終端4B之間被廢棄之資料封包之ACK封包。
此外,A→B方向之測量帶寬(實際之資料封包之傳送帶寬)低於目標帶寬之理由之一,認為係因為ACK封包未充分抵達傳送終端2A,所以來自傳送終端2A之資料封包之傳送滯礙難行所導致。依前述帶寬之促進處理,當傳送終端2A接收對應於代理重傳之資料封包之ACK封包,便傳送接著應傳送之資料封包,所以可促進藉傳送終端2A進行之資料封包傳送。
如此,當測量帶寬低於目標帶寬時進行資料封包之代理重傳,可促進來自接收終端4B之ACK回傳和傳送終端2A之資料封包傳送,獲得促進滯礙之通訊之效果。
另,當代理重傳之資料封包於接收終端4B是業已接收完成時,接收終端4B會廢棄代理重傳之資料封包,所以代理重傳處理並不會對TCP通訊造成不良影響。
又,依習知TCP改善方式,為促使傳送終端對下一順序號碼之資料封包之傳送,藉由中繼裝置傳送代理ACK封包,以增強傳送帶寬。此為公知TCP中繼技術之「Splitting TCP(分裂TCP)」和「TCP Spoofing(TCP電子欺騙)」。該等習知TCP中繼技術,可解決ALG(Application Level Gateway;應用層閘道)方式之TCP中繼裝置缺乏可擴縮性及TCP Splicing(TCP黏合)之複雜處理難以執行等問題。
然而,由於是公知技術故省略詳細說明,但Splitting TCP和TCP Spoofing技術中,中繼裝置終止一次來自傳送終端之TCP通訊,對接收終端進行新的TCP通訊。依此,假設接收終端將對應中繼裝置代理傳送之ACK封包之資料封包(例如對「ACK號碼=10」之ACK封包,傳送終端傳送之「順序後碼=10+1=11」之資料封包)視為未接收,該代理ACK封包(ACK號碼=10)就成為偽物。由於接收偽代理ACK封包之傳送終端會廢棄在此之前之資料(到順序後碼=10為止之資料),所以若中繼裝置停止時和從網路遭除去時,被廢棄之資料就無法再次回復。
相對於此,依本實施形態之帶寬調整裝置1,即使代理重傳資料封包,傳送終端2A仍不會廢棄代理重傳之資料封包,縱然中繼裝置3從網路遭除去時,也不會失去資料,此為一大優點。
關於ACK封包之傳送間隔之控制,如第9圖所示,帶寬調整裝置1之帶寬調整部24,於緩衝部14緩衝ACK封包,且對應目標帶寬將已緩衝之ACK封包傳送至傳送終端2A。已緩衝之ACK封包之重傳可對應目標帶寬進行多次。
以下將帶寬調整裝置1將已緩衝之ACK封包傳送至傳送終端2A之事稱為「ACK封包之代理重傳」。以下說明中,為相對於接收終端4B重傳ACK封包之事,遂將帶寬調整裝置1重傳ACK封包之事如此表述。
接收代理重傳之ACK封包之傳送終端2A,可傳送對應ACK封包之資料封包。依此,當測量帶寬低於目標帶寬時,進行ACK封包之代理重傳,可促進傳送終端2A之資料封包傳送,獲得促進滯礙之通訊之效果。
另,有一種TCP擁塞控制技術係「Fast Recovery(快速復原)」。依該技術,當傳送終端2A連續接收3個相同ACK封包時,傳送終端2A會將封包廢棄視為暫時性,重傳資料封包,而不縮小擁塞視窗(congestion window)。依前述ACK封包之代理重傳處理,可促進「Fast Recovery」之重傳功能,藉此獲得增強傳送終端2A之帶寬之效果。
又,即使代理重傳之ACK封包於傳送終端2A為業已接收完成者時,傳送終端2A仍會與習知同樣地處理重複接收之ACK封包,所以ACK封包之代理重傳並不會對TCP通訊造成不良影響。
如配合參照第8圖及第9圖所說明者,帶寬之促進時,帶寬調整裝置1(具有該帶寬調整裝置1之中繼裝置3)作為傳送終端2A和接收終端4B之代理,重傳封包。藉帶寬調整裝置1進行之代理重傳,可較TCP之重傳功能之封包重傳較快執行,所以當路徑上有封包廢棄發生而造成通訊滯礙時,藉由此種代理重傳,可更迅速回歸通常之通訊狀態。
配合參照第10圖~第13圖之流程圖,說明本實施形態之帶寬調整裝置1監視在傳送終端2A與接收終端4B之間傳送接收之封包,進行帶寬之抑制或促進之帶寬調整之方法。
第10圖係顯示藉第3圖之封包判別部21進行之接收之封包之判別處理的流程圖。當自其他模組30、32接收封包時,帶寬調整裝置1便開始第10圖所示處理。
首先,在步驟S1,判定接收之封包是否為TCP封包,若是TCP封包(在步驟S1為yes時),在步驟S2,將接收之封包傳送至第3圖之通信期管理部22,結束處理。在步驟S1之判定,若判定接收之封包非TCP封包(在步驟S1為no時),就進入步驟S3,於帶寬調整裝置1中繼轉送封包而並不特別進行處理,然後結束處理。
步驟S1之封包判別,在實施例中係參照IP標頭之預定欄來進行。例如IPv4中,參照協定(Protocol)欄之值,IPv6中,參照下一標頭(Next Header)欄之值,如此來判定是否為TCP封包。IP標頭之格式乃是公知技術,故省略其詳細說明。
如第10圖所示,實施例中係判定是否為TCP封包,且對TCP封包全部均視為帶寬調整之對象進行處理,不過並不限於此,而是可有變形改造等,舉例而言,在步驟S1,參照IP標頭和TCP標頭所包含之IP位址埠號,若IP位址和埠號屬於預定範圍內,就進入步驟S2,將其視為帶寬調整之對象封包。將預定範圍內之IP位址和埠號判斷為帶寬調整之對象,藉此可對特定之終端間之通訊積極進行帶寬調整。本發明,對在封包內儲存有作為辨識通信期之指標使用之值及顯示通信期之封包之順序之值之通訊協定而言,一般均為可適用。該種通訊協定可例舉如IPsec(security Architecture for Internet Protocol;網際網路協定之安全架構)、ESP(Encapsulating Security Payload;封裝安全酬載)、RTP(Real-time Transport Protocol;即時傳送通訊協定)等。
第11圖係顯示藉接收帶寬測量部23進行之帶寬測量處理之流程圖。藉第10圖之封包之判別處理而被視為帶寬調整之對象之封包,被傳送至第3圖之通信期管理部22。通信期管理部22於通信期表13登錄所需資訊時,便將封包傳送至接收帶寬測量部23。帶寬調整裝置1之接收帶寬測量部23,當自通信期管理部22接收封包時,就開始第11圖所示處理。
首先,在步驟S11,判定封包是否為資料封包。若自通信期管理部22接收之封包是資料封包(在步驟S11為yes時),進入步驟S12,但並不依資料封包之順序號碼是否與過去接收之封包重複,而是更新每單位時間中繼轉送之資料量,並進入步驟S15。若自通信期管理部22接收之封包為ACK封包(在步驟S11為no時),就自步驟S11進入步驟S13。
在步驟S13,判定接收封包之ACK號碼是否為最大ACK號碼。詳情容後再述,而所謂最大ACK號碼,係指帶寬調整裝置1接收之ACK封包所包含之ACK號碼之中,值最大者,步驟S13之判定,係藉比較保存於通信期表13之最大ACK號碼與接收封包之ACK號碼來進行。若接收封包之ACK號碼為最大(在步驟S13為yes時),進入步驟S14,更新每單位時間之ACK量,且進入步驟S15。若接收之封包之ACK號碼並非最大(在步驟S13為no時),則將該ACK號碼之ACK封包視為已中繼轉送完成,不特別進行處理,並進入步驟S15。
在步驟S15,判定是否已經過單位測量時間,若尚未經過單位測量時間(在步驟S15為no時),不特別進行處理,結束處理。所為單位測量時間,係指為進行資料封包之資料量和ACK封包之ACK量之測量而預先制定之時間,該值儲存於通信期表13。詳情將配合參照第30圖予以說明。
在步驟S15,若判定已經過單位測量時間(在步驟S15為yes時),在步驟S16,更新每單位時間之資料量‧ACK量之最大值及最小值。與此同時,將分別在步驟S12及步驟S14所更新之每單位時間之資料量‧ACK量之值清除,結束處理。
帶寬調整部24依據目標帶寬與藉第11圖所示帶寬測量處理所求得之測量帶寬之間比較,執行帶寬調整處理。執行帶寬調整處理之時機,可例舉如接收中繼封包之時機,和定期中斷處理之時機。實施例中,就定期中斷處理之時機而言,配合參照第12圖說明此時之帶寬調整處理。
第12圖係顯示藉帶寬調整部24進行之帶寬調整處理之中斷處理之流程圖。如前所述,在實施例中,帶寬調整裝置1會在預定時間間隔,定期開始第12圖所示處理。
首先,在步驟S21,判定是否已經過執行中斷處理之中斷周期之單位時間。若尚未經過中斷處理之周期(在步驟S21為no時),不特別進行處理,結束處理。
另一方面,若經過中斷處理之周期(在步驟S21為yes時),就進入步驟S22,執行帶寬調整處理和判斷有所需要時之調整目標帶寬之處理。帶寬調整處理及調整目標帶寬之處理之詳情容後再述。又,執行帶寬調整處理時,若有需要,可利用於緩衝部14已緩衝之封包。關於緩衝處理容後再述。當執行帶寬調整處理時,結束處理。
第13圖係顯示藉帶寬調整部24進行之帶寬調整處理之中斷處理之流程圖。如前所述,在定期中斷處理和接收中繼封包之時機,開始第13圖所示處理。
首先,在步驟S31,判定是否已經過單位調整時間。所謂「單位調整時間」,係指測量中繼裝置3之資料轉送量之時間。若尚未經過單位調整時間(在步驟S31為no時),進入步驟S32,清除所保存之單位轉送量,便進入步驟S33。
在步驟S33,判定資料封包是否正於第3圖所示緩衝部14緩衝中。若資料封包正於緩衝部14緩衝中(在步驟S33為yes時),便進入步驟S34,進而比較資料封包之帶寬與目標帶寬。具體而言係判定,係判定資料封包之單位轉送量是否低於自通信期表13讀取之目標轉送量。在此,所謂「封包之單位轉送量」,係指接收帶寬測量部23測量之於前述單位調整時間內帶寬調整裝置1所轉送之資料量,係第11圖之帶寬測量處理時所測量之方向之轉送資料量。
在步驟S33,若資料封包並非正於緩衝部14緩衝中(在步驟S33為no時),便進入步驟S36。
在步驟S34,若資料封包之單位轉送量低於目標轉送量(在步驟S34為no/抑制時),進行帶寬之抑制,進入步驟S36。如前所述,帶寬之抑制處理,係控制資料封包之送出間隔,俾相對於目標轉送量,資料封包之單位轉送量在預定範圍內。
在步驟S34之判定,若資料封包之單位轉送量高於目標轉送量(在步驟S34為yes/促進時),進入步驟S35,進行帶寬之促進。如前所述,帶寬之促進處理,係對應目標轉送量來轉送已於緩衝部14緩衝之資料封包。
若執行傳送方向之帶寬控制處理,就進行步驟S36以後之接收方向之帶寬控制處理。步驟S36~步驟S38之處理,係若ACK封包正於緩衝部14緩衝中,對應ACK封包之單位轉送量與目標轉送量之間之大小關係來進行帶寬之抑制和促進之處理,係分別對應於步驟S33~步驟S35對資料封包之處理者。
另,第12圖之步驟S21之中斷周期,設定為較第13圖之步驟S31之單位調整時間短之時間。這是由於將中斷周期設定較單位調整時間短,就不至於產生帶寬調整處理未能進行之空白期間。
如以上說明,依本實施形態之帶寬調整裝置1,監視通過帶寬調整裝置1之TCP封包之轉送量以求得帶寬,若高於通訊所需之目標帶寬,就控制封包送出來抑制帶寬。若所求得之帶寬低於目標帶寬,則取代傳送終端2A和接收終端4B,重傳(代理重傳)已緩衝之封包來進行帶寬之促進。
習知TCP通訊之問題之一,可例舉叢發流量,即暫時地產生達到峰值之高流量。叢發流量發生之原因,係由於例如通信期開始後以初始值開始轉送,「立刻」傳送叢發流量。提供服務之伺服器與使用者之間之通訊,相對於伺服器側之網路,使用者側之網路大多是低速之存取網路所連接。在此種結構下,伺服器若傳送叢發流量,使用者側很可能無法全部接收叢發流量。使用者側無法全部接收之叢發流量,極可能在使用者側之存取網路之連接點發生封包廢棄之事。
又,TCP通訊中,應用程式傳送資料,TCP和IP之協定堆疊使用作業系統之機構進行處理,最後網路驅動程式傳送資料。通常計算機系統中,應用程式和作業系統係依分時排程來動作。因此,傳送資料每經由各種程式就進入排程,而可以叢發方式處理。在負載高之伺服器,愈容易呈現此處理之叢發性變大,於是造成叢發流量。
叢發流量在網路路徑上會成為擁塞之原因。尤其係在匯集多數TCP通信期之路由器等,常會有發生擁塞情況之危險。然而,依本實施形態之帶寬調整裝置1,若實際帶寬高於目標帶寬,進行帶寬之抑制。藉此,可有效遏止叢發流量。
此外,帶寬調整裝置1測量通過自身裝置之封包之帶寬,且控制通過自身裝置之封包。不會如習知TFRC(TCP-Friendly Rate Control;TCP友善速率控制)等,接收終端4B無須通知封包廢棄資訊,傳送終端2A也無須按每封包測量延遲。又,若帶寬調整裝置1配置在路徑上,便可執行前述帶寬調整處理,所以傳送終端2A和接收終端4B未必定須具有帶寬調整裝置1。
又,假設為調整帶寬而於封包附加變更改變封包長度,就須於進行帶寬調整之裝置重新製作封包,處理負載增大,也會對其他網路機器造成影響。然而,本實施形態之帶寬調整方法,僅控制封包之轉送間隔,所以不會產收此種問題。
另,本實施形態之帶寬調整方法,對於測量帶寬高於‧低於目標帶寬時之通訊,判斷帶寬調整為必要,分別進行帶寬之抑制‧促進。對於無須執行帶寬調整之通訊,僅轉送封包。藉此種方法進行帶寬調整時,即使於中繼裝置3有必須帶寬調整之通訊與無須帶寬調整之通訊相互競爭,也仍然不會對無須帶寬調整之通訊之速度造成不良影響。
[緩衝]
如前述帶寬調整處理之說明中也提及,本實施形態之帶寬調整裝置1,藉著於緩衝部14先緩衝封包,進行帶寬之抑制和促進。接著,說明利用已緩衝之封包之方法。
第14圖係說明緩衝資料封包之方法之圖。
如第14圖所示,中繼裝置3所具有之帶寬調整裝置1,於第3圖所示緩衝部14緩衝資料封包。然後,執行複製於緩衝部14緩衝中之資料封包,且將複製之資料封包傳送至接收終端4B等處理。
帶寬調整裝置1監視緩衝部14之空間,若辨識帶寬調整裝置1和中繼裝置3之記憶體耗盡時,亦可就此廢棄而不緩衝資料封包。這是因為即使廢棄之資料封包未到達接收終端4B,傳送終端2A還是會藉TCP功能進行資料封包之重傳,所以並不會造成通訊上的問題。
對ACK封包也進行相同緩衝處理。與資料封包之緩衝同樣地,即使超過記憶體容量而廢棄ACK封包,接收終端4B還是會藉TCP功能進行ACK封包之重傳,所以並不會造成通訊上的問題。
此外,帶寬調整裝置1亦可構造成利用朝緩衝部14傳送之封包之緩衝功能執行以下處理。
例如,也可將緩衝之資料封包和ACK封包,依順序號碼和ACK號碼排列進行緩衝。例如,依網路路徑,以到達接收終端4B之順序接替。在這些時候,依順序號碼和ACK號碼排列好封包,於具有帶寬調整裝置1之網路機器(實施例中為中繼裝置3)可修正順序。
又,也可比較所接收封包之順序號碼和ACK號碼等與於緩衝部14緩衝中之封包之順序號碼和ACK號碼,若是重複之封包,則廢棄而不緩衝。在接收封包之終端裝置(接收終端4B和傳送終端2A),就不需廢棄重複之封包之處理。
第15圖係說明利用已緩衝之ACK封包之方法之圖。
關於ACK封包,亦可構造成緩衝之封包數量限於一個。緩衝取得帶寬調整裝置1接收之ACK封包之ACK號碼之中,最大ACK號碼之ACK封包。這是因為在TCP通訊,若能得知最大ACK號碼,便可判斷接著應傳送之資料封包之順序號碼。第15圖之例中,中繼裝置3之帶寬調整裝置1,若自接收終端4B接收ACK號碼為「5」之ACK封包AP(5),便廢棄此前保存於緩衝部14之ACK號碼「4」之ACK封包AP(4),且緩衝具有最大ACK號碼之ACK封包(5)。接著,使用該ACK封包AP(5),執行前述帶寬之促進處理。
即使當因封包遺失等而於接收終端4B未接收到資料封包時,如前所述,執行帶寬之促進處理,遂可供給穩定之通訊。又,即使緩衝之ACK封包數量僅一個,實施例中,帶寬調整裝置1仍可藉複製並傳送已緩衝之ACK封包(第15圖之ACK封包AP(5)),來執行帶寬調整。
此外,即使在接收終端4B未接收資料封包之期間,ACK封包仍宜以某頻率(例如目標帶寬)傳回傳送終端2A。帶寬調整裝置1複製且傳送於緩衝部14緩衝之ACK封包,俾ACK封包以預定頻率傳返傳送終端2A。自緩衝部14複製‧傳送之ACK封包,也自接收終端4B傳送,於是變成在傳送終端2A重複接收,但傳送終端2A會在公知之IP網路規格之範圍內進行處理。因此,藉這種ACK封包之重傳,通訊上不會發生問題。
接下來,配合參照第16圖及第17圖,對於前述緩衝處理,說明管理構成緩衝部14之緩衝記憶體之方法。緩衝部14係藉通信期表13管理,按通信期之每一方向,即針對第2圖之A→B方向及B→A方向分別準備之佇列(等待行列)。佇列藉鏈接串列等資料構造來執行。關於鏈接串列,由其為公知技術,故省略說明。
第16圖係說明資料封包之緩衝處理之流程圖。第3圖之帶寬調整裝置1之接收帶寬測量部23,當自通信期管理部22接收資料封包,就開始第16圖所示處理。
首先,在步驟S41,判定是否於佇列(緩衝部14)存在具有與接收之資料封包之順序號碼同一順序號碼之資料封包。若存在具有同一順序號碼之資料封包(在步驟S41為yes時),進入步驟S42,廢棄所接收之資料封包,結束處理。
在步驟S41之判定,若不存在具有同一順序號碼之資料封包(在步驟S41為no時),進入步驟S43,依順序號碼顯示之順序將資料封包追加於佇列,結束處理。
第17圖係顯示ACK封包之緩衝處理之流程圖。第3圖之帶寬調整裝置1之接收帶寬測量部23,當自通信期管理部22接收ACK封包,就開始第17圖所示處理。第17圖顯示緩衝取得最大ACK號碼之ACK封包之處理。
首先,在步驟S51,判定接收之ACK封包之ACK號碼是否取得最大值。若接收之ACK封包之ACK號碼在此前接收之ACK封包之中並非最大值(在步驟S51為no時),進入步驟S52,廢棄所接收之ACK封包,結束處理。
在步驟S51之判定,若接收之ACK封包之ACK號碼取得最大值(在步驟S51為yes時),就進入步驟S53。又,若帶寬調整裝置1採用保存多數ACK封包之結構,便依ACK號碼所示順序將ACK封包追加於佇列。若採用佇列之長度為1,只保存一個ACK封包之結構,則廢棄保存於佇列之ACK封包,並記憶接收之新ACK封包,結束處理。
第16圖和第17圖所示緩衝處理,係進行前述帶寬調整時所執行之處理,所以與習知技術不同,傳送終端2A並不會持續地送出過多封包。因此,不會造成緩衝之封包數量持續增加,也不會不斷地變成甚大之值。
如前所述,實施例中,封包用緩衝記憶體,按某通信期之每一通訊方向,即資料封包之緩衝用與ACK封包之緩衝用,至少準備2個。於個別之緩衝記憶體緩衝之封包數量,依目標帶寬與測量之帶寬之間之差距而定。例如關於資料封包之緩衝封包數量,係設定約TCP通訊初始轉送時之TCP視窗大小之封包數量。儲存緩衝記憶體之封包資料之區域設定為64千位元組,初始轉送時之TCP視窗大小設定為1450位元組,則封包數量約為64KB/1450B=45封包。
封包用緩衝記憶體不只包含有封包之資料,還包含有用以進行緩衝部14之管理之管理資訊,所以記憶體量較封包長度大。在此,假設每封包2千位元組,每一通信期緩衝最大50封包,則每一通信期所需記憶體量為10萬位元組,若1萬個通信期,那麼就需十億位元組。
藉帶寬調整處理,對應目標帶寬控制來自傳送終端2A之傳送帶寬,所以實際上每一通信期之平均緩衝量為10封包以下。若準備十億位元組之緩衝記憶體,那麼即使10萬通信期同時中繼轉送,仍可進行處理。
縱然為備於同時中繼轉送多數通信期之用而先確保緩衝記憶體之容量,還是可能發生緩衝記憶體耗盡之狀況。此時,繼續帶寬調整處理,而不進行封包之緩衝。如前所述,傳送終端2A和接收終端4B藉TCP功能進行封包之重傳,所以即使記憶體耗盡而不進行緩衝,仍不會造成通訊上之問題。雖然緩衝記憶體有可能會暫時過載,不過還是可進行帶寬調整處理,而不會對通訊造成不良影響。
此外,若如實施例,具有帶寬調整裝置1之網路機器為中繼裝置3,亦可構造成判斷儲存於緩衝部14之封包之中無須緩衝之資料封包並廢棄。配合參照第第18圖,具體說明廢棄無須緩衝之資料封包之方法。
第18圖係說明廢棄緩衝資料之處理之圖。
當接收終端4B接收資料封包時,便於ACK號碼包含接著傳送終端2A應傳送之資料封包之順序號碼且傳送ACK封包。具有本實施形態之帶寬調整裝置1之中繼裝置3,當接收ACK封包時,便參照緩衝部14之資料封包之順序號碼。然後,若有與接收之ACK號碼一致之順序號碼之資料封包正緩衝中,就廢棄ACK封包,並判斷不需要之資料封包正緩衝中。接著,廢棄較ACK號碼早之資料封包。即,將取得較接著傳送終端2A應傳送之封包之順序號碼小之順序號碼之資料封包廢棄。
此外,中繼裝置3對之後自傳送終端2A而來之資料封包之中,值較ACK號碼小之順序號碼之資料封包,判斷為無須緩衝及轉送,且廢棄之。
第18圖所示之例中,具有帶寬調整裝置1之中繼裝置3接收ACK號碼「5」之ACK封包AP(5)。這表示於接收終端4B已完成接收順序號碼「4」之資料封包DP(4)。因此,中繼裝置3對順序號碼5-1=4以下之資料封包DP(4)、DP(3),判斷為無須緩衝‧轉送,且廢棄之。
依此,具有帶寬調整裝置1之中繼裝置3參照ACK封包之ACK號碼並廢棄較舊之資料封包,藉此可減少自中繼裝置3至接收終端4B之浪費之流量,有助於節省需要之緩衝量。
又,如前所述,本實施形態之帶寬調整裝置1即使僅中繼轉送A→B方向及B→A方向之雙向之中單向之封包,仍可調整帶寬。然而,關於第18圖所示廢棄封包處理,係依ACK封包即B→A方向之通訊狀況,控制資料封包即A→B方向之通訊。因此,第18圖之封包廢棄處理可適用於監視雙向之通訊時。
[代理重傳]
帶寬之促進處理之說明中,針對帶寬調整裝置1取代傳送終端2A和接收終端4B,傳送(代理重傳)封包之事細述。在此,詳細說明代理重傳之具體方法即其應用例。
第19圖係顯示資料封包之代理重傳處理之流程圖。第3圖之帶寬調整裝置1之帶寬調整部24,執行例如第13圖所示帶寬調整處理,並執行第19圖所示資料封包之代理重傳處理。
首先,在步驟S61,判定測量帶寬是否低於目標帶寬。若測量帶寬低於目標帶寬(在步驟S61為yes時),不特別進行處理,結束處理。
另一方面,若測量帶寬高於目標帶寬(在步驟S61為no時),進入步驟S62。然後,由緩衝部14將具有通信期表13管理之ACK號碼之最大值或較最大值更大之值之順序號碼之資料封包,複製且傳送至接收終端4B,結束處理。
第20圖係顯示ACK封包之代理重傳處理之流程圖。與第19圖同樣地,帶寬調整部24執行第13圖所示帶寬調整處理時,亦可一併執行第20圖所示ACK封包之代理重傳處理。
首先,在步驟S71,判定測量帶寬是否低於目標帶寬,若測量帶寬低於目標帶寬(在步驟S71為yes時),不特別進行處理,結束處理。這與第19圖之步驟S61為yes時一樣。
另一方面,若測量帶寬高於目標帶寬(在步驟S71為no時),進入步驟S72。然後,由緩衝部14將具有通信期表13管理之ACK號碼之最大值之ACK封包,複製且傳送至傳送終端2A,結束處理。
帶寬調整處理時進行資料封包和ACK封包之代理重傳之效果,如帶寬調整處理之說明中所提。
又,也可利用第19圖和第20圖所示封包之代理重傳處理,判斷帶寬調整裝置1是否需要封包之重傳,若判斷需要時,自動重傳資料封包。
第21圖係說明資料封包之自動代理重傳方法之圖。
接收自接收終端4B傳送之ACK封包之(中繼裝置3)帶寬調整裝置1,當在緩衝部14保存有對應所接收ACK封包之資料封包時,會將ACK封包廢棄而不傳送至傳送終端2A,並且將緩衝中之資料封包傳送至接收終端4B。相較於傳送終端2A依ACK封包所包含ACK號碼來傳送對應之資料封包,中繼裝置3(之帶寬調整裝置1)傳送對應ACK封包之資料封包,所以在此稱為資料封包之「自動代理重傳」。
第21圖所示之例中,具有帶寬調整裝置1之中繼裝置3接收ACK號碼「5」之ACK封包AP(5)。帶寬調整裝置1,於緩衝部14正緩衝順序號碼「5」之資料封包DP(5)時,不將ACK封包轉送至傳送終端2A,而是複製緩衝部14之順序號碼「5」之資料封包DP(5)並將之重傳至接收終端4B。當接收ACK號碼「6」之ACK封包AP(6)時,亦同樣地自動重傳順序號碼「6」之資料封包DP(6)。
又,如前所述,本實施形態之帶寬調整裝置1,即使僅中繼轉送A→B方向及B→A方向之雙向之中單向之封包,仍可調整帶寬。然而,關於第21圖所示自動代理重傳處理,係依ACK封包即B→A方向之通訊狀況,控制資料封包即A→B方向之通訊。因此,自動代理重傳處理可適用於監視雙向之通訊時。
第22圖係顯示資料封包之自動代理重傳處理之流程圖。第3圖之帶寬調整部24,當被來自相反方向之帶寬調整部通知ACK封包之ACK號碼時,執行第22圖所示處理。
首先,在步驟S81,判定緩衝部14之佇列是否儲存有對應於相反方向之帶寬調整部接收之ACK封包之ACK號碼(即與ACK號碼一致)之順序號碼之資料封包。若佇列沒有該符合之資料封包(在步驟S81為no時),不特別進行處理,結束處理。
在步驟S81之判定時,若於佇列儲存有該符合之資料封包(在步驟S81為yes時),進入步驟S82。然後,由緩衝部14複製該符合之資料封包並重傳至接收終端4B,結束處理。
於具有帶寬調整裝置1之中繼裝置3進行第21圖及第22圖所示資料封包之自動代理重傳處理,可節省自中繼裝置3至傳送終端2A之往復延遲時間及流量。
[資料封包之自動多傳]
利用帶寬調整裝置1之緩衝功能,亦可執行資料封包之多傳處理。即,自具有帶寬調整裝置1之中繼裝置3至接收終端4B之路徑上,若封包廢棄之概率高,中繼裝置3以預定頻率複製資料封包並重複傳送(多傳)。中繼裝置3依ACK封包之接收狀況來判斷封包廢棄之概率。
中繼裝置3亦可依觀測包含多傳之中繼帶寬(資料封包之傳送方向帶寬)與接收帶寬(ACK封包之傳送方向帶寬)之結果,調整多傳比率。例如,當相對於包含多傳之中繼帶寬,接收帶寬較小時,判斷自中繼裝置3傳送之資料封包之廢棄概率高,並執行提高多傳之資料封包之比率等處理。
藉此種資料封包之多傳處理,也可降低封包廢棄之概率,提高TCP通訊之性能。
又,如前所述,本實施形態之帶寬調整裝置1,即使僅中繼轉送A→B方向及B→A方向之雙向之中單向之封包,仍可調整帶寬。然而,關於前述資料封包之自動多傳處理,係依ACK封包即B→A方向之通訊狀況,控制資料封包即A→B方向之通訊。因此,自動多傳處理可適用於監視雙向之通訊時。
[多重使用]
具有前述帶寬調整功能之網路機器亦可於通訊路徑上設置多數。帶寬調整裝置1不進行封包之變更等,而僅對應目標帶寬來調整封包之傳送間隔。因此,可構造成於通訊路徑上配置多數帶寬調整裝置1,且於各帶寬調整裝置1執行帶寬調整處理。由於如此多重使用帶寬調整裝置1之結構,也不進行封包之變更,所以帶寬調整裝置1間不會相互造成不良影響。又,各帶寬調整裝置1執行帶寬調整處理,藉此各路徑之通訊可穩定,所以相較於僅1台帶寬調整裝置1進行帶寬調整時,可期待更卓越之效果。
另,多重使用帶寬調整裝置1,於各帶寬調整裝置1進行前述緩衝處理時,目標帶寬宜設定較低。這是由於可預測在路徑上多處進行緩衝造成之中繼延遲將增加之故。藉著將目標帶寬設定較低,可降低為帶寬之促進而進行緩衝之頻率,藉此可預見將有效抑制中繼延遲之增加。
[服務通知]
因管理頗多通信期,帶寬調整裝置1之通信期表13額滿時,帶寬調整裝置1(具有帶寬調整裝置1之中繼裝置3)對屆滿之TCP通信期,單只進行封包之中繼轉送。因此,就不對屆滿之TCP通訊執行帶寬調整。即使由於前述帶寬調整裝置1之多重使用,而於路徑上設有多數帶寬調整裝置1,基本上也已考慮到因為先前傳送之TCP通信期已執行帶寬調整處理,所以在首先之帶寬調整裝置1屆滿之TCP通訊在後續之帶寬調整裝置1就不會進行帶寬調整。
於是,可在多重使用之系統結構,設定使顯示是否在任一帶寬調整裝置1已完成帶寬調整處理之封包之資訊,包含於TCP封包。帶寬調整裝置1可對未實施帶寬調整處理之封包優先進行帶寬調整處理。將顯示路徑上傳送之封包是否已完成帶寬調整處理之資訊稱為「服務通知資訊」,以下具體說明在多重使用之結構中,參照服務通知資訊來執行帶寬調整處理之方法。
第23圖係說明藉服務通知資訊之利用以分散帶寬調整處理之方法之圖。第23圖顯示傳送終端2A及接收終端4B藉由2台中繼裝置3A、3B進行通訊之例。為便於說明,傳送終端2A-中繼裝置3A間、中繼裝置3A-中繼裝置3B間及中繼裝置3B-接收終端4B間之路徑,分別稱為(a)、(b)及(c)。
兩個封包P1、P2經由路徑(a)-(c)至接收終端4B被接收之間,具有帶寬調整裝置1之中繼裝置3A、3B中繼轉送封包P1、P2。各中繼裝置3A、3B之帶寬調整裝置1A、1B參照封包P1、P2之服務通知資訊,對未實施帶寬調整處理之封包優先執行帶寬調整處理,藉此在通訊系統內進行帶寬調整處理之分散。
經由路徑(a)到達中繼裝置3A之封包,均於服務通知資訊儲存有顯示帶寬調整處理「未執行」之值。中繼裝置3A之帶寬調整裝置1A,中繼轉送之封包P1、P2之中對部分之封包P1進行帶寬調整。至於封包P2則直接中繼轉送。
經由路徑(b)到達中繼裝置3B之封包之中,封包P1之服務通知資訊設定有顯示帶寬調整處理「完成」之值,封包P2之服務通知資訊則儲存有顯示帶寬調整處理未執行之值。中繼裝置3B之帶寬調整裝置1B參照封包P1、P2之服務通知資訊,對尚未完成帶寬調整處理之封包P2優先進行帶寬調整。路徑(c)上傳送已完成帶寬調整之封包P1、P2。
如前所述,路徑上設置有多數帶寬調整裝置1,藉著參照服務通知資訊,判斷未實施帶寬調整處理之封包並優先進行帶寬調整,可分散帶寬調整處理。藉此,可提高路徑上傳送之封包於任一帶寬調整裝置1進行帶寬調整之可能性。
接下來,配合參照第24圖及第25圖,說明服務通知資訊之設定例。
第24圖係顯示服務通知資訊之設定方法一例之圖。如第24圖所示之例,服務通知資訊使用TCP標頭之預定位元之1位元,將服務通知旗標f1添加於TCP封包。可設定為於服務通知旗標f1,例如若儲存「1」,顯示該封包已完成帶寬調整處理,若儲存「0」,顯示尚未完成帶寬調整處理。關於TCP標頭之其他欄位,由於是公知技術,所以省略其說明。
以第24圖所示方法設定服務通知旗標f1,而不進行TCP選項之追加等,將封包之變更減到最小。
第25圖係顯示服務通知資訊之設定方法另一例之圖。第25圖所示之例中,關於TCP標頭之緊急(URG)旗標f2設定為「0」之封包,於緊急指標(Urgent Pointer)p之欄位設定服務通知資訊。在此,其他欄位之說明與第24圖同樣地予以省略。
在TCP之規格中,緊急指標p定義為僅在URG旗標f2設定為「1」時有效。因此,如前所述,當URG旗標f2設定為「0」時,緊急指標p就會被忽視,不會對一般TCP通訊造成影響。
具有帶寬調整裝置1之中繼裝置3,當對自其他裝置接收之TCP封包進行帶寬調整時,於如第24圖和第25圖所示TCP標頭之預定欄位之服務通知旗標(f1和f2),設定顯示帶寬調整處理執行完成之值,在此設定為「1」之後,轉送TCP封包。於帶寬調整處理未執行之封包設定「0」,因此藉著參照該預定欄位之值,各帶寬調整裝置1判斷是否需要帶寬調整處理。
另,服務通知旗標,係顯示藉路徑上所設多數帶寬調整裝置1之中至少1台帶寬調整裝置1已完成帶寬調整之事。即,對於服務通知旗標儲存有顯示已執行之「1」之封包,亦可再於其他帶寬調整裝置1執行帶寬調整,成為前述多重使用。帶寬調整裝置1亦可不論服務通知旗標之值,當例如通信期表13有空間時,就視為帶寬調整之對象。
又,前述旗標之值為一例,亦可顯示帶寬調整已執行之值為「0」,顯示未執行之值為「1」。
如以上說明,藉著進行前述服務通知,即使在多重使用帶寬調整裝置1時,仍可參照服務通知旗標等,對儲存有顯示未實施帶寬調整處理之資訊之封包優先進行帶寬調整。結果,設於通訊系統之多數帶寬調整裝置1,分別可分散帶寬調整處理,而可對更多通信期執行帶寬調整處理。
[通信期管理]
如先前第10圖之封包判別處理之說明中也提及,本實施形態之帶寬調整裝置1,將判別為TCP封包之封包視為帶寬之抑制及促進之對象。帶寬調整裝置1依「每佇列流量」方式,以流量單位辨識TCP通訊,按每一TCP通信期來管理通信期,進行帶寬調整等處理。如參照第3圖所說明者,帶寬調整裝置1利用通信期表13來管理TCP通信期。以下具體說明通信期之管理方法。
第26圖係顯示藉第3圖之通信期管理部22進行之通信期管理處理之流程圖。通信期管理部22當自判斷所接收之封包為TCP封包之封包判別部21接收封包時,開始第26圖所示處理。
首先,在步驟S91,計算通信期識別碼。通信期識別碼係用以辨識TCP封包是哪一通信期之資訊。通信期識別碼之具體求法容後再述。
在步驟S92,判定在步驟S91所求得之通信期識別碼是否登錄於通信期表13。若通信期識別碼業已登錄於通信期表13(在步驟S92為yes時),表示是於帶寬調整裝置1有進行了帶寬測量‧帶寬調整之通信期,所以就無須進行新登錄,進入步驟S100。在步驟S100,將封包轉送至接收帶寬測量部23,結束處理。
在步驟S92之判定時,若在步驟S91所求得之通信期識別碼未登錄於通信期表13(在步驟S92為no時),就必須登錄到通信期表13,所以進入步驟S93,判定通信期表13是否有空間。若有空間(在步驟S93為yes時),進入步驟S99,執行通信期登錄處理。具體而言,係將通信期識別碼和對應通信期之目標帶寬、其他所需資訊登錄於通信期表13,進入步驟S100。關於步驟S100之處理如前所述。
另,在步驟S99之通信期登錄處理中,於通信期表13登錄通信期時,進行目標帶寬之初始值之設定。初始值可構造成依IP位址和TCP埠號之範圍等條件,自預先定義之多數之值中選擇預定初始值。
若通信期表13沒有空間(在步驟S93為no時),就自步驟S93進入步驟S94,判定既存通信期,即登錄於通信期表13之通信期是否有效。若包含有非有效通信期(在步驟S94為no時),就自步驟S94進入步驟S98,執行通信期結束處理,進入步驟S99。具體而言,係傳送結束通知至封包之傳送目的地之終端,並且將非有效之通信期自通信期表13刪除,進入步驟S99。關於步驟S99以後之處理如前所述。
若登錄於通信期表13之通信期全部皆為有效(在步驟S94為yes時),就自步驟S94進入步驟S95。然後在步驟S95,判定在步驟S91時求得通信期識別碼之封包是否為FIN封包或RST封包。在步驟S95,藉參照TCP標頭之碼位元來進行判定。
在步驟S95之判定時,若封包為FIN封包或RST封包(在步驟S95為yes時),就自步驟S95進入步驟S97,執行通信期結束處理。具體而言,係傳送結束通知至封包之傳送目的地之終端,並且利用在步驟S91求得之通信期識別碼取得該符合之通信期,且自通信期表13將該符合之通信期之相關資訊刪除,結束處理。
若封包並非FIN封包也非RST封包(在步驟S95為no時),就自步驟S95進入步驟S96,直接中繼轉送該封包,而不進行帶寬測量‧帶寬調整,結束處理。
又,在步驟S91求得之通信期識別碼,係例如可利用IP位址及TCP埠號之對來算出。IP位址及TCP埠之對之長度,在Ipv4為10位元組,在IPv6為34位元組,自此產生約4位元組之通信期識別碼。如第26圖之流程圖之說明中也提及,通信期表13之檢索係利用通信期識別碼來進行。
實施例中,為有效率進行通信期表13之檢索,係利用公知之散列表。此時,通信期識別碼為散列值。
具體而言,係由IP位址及TCP埠號來求散列值,將所求得散列值作為通信期識別碼。為產生為散列值之適切通信期識別碼,可利用例如核對和、CRC(Cyclic Redundancy Check;循環冗餘核對)碼等,適度使產生之碼之值散列。
或者,亦可將整數相加IP位址‧TCP埠號對之資訊所獲得之值作為通信期識別碼。此種碼之產生方法,實用上可充分使碼值散列,此時,碼產生處理所需時間,若以十億赫動作之微處理器處理時,機器指令約10指令,即約10奈秒。
如以上說明,依本實施形態之通信期管理方法,帶寬調整裝置1按每回接收封包,求出通信期識別碼,且進行所求得通信期識別碼是否登錄於通信期表13之判定。若所求得通信期識別碼未登錄於登錄於通信期表13,便於通信期表13進行新登錄,若業已登錄,則利用所登錄之資訊來進行帶寬測量和帶寬調整。依此,若實施形態之帶寬調整裝置1可辨識TCP通信期是持續中,就可追蹤順序號碼和ACK號碼而能執行帶寬測量.帶寬調整,無須監視‧追蹤TCP通訊之狀態變遷。因此,採用前述通信期之管理方法,可減輕加諸於帶寬調整裝置1之負載。
[通信期之監視‧通信期之刪除]
TCP通訊通常藉FIN封包和RST封包來結束。這正如第26圖之步驟S95~步驟S97所述。然而,除此之外,也會因終端(傳送終端2A和接收終端4B)之異常結束、網路斷線等原因而通訊就呈現被放置而沒有正常結束。不過即使通訊呈現被放置而沒有正常結束,最終仍可藉終端之逾時來結束。
如第26圖之步驟S94~步驟S98之處理,在進行通信期之新登錄之時,對於經過預定期間以上封包尚未抵達之通信期,就自通信期表13刪除資訊。或者,隔預定時間查詢通信期表13,在已登錄之通信期之中,若有經過預定期間以上封包尚未抵達者,就刪除其資訊。
如此,辨識未能正常結束之通訊被放置之情形,且自通信期表13刪除已登錄之資訊,於是可排除通信期表13區域之浪費使用,對更多通信期進行帶寬調整。
又,在通信期之新登錄時,和監視經過預定期間以上,結果辨識出封包尚未抵達之通信期時,帶寬調整裝置1自通信期表13刪除資訊,並且對終端傳送主旨為結束通訊之通知,執行通訊結束處理。為執行通訊結束處理,預先以計時器設定TCP通信期之監視時間。若有經過所設定之時間之通信期,就自通信期表13刪除該通信期相關資訊,及對終端傳送結束通知。例如將為TCP指令之一之包含有「RST」之RST封包傳送至終端,藉此進行結束通知。接收RST封包之終端會執行TCP通信期之強制結束。
如上所述,當因通訊障礙和在終端上之障礙導致TCP通信期無法回復時,伺服器和用戶端會依自帶寬調整裝置1接收之結束通知,使變成無法回復之TCP通信期強制結束。舉網站伺服器為例,其須管理10萬個通信期。因此,使因障礙而變成無法回復之通信期強制結束,藉此可大幅減輕加諸於具有大量存取之伺服器之負載。
[進行服務通知時之通信期管理]
關於使用服務通知資訊,使帶寬調整處理分散在多數帶寬調整裝置1之間之事,正如先前所說明者。在此,將說明管理通信期時使用服務通知資訊之方法。
第27圖係顯示使用服務通知資訊之通信期管理處理之流程圖。在此係顯示使用於第24圖和第25圖所示服務通知旗標作為服務通知資訊之例。
第27圖所示一系列處理之中,步驟S91~步驟S100之處理分別與第26圖之步驟S91~步驟S100相同,所以在此省略其說明,只就與第26圖相異之處理作說明。
在步驟S90,參照自封包判別部21接收之封包之TCP標頭,若於服務通知旗標儲存有顯示未執行帶寬調整之值,就進入步驟S91,且執行前述步驟S91以後之通信期管理處理。若於服務通知旗標儲存有顯示帶寬調整處理已執行完成之值,就視為通信期管理部22之通信期管理對象以外之封包,不特別進行處理,結束處理。
在步驟S100,將封包轉送至接收帶寬測量部23,當對通信期管理應執行之處理結束時,在步驟S101,於服務通知旗標設定顯示帶寬調整處理已執行完成之值,結束處理。
第28圖係顯示服務通知旗標處理之流程圖。第28圖係第27圖之通信期管理之中,步驟S90之服務通知旗標處理之詳細流程。
首先,在步驟S111,判定TCP標頭之服務通知旗標是否開啟(ON),即於服務通知旗標是否儲存有顯示帶寬調整處理已執行完成之值。若服務通知旗標關閉,即於服務通知旗標儲存有顯示帶寬調整處理未執行之值(在步驟S111為no時),進入第27圖之步驟S91以後之通信期管理處理。
另一方面,若服務通知旗標開啟(在步驟S111為yes時),進入步驟S112,進而判定於通信期表13是否有空間。若通信期表13有空間(在步驟S112為yes時),進入第27圖之步驟S91以後之通信期管理處理。
若通信期表13沒有空間(在步驟S112為no時),進入步驟S113,直接中繼轉送該封包,而不進行帶寬測量‧帶寬調整,結束處理。
另,關於步驟S112之判定通信期表13有無空間之處理,係為了即使是業已完成帶寬調整處理之封包(即使在步驟S111為yes時),若通信期表13有空間,就判斷為可執行帶寬調整,執行第27圖之步驟S91以後之通信期管理處理。
又,在步驟S112,判定於通信期表13是否有可供新登錄通信期之資訊之空間,不過並不限於此。例如亦可構造成先設定預定比例和閾值,且判定通信期表13之空間是否小於預定比例和閾值。
如前述,若參照服務通知旗標,預先判斷為處理對象之封包,便執行步驟S91以後之通信期管理處理。換言之,對帶寬調整裝置1而言,對非處理對象之封包判斷不需步驟S91以後之通信期管理處理,不進行處理。藉此,可獲得減輕加諸於帶寬調整裝置1之負載之效果。
[活性插入‧活行除去]
如先前第26圖等之說明中也提及,帶寬調整裝置1當接收TCP封包時,就於通信期表13登錄資訊,開始帶寬測量‧帶寬調整。即,帶寬調整裝置1無須為帶寬調整而監視TCP通訊自「SYN」至「FIN/RST」之狀態變遷。
因此,即使是於某通信期之中期將具有帶寬調整裝置1之中繼裝置3插入網路,仍可從接收之TCP封包開始進行帶寬調整。又,即使是在中繼裝置3中繼轉送通訊中將具有帶寬調整裝置1之中繼裝置3自網路除去時,和中繼裝置3因障礙等而停止時,由於正在進行前述緩衝處理,所以不會對TCP通訊造成不良影響。
在此,將於通信期之中期將帶寬調整裝置1設置到通訊系統一事稱為「活性插入」,將於通信期之中期將帶寬調整裝置1自通訊系統除去一事稱為「活性除去」。
由於本實施形態之帶寬調整裝置1可活性插入及活行除去,所以在善用通訊系統上甚有效果。
[通信期表]
如先前TCP通信期管理方法中也提及,帶寬調整裝置1當對所接收之封包進行帶寬調整時,就於通信期表13登錄通信期相關資訊。在此,配合參照第29圖及第30圖,說明通信期表13之資料構造等。
第29圖係顯示通信期表13之構造例之圖。第29圖所示通信期表13,係儲存有自傳送終端2A至接收終端4B之方向及反向之雙向通信期資訊之散列表(一維配列),對應指標儲存通信期表資料。
在實施例中,將散列鍵碼以表大小還有剩餘之值作為散列表之指標,藉此可達成通信期資訊之辨識。該指標之求法係使用公知技術。散列鍵碼如前所述,可從IP位址及TCP埠號之對求得。
第30圖係顯示通信期表資料之構造例之圖。對應散列表之指標之通信期表資料,按每一通信期而設,包含有管理資訊D1、指示相反方向之通信期資訊所在位置之資料D2、封包之傳送來源及傳送目的地之IP位址和TCP埠號相關資料D3、時刻資料D4(D4-1與D4-2)、單位時間D5、測量帶寬資料D6、目標帶寬資料D7、中繼帶寬資料D8、順序號碼相關資料D9、ACK號碼相關資料D10及封包之緩衝資料D11。
管理資訊D1係帶寬調整裝置1之通信期管理部22用於通信期表13管理之資訊。
指示相反方向之通信期資訊所在位置之資料D2,儲存與第30圖所示通信期資訊成對之通信期資訊之通信期表13上所在位置,即第29圖之「指標」。帶寬調整裝置1之通信期管理部22等各部,利用資料D2以存取通信期表13上之相反方向之通信期資訊。資料D2在若未中繼轉送相反方向之流量時是無效。
封包之傳送來源及傳送目的地之IP位址和TCP埠號之資料D3,包含有散列鍵碼(通信期識別碼)、傳送IP位址、接收IP位址、傳送埠號及接收埠號。
另,資料D3儲存有傳送來源及傳送目的地之IP位址和TCP埠號,在實施例中,利用IP位址和TCP埠號之對,求出散列子鍵碼之通信期識別碼。因此,關於指示相反方向之通信期資訊所在位置之資料D2,可利用資料D3,替換IP位址與TCP埠號之傳送/接收來算出。只不過資料D2之區域儲存有預先求得之值,可節省產生散列碼所需時間。
時刻資料D4包含有通信期開始時刻、資料封包中繼時刻及ACK封包中繼時刻等帶寬調整相關之各種時刻資訊。使用例如微秒單位之時刻數值、jiffy等作業系統之最小計時器中斷地計時等一般時刻值。例如,自現在時刻與通信期開始時刻之間之差可獲知通信期持續時間,且利用所得之通信期值續時間來進行前述通信期之刪除處理。
單位時間D5,係表示具有帶寬調整裝置1之網路機器(前述之例中為中繼裝置3)和終端等之內部時刻之單位時間之長度之數值。由於按通信期,單位時間有時不同,所以在實施例中,係按每一通信期設定。
測量帶寬資料D6,儲存於接收帶寬測量部23測量之帶寬,分別包含有每單位時間之測量資料量、最大測量資料量、最小測量資料量、ACK量、最大ACK量及最小ACK量。每單位時間之測量資料量及ACK量,係在單位時間D5之期間內接收帶寬測量部23所測量之流量,於分別之最大值及最小值記錄過去之最大值及最小值。
目標帶寬資料D7儲存顯示於單位時間內應中繼轉送之資料封包和ACK封包之增加之總量之資訊,即目標帶寬。目標帶寬資料D7之各項目之值,係通信期管理部22於通信期表13新登錄資訊時,儲存預定之初始值,且對應例如相反方向之通訊帶寬之測量結果等,變更該值。如帶寬之測量方法之說明,每單位時間之可轉送資料量係資料量之累計。相對於此,每單位時間之可轉送ACK資料量係ACK之增加,而非ACK封包長度之增加。
中繼帶寬資料D8儲存藉帶寬調整部24之帶寬調整而被中繼轉送之封包之帶寬,分別包含有每單位時間之中繼資料量、最大中繼資料量、最小中繼資料量、中繼ACK量、最大中繼ACK量及最小中繼ACK量。資料量及ACK量,與測量帶寬和目標帶寬同樣地,分別由資料量之累計及ACK之增加所構成。另,若ACK沒增加,中繼ACK量變成「0」。又,藉由ACK封包之順序替換,若ACK量減少,就忽略該ACK封包,測量ACK量。
順序號碼相關資料D9儲存於緩衝部14緩衝中之資料封包之順序號碼,在第30圖所示之例中,係儲存緩衝中之資料封包之順序號碼之中之最大順序號碼與最小順序號碼。藉資料D9,就不需要於緩衝部14緩衝中之資料封包之分析,可減少帶寬調整裝置1之處理。
ACK號碼相關資料D10儲存於緩衝部14緩衝中之ACK封包之ACK號碼,在第30圖所示之例中,係儲存緩衝中之ACK封包之ACK號碼之中之最大ACK號碼。
緩衝資料D11於佇列儲存資料封包和1個ACK封包。
如第30圖所示,通信期表資料就單向通訊而言為128位元組,所以就雙向而言就是256位元組。若記憶體為1百萬位元組,可登錄4096個通信期。以現今技術水準而言,若10萬個通信期就有2千5百萬位元組,100萬個通信期就有2億5千6百萬位元組,可輕易完成通信期表13。
[目標帶寬之設定]
於帶寬調整處理時使用之目標帶寬,如第30圖所示,儲存於通信期表13。目標帶寬之初始值,例如可構造成對應IP位址和埠號之值之範圍,自預先定義之值之中選擇。藉IP位址和埠號來決定目標帶寬,可設定對應每個通訊之目標帶寬。此處理由例如通信期管理部22等來執行。
若帶寬調整裝置1辨識TCP封包之接收且開始帶寬調整處理,之後可動態地變更目標帶寬。變更之時機,可例舉如在某些封包處理中參照通信期表13時、進行第12圖所示定期中斷處理時、帶寬調整裝置1之管理者有意變更時等等。不論哪一種情況時,均參照該時點之通信期表資料(第30圖),適當設定資料D7之單位時間可轉送資料量和單位時間可轉送ACK量。此處理由例如接收帶寬測量部23等來執行。
動態地設定目標帶寬,可使用對應實際通訊之更適切目標帶寬來進行帶寬調整。
如以上所說明,依本實施形態之帶寬調整裝置1,係監視經過帶寬調整裝置1之封包,且比較通訊所需帶寬與所測量之實際帶寬,再對應該比較進行帶寬之抑制和促進。若測量帶寬高於目標帶寬,就控制封包之傳送時機,「抑制」帶寬,俾以一定間隔,即以目標帶寬傳送封包。另一方面,若測量帶寬低於目標帶寬,就藉著代理重傳預先緩衝完成之封包至傳送終端2A和接收終端4B,以「促進」帶寬。藉帶寬之抑制,通訊性能可被抑制到預定範圍內,所以可有效抑制叢發流量等發生,避免終端間之通訊性能之不一。藉此,可將習知約為1Mbps之通訊性能改善到約數Mbps程度。又,藉帶寬之促進,可促使終端進行封包傳送,有效抑制封包重傳及重傳造成之流量增加。如此進行帶寬之抑制或促進使實際帶寬趨向目標帶寬,對於經由帶寬調整裝置1之通訊,就可以通信期單位將通訊性能抑制到預定範圍內,並且有效抑制封包重傳,所以發揮使通訊穩定之效果。
網際網路等IP網路係提供「無可靠性通訊」之網路之基礎,不過對在此網路提供如TCP之「具可靠性通訊」之通訊進行前述帶寬調整。習知技術中,當各終端網路速度差異甚大時,終端間提供之通訊品質就會不均。例如,相對於提供服務之伺服器與高速網路連接,使用者側終端一般是與較低速存取網路連接。在這樣不均衡之環境下,藉著進行前述帶寬之促進及抑制,可改善進行「具可靠性通訊」之終端間之通訊。
又,依本實施形態之帶寬調整裝置1,可僅監視雙向通訊之中之單向之封包且利用於另一方向之帶寬調整,所以無須設置相對之裝置。又,由於可設置在路徑上任意之處,所以可降低網路設計成本。此外,亦可於路徑上設置多數帶寬調整裝置1,各裝置監視經過自身裝置內之封包以進行帶寬調整,所以裝置間不會相互干涉。甚至可說在多數帶寬調整裝置1之各個分別進行帶寬調整,可在路徑上多處進行帶寬調整,使TCP通訊更穩定。
此外,並非對TCP/IP封包施加影響通訊之變更,而是僅使用IP層之「無可靠性通訊」所容許之封包操作,且至少可僅藉TCP通訊之單向之中繼轉送等執行帶寬調整處理。如此帶寬調整處理藉由較為單純之軟體也可實現,因此若是具有路由器、橋接器等、網路設備機器、終端等之通訊功能之網路連接器,就可將帶寬調整裝置1組入。
另,實施例中,以於中繼裝置3組入帶寬調整裝置1之例作說明,所以提及如何「中繼轉送」封包以進行帶寬調整。當帶寬調整裝置1組入終端時,帶寬調整裝置1以自身裝置送出之封包和自身裝置接收之封包作為帶寬測量‧帶寬調整等之對象且藉前述方法「傳送」封包來實現。通信期之監視‧刪除處理,係終端從自身裝置內之帶寬調整裝置對TCP層傳送結束通知以使無法回復之通信期結束。
此外,藉帶寬調整裝置1進行之帶寬調整處理,若帶寬調整裝置1設於中繼裝置3,就不會如習知TCP技術終止中繼TCP。又,帶寬調整處理不依附既存之TCP/IP處理功能。帶寬調整裝置1可參照接收之TCP/IP封包之控制資訊,進行帶寬調整處理,不需複雜之處理。因此,若於中繼裝置3組入帶寬調整裝置1,便可輕易使該中繼裝置3具有高速TCP Splicing功能。因此,具有提高處理性能之可擴縮性。又,藉著處理性能之可擴縮性提高,即使在眾多流量集中之基幹網路,仍可按每個通信期管理且進行帶寬調整。
此外,帶寬調整裝置1依接收之封包是否為TCP封包,來辨識通信期,以通信期單位進行帶寬調整,所以無須參照TCP標頭來判斷TCP通訊之狀態。藉此,即使在通訊於傳送終端2A與接收終端4B之間持續時,仍可將帶寬調整裝置1追加設置到通訊系統以及將其自通訊系統除去,而無須切斷通訊。因此,可實現TCP通訊之穩定化,而不會因帶寬調整裝置1之追加和除去就降低網路可靠性。
另,前述係舉例傳送終端2A-接收終端4B之間之通訊在使用TCP時之帶寬調整執行方法來作說明,不過本發明並不限於此。使用例如SCTP(Stream Control Transmission Protocol;串流控制傳輸協定)、XTP(Xpress Transport Protocol;Xpress傳送層協定)等進行通訊時,也同樣地可適用前述帶寬調整方法。
1A,1B,1C...帶寬調整裝置
2A...傳送終端
3...中繼裝置
3A,3B...中繼裝置
4B...接收終端
10...網路
11,12...帶寬調整中繼部
13...通信期表
14...緩衝部
21...封包判別部
22...通信期管理部
23...接收帶寬測量部
24...帶寬調整部
25...傳送帶寬測量部
30~33...其他模組
D1...管理資訊
D2...資料
D3...IP位址和TCP埠號之資料
D4-1,D4-2...時刻資料
D5...單位時間
D6...測量帶寬資料
D7...目標帶寬資料
D8...中繼帶寬資料
D9...順序號碼相關資料
D10...ACK號碼相關資料
D11...緩衝資料
f1...服務通知旗標
f2...緊急(URG)旗標
P1,P2...封包
S1-S16,S21-S22,S31-S38,S41-S43,S51-S53,S61-S62,S71-S72,S81-S82,S91-S101,S111-S113...步驟
第1(a)-(b)圖係顯示具有本實施形態之帶寬調整裝置之通訊系統之整體圖。
第2圖係本實施形態之帶寬調整裝置之結構圖。
第3圖係帶寬調整中繼部之結構圖。
第4圖係說明本實施形態之帶寬調整裝置之帶寬調整中繼部測量資料封包之帶寬之方法的圖。
第5圖係說明本實施形態之帶寬調整裝置之帶寬調整中繼部測量ACK封包之帶寬之方法的圖。
第6圖係說明關於資料封包傳送方向之帶寬抑制方法之圖。
第7圖係說明關於ACK封包傳送方向之帶寬抑制方法之圖。
第8圖係說明關於資料封包傳送方向之帶寬促進方法之圖。
第9圖係說明關於ACK封包傳送方向之帶寬促進方法之圖。
第10圖係顯示接收之封包之判別處理之流程圖。
第11圖係顯示帶寬測量處理之流程圖。
第12圖係顯示帶寬調整處理之中斷處理之流程圖。
第13圖係顯示帶寬調整處理之流程圖。
第14圖係說明緩衝資料封包之方法之圖。
第15圖係說明利用已緩衝之ACK封包之方法之圖。
第16圖係說明資料封包之緩衝處理之流程圖。
第17圖係說明ACK封包之緩衝處理之流程圖。
第18圖係說明廢棄緩衝資料之處理之圖。
第19圖係顯示資料封包之代理重傳處理之流程圖。
第20圖係顯示ACK封包之代理重傳處理之流程圖。
第21圖係說明資料封包之自動代理重傳方法之圖。
第22圖係顯示資料封包之自動代理重傳處理之流程圖。
第23(a)-(c)圖係說明藉服務通知資訊之利用以分散帶寬調整處理之方法之圖。
第24圖係顯示服務通知資訊之設定方法一例之圖。
第25圖係顯示服務通知資訊之設定方法另一例之圖。
第26圖係顯示通信期管理處理之流程圖。
第27圖係顯示使用服務通知資訊之通信期管理處理之流程圖。
第28圖係顯示服務通知旗標處理之流程圖。
第29圖係顯示通信期表之構造例之圖。
第30圖係顯示通信期表資料之構造例之圖。
11...帶寬調整中繼部
13...通信期表
14...緩衝部
21...封包判別部
22...通信期管理部
23...接收帶寬測量部
24...帶寬調整部
25...傳送帶寬測量部
30,31...其他模組
Claims (18)
- 一種通訊裝置,係當傳送裝置及接收裝置藉由網路進行通訊時,控制通訊之帶寬者,包含有:測量部,係對自前述傳送裝置至前述接收裝置,及自前述接收裝置至前述傳送裝置之雙向通訊中之至少單向之通訊,測量帶寬者;記憶部,係記憶關於包含顯示通訊所需帶寬之目標帶寬之帶寬調整之資訊者;及調整部,係自前述記憶部讀取前述已測量帶寬之方向之目標帶寬,且依前述測量部所測量之帶寬與該讀取之目標帶寬之間之比較,調整封包之送出間隔,以進行帶寬之抑制或促進者,前述調整部進行封包處理,即進行封包之廢棄、封包之中繼或傳送、多數之複製封包之中繼或傳送及封包之送出間隔之控制,以調整帶寬,而不對在前述傳送裝置及接收裝置之間傳收之封包附加變更。
- 如申請專利範圍第1項之通訊裝置,其中前述測量部觀測自前述傳送裝置接收第1封包之前述接收裝置對該傳送裝置回傳之第2封包,並測量關於該第2封包之傳送方向之通訊之帶寬,且前述調整部控制前述第2封包之送出間隔,藉由拉長或縮短該第2封包之送出間隔,來進行帶寬之抑制或促進。
- 如申請專利範圍第2項之通訊裝置,其中前述測量部依包含於前述第2封包之前述傳送裝置接著應傳送之顯示 前述第1封包之資訊,測量該第2封包之傳送方向之帶寬,且前述調整部控制前述第2封包之送出間隔,俾前述傳送裝置接著應傳送之顯示前述第1封包之資訊之增加靠近前述目標帶寬,藉此來進行前述帶寬之抑制或促進。
- 如申請專利範圍第1項之通訊裝置,更包含有封包儲存部,係將前述傳送裝置傳送之第1封包及前述接收裝置對該第1封包回傳之第2封包,依包含於該第1封包及第2封包之顯示封包順序之資訊儲存者,且前述調整部藉由前述網路接收封包時,比較該接收之封包及儲存於前述封包儲存部之封包之前述顯示封包順序之資訊,若前述顯示封包順序之資訊相互一致,就廢棄儲存於前述封包儲存部之封包或前述接收之封包之其中任一者,並將另一者之封包保存於該封包儲存部。
- 如申請專利範圍第4項之通訊裝置,其中當前述第1或第2封包之傳送方向之帶寬低於該通訊方向之前述目標帶寬時,前述調整部複製儲存於前述封包儲存部之封包,且以對應該目標帶寬之送出間隔至少送出一次該複製封包。
- 如申請專利範圍第5項之通訊裝置,其中當經預定時間以上未辨識前述第2封包時,前述調整部自前述封包儲存部,取得顯示第1封包之順序之號碼對應顯示第2封包之順序之號碼之中之最大號碼之第1封包,且使該取得之第1封包之複製封包朝前述接收裝置送出。
- 如申請專利範圍第5項之通訊裝置,其中當經預定時間以上未辨識前述第1封包時,前述調整部自前述封包儲存部,取得顯示第2封包之順序之號碼獲取最大號碼之第2封包,且使該取得之第2封包之複製封包朝前述傳送裝置送出。
- 如申請專利範圍第5項之通訊裝置,其中前述調整部使關於顯示前述封包之順序之號碼為同一第2封包之複製封包連續送出預定次數以上,且提高前述傳送裝置之傳送帶寬。
- 如申請專利範圍第1項之通訊裝置,其中前述測量部及調整部具有分別進行前述傳送裝置及接收裝置之間雙向通訊之中關於其中一方之通訊之帶寬測量及帶寬調整之第1測量部及第1調整部,以及關於另一方之通訊之帶寬測量及帶寬調整之第2測量部及第2調整部,並且使前述雙向通訊之中正在辨識封包之通訊方向之測量部及調整部作動以對關於該辨識中之通訊方向進行帶寬調整。
- 如申請專利範圍第4項之通訊裝置,其中前述調整部對自前述接收裝置接收之第2封包之中將於前述傳送裝置遭廢棄之封包,不使之送出至該傳送裝置而是於自身裝置中廢棄。
- 如申請專利範圍第1項之通訊裝置,更包含有管理部,係當自前述傳送裝置或接收裝置接收封包時,便於前述記憶部進行資訊之登錄,且開始該傳送裝置與接收裝置 之間之通信期之管理者,且前述記憶部對應用以辨識前述傳送裝置與前述接收裝置之間之通信期之資訊,記憶關於該通信期之帶寬調整之資訊。
- 如申請專利範圍第11項之通訊裝置,其中前述通信期管理部參照包含於前述封包之顯示通訊之狀態變化之資訊,當該顯示狀態變化之資訊儲存有結束該傳送裝置與接收裝置之間之通信期之主旨之值時,自前述記憶部刪除用以辨識該通信期之資訊及對應該資訊之關於帶寬調整之資訊,並且對該封包之傳送目的地之前述傳送裝置或接收裝置,產生且送出用以通知通訊結束之通知封包。
- 如申請專利範圍第11項之通訊裝置,其中當經預定時間未辨識關於管理中之通信期之封包時,前述通信期管理部自前述記憶部刪除用以辨識該通信期之資訊及對應該資訊之關於帶寬調整之資訊,並且對前述傳送裝置及接收裝置,產生且送出用以通知通訊結束之封包。
- 如申請專利範圍第1項之通訊裝置,其中前述調整部於已進行帶寬調整之前述封包設定顯示帶寬調整處理已執行之資訊,且依接收之封包是否設定有該資訊來判定該接收之封包是否為帶寬調整之對象。
- 如申請專利範圍第14項之通訊裝置,其中前述調整部,於前述封包之TCP(Transmission Control Protocol;傳輸控制協定)標頭之緊急(URGENT)位元設定0,於緊急(URGENT)指標欄設定顯示帶寬調整處理已執行之資訊,且於該封包之核對和欄設定含有該設定之資訊之值。
- 如申請專利範圍第1項之通訊裝置,其中前述測量部比較前述測量之帶寬與前述目標帶寬,且當該測量之帶寬高於該目標帶寬時,在預設之目標帶寬之容許範圍內增加目標帶寬,當該測量之帶寬低於該目標帶寬時,在該容許範圍內減少目標帶寬,並使前述記憶部記憶該變更之目標帶寬。
- 如申請專利範圍第11項之通訊裝置,其中前述管理部依封包之網路位址之範圍、通訊協定之種類、通訊之持續時間、時區、測量帶寬或送出之資料量,變更關於管理之通信期之目標帶寬,且使該變更之目標帶寬記憶於前述記憶部。
- 一種通訊方法,係當傳送裝置及接收裝置係透過網路進行通訊時,控制通訊之帶寬者,其係:對自前述傳送裝置至前述接收裝置,及自前述接收裝置至前述傳送裝置之雙向通訊中之至少單向之通訊,測量帶寬,且自記憶部讀取前述已測量帶寬之方向之目標帶寬,並依前述測量之帶寬與該讀取之目標帶寬之間之比較,調整封包之送出間隔,以進行帶寬之抑制或促進,其中前述記憶部是記憶關於包含顯示通訊所需帶寬之目標帶寬之帶寬調整之資訊者,進行封包處理,即進行封包之廢棄、封包之中繼或傳送、多數之複製封包之中繼或傳送及封包之送出間隔之控制,以調整帶寬,而不對在前述傳送装置及接收装置之間傳收之封包附加變更。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/059221 WO2011151884A1 (ja) | 2010-05-31 | 2010-05-31 | 通信装置及び通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201212593A TW201212593A (en) | 2012-03-16 |
TWI530123B true TWI530123B (zh) | 2016-04-11 |
Family
ID=45066283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100118429A TWI530123B (zh) | 2010-05-31 | 2011-05-26 | Communication devices and communication methods |
Country Status (12)
Country | Link |
---|---|
US (1) | US8761010B2 (zh) |
EP (1) | EP2579516B1 (zh) |
JP (1) | JP5059976B2 (zh) |
KR (1) | KR101746629B1 (zh) |
CN (1) | CN102474463B (zh) |
BR (1) | BR112012030524A2 (zh) |
CA (1) | CA2800669C (zh) |
HK (1) | HK1171134A1 (zh) |
IL (1) | IL223255A (zh) |
SG (1) | SG185769A1 (zh) |
TW (1) | TWI530123B (zh) |
WO (1) | WO2011151884A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5263394B2 (ja) * | 2009-06-16 | 2013-08-14 | 富士通オプティカルコンポーネンツ株式会社 | 光通信装置及び光通信装置の節電制御方法 |
JP5501052B2 (ja) * | 2010-03-24 | 2014-05-21 | キヤノン株式会社 | 通信装置、通信装置の制御方法、プログラム |
JP5937806B2 (ja) * | 2011-11-10 | 2016-06-22 | 株式会社Nttドコモ | 移動通信方法、ポリシー及び課金ルールサーバ装置及び移動管理ノード |
US9648133B2 (en) * | 2012-03-12 | 2017-05-09 | Telefonaktiebolaget L M Ericsson | Optimizing traffic load in a communications network |
JP5739373B2 (ja) * | 2012-05-01 | 2015-06-24 | 日本電信電話株式会社 | 可用帯域測定装置及び方法及びプログラム |
US9413672B2 (en) * | 2012-06-06 | 2016-08-09 | Apple Inc. | Flow control for network packets from applications in electronic devices |
JP5935571B2 (ja) * | 2012-07-27 | 2016-06-15 | 富士通株式会社 | 帯域幅制御装置、帯域幅制御方法、および、帯域幅制御プログラム |
US20140047126A1 (en) * | 2012-08-10 | 2014-02-13 | International Business Machines Corporation | Coordinated enforcement of traffic shaping limits in a network system |
CN103944691B (zh) * | 2013-01-17 | 2019-01-15 | 中兴通讯股份有限公司 | 一种协同业务传输中的数据重传方法及接入网网关 |
EP2798507B1 (en) | 2013-02-26 | 2017-03-22 | Fastly Inc. | Enhanced acknowledgement handling in communication packet transfer |
JP6236933B2 (ja) * | 2013-07-02 | 2017-11-29 | 富士通株式会社 | 中継装置 |
JP6144559B2 (ja) * | 2013-07-16 | 2017-06-07 | 日本放送協会 | 並列分散管理装置、プログラム及び並列分散処理システム |
US20150071273A1 (en) * | 2013-09-11 | 2015-03-12 | Celeno Communications (Israel) Ltd. | Efficient transfer of tcp traffic over wlan |
US20150195326A1 (en) * | 2014-01-03 | 2015-07-09 | Qualcomm Incorporated | Detecting whether header compression is being used for a first stream based upon a delay disparity between the first stream and a second stream |
JP2015130121A (ja) * | 2014-01-08 | 2015-07-16 | ヤマハ株式会社 | 中継装置 |
EP3128709B1 (en) * | 2014-04-01 | 2021-09-08 | Ubiquoss Inc. | Method for controlling line in access network having g.hn technology applied thereto, and access network line concentration instrument, access network terminal and access network system using same |
US9450879B2 (en) * | 2014-05-09 | 2016-09-20 | Nexgen Storage, Inc. | Adaptive bandwidth throttling |
US9961585B2 (en) | 2014-05-16 | 2018-05-01 | Nokia Solutions And Networks Oy | Network-side buffer management |
JP6525576B2 (ja) * | 2014-12-17 | 2019-06-05 | キヤノン株式会社 | 制御装置、制御システム、制御方法、医用画像撮影装置、医用画像撮影システム、撮影制御方法およびプログラム |
JP6485040B2 (ja) * | 2014-12-26 | 2019-03-20 | コニカミノルタ株式会社 | 画像形成システム、画像処理装置、および画像処理装置の制御プログラム |
US10601721B2 (en) | 2015-10-29 | 2020-03-24 | Altiostar Networks, Inc. | Maintenance of downlink throughput |
CN105391589B (zh) * | 2015-12-15 | 2018-09-25 | 京信通信系统(中国)有限公司 | 一种报文传输的方法及装置 |
TWI678084B (zh) * | 2016-09-05 | 2019-11-21 | 日商日本電氣股份有限公司 | 網路頻段量測裝置及網路頻段量測方法 |
JP6805713B2 (ja) * | 2016-10-19 | 2020-12-23 | 日本電気株式会社 | 受信トラヒックの高速化装置、高速化方法、および高速化プログラム |
US20180131640A1 (en) * | 2016-11-07 | 2018-05-10 | Qualcomm Incorporated | Techniques for encoding and decoding multiple acknowledgement signals in new radio |
CN109905327B (zh) * | 2017-12-11 | 2021-05-07 | 网宿科技股份有限公司 | 一种无线网络数据传输方法、发送端及接收端 |
US10784931B2 (en) * | 2018-06-08 | 2020-09-22 | Apple Inc. | Assisted multi-user multi-input multi-output (MU-MIMO) communication system |
CN109075961B (zh) * | 2018-07-31 | 2021-12-03 | 北京小米移动软件有限公司 | 传输块处理方法、装置、电子设备和计算机可读存储介质 |
CN117500057A (zh) * | 2022-07-21 | 2024-02-02 | 华为技术有限公司 | 一种通信方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008219812A (ja) | 2007-03-07 | 2008-09-18 | Daikin Ind Ltd | 帯域制御装置、同帯域制御装置を備えたネットワーク及び空調管理システム、帯域制御方法並びに帯域制御プログラム |
US7908624B2 (en) * | 2007-06-18 | 2011-03-15 | Broadcom Corporation | System and method for just in time streaming of digital programs for network recording and relaying over internet protocol network |
US8411566B2 (en) * | 2007-10-31 | 2013-04-02 | Smart Share Systems APS | Apparatus and a method for distributing bandwidth |
JP2009141565A (ja) * | 2007-12-05 | 2009-06-25 | Panasonic Corp | 受信端末装置 |
US8289870B2 (en) * | 2009-09-23 | 2012-10-16 | Avaya Inc. | Priority-based, dynamic optimization of utilized bandwidth |
-
2010
- 2010-05-31 SG SG2012087029A patent/SG185769A1/en unknown
- 2010-05-31 CN CN201080033922.2A patent/CN102474463B/zh active Active
- 2010-05-31 BR BR112012030524A patent/BR112012030524A2/pt not_active IP Right Cessation
- 2010-05-31 US US13/700,070 patent/US8761010B2/en active Active
- 2010-05-31 KR KR1020127002778A patent/KR101746629B1/ko active IP Right Grant
- 2010-05-31 CA CA2800669A patent/CA2800669C/en active Active
- 2010-05-31 EP EP10852492.7A patent/EP2579516B1/en active Active
- 2010-05-31 WO PCT/JP2010/059221 patent/WO2011151884A1/ja active Application Filing
- 2010-05-31 JP JP2011543749A patent/JP5059976B2/ja active Active
-
2011
- 2011-05-26 TW TW100118429A patent/TWI530123B/zh active
-
2012
- 2012-11-21 HK HK12111868.2A patent/HK1171134A1/zh unknown
- 2012-11-26 IL IL223255A patent/IL223255A/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
HK1171134A1 (zh) | 2013-03-15 |
EP2579516A4 (en) | 2013-04-10 |
BR112012030524A2 (pt) | 2019-09-24 |
IL223255A0 (en) | 2013-02-03 |
SG185769A1 (en) | 2013-01-30 |
TW201212593A (en) | 2012-03-16 |
IL223255A (en) | 2016-06-30 |
CN102474463B (zh) | 2015-07-08 |
KR20130082070A (ko) | 2013-07-18 |
US20130176848A1 (en) | 2013-07-11 |
WO2011151884A1 (ja) | 2011-12-08 |
JP5059976B2 (ja) | 2012-10-31 |
CN102474463A (zh) | 2012-05-23 |
EP2579516A1 (en) | 2013-04-10 |
EP2579516B1 (en) | 2015-08-26 |
CA2800669A1 (en) | 2011-12-08 |
JPWO2011151884A1 (ja) | 2013-07-25 |
CA2800669C (en) | 2017-04-25 |
US8761010B2 (en) | 2014-06-24 |
KR101746629B1 (ko) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI530123B (zh) | Communication devices and communication methods | |
US10367922B2 (en) | Method and apparatus for sending transmission control protocol TCP data packet and system | |
US10505838B2 (en) | System and method for diverting established communication sessions | |
CN110661723B (zh) | 一种数据传输方法、计算设备、网络设备及数据传输系统 | |
US9655003B2 (en) | Systems and methods for improved wireless interface aggregation | |
US8451727B2 (en) | Apparatus and method for controlling congestion occurrence in a communication network | |
US8169911B2 (en) | Method for transmitting a data stream with anticipation of acknowledgments, correspondence input device and computer-readable storage medium | |
JP5005003B2 (ja) | トンネルのトランスポートチャネル上のデータストリームの送信を管理する方法、対応するトンネル終点及びコンピュータ読み取り可能な記憶媒体 | |
US8122140B2 (en) | Apparatus and method for accelerating streams through use of transparent proxy architecture | |
US8654787B2 (en) | Apparatus and method for remote communication and transmission protocols | |
US8085669B2 (en) | Session relay device and session relay method | |
US20060221825A1 (en) | Congestion control network relay device and method | |
US20100182905A1 (en) | Communication apparatus and communication method | |
KR20190073479A (ko) | 메시지들을 송신하기 위한 방법 및 디바이스, 칩 및 단말 | |
US7676593B2 (en) | Method of bandwidth control by rewriting ACK number | |
EP3539235B1 (en) | Systems, apparatuses and methods for cooperating routers | |
JP2006191354A (ja) | データ配信管理装置およびデータ配信管理方法 | |
WO2020154872A1 (zh) | 一种传输控制协议加速方法和装置 | |
CA2874047C (en) | System and method for diverting established communication sessions |