1334291 (1) 九、發明說明 【發明所屬之技術領域】 本發明關係於通訊方法,其中,一傳送終端裝置藉由 . 同時使用多數路徑,而將資料傳送至一接收終端裝置,以 ^ 及,有關於實現該通訊方法的通訊終端裝置。 【先前技術】 φ 於非專利文獻1 ( RFC2960,“串流控制傳輸協定( 8(:丁?)”)、非專利文獻2(“2004年六月的1;3£]^1\’04 * 的第899至1 12頁之由 Arvind Kri shnamurthy、Larry ^ Peterson、Ming Zhand、Junwen Lai、Randolph Wang 戶斤著 的”一種使用冗餘路徑來改良端至端效能與堅固性的傳輸 層方法)、及非專利文獻3 ( “2002年九月的 ACM Mobicon〇2 之由 Hung-Yun Heleh、Raghupatht sivakumar 所著的’’在多家用行動主機上之完成聚集頻寬的傳輸層方 ® 法)所揭示之技術傳統被稱爲通訊方法,其使用一多家用 傳輸協定(例如,一多路徑傳輸控制協定(TCP )),即 —通訊方法,其中藉由同時使用多數路徑,一傳送終端裝 置將資料傳送至一接收終端裝置。 然而’在非專利文獻1中所提出之使用多家用傳輸協 €@51訊方法係被架構以只使用在最佳通訊狀態的單一路 徑’以執行通並當故障時’使用另—路徑作爲替代路徑。 因此’其具有不能藉由同時使用多數路徑,來執行通 訊的問題。 -5- (2) (2)1334291 另一方面,非專利文獻2及3所提出的技術可以藉由 使用存在於傳送終端裝置與接收終端裝置間之多數路徑, 來執行通訊。 然而,於非專利文獻2中所提出的技術在正常TCP 信頭上需要一新的信頭。因此,造成一問題,使得其不能 在沒有非專利文獻2所提出之協定下,進行與通訊終端裝 置的通訊。 有關此點,於非專利文獻3所提的技術被架構以藉由 同時使用存在於發射與接收終端裝置間之多數路徑,單獨 使用正常信頭(即多家用連接)即可實現通訊。 然而,於非專利文獻3中所提出的技術只可使用單一 路徑(ACK路徑),傳送該認可(ACK)的接收認可信號 〇 因此,如果在正被使用中的ACK路徑中發生故障, 則所有路徑均被影響,同時,每一路徑變爲非對稱(―傳 送資料的路徑與接收該資料的ACK之路徑不同)。因此 ’有不能正確量測往返時間(RTT )的問題。 再者’於非專利文獻3所提出的技術具有不能使用累 積ACK(C-ACK)等的問題。另外,有不可能以路徑單元 執行等效於正常TCP的控制的問題。 【發明內容】 本發明已經針對上述問題加以完成。本發明的—目的 爲提供一種通訊方法與通訊終端裝置,其利用多家用傳輸 -6 - (3) (3)1334291 協定,其可以藉由改良累積ACK及藉由使用多數ACK路 徑而使用對稱路徑,而不使用正常TCP信頭以外之信頭 ,來執行類似於正常TCP的控制,以允許與一應用本發 明的接收終端裝置作通訊。 本發明的第一態樣被總結爲一通訊終端裝置,其能藉 由同時使用多數路徑,來傳送資料至一接收終端裝置,該 通訊終端裝置包含:一路徑資訊管理單元,被架構以管理 有關於多數路徑的每一路徑的TCP控制資訊:一傳輸區 段管理單元,被架構以儲存爲予以傳送至接收終端裝置的 分割資料所產生的區段:及一區段傳送單元,被架構以自 該傳輸區段管理單元抽出該區段及傳送所抽出之區段至接 收終端裝置,其中該傳輸區段管理單元被架構以根據該 TCP控制資訊,藉由儲存相關於用於該區段的傳輸所用之 路徑的該區段,以保留該區段的傳輸,及該區段傳送單元 被架構自該傳輸區段管理單元抽出該區段並將所抽出的區 段依循有關於該區段的路徑,傳送至該接收終端裝置。 於第一態樣中,該通訊終端裝置可以包含:一區段接 收單元,被架構以當一有關於一區段的接收認可信號依循 與傳輸該區段所用的相同路徑接收時,自該傳輸區段管理 單元刪除具有序號小於序號間之最小序號的每一區段,該 等具有小於最小序號的區段分別代表在所有傳輸區段管理 單元中未接收一接收認可信號的區段。 在第一態樣中,當檢測到一時間到時,傳輸區段管理 單元可以被架構以取消未接收到接收認可信號的所有區段 (4) (4)1334291 的傳輸的保留,並根據TCP控制·資訊,再次保留區段的 傳輸® 在第一態樣中,傳輸區段管理單元可以被架構以當在 一已接收該一選擇接收認可信號與具最大序號的區段與應 下一個接收一接收認可信號的一區段間,有預定數量區段 或更多區段未接收到一接收認可信號時,取消未接收一接 收認可信號及具有序號不大於序號間之代表已接收一選擇 接收認可信號之最大序號的區段以及未被傳送的區段;及 根據TCP控制資訊,再次保留區段的傳輸。 於第一態樣中,區段傳送單元可以被架構以在其本身 中形成一特定(ad hoc)網路及鄰近的通訊終端裝置,並 依循該特定網路中之路徑,傳送該區段。 本發明的第二態樣被總結爲一通訊終端裝置,其能藉 由同時使用多數路徑,而自一傳送終端裝置接收資料,該 通訊終端裝置包含:一路徑資訊管理單元,被架構以管理 有關於多數路徑的每一路徑的TCP控制資訊;一區段接 收器,被架構以依循多數路徑接收藉由分割該資料所產生 的區段;一接收區段管理單元,被架構以儲存依循區段被 傳送的每一路徑的接收區段;及一區段傳送單元,被架構 以根據TCP控制資訊,傳送接收認可信號,其係分別用 以通知依循該等路徑接收結果。 於第二態樣中,該接收認可信號被架構以通知成功依 循該路徑接收的區段的序號。 於第二態樣中,當多數具有序號爲連號的區段被依循 -8- (5)1334291 相同路徑被接收到時,接收認可信號可以被架構以一 知接收多數區段的結果》 於第二態樣中,區段接收單元可以被架構以在其 與鄰接通道終端裝置間形成一特定網路,並依循特定 中之路徑接收該區段。 本發明的一第三態樣被總結爲一通訊方法,其中 傳送終端裝置藉由同時使用多數路徑,傳送資料至一 終端裝置,該方法包含:根據用於管理每一路徑的 控制資訊,藉由將有關於用以傳輸每一區段用的路徑 一區段儲存在該傳輸區段管理單元中,而在該傳送終 置,對每一區段的傳輸作出一保留,該每一區段係藉 應被傳送至該接收終端裝置的資料分割所產生;在傳 端裝置,自該傳輸區段管理單元抽出一區段,及依循 於該區段的一路徑,傳送所抽出的區段至該接收終端 :在該接收終端裝置相關於區段所傳送的路徑管理一 收的區段,並依循該路徑根據管理每一路徑的TCP 資訊,傳送一接收認可信號,用以通知接收該區段的 :及當有關於該區段的接收認可信號已經依循相關於 該區段所用之路徑被接收時,在該傳送終端裝置,自 輸區段管理單元,刪除該區段與有關於該區段的路徑 於第三態樣中,該通訊方法更包含:在該傳輸與 終端裝置處,在其本身與鄰近通道終端裝置間,形成 定網路,其中該傳送終端裝置可以依循該特定網路中 徑,傳送所產生的區段至該接收終端裝置,及該接收 起通 本身 網路 接收 TCP 之每 端裝 由將 送終 相關 裝置 所接 控制 結果 傳送 該傳 〇 接收 一特 之路 終端 -9- (6) (6)1334291 裝置可以依循該特定網路中之路徑接收區段。 【實施方式】 (依據本發明第一實施例的通訊終端裝置的架構) 第1圖顯示一通訊系統例,其包含依據本發明第一實 施例之通訊終端裝置(傳送終端裝置10及接收終端裝置 3 0) ° 如於第1圖所示,在此實施例中,假設資料係以同時 使用三個路徑#1至#3,而將資料由傳送終端裝置1〇傳送 至接收終端30。 至於資料’則假設用於各種協定,例如FTP (檔案傳 送協定)、SMTP (簡單郵件傳送協定)、HTTP (超文字 傳送協定)、POP3 (後辦公室協定版3)等的應用資料。 同時,上述資料可以應用至資料庫語言,例如SQL ( 結構化查詢語言)等、可應用至超出網路外的檔案存取, 例如NFS (網路檔案系統)等、及可應用至任何使用TCp 的通訊類型,例如SSH (安全殼)、SSL (安全插座層) 、VPN (虛擬私人網路)包含“在TCP/IP上的乙太”等等 〇 如於第1圖所示,依據此實施例之接收終端裝置30 係被架構以包含多數無線介面(予以多家用連接),例如 在無線區域網路(WAN)中之3G介面、在無線區域網路 (WLAN)中之IEEE802.1 lb介面' 及在無線個人區域網 路(WP AN )中之藍芽(登記商標)介面。 -10- (7) (7)1334291 再者,依據本實施例之接收終端裝置30被架構以藉 由同時使用多數介面所建立的多數路徑#1至#3,來接收 來自傳送終端裝置10的資料。 另一方面,在第1圖的例子中,依據此實施例的傳送 終端裝置10簡單具有一有線介面,而不必有多數無線介 面。 然而,在一正常TCP中,一路徑(常用TCP連接) 係藉由使用[(發送者的IP位址、其埠號)、(接收者的 IP位址、其埠號)]加以識別。 因此’依據此實施例的傳送終端裝置10也被架構以 能識別上述路徑#1至#3 (能作多家用連接),因爲傳送 終端裝置10需要同時使用多數路徑#1至#3傳送(區段構 成)資料至接收終端裝置3 0。 如於第2圖所示,依據本實施例之傳送終端裝置10 包含一應用功能單元l〇a、一傳輸區段管理單元u、一路 徑資訊管理單元12、一區段傳送單元13、及一區段接收 單元1 4。 應用功能單元l〇a被架構以指示傳輸區段管理單元 11傳送用於此應用中之資料。 再者,應用功能單元l〇a可以被架構以能明確指定一 組多數個路徑作爲傳送該資料的路徑。 另外,應用功能單元l〇a可以被架構以指定一代表路 徑作爲傳送資料的路徑,並自動加入其他路徑。 傳輸驅動管理單元11被架構有—傳輸緩衝器,以儲 -11 - (8) (8)1334291 存爲分割予以傳送至接收終端裝置30的資料所產生之區 段。 再者’傳輸區段管理單元11被架構以對所產生之區 段的傳輸作出一保留,藉由根據用於每一路徑的TCP控 制方塊(TCP-CB )所管理的TCP控制資訊,儲存有關於 用於該區段的傳輸的路徑(可變“路徑”)的區段。 明確地說’如第3圖所示,傳輸區段管理單元11被 架構以將自應用功能單元l〇a所接收並予以傳送至接收終 端裝置30的資料爲協定資料單元(PDU )所分割,並藉 由將每一所分割的資料加上一正常TCP信頭而形成區段 。於此,TCP信頭被假設爲一用於正常TCP的TCP信頭 〇 再者’傳輸區段管理單元11被架構以藉由將用於區 段管理的特殊信頭加入至其上,而管理所形成的區段。 如於第3圖所示,該特殊信頭被架構以包含變數,例 如 “path”、“sack”、“p_seq,,、及 ‘‘next,,與旗標,例如 “rsv” 旗標。 於此’變數“p_seq”顯示每一區段的序號,其係被分 別指定給該等路徑。 注意’雖然經常在TCP中,以“位元組順序”表示序 號,但此實施例中之序號爲了簡化係以“順序”加以表示。 再者’可變“路徑”表示用於該區段傳輸的路徑的識別 資訊,及變數“sack”表示用於ACK接收的路徑的識別資 訊。另外,變數“next”表示予以在該區段後指向的區段。 -12- (9) (9)1334291 “rsv”旗標爲一旗標,用以表示爲該區段的傳輸完成 保留的狀態(當在此狀態時爲“ 1 ”)。 再者,傳輸區段管理單元11被架構以管理變數 “rsV_nxt”,其表示下一個予以保留的資料開始點。 再者,當檢測出時間到時,傳輸區段管理單元n被 架構以分別取消所有未收到ACK (接收認可信號)的區 段的傳輸保留,並再次根據TCP-CB ( TCP控制資訊)對 該等區段的傳輸作出保留。 另外,傳輸區段管理單元11被架構以取消區段的傳 輸保留,該等區段爲:未接收到A CK (接收認可信號) 者及具有序號不大於用以代表收到SACK方塊(一選擇接 收認可信號)中序號之最大序號及當有一預定數量(例如 三個)區段或更多的區段在已經收到選擇接收認可信號與 具有最大序號(由“max_sack”)所表示之區段間未收到接 收認可信號時,未被傳輸者’以及,下一個應收到一接收 認可信號者(由“rcv-next”所表示之區段);及根據TCP 控制資訊(TCP-CB )’再次保留該等區段的傳輸. 路徑資訊管理單元12被架構以多數路徑資訊管理單 元#1至#3管理相關於多數路徑#1至#3的每一個之TCP-CB (TCP控制資訊)。 注意每一路徑係爲[(發送者的IP位址、其埠號)、 (接收者的1P位址、其掉號)]的位址所指明。 明確地說,如於第4圖所示,每一路徑資訊管理單元 被架構以管理包含變數,例如“rtt”、“t_timer”、 -13- 1334291 (ίο) “t一seq”、“cwnd”、“ssthresh”、“,rcv_nxt”、“snd — nxt”、 “rsv_num”、“snd_num”、及 “max_sack” ° 注意用以維持TCP連接的各種資訊,例如“t_state”及 “t_flags”可以進一步保護 TCP-CB ( η)。 於此’ “rtt”表示一量測往返時間,“t_timer”表示根據 “rtt”所計算的逾時(timeout)値、“t_seq”表示用以計算 “rtt”的區段的序號、“cwnd”表示擁擠窗、“ssthresh”表示 —慢開始臨限、“rcv_nxt”表示期待下一個接收的區段的序 號、“snd_nxt”表示下一個予以送出的區段序號、 “rsv_num”表示已經保留傳輸的資料的資料數量、 “snd_num”表示已經被傳送的資料的資料數量、及 “max_sack”表示在依循該路徑傳送之區段中之 Ack或 SACK選項所指明的最大序號。 區段傳送單元13被架構以自傳輸區段管理單元11抽 出一區段,及依循與該區段相關的路徑,傳送所抽出的區 段至該接收終端裝置30。 再者,區段傳送單元13被架構以當檢測出遺失一特 定區段時,傳送該區段。 該區段接收單元14被架構以當有關於一區段的ACK (―接收認可信號)係依循與用以傳輸該區段相同的路徑 接收時,自傳輸區段管理單元11刪除具有序號小於最小 序號的區段,該最小區段係在所有傳輸區段管理單元11 中未接收到一ACK (—接收認可信號)。 如於第5圖所示,此實施例的接收終端裝置30包含 -14- (11) (11)1334291 一應用功能單元3 Oa、一區段接收·單元3 1、一路徑資訊管 理單元32、一接收區段管理單元33及一區段傳送單元34 〇 該區段接收單元31被架構以依循多數路徑#1至#3’ 自該傳送終端裝置1〇接收一區段,並根據[(發送者的IP 位址、其埠號)、(接收者的IP位址、其璋號)]的四位 址,來傳送每一所接收的區段至特定路徑資訊管理單元#1 至# 3。 該路徑資訊管理單元32係被架構以藉由多數路徑資 訊管理單元#1至#3,管理有關於每一路徑#1至#3的TCP-CB (TCP控制資訊)。 注意每一路徑係爲[(發送者的IP位址' 其埠號)' (接收者的IP位址、其埠號)]的四位址所指明。 明確地說,如第6圖所示,每一路徑資訊管理單元#n 被架構以管理包含變數的 TCB-CB ( η ),例如 “del_timer” 、 “del 一 ack” 、 “rev —nxt” 、 “p_sackl” 、 “p_sack2” 、及 “p一sack3” 。 注意,用於保留TCP連接的各種資訊可以更包含保 護應用 TCP-CB ( η )。 於此,“del_timer”表示用於ACK傳輸的延遲計時器 、“del_ack”表示當“del_timer”到期時,ACK之序號、 “rcv_nxt”表示期待予以下一個接收的區段的序號、及 “p_sack η”表示予以用於第η個方塊中之序號。 接收區段管理單元33被架構以管理用於區段已被傳 -15- (12) 1334291 送的每一路徑的接收區段。 · 明確地說’如第7圖所示,接收區段管理單元33爲 一接收緩衝器,其被架構以藉由增加用於區段的管理的特 .殊信頭’而管理由路徑資訊管理單元12所傳送的每一區 • 段。 如於第7圖所示’特殊信頭被架構以包含變數,例如 ‘‘路徑% φ 於此,變數“路徑”顯示用於該區段的傳輸的路徑之識 別資訊。 ' 再者,接收區段管理單元 33被架構以管理 • “rcv_buf_first”變數’其顯示首先收到的區段被儲存的開 始點。 另外,接收區段管理單元33被架構以由變數 “rcv_bUf_firSt”所示之區段開始,執行至應用功能單元 3 0 a的傳輸。 • 區段傳送單元3被架構以根據管理每一路徑所用的 TCP_CB ( TCP控制資訊),來傳送一 ACK (接收認可信 號),用以通知依循每一路徑的區段的結果。 注意,如下所述,定義於RFC2018中之選擇認可( SACK)選項係被給予ACK。於此,給予ACK的SACK選 項被架構以通知經由每一路徑成功接收的區段之序號。 再者,區段傳送單元34可以被架構以當多數連續序 號的區段在同一路徑被接收時,傳送一接收認可信號(C-ACK),其一起通知接收多數區段的結果。 -16- (13) 1334291 (依據本發明第一實施例之通訊終端裝置的操作) 以下將針對第8至15圖,說明依據本發明第〜實施 • 例之通訊終端裝置的操作。 — 首先,參考第8及9圖,將說明依據第一實施例之傳 輸終端裝置10藉由同時使用多數路徑#1至#3,傳送資料 至接收終端裝置30的操作程序。 # 如於第8圖所示,在步驟S101中,傳送終端裝置1〇 的傳輸區段管理單元11將來自應用功能單元1〇a的資料 ' 以MTU單元分割。
' 在步驟S1 02中’傳輸區段管理單元11藉由將一TCP 信頭加入至爲MTU單元所分割的每一資料件上,而形成 一區段,以及’藉由將上述特殊信頭相加,而管理該區段 (見第3圖)。 於此’傳輸區段管理單元11設定“〇’,作爲用於每—變 Φ 數及旗標的啓始値。 在步驟S103中,傳輸區段管理單元u監視於TCP-CB中關於所有爲路徑資訊管理單元12所管理的路徑中的 變數 “rsv_num”。 當變數“rsv_num”小於變數“max_burst”,則傳輸區段 管理單元11首先爲第一資料的傳輸作保留(爲變數 “rsv_nxt”所示的資料)。 於此,變數“max_burst”顯示在接收ACK時,可以一 次傳送的區段的最大資料量(最大數量的區段)。注意變
ϊ. S -17- (14) 1334291 數“max_burst”爲所有路徑(介面)·中的共同變數。 隨後’傳輸區段管理單元11對“rsv”旗標未設定 段的傳輸作保留’由傳輸區段管理單元的第一資 爲變數“rsv_nxt”所示之資料)開始, 路徑資訊管理單元12加入區段的資料量至對應 輸區段所用的路徑之TCP-CB中的變數“rsv_num,,, 段中已經完成傳輸的保留。 φ 另外,所保留的區段被組合以變數“next”。因此 被保留下一個的區段可以藉由追蹤被加至每一區段的 ' 信頭中之變數“next”加以追蹤。 ' 於此,當一値已經被設定至變數“rsv_num”時, 區段管理單兀11只對對應於“cwnd-rsv_num”的區段 輸作保留。 換句話說,傳輸區段管理單元11被架構以對一 的傳輸作出保留,使得變數“rsv_num”等於變數“cwnd • 然而,當在ACK中之廣告窗値小於爲所有路徑 管理單元#n所管理的變數“cwnd”的總數(Σ cwnd ) 傳輸區段管理單元11保特變數“rsv_num”不超出“在 中之廣告窗値”x“cwnd/E cwnd”。 當完成此傳輸的保留時,傳輸區段管理單元11 “1”至上述特殊信頭中之“rsv”旗標,及設定已經完成 保留的路徑之識別資訊至上述的信頭中之變數“路徑” 於此,當在一設定變數“snd_nXt”的位置前的一 完成對一區段傳輸的保留時,路徑資訊管理單元12 的區 料( 於傳 該區 特殊 傳輸 之傳 區段 55 〇 資訊 時, ACK 設定 傳輸 〇 點, 將已 -18- (15) (15)1334291 經完成傳輸保留的區段的下一個區段的開始點設定至變數 “snd_nxt” ° 當變數“rcv_nxt”小於變數“snd_nxt”時,路徑資訊管 理單元12類似於設定至“snd_nxt”的一値至變數“rcv_nxt” 〇 於步驟S104中,區段傳送單元13依序地傳送藉由同 時使用多數路徑#1至#3完成傳輸保留的區段至接收終端 裝置30。 注意當“cwnd”-“snd_num”大於0時,區段傳送單元 1 3由變數“Snd_nxt”所示的區段執行傳輸。 於此,變數“snd_nUm”爲已經依循可用路徑傳送及未 接收ACK的區段之數目。 另外,當區段傳送單元13依循一特定路徑傳送一區 段時,路徑資訊管理單元12減去由有關於特定路徑的 TCP-CB中之變數“rsv — num”傳送的區段的資料量’並將傳 送至有關於該特定路徑的TCP-CB中的變數“snd_num”的 區段的資料量相加。 每當區段傳送單元13傳送一區段,路徑資訊管理單 元1 2追蹤變數“next”,並設定下一區段的開始點至變數 “snd_nxt” ° 另外,如果當區段傳送單元13傳送一區段時,變數 “t_timer”並未被設定,則路徑資訊管理單元12將設定由 變數“rtt”等所計算出的新逾時値至變數及設定一 傳送區段的序號(seq)至變數“t_seq”。 -19- (16) 1334291 第9圖顯示當傳送終端裝置10依循路徑#1傳送一區 段#4時,上述特殊信頭與TCP-CB的例子。 於此時,在被加至11中之區段#4內的特殊信頭的設 , 定係如下:變數“path”等於“1” :變數“sack”等於“〇” ; “rsv”旗標等於“〇” ;及變數“next”等於“0”。 另外,在有關於路徑#1的TCP-CB(l)中之設定係 如下:變數“rCv_nxt”等於“1” ;變數“snd_nxt”等於“4” ; φ 變數“rsv_num”等於“1” ;及變數“snd_num”等於“1”。 第二,參考第10及11圖,將說明依據本實施例之傳 ' 送終端裝置10接收ACK的操作。 • 如於第10圖所示,在步驟S301中,傳送終端裝置 1〇的區段接收單元14接收來自終端裝置30傳送的ACK ,並根據接收ACK的路徑的四個位址[(發送者的IP位 址、其埠號),(接收者的IP位址,其埠號)]’傳送 ACK至適當的路徑資訊管理單元#n。 • 於第11圖的例子中,傳送終端裝置1〇的14傳送自 接收終端裝置30所接收的ACK (A)或(B)至管理接收 該ACK(A)或(B)的路徑#1的路徑資訊管理單元#1。 於此,示於第1 1圖之ACK (A)係通知具有未被接 收的最小序號之區段爲“區段# 1 ”。 再者,示於第1 1圖的 ACK (B)係通知具有未被接 收的最小序號之區段爲“區段#2”,並通知區段#7已經爲 SACK選項所成功接收。 另外,ACK可以架構以通知多數區段已經成功爲一 -20- (17) (17)1334291 SACK選項所接收。 ., 在步驟S3 02中,有關於區段到達接收側已經被接收 ACK及SACK選項所報導的區段,路徑資訊管理單元#n 指示1 1設定爲路徑資訊管理單元#η所管理的路徑的識別 資訊至在特殊信頭中之變數“sack”。 注意當被設定至變數“sack”的路徑的識別資訊符合設 定至變數“path”的路徑之識別資訊時,變數“sack”並未重 寫於其他ACK接收上。 於第11圖中之例子中,路徑資訊管理單元#1指示傳 輸區段管理單元11設定路徑#1的識別資訊至被加入至區 段#1的特殊信頭中之變數“sack”,其已經通知ACK ( A ) 的成功接收。 再者,在第11圖的例子中,一路徑資訊管理單元#1 指示傳輸區段管理單元11設定路徑#1的識別資訊至加至 區段#7中之特殊信頭中的變數“sack”,該區段#7已經被 通知ACK ( B )已經成功爲SACK選項所接收。 於步驟S3 03中,路徑資訊管理單元#n比較TCP-CB (η)中之變數“rcv_nxt”與爲ACK或SACK選項所通知的 區段的序號(seq)。 當變數“rcv_nxt”小於seq ( ACK )或當對應於變數 “rcv nxt”的區段的接收未爲SACK方塊所通知時,則操作 進行至步驟S304。於其他例子中,操作進行至步驟S305 〇 因爲“區段#1的序號”被設定至在第11圖例子中之 -21 - (18) 1334291 TCP-CB ( η )中之變數“rcv_nxt”,·所以當路徑資訊管理單 元#1接收ACK(A)時,操作進行至步驟S305。 在步驟S305中,路徑資訊管理單元判斷是否有關 於爲TCP-CB ( η )中之變數“rcv_nxt”所指定的區段的特 殊信頭中之變數“sack”符合變數“path”。 在步驟S305中,當有關於爲TCP-CB(n)中之變數 “rcv_nxt”所指定的區段的特殊信頭中之變數“sack”符合變 φ 數“path”時,在步驟 S306中,一其中變數“rcv_nxt”被設 定的區段係依據在TCP-CB(n)中之變數“next”被移動至 下一個。 . 在第11圖中,區段#4被設定至爲接收ACK的變數 “rcv_nxt”(因爲被加至區段#1的特殊信頭中之變數“next” 表示下一個予以依循路徑#1傳送的區段)。 此程序被持續,直到有一區段中的變數“sack”不符變 數“path”的區段被找到爲止。 φ 另一方面,當在步驟S3 05中,找到有一區段的變數 “sack”不符合變數“path”的區段時,則在步驟S307中,判 斷是否變數“rcV_nxt”已經更新。 當變數“rcv_nxt”已經更新時,變數“t_timer”在步驟 S308被取消,及在步驟S309中,至最小變數“rcv_nxt”的 區段將自所有路徑資訊管理單元中之傳輸區段管理單元 1 1刪除。 當在步驟 S307後,在步驟 S3 08a中,等於變數 “rCv_nxt”的區段之變數“P_seq”超出等於爲路徑資訊管理 -22- (19) (19)1334291 單元12所管理的變數“t_seq”的區段的變數“p_seq”時,步 驟S3 08被取消。 另一方面,在步驟S308後,步驟S309 —直執行,不 管步驟S3 08出現否。 另一方面,當ACK(B)被接收時,在第11圖的例 子中,操作進行至步驟S304,因爲在TCP-CB(n)中之 變數“rCV_nxt”爲區段#4及在接收側上的到達並未爲 ACK 或SACK選項所報告。 於此,變數“rcv_nxt”已經爲ACK(A)的接收所更新 。雖然SACK選項的第一方塊通知區段#7,因爲設定至變 數“rcv_nxt”的區段#4並未被包含,所以,操作進行至步 驟 S304 。 在步驟S3 04中,有關於依循該路徑傳送的區段,一 區段的最大序號被設定爲等於 TCP-CB ( η )中的變數 “max_sack”,該區段中的被設定至變數“sack”的路徑之識 別資訊符合設定至變數“path”的路徑識別資訊。 於第11圖的例子中,當接收ACK ( B )時,在TCP-CB ( η)中之變數“max_sack”被設定用於區段#7。 再者,在步驟S310中,變數“sack”未被設定於變數 “max_sack”及“rcv_nxt”的區段之數目被計數。此計算可以 藉由參考變數“rcv nxt”、“max_sack”及“p_seq”加以容易 執行。 當有三個或更多此類型的區段時,在步驟S311中, 等於或小於變數“max_sack”的區段以及區段的“rsv”旗標 -23- (20) (20)1334291 等於或大於已經爲該路徑所保留的變數“snd_nXt”之區段 係被刪除,該變數“max_sack”中,變數“sack”並未設定在 自該路徑傳送的區段中,並且,模式被移至再傳輸(已經 保留區段等於或大於變數“snd_nxt”表示雖然已經保留來 傳輸,但區段未被傳送)。 於第11圖的例子中,區段#4、#5及#6的“rsv”旗標 被刪除。 在步驟 S3 12 中,同時,變數 “rSv_num” ; “snd_num” :及“snd_nxt”係根據可應用啓始結果加以更新於TCP-CB (η)中。 注意的是,一模式不只爲 ACK接收同時也爲變數 的到期所移位至再傳輸。此例子中之操作由步驟 S 3 1 1開始。 然而,在變數到期的例子中,在步驟 S3 11 中,有關於具有等於或小迟變數“max_Sack”的區段的狀態 係被改變至有關於一區段等於或小於變數“snd_nXt”的狀 態。 第三,參考第11及路徑資訊管理單元12圖,將說明 依據本實施例的傳送終端裝置10的“再傳輸模式”的操作 〇 如於第12圖所示,“再傳輸摸式”係在步驟S401,中 在傳送終端裝置1〇中被啓動。 在此點,當設定變數“cwnd”爲“1”時,一路徑資訊管 理單元#n設定在 TCP-CB(n)中之變數“cwnd”的一半値 -24- (21) (21)1334291 至變數 “ssthresh”。 另外,路徑資訊管理單元#n可以被架構以考量無線 的類型,設定變數“cwnd”及“ssthresh”。 在步驟S403中,傳輸區段管理單元11再次根據爲每 一路徑資訊管理單元#n所管理的TCP-CB ( TCP控制資訊 ),對該區段的傳輸作保留。 於此,當使用多數路徑時,對爲變數“Path”所示之路 徑的識別資訊不同的路徑作傳輸保留(因爲在變數“Path” 所示的路徑中遺失一區段,所以,如果再使用該路徑,則 一區段將再次遺失。因此,在一區段的再傳輸時,使用新 路徑)。 於此,傳輸區段管理單元11設定被加入至完成傳輸 保留的區段中之變數“path”及“rsv”旗標,並更新在路徑資 訊管理單元及TCP-CB(n)中之變數“rSv_num”。 在步驟S4〇4中,如同於步驟S104的上述操作,區段 傳送單元13藉由同時使用多數路徑#1至#3依序傳送完成 傳輸保留的區段至接收終端裝置30。 於此,當區段傳送單元13依循一特定路徑傳送—區 段時,傳輸區段管理單元11設定“1”至有關於該區段的特 殊信頭中之“snd”旗標,及路徑資訊管理單元12減去自有 關於該特定路徑之TCP-CB中之變藪“rsv_ _num”傳送的區 段的資料量,以及,增加傳送至有關於該特定路徑的 TCP-CB中之變數“snd_num”的區段的資料量。 每當區段傳送單元13傳送一區段時,路徑資訊管理 -25- (22) 1334291 單元12送出具有一特殊信頭的區段的開始點至變數 “snd_nxt”,該特殊信頭中,“1”被設定至在該區段後的多 數區段所選出的“rsv”旗標。 . 注意當區段傳送單元13傳送一區段時,如果變數 “t_timer”並未設定,則路徑資訊管理單元12設定由變數 “rtt”等所計算出的新逾時値至變數“t_timer”,並設定被傳 送的區段的序號(seq )至變數“t_seq”。 φ 第四,參考第13至15圖,將說明依據本實施例之接 收終端裝置30接收爲傳送終端裝置10所傳送的區段的操 • 作。 - 如於第13圖所示’在步驟S501中,接收終端裝置 30的區段接收單元31根據已經接收該區段的路徑之四個 位址[(—發送者的IP位址、其埠號)、(一接收者的IP 位址、其埠號)]傳送所接收的區段至一適當路徑資訊管 理單元#n。 • 於此,接收區段管理單元33藉由加入一特殊信頭, 管理由一路徑資訊管理單元仏所傳送的區段。 注意,接收區段管理單元33可以被架構以依所接收 區段的序號,管理該區段。 於此,接收區段管理單元33設定該區段至該依循該 路徑先前一個接收的特殊信頭之變數“next”,並在被加入 至該區段的特殊信頭中。 在步驟S5 02中,區段傳送單元34產生用於爲接收區 段管理單元33所接收的區段的ACK,並在步驟S5 05中 •26- (23) (23)1334291 ,產生SACK選項,以加至ACK。 於此,在SACK選項中之第一方塊顯示一包含於此時 所接收的方塊。 在SACK選項的第二方塊顯示在先前時依循用以接收 該區段的相同路徑所接收的一區段。 在SACK選項中之第三方塊顯示在先前依循接收該區 段所用的相同路徑所接收的區段。 在第14圖的例子中,在被加入至當一區段#10依循 路徑#1被接收時,所產生之ACK(A)的SACK選項中, “區段#10的識別資訊”被設定至第一方塊中,及“區段#8 的識別資訊”被設定至第二方塊中,及“區段#3及#4的識 別資訊(3-4) ”係被設定至第三方塊中。 另外,在此例子中,在傳統SACK選項中的第三方塊 中,“區段#6的識別資訊”被設定。 再者,在第14圖的例子中,在被加入至當區段 被依循路徑#n接收時所產生的ACK ( B )中的SACK選項 中,“區段#10及#11的識別資訊(10-11) ”被設定於第― 方塊中,及“區段#6的識別資訊”被設定於第二方塊中、 及“區段#3及#4之識別資訊(3-4) ”被設定至第三方塊。 另外’在傳統SACK選項中,“區段#8的識別資訊,, 被設定至第二方塊及“區段#6的識別資訊”被設定至第三 方塊中。 在步驟S5〇4中,路徑資訊管理單元#n藉由參考變數 “rCv_nxt”,判斷是否依循相同路徑接收區段爲連續。當爲 -27- (24) (24)1334291 連續時,操作進行至步驟S 5 05。當不爲連續時,操作進 行至步驟S506。 在步驟S505中,一路徑資訊管理單元#n :設定在所 接收區段後的一區段的識別資訊至TCP-CB ( η)中的變數 “rcv_nxt” ;設定一予以爲步驟S 5 02中所產生的ACK所通 知的區段的識別資訊(未被接收的區段中之具有最小序號 的區段)至變數“del_ack” ;及設定一爲步驟 S503中之 SACK選項的每一方塊所通知的區段的識別資訊至變數 “p_sackl 至 3” 。 另外,一路徑資訊管理單元#n作動在TCP-CB(n) 中之變數“del_timer”。 如果在變數“del_timer”到期的時間段間沒有新收到的 區段,則變數“del_ack”的値被送回(如果有新收到一區 段,則變數“del_timer”被取消)。 在進行至步驟S505前,在步驟S505a中,判斷是否 儲存有ACK。如果有儲存,則操作進行至步驟S506。當 未儲存時,則操作移動至步驟S 505。 在步驟S506中,區段傳送單元34根據在TCP-CB( η)中之變數“p_sackl至3”產生並傳送一 ACK。於此時, 一路徑資訊管理單元#n適當地更新在TCP-CB(n)中之 變數 “rcv_nxt”。 在第15圖中,區段傳送裝置34連續依循相同路徑#2 接收區段#6及#7。因此,區段傳送單元34被架構以一個 ACK而不是兩個ACK,來通知區段#6及#7的成功接收。 -28- (25) 1334291 (依據本發明第一實施例之通訊終端裝置的操作與功效) 因爲依本實施例之通訊終端裝置係架構以由使用單獨 的正常TCP信頭來傳送一區段,所以有可能以未使用有 關本發明的技術之接收終端裝置30。 因爲依據此實施例之通訊終端裝置可以依循多數路徑 傳送ACK,所以,有可能正確地量測RTT並對每一路徑 φ 執行空制,該控制係等效於一正常TCP控制。 因爲依據此實施例之通訊終端裝置可以一起(例如, ' 因爲它可能支援C-ACK)傳送多數ACK (接收認可信號 - ),所以有可能降低予以傳送的ACK數目。 因爲依據此實施例的通訊終端裝置被架構以傳送 ACK至已接收一封包的一路徑,所以,有可能正確地量 測RTT並藉由改良C-ACK,而執行對每一路徑的控制, 該控制係等效於一正常TCP控制。 (第一修改例) 參考第16及17圖,以下將說明本發明第一修改例。 如於第16圖所示,一依據第一修改例的傳送終端裝 置A的區段傳送單元13被架構以在其本身與鄰近通訊終 端裝置B至E間’形成一特定網路,並依循在該特定辋 路中之路徑#1至#3傳送區段。 注意傳送終端裝置A需要藉由使用在文章“用於行動 特定網路的網際網路連接性的混合方法(由 p. -29- (26) 1334291
Ratanchandani 及 R. Kravests 所著於 IEEE WCNC2003 會 報)”;“用於特定網路的網際網路連接(由 Y. Sun、E. Belding-Royer與C. Perkins所著於2002年四月的”標準 、硏究、應用9(2)的在行動特定網路的特例(MANETs )之無線資訊網路的國際月刊)等等之技術,事先知道予 以閘接至固定網路的終端裝置C至Ε»
如於第17圖所示,假設當傳送終端裝置A藉由使用 φ 包含第一信頭的第一封包,傳送被指定到接收終端裝置F 的區段,經由路徑#1,“傳送終端裝置F的位址”被設定爲 " 一目的地位址及“接收終端裝置A的位址”被設定爲一源位 - 址。 首先,傳送終端裝置A傳送一第二封包至該終端裝 置E,該第二封包爲一第二信頭所密封的第一封包,其中 “傳送終端裝置E的位址”被設定爲目的地位址及“接收終 端裝置A的位址”被設定爲源位址。 φ 第二,終端裝置E傳送一第三封包至該接收終端裝置 F,該第三封包爲包含在所接收第二封包中之第一封包, 並再次爲一第三信頭所密封,其中,“傳送終端裝置F的 位址”被設定爲目的地位址及“接收終端裝置E的位址’’被 設定爲源位址。 第三,接收終端裝置F根據第三封包的信頭,指出區 段所傳送的路徑》 於第17圖的例子中,接收終端裝置F可以藉由參考 第一及第三信頭,來指明路徑F— E- A。 -30- (27) (27)1334291 注意依據第一修改例之接收終端裝置F的區段傳送單 元34可以被架構以在其本身與鄰近通訊終端裝置間形成 特定網路,並以類似於依據第一修改例之傳送終端裝置A 的區段傳送單元13的方式,依循該特定網路的路徑接收 區段。 即使通訊終端裝置並沒有多數介面,依據此實施例之 通訊終端裝置可以藉由同時使用多數存在於傳送及接收終 端裝置間之路徑(即,一多家用連接),藉由使用與鄰近 通訊終端裝置形成之特定網路中之路徑,來實現通訊。 再者,如果一接收終端裝置設有定義於RFC37 7 5中 之“行動IP”功能,即使未設有對應於上述第一修改例的功 能,當傳送終端裝置使用一封包傳送一區段時,有可能藉 由將一結合更新(BU)加至對應於已傳送該封包的介面 之位址,而作動ACK被送回的介面。 再者,藉由參考SACK選項的第一方塊,區段接收單 元14有可能傳送一接收ACK至適當路徑資訊管理單元#n 〇 因此,有可能具有類似於接收終端裝置包含相當於上 述第一修改例的功能之優點。 其他優點與修改將爲熟習於本技藝者所知。因此’本 發明的範圍並不限定於特定細節及於此所示與描述的代表 實施例。因此,各種修改可以在不脫離隨附之申請專範圍 及其等效所界定的範圍下加以完成。 -31 - (28) (28)1334291 【圖式簡單說明】 第1圖爲包含依據本發明第一實施例之通訊終端裝置 的通訊系統的整個架構圖。 第2圖爲依據本發明第一實施例之通訊終端裝置(傳 送終端裝置)的功能方塊圖。 第3圖爲一圖表,顯示依據本發明第一實施例之通訊 終端裝置(傳送終端裝置)的傳輸區段管理單元的管理內 容例。 第4圖爲一圖表’顯示依據本發明第一實施例之通訊 終端裝置(傳送終端裝置)的路徑資訊管理單元的管理內 容例。 第5圖爲依據本發明第一實施例之通訊終端裝置(接 收終端裝置)的功能方塊圖。 第6圖爲一圖表’顯示依據本發明第一實施例之通訊 終端裝置(接收終端裝置)的路徑資訊管理單元的管理內 容例。 第7圖爲一圖表’顯示依據本發明第一實施例之通訊 終端裝置(接收終端裝置)的接收區段管理單元的管理內 容例。 第8圖爲一流程圖’顯示依據本發明第一實施例之通 訊終端裝置(傳送終端裝置)所傳送的區段的操作。 第9圖爲一圖表,用以解釋依據本發明第一實施例之 通訊終端裝置(傳送終端裝置)所傳送的區段的操作。 第10圖爲一流程圖,顯示依據本發明第一實施例之 -32- (29) (29)1334291 通訊終端裝置(傳送終端裝置)所接收之ACK的操作。 第11圖爲一圖表,用以解釋爲依據本發明第一實施 例的通訊終端裝置(傳送終端裝置)所接收的ACK的操 作。 第12圖爲一流程圖,顯示依據本發明第—實施例之 通訊終端裝置(傳送終端裝置)中之再傳輸模式的操作。 第13圖爲一流程圖’顯示依據本發明第一實施例之 通訊終端裝置(接收終端裝置)中的接收操作。 第14圖爲一圖表’用以解釋依據本發明第—實施例 之通訊終端裝置(接收終端裝置)中之接收操作。 第15圖爲一圖表,用以解釋依據本發明第一實施例 之通訊終端裝置(接收終端裝置)中的接收操作。 第16圖爲另一圖表,用以解釋依據本發明第一修改 例之通訊終端裝置。 第17圖爲另一圖表,用以解釋依據本發明第—修改 例的通訊終端裝置。 【主要元件符號說明】 10 :傳送終端裝置 l〇a :應用功能單元 11:傳輸區段管理單元 12:路徑資訊管理單元 13 :區段傳送單元 1 4 :區段接收單元 -33- (30) (30)1334291
3 0 :接收終端裝置 31 :區段接收單元 3 2 :路徑資訊管理單元 33:接收區段管理單元 34 :區段傳送單元 -34