TWI692233B - 基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置 - Google Patents

基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置 Download PDF

Info

Publication number
TWI692233B
TWI692233B TW107145855A TW107145855A TWI692233B TW I692233 B TWI692233 B TW I692233B TW 107145855 A TW107145855 A TW 107145855A TW 107145855 A TW107145855 A TW 107145855A TW I692233 B TWI692233 B TW I692233B
Authority
TW
Taiwan
Prior art keywords
transmission
rate
packets
packet
transmission control
Prior art date
Application number
TW107145855A
Other languages
English (en)
Other versions
TW202025687A (zh
Inventor
周業凱
翁正昇
施啟煌
陳柏昇
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW107145855A priority Critical patent/TWI692233B/zh
Priority to US16/232,539 priority patent/US10959125B2/en
Priority to CN201910050932.XA priority patent/CN111343137B/zh
Application granted granted Critical
Publication of TWI692233B publication Critical patent/TWI692233B/zh
Publication of TW202025687A publication Critical patent/TW202025687A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/196Integration of transport layer protocols, e.g. TCP and UDP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一種基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置,協同傳輸方法包括:計算第一速率並取得第一參數,其中第一速率係以傳輸控制協定傳輸封包的速率,第一參數關聯於第一速率的變動度,在取得第一速率後,依據目標傳輸率、第一參數、第一速率及封包大小計算待送封包數,其中待送封包數為預計以UDP傳送出的封包數,以及當待送封包數不為0時,根據傳輸旗標決定以UDP或是以TCP傳送封包並更新待送封包數。

Description

基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置
本發明係關於一種封包傳輸的方法及傳輸裝置,特別是一種基於用戶資料報協定及傳輸控制協定之協同傳輸的方法及傳輸裝置。
以無人機航拍進行巡檢的應用越來越廣泛,例如橋梁巡檢、水庫安全巡檢、巡視森林河川狀況等皆為無人機相關應用,無人機係透過無線網路傳送影像達到即時監控的目的。然而,現今無線網路仍存在著各種傳輸上的問題,例如網路壅塞及頻寬變化劇烈等現象,當影像傳輸不順暢或品質低落,可能影響實際應用。
另一方面,全球影音市場正蓬勃發展,據資誠聯合會計師事務所(PwC)發布的報告顯示,2018年串流影音的市場規模將會超越電影院。串流影音實際應用的領域如:行動影音、視訊會議、影音監控及網路協定電視(Internet Protocol Television,IPTV)如Apple TV、Google TV及MOD…等。如何避免因為頻寬變動而導致資料遺失或封包壅塞,並且進一步提升行動網路或無線網路下的視訊傳輸品質係成為目前的一個議題。
有鑑於此,本發明提出一種應用於無線傳輸的TCP與UDP協同機制,使用UDP協助TCP傳輸,以提升傳輸品質。
依據本發明一實施例所敘述的一種基於用戶資料報協定(User Datagram Protocol,UDP)及傳輸控制協定(Transmission Control Protocol, TCP)之協同傳輸方法,包括:計算第一速率並取得第一參數,其中第一速率係以傳輸控制協定傳輸封包的速率,第一參數係用以反映第一速率的變動度;在取得第一速率後,依據一目標傳輸率、該第一參數、該第一速率及一封包大小計算待送封包數,其中待送封包數為預計以UDP傳送出的封包數;以及當待送封包數不為0時,根據一傳輸旗標決定以UDP或是以TCP傳送封包並更新待送封包數。
一種基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,包括:一偵測單元,該偵測單元用以取得一第一參數及一第一速率,該第一速率係以傳輸控制協定傳輸封包的速率,該第一參數關聯於該第一速率的變動度;一運算單元,電性連接該偵測單元,該運算單元用以計算一第一速率,並依據一目標傳輸率、該第一參數、該第一速率及一封包大小計算一待送封包數,其中該待送封包數為預計以用戶資料報協定傳送出的封包數;以及一通訊單元,電性連接該偵測單元及該通訊單元,該通訊單元用以在該待送封包數不為0時,根據一傳輸旗標決定以用戶資料報協定或是以傳輸控制協定傳送一封包並更新該待送封包數。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
P1:慢啟動期間
P2:壅塞控制避免期間
TBR:目標傳輸率
T1~T4:時間點
B:頻寬
L1:網路層
L2:應用層
Tx:傳送端
Rx:接收端
S10~S36、S42~S46、S52~S66、S72~S78:步驟
82:偵測單元
84:運算單元
86:通訊單元
SRC:來源端
R0、R1:路由器
SINK:目的端
TR1:整體傳輸速率
TR2:TCP傳輸速率
TR3:UDP傳輸速率
圖1係傳輸控制協定的傳輸示意圖。
圖2係依據本發明一實施例所繪示的包含傳送端及接收端的基本流程圖。
圖3A係依據本發明一實施例的基於UDP及TCP之協同傳輸方法的概略流程圖。
圖3B係依據本發明一實施例的基於UDP及TCP之協同傳輸方法的詳細流程圖。
圖3C係依據本發明一實施例的基於UDP及TCP之協同傳輸方法的傳輸旗標的控制流程圖。
圖3D係依據本發明一實施例的基於UDP及TCP之協同傳輸的傳輸裝置的方塊圖。
圖4係用以驗證本發明一實施例的基於UDP及TCP之協同傳輸方法的模擬網路架構圖
圖5係單獨以TCP進行傳輸的傳送端的實驗模擬圖。
圖6係依據本發明一實施例的基於UDP及TCP之協同傳輸方法的傳送端的實驗模擬圖。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
行動網路的頻寬配置採用頻寬單元數量,視使用人數、距離、移動速度等因素而定。當採用傳輸控制協定(Transmission Control Protocol,TCP)傳輸固定位元速率(Constant-Bit-Rate,CBR)的串流視訊時,TCP傳輸速率受限於可用頻寬。當可用頻寬大於CBR時,TCP傳輸速率受限於可供傳輸的CBR資料量。即使TCP速率維持與CBR相同的狀態,仍有可能因為無線訊號衰減或其他網路區段壅塞而遭受封包丟失(packet loss)。
請參考圖1,其係繪示傳輸控制協定(Transmission Control Protocol,TCP)基於壅塞控制(Congestion Control)的傳輸示意圖,由圖1可看出可用頻寬B小於欲傳輸之目標傳輸率(Target Bit Rate,TBR)。 在區間P1時TCP正在執行慢啟動(slow start)演算法,這是當TCP開始傳輸到未知條件的網路時,採用緩慢探測網路的方法,藉此判斷可用容量,避免因不適當地發送大量資料而使得網路壅塞。由圖1中可看出在區間P1內,壅塞視窗的封包數呈現指數成長(Exponential increase)。在區間P2代表TCP正在執行壅塞避免(congestion avoidance)演算法,其中因在T2時間點發生封包丟失(Packet loss),使得壅塞視窗的封包在T3時間點呈現倍數削減(Multiplicative decrease),而後在T4的時間點開始累進遞增(Additive increase)。本發明一實施例所揭露的基於用戶資料報協定(User Datagram Protocol,UDP)及傳輸控制協定之協同傳輸方法係可用於區間P1的慢啟動期間中壅塞視窗封包數未達可用頻寬時,以及/或是在P2區間中發生封包丟失使得壅塞視窗封包數未達可用頻寬時。例如圖1中以斜線標示處。在本發明一實施例中,當可用頻寬小於欲傳輸之目標傳輸率時,傳輸頻寬可趨近於可用頻寬。在本發明另一實施例中,當可用頻寬大於欲傳輸之目標傳輸率時,傳輸頻寬可趨近於欲傳輸之目標傳輸率。
請參考圖2,其係繪示本發明一實施例的基本流程圖,所述的基於UDP及TCP之協同傳輸的方法的主要步驟係包含步驟S20、步驟S22、步驟S24及步驟S26,至於上述各步驟的細節將於圖3A~圖3C中進一步敘述之。在圖2中,首先從傳送端Tx和接收端Rx的角度說明應用本發明一實施例的封包整體傳輸流程。
首先,如步驟S10所示,傳送端Tx建立TCP連線之後,於步驟S12中即可發送同步序列編號(Synchronize Sequence Numbers)封包。步驟S10和步驟S12例如運作於開放式系統互連通訊參考模型(Open System Interconnection Reference Model,OSI model)的網路層L1。
在一實施例中,在建立三向交握的可靠連線之後,於OSI網路模型定義的應用層L2執行步驟S20至步驟S26。請參考步驟S20,其係計算TCP當前速率。實務上,可每隔一固定週期計算TCP當前速率,或 是每送出一個TCP封包更新一次TCP當前速率。其計算方式例如採用以下公式:RTCP=NTCP/(Tcurrent-Tstart) (公式1)
其中,RTCP為TCP當前速率,NTCP係封包總數,Tcurrent係當前時間,Tstart係起始時間。所述的起始時間係以TCP傳送封包的最早時間,在一實施例中,為了在計算TCP當前速率時保有即時性,起始時間可以被調整。實務上例如每隔一段時間或是當TCP回到慢啟動時,重新設定起始時間,所述的封包總數係從起始時間至當前時間之間所有以TCP傳送的封包的數量。
請參考步驟S22,計算預期以UDP傳送的速率。在一實施例中,預期以UDP傳送的速率係為反映TCP當前速率相較於網路可用頻寬所不足的部分。因此,預期以UDP傳送的速率例如採取如下公式:RUDP=RTBR*A-RTCP (公式2)
其中,RUDP為預期以UDP傳送的速率,A為第一參數,RTBR為目標傳輸率,RTCP為在步驟S20計算得到的TCP當前速率。上述的速率例如以每秒千位元(kbps)為單位。在一實施例中,目標傳輸率RTBR為一應用程序(例如視訊串流)的目標傳輸速率/頻寬。後文為便於敘述,將TCP當前速率RTCP簡稱為第一速率,且將預期以UDP傳送的速率RUDP簡稱為第二速率。
在一實施例中,第一參數A則係用以反映第一速率的變動度。也就是說:在以TCP傳輸之期間或以TCP連線之期間的平均封包遺失率。舉例來說,在第一速率A之變動度大於一第一閾值時,此第一參數A被設定為1;在第一速率之變動度小於或等於第一閾值時,第一參數A被設定為1.05~1.15。在一實施例中,第一參數A的設置係用於反映當前TCP傳輸屬於何種期間及/或TCP連線的平均封包遺失率。例如,請參照圖1,當目前屬於區間P1(慢啟動期間)時,TCP會從以較低速率探測可用頻寬,不需考慮封包遺失問題,因此 第一參數A之值被設置為1,當目前屬於區間P2(壅塞避免期間)時,因為可能發生封包遺失,如果單純只以目標傳輸率RTBR傳送資料量,一旦遇到封包遺失,接收端收到的總資料量將會少於以目標傳輸率傳輸的預期資料量,因此第一參數A之值例如被設置為比區間P1多一特定百分比,此特定百分比例如係目前TCP連線的平均封包遺失率,例如當TCP連線的平均封包遺失率為5%時,則將此特定百分比設為5%,使第一參數A在區間P2時為1.05;TCP連線的平均封包遺失率為15%,則將此特定百分比設為15%,使第一參數A在區間P2時為1.15。
請參考步驟S24,啟動或更新UDP計時器。在一實施例中,當第二速率RUDP大於0時,啟動UDP計時器或維持UDP計時器之啟動狀態以累計一間隔時間;而當第二速率RUDP等於0時,關閉UDP計時器。UDP計時器之作用係用以控制發送一個UDP封包與下一個UDP封包之間所應等待的間隔時間。詳言之,此間隔時間係依據以下公式計算:Tinterval=1/NUDP (公式3)
且NUDP=RUDP/P (公式4)
其中Tinterval係該間隔時間,NUDP係預計以UDP送出的封包數(後文稱為待送封包數),P為封包大小,封包大小例如以位元組(Byte)為單位。由上述公式可知,當步驟S20每隔一週期所偵測到的TCP當前速率改變時,將連帶影響步驟S22的計算預期以UDP傳送的速率以及步驟S24的UDP間隔時間。
又,根據公式2及公式4可推得待送封包數NUDP的計算公式如下:NUDP=(RTBR*A-RTCP)/P (公式5)
請參考步驟S26,執行封包排程。本步驟係判斷下一個送出的封包將以TCP傳送或是以UDP傳送。其細節將於圖3中詳述之。
請參考在接收端Rx執行的步驟S30~S36。詳言之,在步驟 S26執行之後,傳送端Tx將採用TCP或UDP發送一封包。接收端接收到此封包後(步驟S30),首先判斷封包來源(步驟S32),然後分別記錄以TCP傳送的封包(如步驟S34)以及以UDP傳送的封包(如步驟S35)。承上,若為TCP封包,則回傳確認(ACK)封包至傳送端Tx。而傳送端Tx在接收到此確認封包後,將再次執行步驟S20以更新TCP當前速率。
請參考圖3A,其係繪示本發明一實施例的基於UDP及TCP之協同傳輸方法的流程圖。包括:步驟S42,計算一第一速率並取得一第一參數,其中該第一速率係以傳輸控制協定傳輸封包的速率,該第一參數關聯於該第一速率的變動度;步驟S44:在取得該第一速率後,依據一目標傳輸率、該第一參數、該第一速率及一封包大小計算一待送封包數,其中該待送封包數為預計以UDP傳送出的封包數;以及步驟S46:當該待送封包數不為0時,根據一傳輸旗標決定以UDP或是以TCP傳送一封包並更新該待送封包數。
請參考圖3B,其係繪示本發明一實施例的基於UDP及TCP之協同傳輸方法的細部流程圖。請參考步驟S52,以TCP送出同步封包。本步驟與圖2的步驟S12相同,此處不再贅述。請參考步驟S54,計算第一速率RTCP並取得第一參數A。在一實施例中,第一速率RTCP為在圖2的步驟S20所述的TCP當前速率RTCP,可採用前文的公式1計算此第一速率RTCP,第一參數A的取得例如判斷當前的TCP傳輸處於慢啟動期間或是壅塞避免期間,以設定第一參數A。
請參考步驟S56,計算待送封包數NUDP。在一實施例中,於計算待送封包數NUDP之前,可先計算第二速率RUDP,其係預期採用UDP傳輸封包的速率,其係根據目標傳輸率RTBR、第一參數A及第一速率RTCP計算而得,可參考公式2。待送封包數NUDP係預期以UDP傳輸封包的數量,其係根據封包大小P及第二速率RUDP所決定,如公式4所示。
請參考步驟S58,判斷待送封包數NUDP是否不為0。若待送 封包數NUDP不為0,則移至步驟S60;若待送封包數NUDP為0,則移至步驟S54。在一實施例中,若TCP當前速率RTCP尚未達到目標傳輸率RTBR(或目標傳輸率RTBR*A),則判斷待送封包數NUDP不為0,因此移至步驟S60。若TCP當前速率RTCP已達到目標傳輸率RTBR(或目標傳輸率RTBR*A),則判斷待送封包數NUDP為0,因此移至步驟S54等待下一次更新第一速率RTCP
請參考步驟S60,計算累計時間。其係啟動一計時器或維持該計時器之啟動狀態以計算一累計時間。承前所述,當步驟S58判斷待送封包數NUDP為0並移至步驟S54時,關閉該計時器。
請參考步驟S62,判斷累計時間是否達到間隔時間。在一實施例中,依據待送封包數NUDP換算出發送UDP封包的間隔時間Tinterval,如公式3所示。在啟動該計時器之後,更包括判斷該累計時間是否到達該間隔時間。當計時器計算的累計時間到達間隔時間Tinterval時,則移至步驟S64;否則回到步驟S60以該計時器繼續計算該累計時間。
請參考步驟S64,判斷傳輸旗標是否被開啟。在一實施例中,以一傳輸旗標之狀態代表當前是否有TCP封包正在傳輸。請一併參考步驟S64及圖3C,圖3C係繪示傳輸旗標的控制流程圖。在一實施例中,在傳送端Tx發送TCP封包之前,可開啟傳輸旗標,如步驟S72所示。然後傳送TCP封包,如步驟S74所示。請繼續參考步驟S74,等到傳送端Tx收到對應於TCP封包的確認(acknowledgement,ACK)封包或是超時(timeout)之後,才關閉傳輸旗標,如步驟S78所示。因此,在步驟S64進行判斷時,若傳輸旗標為開啟狀態,代表此時尚有TCP封包正在傳輸,因此暫停以UDP傳送封包,回到步驟S60,再繼續計算累計時間,直到下一個間隔時間Tinterval到達後(步驟S62判斷為是),再次判斷傳輸旗標是否被開啟(步驟S64)。在一實施例中,除了暫停以UDP傳送封包外,更重置UDP計時器以從頭計算累計時間。另一方面,在步驟S64進行判斷時,若傳輸旗標為關閉狀 態,代表TCP封包已經完成傳輸或未在傳輸。此時可以執行圖3B的步驟S66,以UDP發送緩衝區內的待送封包,藉此提升整體的傳輸量。需注意的是,在一實施例中,於關閉傳輸旗標後會更新第一速率RTCP及待送封包數NUDP,因此間隔時間Tinterval也會改變。舉例來說,在圖3B的流程中,假設原本待送封包數NUDP為100,等到執行完步驟S66以UDP發送封包然後返回步驟S58,此時待送封包數NUDP可能因為更新第一速率RTCP、第二速率RUDP而變成50,故經由公式(3)計算得出的間隔時間Tinterval跟著同步改變。
圖3B係說明以UDP發送封包的流程。至於以TCP協定發送封包則按照其本身的線程及傳輸方式進行,當其遇到壅塞時會因傳不出TCP封包而降低第一速率,之後再慢慢爬升。換言之,不論是否啟動UDP封包排程,都將持續傳輸TCP封包,並且在開始傳輸TCP封包之前開啟傳輸旗標,完成傳輸TCP封包之後關閉傳輸旗標。若傳輸旗標已被開啟,表示現在正傳輸TCP封包或正在等候對應TCP封包的確認封包,因此不會再呼叫一次TCP封包發送,而是等到TCP封包傳輸結束(且收到確認封包或是超時)後,再回到步驟S54,更新當前的第一速率RTCP並取得第一參數A。在本發明一實施例中,傳輸端Tx在判斷滿足下列狀況其中一者時便可執行步驟S54,更新計算當前的第一速率RTCP及第一參數A:在以TCP送出一同步封包時、在經過一預設週期時或在收到以TCP回傳之確認封包時。
請參考圖3D,其係繪示基於本發明一實施例所敘述的一種基於UDP及TCP之協同傳輸的傳輸裝置8的方塊圖,此傳輸裝置可實現如前所述的基於UDP及TCP之協同傳輸方法。在一實施例中,所述的一種基於UDP及TCP之協同傳輸的傳輸裝置8包括:一偵測單元82,該偵測單元82用以取得一第一參數A及一第一速率RTCP,該第一速率係以傳輸控制協定傳輸封包的速率,該第一參數關聯於該第一速率的變動度;一運算單元84,電性連接該偵 測單元82,該運算單元84用以計算一第一速率,並依據一目標傳輸率、該第一參數、該第一速率及一封包大小計算一待送封包數,其中該待送封包數為預計以用戶資料報協定傳送出的封包數;以及一通訊單元86,電性連接該偵測單元82及該通訊單元84,該通訊單元86用以在該待送封包數不為0時,根據一傳輸旗標決定以用戶資料報協定或是以傳輸控制協定傳送一封包並更新該待送封包數。
在一實施例中,運算單元84更用以依據前述公式4計算待送封包數NUDP,依據公式3計算間隔時間Tinterval。通訊單元86更用以在經過該間隔時間Tinterval後以UDP發送封包。
在一實施例中,所述的基於UDP及TCP之協同傳輸的傳輸裝置8更包括計時器(未繪示)。計時器電性連接運算單元84及通訊單元86。計時器用以在待送封包數NUDP不為0時啟動或維持本身之啟動狀態以計算一累計時間;以及用以在待送封包數NUDP為0時停止以重置累計時間。運算單元84更用以在計時器到達間隔時間Tinterval時判斷傳輸旗標之狀態。運算單元84更用以在待送封包數NUDP不為0且傳輸旗標被開啟時控制通訊單元86暫停以UDP傳送封包;或者在待送封包數NUDP不為0且傳輸旗標被關閉時控制通訊單元86以UDP傳送封包。
在一實施例中,運算單元84更用以在通訊單元86以TCP傳輸封包之前,開啟傳輸旗標;以及在通訊單元86收到確認封包時或超時且未收到確認封包時,關閉傳輸旗標。
在一實施例中,運算單元84更用以依據公式1計算第一速率RTCP
在一實施例中,運算單元84更用以在偵測到下列狀況其中之一時計算第一速率RTCP及第一參數A:通訊單元86以TCP送出一同步封包時;計時器之累計時間達到一預設週期時;以及通訊單元86收到以TCP回傳之一確認封包時。
在一實施例中,偵測單元82、運算單元84及/或通訊單元86可 以是硬體、韌體或是儲存在記憶體而由微處理器或是數位信號處理器所載入執行的軟體或機器可執行程式碼。若是採用硬體來實現,則偵測單元82、運算單元84及/或通訊單元86可以是由單一整合電路晶片所達成,也可以由多個電路晶片所完成,但本揭露並不以此為限制。上述多個電路晶片或單一整合電路晶片可採用特殊功能積體電路(ASIC)或可程式化邏輯閘陣列(FPGA)來實現。而上述記憶體可以是例如隨機存取記憶體、唯讀記憶體或是快閃記憶體等等。在一實施例中,通訊單元86包括支援有線網路、無線網路、行動網路及/或無線通訊的通訊裝置。在一實施例中,傳輸裝置8包括一處理電路,可執行偵測單元82、運算單元84及/或通訊單元86之功能,處理電路可例如被實施為微控制器(microcontroller)、微處理器(microprocessor)、處理器(processor)、中央處理器(central processing unit,CPU)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)、數位邏輯電路、現場可程式邏輯閘陣列(field programmable gate array,FPGA)及/其它具有運算處理功能的硬體元件。在一實施例中,傳輸裝置8可以是手機、個人數位助理(Personal Digital Assistant,PDA)、平板電腦、筆記型電腦、可攜式媒體播放器(Portable media player)、數位相機、虛擬實境(virtual reality,VR)/擴增實境(augmented reality,AR)穿戴裝置等。
請參考圖4,其係繪示一個由兩個路由器組成的模擬網路架構圖,其中R0和R1表示網路上的路由器。來源端SRC經由R0連上網路,並且假設有大量的資料可持續地傳送給目的端SINK。路由器的佇列管理機制使用DropTail,頻寬為1每秒百萬位元(Mbps),網路瓶頸(Bottleneck)的傳遞延遲時間為50毫秒(ms),網路瓶頸(R0與R1之間)的緩衝區大小(Buffer size)為25個封包,目標傳輸率(Target Bit Rate)為500kbps。使用NS2(Network Simulation Version 2)遺失模組,封包丟失率設定為10%,並設定封包丟失的時機分別在5至10秒、20至 25秒、35至40秒時啟動。本範例係模擬當慢啟動與壅塞避免發生時,依據本發明一實施例所敘述的基於UDP及TCP之協同傳輸方法是否能有效地維持頻寬。
請參考圖5,其係呈現單純以TCP機制發送封包的TCP當前速率相對於時間的關係圖。從圖5可看出在所設定封包丟失時間區段,TCP當前速率具有顯著的掉落。因為模擬得到的封包丟失為隨機產生,所以每次TCP當前速率掉落的幅度有所差異,有時因產生叢發錯誤(burst error)造成不同的位元速率(bitrate)下降。然而整體平均值接近10%。
請參考圖6,其係繪示採用本發明一實施例的基於UDP及TCP之協同傳輸的方法的速率相對於時間的關係圖。其中線條TR1為整體的傳輸速率,線條TR2係以TCP傳輸的當前速率,線條TR3係以UDP傳輸的當前速率。由圖6中可看出,UDP封包的傳輸在TCP的慢啟動期間以及壅塞避免期間皆達到了填補TCP當前傳輸效率不足的效果。
為能更精確的說明本發明一實施例的基於UDP及TCP之協同傳輸方法所能達到的功效,以下L為未達目標傳輸率的頻寬比例,其計算方式如下:
Figure 107145855-A0305-02-0014-1
其中,T代表達到目標傳輸率所需的時間,t為當前時間(從第0秒開始),R為達到目標傳輸率的資料傳輸率,r為每0.01秒時的當前速率,N為統計次數(其為(T-t)/0.01)。
Figure 107145855-A0305-02-0014-2
請參考上方表1,在壅塞避免期間5-10秒的時間區間中,未達目標傳輸率的頻寬比例為16.77%;另外從第5秒起計算,回復到目標傳輸率(500kbps)的時間為14.82秒。
Figure 107145855-A0305-02-0015-3
請參考上方表2,在壅塞避免期間第5-10秒的時間區間中,未達目標傳輸率的頻寬比例為0.25%;另外從第5秒起計算,回復到目標傳輸率的時間為11.95秒。綜合上述觀之,只有採用TCP的傳輸方法,相較於本發明一實施例提出的基於UDP及TCP之協同傳輸方法,在未達目標傳輸率的頻寬比例上相差達67倍(16.77/0.25=67.08),在回復目標傳輸率的時間上相差1.24倍(14.82/11.95=1.24)。
另外,在慢啟動期間,根據表1可知,只用TCP進行傳輸,達到目標傳輸率需時0.73秒,L值為52.01%。而根據表2可知,採用本發明一實施例所敘述的基於UDP及TCP之協同傳輸方法,達到目標傳輸率需時0.18秒,L值為5.41%。綜合上述觀之,本發明回復目標傳輸率的時間上快了將近4倍(0.73/0.18=4.05),且達到目標傳輸率的頻寬比例相差達9.5倍以上(52.01/5.41=9.61)。
透過上述數據呈現,可明顯地得知本發明一實施例所揭露的基於UDP及TCP之協同傳輸方法,可以有效地利用UDP封包補強TCP傳輸時的不足之處。在本發明一實施例中,當可用頻寬小於欲傳輸之目標傳輸率時,傳輸頻寬可盡量趨近於可用頻寬,在此實施例中,前述RTBR可 以是可用頻寬。當可用頻寬大於欲傳輸之目標傳輸率時,傳輸頻寬可盡量趨近於欲傳輸之目標傳輸率,在此實施例中,前述RTBR可以是欲傳輸之目標傳輸率。
綜合以上所述,本發明所一實施例揭露的基於UDP及TCP之協同傳輸方法的主要概念係使用UDP嘗試提升TCP傳輸在行動網路或無線網路下的效能表現。因為TCP傳輸具有緩升急降之特性(呈現鋸齒狀),因此可以利用UDP封包的傳輸特性,在TCP速度下降的時候,維持既有傳輸率或適度競爭更高傳輸率。同時利用TCP與UDP特性進行傳輸,以保障最大傳輸位元率,達到高品質傳輸影像之需求。
本發明所提出的方法,可判斷出尚有頻寬可用且對TCP影響較小的時間,使用UDP協助將傳輸速率維持在滿足目標傳輸率的水準(例如盡量趨近於可用頻寬或欲傳輸之目標傳輸率),藉此提升無線網路下的視訊傳輸品質,進而在應用方式上實現例如無人機影像的高品質傳輸。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
Tx:傳送端
Rx:接收端
L1:網路層
L2:應用層
S10~S36:步驟

Claims (20)

  1. 一種基於用戶資料報協定(User Datagram Protocol,UDP)及傳輸控制協定(Transmission Control Protocol,TCP)之協同傳輸方法,包括:計算一第一速率並取得一第一參數,其中該第一速率係以傳輸控制協定傳輸封包的速率,該第一參數關聯於該第一速率的變動度;在取得該第一速率後,依據一目標傳輸率、該第一參數、該第一速率及一封包大小計算一待送封包數,其中該待送封包數為預計以用戶資料報協定傳送出的封包數;以及當該待送封包數不為0時,根據一傳輸旗標決定以用戶資料報協定或是以傳輸控制協定傳送一封包並更新該待送封包數。
  2. 如請求項1所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,其中該待送封包數係依據以下公式計算:NUDP=(RTBR*A-RTCP)/P,其中NUDP係該待送封包數,RTBR係該目標傳輸率,A係該第一參數,RTCP係該第一速率且P係該封包大小。
  3. 如請求項1所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,其中在以用戶資料報協定傳送該封包之前,更包括:在經過一間隔時間之後,再以用戶資料報協定發送該封包,其中該間隔時間係依據以下公式計算:Tinterval=1/NUDP,其中Tinterval係該間隔時間,NUDP係該待送封包數。
  4. 如請求項3所述的基於用戶資料報協定及傳輸控制協定之 協同傳輸方法,其中當該待送封包數不為0時,根據該傳輸旗標決定以用戶資料報協定或是以傳輸控制協定傳送該封包並更新該待送封包數的步驟包括:在該待送封包數不為0時,啟動一計時器或維持該計時器之啟動狀態以計算一累計時間;以及在該待送封包數為0時,關閉該計時器。
  5. 如請求項4所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,其中在啟動該計時器之後更包括:判斷該累計時間是否到達該間隔時間;其中當該累計時間到達該間隔時間時,判斷該傳輸旗標之狀態;或當該累計時間未到達該間隔時間時,以該計時器繼續計算該累計時間。
  6. 如請求項4所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,其中當該待送封包數不為0時根據該傳輸旗標決定以用戶資料報協定或是以傳輸控制協定傳送該封包並更新該待送封包數的步驟更包括:當該傳輸旗標被開啟時,暫停以用戶資料報協定傳送該封包;或者當該傳輸旗標被關閉時,以用戶資料報協定傳送該封包。
  7. 如請求項1所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,其中在以傳輸控制協定傳輸一傳輸控制協定封包之前,開啟該傳輸旗標;以及在收到對應該傳輸控制協定的一確認封包或超時且未收到該確認封包時,關閉該傳輸旗標。
  8. 如請求項1所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,其中該第一參數係反映:以傳輸控制協定傳輸之期間或以傳輸控制 協定連線之期間的平均封包遺失率。
  9. 如請求項1所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,其中係依據以下公式計算該第一速率:RTCP=NTCP/(Tcurrent-Tstart),其中RTCP係該第一速率,NTCP係一封包總數,Tcurrent係一當前時間,Tstart係一起始時間,該起始時間係以傳輸控制協定傳送封包的最早時間,該封包總數係從該起始時間至該當前時間之間所有以傳輸控制協定傳送的封包的數量。
  10. 如請求項1所述的基於用戶資料報協定及傳輸控制協定之協同傳輸方法,更包括在偵測到下列狀況其中一者時計算該第一速率及該第一參數:在以傳輸控制協定送出一同步封包時;在經過一預設週期時;以及在收到以傳輸控制協定回傳之一確認封包時。
  11. 一種基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,包括:一偵測單元,該偵測單元用以取得一第一參數及一第一速率,該第一速率係為傳輸控制協定傳輸封包的速率,該第一參數關聯於該第一速率的變動度;一運算單元,電性連接該偵測單元,該運算單元用以計算該第一速率,並依據一目標傳輸率、該第一參數、該第一速率及一封包大小計算一待送封包數,其中該待送封包數為預計以用戶資料報協定傳送出的封包數;以及 一通訊單元,電性連接該偵測單元及該運算單元,該通訊單元用以在該待送封包數不為0時,根據一傳輸旗標決定以用戶資料報協定或是以傳輸控制協定傳送一封包並更新該待送封包數。
  12. 如請求項11所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該運算單元依據以下公式計算該待送封包數:NUDP=(RTBR*A-RTCP)/P,其中NUDP係該待送封包數,RTBR係該目標傳輸率,A係該第一參數,RTCP係該第一速率。
  13. 如請求項11所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該運算單元更用以依據以下公式計算一間隔時間:Tinterval=1/NUDP,其中Tinterval係該間隔時間,NUDP係該待送封包數;該通訊單元更用以在經過該間隔時間之後,再以用戶資料報協定發送該封包。
  14. 如請求項13所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,更包括一計時器電性連接該運算單元及該通訊單元,該計時器用以在該待送封包數不為0時啟動或維持本身之啟動狀態以計算一累計時間;以及用以在該待送封包數為0時停止以重置該累計時間。
  15. 如請求項14所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該運算單元更用以在該計時器到達該間隔時間時判斷該傳輸旗標之狀態。
  16. 如請求項14所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該運算單元更用以在該待送封包數不為0且該傳輸旗標被開啟時控制該通訊單元暫停以用戶資料報協定傳送該封包;或者在該待送封 包數不為0且該傳輸旗標被關閉時控制該通訊單元以用戶資料報協定傳送該封包。
  17. 如請求項11所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該運算單元更用以在該通訊單元以傳輸控制協定傳輸一傳輸控制協定封包之前,開啟該傳輸旗標;以及在該通訊單元收到對應該傳輸控制協定的一確認封包或超時且未收到該確認封包時,關閉該傳輸旗標。
  18. 如請求項11所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該第一參數係反映:以傳輸控制協定傳輸之期間或以傳輸控制協定連線之期間的平均封包遺失率。
  19. 如請求項11所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該運算單元更用以依據以下公式計算該第一速率:RTCP=NTCP/(Tcurrent-Tstart),其中RTCP係該第一速率,NTCP係一封包總數,Tcurrent係一當前時間,Tstart係一起始時間,該起始時間係以傳輸控制協定傳送封包的最早時間,該封包總數係從該起始時間至該當前時間之間所有以傳輸控制協定傳送的封包的數量。
  20. 如請求項14所述的基於用戶資料報協定及傳輸控制協定之協同傳輸的傳輸裝置,其中該運算單元更用以在偵測到下列狀況其中一者時計算該第一速率及該第一參數:該通訊單元以傳輸控制協定送出一同步封包時;該計時器之該累計時間達到一預設週期時;以及該通訊單元收到以傳輸控制協定回傳之一確認封包時。
TW107145855A 2018-12-19 2018-12-19 基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置 TWI692233B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107145855A TWI692233B (zh) 2018-12-19 2018-12-19 基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置
US16/232,539 US10959125B2 (en) 2018-12-19 2018-12-26 Collaborative transmission method and transmission device based on UDP and TCP connections
CN201910050932.XA CN111343137B (zh) 2018-12-19 2019-01-18 协同传输方法及传输装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107145855A TWI692233B (zh) 2018-12-19 2018-12-19 基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置

Publications (2)

Publication Number Publication Date
TWI692233B true TWI692233B (zh) 2020-04-21
TW202025687A TW202025687A (zh) 2020-07-01

Family

ID=71098011

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107145855A TWI692233B (zh) 2018-12-19 2018-12-19 基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置

Country Status (3)

Country Link
US (1) US10959125B2 (zh)
CN (1) CN111343137B (zh)
TW (1) TWI692233B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114384898A (zh) * 2020-10-19 2022-04-22 财团法人车辆研究测试中心 队列驾驶决策系统与方法
CN113132766B (zh) * 2021-03-17 2023-05-23 杭州当虹科技股份有限公司 一种ts封装格式的vbr发送方法
CN114268416B (zh) * 2021-12-16 2023-10-24 无锡联云世纪科技股份有限公司 数据传输方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020085587A1 (en) * 2000-10-17 2002-07-04 Saverio Mascolo End-to end bandwidth estimation for congestion control in packet switching networks
US20060227811A1 (en) * 2005-04-08 2006-10-12 Hussain Muhammad R TCP engine
US7548332B2 (en) * 2002-06-21 2009-06-16 Ricoh Company, Ltd. Network facsimile apparatus, facsimile communication system, and method that can efficiently transport packets
US20140281018A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Dynamic Optimization of TCP Connections

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771594B1 (en) 1997-03-31 2004-08-03 Intel Corporation Reliable/non-reliable transmission of voice using TCP/UDP based on network quality of service
US6826620B1 (en) * 1998-08-26 2004-11-30 Paradyne Corporation Network congestion control system and method
CN1917413A (zh) * 2005-08-18 2007-02-21 英业达股份有限公司 自动调整传输速率的方法
US20080201751A1 (en) 2006-04-18 2008-08-21 Sherjil Ahmed Wireless Media Transmission Systems and Methods
DE102007011071B4 (de) * 2007-03-07 2009-06-18 T-Mobile Internationale Ag Verfahren zur Verbesserung eines TCP Datenübertragungsprozesses im Fall einer Unterbrechung des physikalischen Übertragungsmediums
US20080291833A1 (en) * 2007-05-25 2008-11-27 Gustav Gerald Vos Method for buffer control for network device
CN101616077B (zh) 2009-07-29 2011-10-05 武汉大学 互联网大文件的快速传输方法
FR2949931B1 (fr) * 2009-09-10 2011-08-26 Canon Kk Procedes et dispositifs de transmission d'un flux de donnees, produit programme d'ordinateur et moyen de stockage correspondants.
TWI419594B (zh) 2009-09-22 2013-12-11 Acer Inc 資料傳輸方法及其用戶裝置與資料傳輸系統
US8356109B2 (en) 2010-05-13 2013-01-15 Canon Kabushiki Kaisha Network streaming of a video stream over multiple communication channels
CN101945266B (zh) * 2010-08-20 2012-06-27 山东神戎电子股份有限公司 一种无线网络视频流传输自适应方法
KR101178570B1 (ko) * 2010-10-28 2012-08-30 삼성에스디에스 주식회사 이더넷 환경에서 udp 데이터 전송의 공정성 확보장치 및 방법
US20120173748A1 (en) 2011-01-03 2012-07-05 Nokia Corporation Hybrid transport-layer protocol media streaming
CN103078831A (zh) * 2011-10-26 2013-05-01 新太科技股份有限公司 一种流媒体支持tcp和udp传送的自适应的方法
US9628542B2 (en) 2012-08-24 2017-04-18 Akamai Technologies, Inc. Hybrid HTTP and UDP content delivery
CN103166974B (zh) 2013-03-28 2015-08-26 浙江理工大学 一种基于tcp/udp混合协议的流媒体无线传输方法
US9380351B2 (en) 2014-01-17 2016-06-28 Lg Display Co., Ltd. Apparatus for transmitting encoded video stream and method for transmitting the same
CN104618337B (zh) 2014-12-31 2018-01-02 浙江理工大学 一种基于tcp/udp混合协议的流媒体无线自适应传输方法
TWI584620B (zh) 2015-02-17 2017-05-21 圓展科技股份有限公司 檔案傳輸方法
CN105430320A (zh) 2015-11-23 2016-03-23 兰玉杰 基于udp和tcp的音视频媒体数据传输方法
JP2017152898A (ja) * 2016-02-24 2017-08-31 富士通株式会社 空き帯域特定プログラム、空き帯域特定装置、および空き帯域特定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020085587A1 (en) * 2000-10-17 2002-07-04 Saverio Mascolo End-to end bandwidth estimation for congestion control in packet switching networks
US7548332B2 (en) * 2002-06-21 2009-06-16 Ricoh Company, Ltd. Network facsimile apparatus, facsimile communication system, and method that can efficiently transport packets
US20060227811A1 (en) * 2005-04-08 2006-10-12 Hussain Muhammad R TCP engine
US20140281018A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Dynamic Optimization of TCP Connections

Also Published As

Publication number Publication date
US20200205027A1 (en) 2020-06-25
US10959125B2 (en) 2021-03-23
CN111343137A (zh) 2020-06-26
CN111343137B (zh) 2022-06-24
TW202025687A (zh) 2020-07-01

Similar Documents

Publication Publication Date Title
TWI692233B (zh) 基於用戶資料報協定及傳輸控制協定之協同傳輸方法及傳輸裝置
US10638167B2 (en) Compressed video buffering
ES2845078T3 (es) Método y aparato para el control de congestión de red basado en los gradientes de la tasa de transmisión
US7640358B2 (en) Methods and systems for HTTP streaming using an intelligent HTTP client
WO2017005055A1 (zh) 流媒体网络传输的带宽计算方法、服务器端和系统
US10715442B2 (en) Congestion control
JP4128198B2 (ja) 帯域制御装置
JP2004007823A (ja) データ伝送方法および装置
US11533656B2 (en) Method of traffic and congestion control for a network with quality of service
WO2011144141A1 (zh) 拥塞控制方法和系统以及网络设备
US11570117B2 (en) Congestion control
US9894124B2 (en) Rapid startup with dynamic reservation capabilities for network communication systems
US20200112514A1 (en) Congestion control
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
US20060002425A1 (en) Determining available bandwidth in a network
WO2021219563A1 (en) Method and server for audio and/or video content delivery
CN113438180B (zh) Udp数据包的传输控制方法、装置、设备及可读存储介质
US9130843B2 (en) Method and apparatus for improving HTTP adaptive streaming performance using TCP modifications at content source
CN113726817B (zh) 一种流媒体数据的传输方法、装置及介质
JP2007013823A (ja) 輻輳制御方法およびその通信端末
US9148379B1 (en) Method and system for prioritizing audio traffic in IP networks
Hisamatsu et al. Non bandwidth-intrusive video streaming over TCP
JP2010130610A (ja) データ伝送システム
KR102131427B1 (ko) Sctp에서의 혼잡 제어 방법 및 장치
JP2012508532A (ja) 欠落したメディアアクセスコントロールフレームのためにアプリケーションにより構成されるコンテンツベースの再送信スキーム