如何提高 DOCSIS 線纜調制解調器的 TCP 性能
——
摘要
近年來,符合 DOCSIS標準的線纜調制解調器已在全球得到了廣泛部署,使最終用戶能夠獲得始終在線的高帶寬因特網連接。由于通過 TCP 可運行最常見的應用,因此我們探索運行在 DOCSIS 數據網絡上的 TCP 協議行為就顯得非常重要了。
本文概括性地介紹了 TCP 的內在雙向性,并就 DOCSIS 協議對 TCP 的影響也進行了討論。最后,我們還將對提高 TCP 以及利用 TCP 的應用性能提出方案,在線纜調制解調器中嵌入應用感知 (application awareness)。
TCP 特點介紹
TCP 是最常見的因特網應用傳輸協議,由于其是基于連接的協議,因此能夠保證每個從服務器傳輸的數據包都能到達目的客戶端應用。為了保證每個數據包均能到達其目的地,TCP 使用了握手協議 (Handshake Protocol)。服務器與客戶端都跟蹤正在傳輸/接收的數據包。
服務器同時向客戶端發送數個數據包并等待已接收到數據包的確認。如果在給定時間內確認 (ACK) 未返回至服務器--則服務器將"停機",并不再發送下一個數據包。如果最終仍不能接收到ACK,那么服務器將重新傳輸未確認的數據包。服務器等待 ACK 到達前發送的數據包數量取決于"窗口大小"。窗口大小對 TCP 的性能有很大影響--窗口越小,服務器停止傳輸等待 ACK 到達的幾率就越高。。
圖1 顯示了采用較小窗口大小的“猝發性”傳輸與較大窗口大小的“更通暢”傳輸
圖 1 顯示了從客戶端到服務器的 TCP 會話示例,由于其具有較小的窗口尺寸,因此具有“猝發性”。盡管物理通道能夠實現高數據速率,但應用在客戶端實際獲得的吞吐量則由 TCP 協議所限,只是高速率的一小部分。對 TCP 應用性能影響最大的不是數據速率,而是吞吐量。如果將窗口大小調整得更大些,那么數據包數量就會增加,流量也就 “更通暢”。
DOCSIS 基本原理
CableLabs? DOCSIS規范定義了線纜調制解調器傳輸的物理層 (PHY) 方面與接入線纜通道的媒體接入控制 (MAC) 協議。DOCSIS 就下行傳輸(從線纜調制解調器終端系統的傳輸或至家庭線纜調制解調器的 CMTS)和上行傳輸(從家庭返回至CMTS)的不同傳輸特點進行了定義。PHY 與 MAC 層都有差異,并導致 DOCSIS 通道工作不對稱。
下行通道根據定義可在連續傳輸中支持高達 40Mbit/sec 的速率。CMTS 負責從"因特網云 (Internet cloud)"接收數據包并將其通過有線網絡 (cable network) 發送至線纜調制解調器。CMTS 決定著數據包傳輸的順序與優先級。此外,由于CMTS完全占有下行媒體,因此無需協商即可對其進行訪問。
另一方面,上行通道則大為不同。在上行通道中,所有共享媒體的調制解調器競爭獲得上行訪問權。希望發送數據的線纜調制解調器需首先請求 CMTS 以獲得傳輸機會。CMTS 隨后將從調制解調器收集請求,并發送消息以表明每個調制解調器在上行通道能夠發送數據的時間。調制解調器一次只可請求一個傳輸機會,這就限制了調制解調器每秒鐘可執行的上行傳輸數量。
圖 2顯示了上下行通道之間的差異。

圖2:顯示下游通道并列出了其特點;顯示上游通道并列出了其特點。
DOCSIS 1.0 線纜調制解調器上的 TCP 性能
DOCSIS 1.0 可支持線纜調制解調器與 CMTS 之間的數據通信。線纜調制解調器平等競爭以利用上行通道。需進行上行數據傳輸的線纜調制解調器必須首先從 CMTS請求許可。CMTS 隨后將該消息與網絡上所有其他線纜調制解調器發送的其他類似請求一并處理。CMTS 而后將確定如何向發出請求的線纜調制解調器分配上行通道,并發送消息以便"映射"對進入時間分段的上行使用。
線纜調制解調器可進行的上行傳輸數量限于每秒數百次。
在 DOCSIS 1.0 中,線纜調制解調器能夠在每個上行傳輸猝發中發送一個數據包。就 TCP 而言--這意味著客戶端應用可發送至服務器的 ACK 數量有限。圖3顯示了從下行接收數據包到向服務器發送確認的周期。

圖3:顯示數據請求許可傳輸周期
下面的例子顯示了 TCP 上運行的應用對帶寬瓶頸的影響:
例 1 -- DOCSIS 1.0 設備中的 TCP 性能
設備特點:
DOCSIS 1.0
下行--256QAM 速率為 5.12Mbaud/sec(即約 40Mbit/sec)
上行 --16QAM、2.56Mbaud(即約 10Mbit/sec)
假定:
每秒猝發數量: 300
每次猝發數據包數量: 1
每秒 TCP ACK 數量: 300
單個 ACK 確認的字節數: 3036
最大可獲得的 TCP 下行帶寬: 7.2Mbit/sec
上例顯示出 DOCSIS 1.0 線纜調制解調器可獲得的最大 TCP 吞吐量限于 7.2 Mbit/sec,盡管下行通道能夠實現大得多的帶寬。
采用 DOCSIS 1.1 線纜調制解調器實現TCP性能改善
與 DOCSIS 1.0 相比,DOCSIS 1.1 擁有幾種不同的改善。盡管這些改善是因為希望實現語音應用功能而在 MAC 協議中實現的,不過協議所添加的工具還是能夠顯著改善 TCP 上的數據傳輸。這些改善包括多服務流、有效負載報頭壓縮、級連等。
近年來,符合 DOCSIS標準的線纜調制解調器已在全球得到了廣泛部署,使最終用戶能夠獲得始終在線的高帶寬因特網連接。由于通過 TCP 可運行最常見的應用,因此我們探索運行在 DOCSIS 數據網絡上的 TCP 協議行為就顯得非常重要了。
本文概括性地介紹了 TCP 的內在雙向性,并就 DOCSIS 協議對 TCP 的影響也進行了討論。最后,我們還將對提高 TCP 以及利用 TCP 的應用性能提出方案,在線纜調制解調器中嵌入應用感知 (application awareness)。
TCP 特點介紹
TCP 是最常見的因特網應用傳輸協議,由于其是基于連接的協議,因此能夠保證每個從服務器傳輸的數據包都能到達目的客戶端應用。為了保證每個數據包均能到達其目的地,TCP 使用了握手協議 (Handshake Protocol)。服務器與客戶端都跟蹤正在傳輸/接收的數據包。
服務器同時向客戶端發送數個數據包并等待已接收到數據包的確認。如果在給定時間內確認 (ACK) 未返回至服務器--則服務器將"停機",并不再發送下一個數據包。如果最終仍不能接收到ACK,那么服務器將重新傳輸未確認的數據包。服務器等待 ACK 到達前發送的數據包數量取決于"窗口大小"。窗口大小對 TCP 的性能有很大影響--窗口越小,服務器停止傳輸等待 ACK 到達的幾率就越高。。

圖1 顯示了采用較小窗口大小的“猝發性”傳輸與較大窗口大小的“更通暢”傳輸
圖 1 顯示了從客戶端到服務器的 TCP 會話示例,由于其具有較小的窗口尺寸,因此具有“猝發性”。盡管物理通道能夠實現高數據速率,但應用在客戶端實際獲得的吞吐量則由 TCP 協議所限,只是高速率的一小部分。對 TCP 應用性能影響最大的不是數據速率,而是吞吐量。如果將窗口大小調整得更大些,那么數據包數量就會增加,流量也就 “更通暢”。
DOCSIS 基本原理
CableLabs? DOCSIS規范定義了線纜調制解調器傳輸的物理層 (PHY) 方面與接入線纜通道的媒體接入控制 (MAC) 協議。DOCSIS 就下行傳輸(從線纜調制解調器終端系統的傳輸或至家庭線纜調制解調器的 CMTS)和上行傳輸(從家庭返回至CMTS)的不同傳輸特點進行了定義。PHY 與 MAC 層都有差異,并導致 DOCSIS 通道工作不對稱。
下行通道根據定義可在連續傳輸中支持高達 40Mbit/sec 的速率。CMTS 負責從"因特網云 (Internet cloud)"接收數據包并將其通過有線網絡 (cable network) 發送至線纜調制解調器。CMTS 決定著數據包傳輸的順序與優先級。此外,由于CMTS完全占有下行媒體,因此無需協商即可對其進行訪問。
另一方面,上行通道則大為不同。在上行通道中,所有共享媒體的調制解調器競爭獲得上行訪問權。希望發送數據的線纜調制解調器需首先請求 CMTS 以獲得傳輸機會。CMTS 隨后將從調制解調器收集請求,并發送消息以表明每個調制解調器在上行通道能夠發送數據的時間。調制解調器一次只可請求一個傳輸機會,這就限制了調制解調器每秒鐘可執行的上行傳輸數量。
圖 2顯示了上下行通道之間的差異。

圖2:顯示下游通道并列出了其特點;顯示上游通道并列出了其特點。
DOCSIS 1.0 線纜調制解調器上的 TCP 性能
DOCSIS 1.0 可支持線纜調制解調器與 CMTS 之間的數據通信。線纜調制解調器平等競爭以利用上行通道。需進行上行數據傳輸的線纜調制解調器必須首先從 CMTS請求許可。CMTS 隨后將該消息與網絡上所有其他線纜調制解調器發送的其他類似請求一并處理。CMTS 而后將確定如何向發出請求的線纜調制解調器分配上行通道,并發送消息以便"映射"對進入時間分段的上行使用。
線纜調制解調器可進行的上行傳輸數量限于每秒數百次。
在 DOCSIS 1.0 中,線纜調制解調器能夠在每個上行傳輸猝發中發送一個數據包。就 TCP 而言--這意味著客戶端應用可發送至服務器的 ACK 數量有限。圖3顯示了從下行接收數據包到向服務器發送確認的周期。

圖3:顯示數據請求許可傳輸周期
下面的例子顯示了 TCP 上運行的應用對帶寬瓶頸的影響:
例 1 -- DOCSIS 1.0 設備中的 TCP 性能
設備特點:
DOCSIS 1.0
下行--256QAM 速率為 5.12Mbaud/sec(即約 40Mbit/sec)
上行 --16QAM、2.56Mbaud(即約 10Mbit/sec)
假定:
每秒猝發數量: 300
每次猝發數據包數量: 1
每秒 TCP ACK 數量: 300
單個 ACK 確認的字節數: 3036
最大可獲得的 TCP 下行帶寬: 7.2Mbit/sec
上例顯示出 DOCSIS 1.0 線纜調制解調器可獲得的最大 TCP 吞吐量限于 7.2 Mbit/sec,盡管下行通道能夠實現大得多的帶寬。
采用 DOCSIS 1.1 線纜調制解調器實現TCP性能改善
與 DOCSIS 1.0 相比,DOCSIS 1.1 擁有幾種不同的改善。盡管這些改善是因為希望實現語音應用功能而在 MAC 協議中實現的,不過協議所添加的工具還是能夠顯著改善 TCP 上的數據傳輸。這些改善包括多服務流、有效負載報頭壓縮、級連等。
摘要
近年來,符合 DOCSIS標準的線纜調制解調器已在全球得到了廣泛部署,使最終用戶能夠獲得始終在線的高帶寬因特網連接。由于通過 TCP 可運行最常見的應用,因此我們探索運行在 DOCSIS 數據網絡上的 TCP 協議行為就顯得非常重要了。
本文概括性地介紹了 TCP 的內在雙向性,并就 DOCSIS 協議對 TCP 的影響也進行了討論。最后,我們還將對提高 TCP 以及利用 TCP 的應用性能提出方案,在線纜調制解調器中嵌入應用感知 (application awareness)。
TCP 特點介紹
TCP 是最常見的因特網應用傳輸協議,由于其是基于連接的協議,因此能夠保證每個從服務器傳輸的數據包都能到達目的客戶端應用。為了保證每個數據包均能到達其目的地,TCP 使用了握手協議 (Handshake Protocol)。服務器與客戶端都跟蹤正在傳輸/接收的數據包。
服務器同時向客戶端發送數個數據包并等待已接收到數據包的確認。如果在給定時間內確認 (ACK) 未返回至服務器--則服務器將"停機",并不再發送下一個數據包。如果最終仍不能接收到ACK,那么服務器將重新傳輸未確認的數據包。服務器等待 ACK 到達前發送的數據包數量取決于"窗口大小"。窗口大小對 TCP 的性能有很大影響--窗口越小,服務器停止傳輸等待 ACK 到達的幾率就越高。。
圖1 顯示了采用較小窗口大小的“猝發性”傳輸與較大窗口大小的“更通暢”傳輸
圖 1 顯示了從客戶端到服務器的 TCP 會話示例,由于其具有較小的窗口尺寸,因此具有“猝發性”。盡管物理通道能夠實現高數據速率,但應用在客戶端實際獲得的吞吐量則由 TCP 協議所限,只是高速率的一小部分。對 TCP 應用性能影響最大的不是數據速率,而是吞吐量。如果將窗口大小調整得更大些,那么數據包數量就會增加,流量也就 “更通暢”。
DOCSIS 基本原理
CableLabs? DOCSIS規范定義了線纜調制解調器傳輸的物理層 (PHY) 方面與接入線纜通道的媒體接入控制 (MAC) 協議。DOCSIS 就下行傳輸(從線纜調制解調器終端系統的傳輸或至家庭線纜調制解調器的 CMTS)和上行傳輸(從家庭返回至CMTS)的不同傳輸特點進行了定義。PHY 與 MAC 層都有差異,并導致 DOCSIS 通道工作不對稱。
下行通道根據定義可在連續傳輸中支持高達 40Mbit/sec 的速率。CMTS 負責從"因特網云 (Internet cloud)"接收數據包并將其通過有線網絡 (cable network) 發送至線纜調制解調器。CMTS 決定著數據包傳輸的順序與優先級。此外,由于CMTS完全占有下行媒體,因此無需協商即可對其進行訪問。
另一方面,上行通道則大為不同。在上行通道中,所有共享媒體的調制解調器競爭獲得上行訪問權。希望發送數據的線纜調制解調器需首先請求 CMTS 以獲得傳輸機會。CMTS 隨后將從調制解調器收集請求,并發送消息以表明每個調制解調器在上行通道能夠發送數據的時間。調制解調器一次只可請求一個傳輸機會,這就限制了調制解調器每秒鐘可執行的上行傳輸數量。
圖 2顯示了上下行通道之間的差異。

圖2:顯示下游通道并列出了其特點;顯示上游通道并列出了其特點。
DOCSIS 1.0 線纜調制解調器上的 TCP 性能
DOCSIS 1.0 可支持線纜調制解調器與 CMTS 之間的數據通信。線纜調制解調器平等競爭以利用上行通道。需進行上行數據傳輸的線纜調制解調器必須首先從 CMTS請求許可。CMTS 隨后將該消息與網絡上所有其他線纜調制解調器發送的其他類似請求一并處理。CMTS 而后將確定如何向發出請求的線纜調制解調器分配上行通道,并發送消息以便"映射"對進入時間分段的上行使用。
線纜調制解調器可進行的上行傳輸數量限于每秒數百次。
在 DOCSIS 1.0 中,線纜調制解調器能夠在每個上行傳輸猝發中發送一個數據包。就 TCP 而言--這意味著客戶端應用可發送至服務器的 ACK 數量有限。圖3顯示了從下行接收數據包到向服務器發送確認的周期。

圖3:顯示數據請求許可傳輸周期
下面的例子顯示了 TCP 上運行的應用對帶寬瓶頸的影響:
例 1 -- DOCSIS 1.0 設備中的 TCP 性能
設備特點:
DOCSIS 1.0
下行--256QAM 速率為 5.12Mbaud/sec(即約 40Mbit/sec)
上行 --16QAM、2.56Mbaud(即約 10Mbit/sec)
假定:
每秒猝發數量: 300
每次猝發數據包數量: 1
每秒 TCP ACK 數量: 300
單個 ACK 確認的字節數: 3036
最大可獲得的 TCP 下行帶寬: 7.2Mbit/sec
上例顯示出 DOCSIS 1.0 線纜調制解調器可獲得的最大 TCP 吞吐量限于 7.2 Mbit/sec,盡管下行通道能夠實現大得多的帶寬。
采用 DOCSIS 1.1 線纜調制解調器實現TCP性能改善
與 DOCSIS 1.0 相比,DOCSIS 1.1 擁有幾種不同的改善。盡管這些改善是因為希望實現語音應用功能而在 MAC 協議中實現的,不過協議所添加的工具還是能夠顯著改善 TCP 上的數據傳輸。這些改善包括多服務流、有效負載報頭壓縮、級連等。
近年來,符合 DOCSIS標準的線纜調制解調器已在全球得到了廣泛部署,使最終用戶能夠獲得始終在線的高帶寬因特網連接。由于通過 TCP 可運行最常見的應用,因此我們探索運行在 DOCSIS 數據網絡上的 TCP 協議行為就顯得非常重要了。
本文概括性地介紹了 TCP 的內在雙向性,并就 DOCSIS 協議對 TCP 的影響也進行了討論。最后,我們還將對提高 TCP 以及利用 TCP 的應用性能提出方案,在線纜調制解調器中嵌入應用感知 (application awareness)。
TCP 特點介紹
TCP 是最常見的因特網應用傳輸協議,由于其是基于連接的協議,因此能夠保證每個從服務器傳輸的數據包都能到達目的客戶端應用。為了保證每個數據包均能到達其目的地,TCP 使用了握手協議 (Handshake Protocol)。服務器與客戶端都跟蹤正在傳輸/接收的數據包。
服務器同時向客戶端發送數個數據包并等待已接收到數據包的確認。如果在給定時間內確認 (ACK) 未返回至服務器--則服務器將"停機",并不再發送下一個數據包。如果最終仍不能接收到ACK,那么服務器將重新傳輸未確認的數據包。服務器等待 ACK 到達前發送的數據包數量取決于"窗口大小"。窗口大小對 TCP 的性能有很大影響--窗口越小,服務器停止傳輸等待 ACK 到達的幾率就越高。。

圖1 顯示了采用較小窗口大小的“猝發性”傳輸與較大窗口大小的“更通暢”傳輸
圖 1 顯示了從客戶端到服務器的 TCP 會話示例,由于其具有較小的窗口尺寸,因此具有“猝發性”。盡管物理通道能夠實現高數據速率,但應用在客戶端實際獲得的吞吐量則由 TCP 協議所限,只是高速率的一小部分。對 TCP 應用性能影響最大的不是數據速率,而是吞吐量。如果將窗口大小調整得更大些,那么數據包數量就會增加,流量也就 “更通暢”。
DOCSIS 基本原理
CableLabs? DOCSIS規范定義了線纜調制解調器傳輸的物理層 (PHY) 方面與接入線纜通道的媒體接入控制 (MAC) 協議。DOCSIS 就下行傳輸(從線纜調制解調器終端系統的傳輸或至家庭線纜調制解調器的 CMTS)和上行傳輸(從家庭返回至CMTS)的不同傳輸特點進行了定義。PHY 與 MAC 層都有差異,并導致 DOCSIS 通道工作不對稱。
下行通道根據定義可在連續傳輸中支持高達 40Mbit/sec 的速率。CMTS 負責從"因特網云 (Internet cloud)"接收數據包并將其通過有線網絡 (cable network) 發送至線纜調制解調器。CMTS 決定著數據包傳輸的順序與優先級。此外,由于CMTS完全占有下行媒體,因此無需協商即可對其進行訪問。
另一方面,上行通道則大為不同。在上行通道中,所有共享媒體的調制解調器競爭獲得上行訪問權。希望發送數據的線纜調制解調器需首先請求 CMTS 以獲得傳輸機會。CMTS 隨后將從調制解調器收集請求,并發送消息以表明每個調制解調器在上行通道能夠發送數據的時間。調制解調器一次只可請求一個傳輸機會,這就限制了調制解調器每秒鐘可執行的上行傳輸數量。
圖 2顯示了上下行通道之間的差異。

圖2:顯示下游通道并列出了其特點;顯示上游通道并列出了其特點。
DOCSIS 1.0 線纜調制解調器上的 TCP 性能
DOCSIS 1.0 可支持線纜調制解調器與 CMTS 之間的數據通信。線纜調制解調器平等競爭以利用上行通道。需進行上行數據傳輸的線纜調制解調器必須首先從 CMTS請求許可。CMTS 隨后將該消息與網絡上所有其他線纜調制解調器發送的其他類似請求一并處理。CMTS 而后將確定如何向發出請求的線纜調制解調器分配上行通道,并發送消息以便"映射"對進入時間分段的上行使用。
線纜調制解調器可進行的上行傳輸數量限于每秒數百次。
在 DOCSIS 1.0 中,線纜調制解調器能夠在每個上行傳輸猝發中發送一個數據包。就 TCP 而言--這意味著客戶端應用可發送至服務器的 ACK 數量有限。圖3顯示了從下行接收數據包到向服務器發送確認的周期。

圖3:顯示數據請求許可傳輸周期
下面的例子顯示了 TCP 上運行的應用對帶寬瓶頸的影響:
例 1 -- DOCSIS 1.0 設備中的 TCP 性能
設備特點:
DOCSIS 1.0
下行--256QAM 速率為 5.12Mbaud/sec(即約 40Mbit/sec)
上行 --16QAM、2.56Mbaud(即約 10Mbit/sec)
假定:
每秒猝發數量: 300
每次猝發數據包數量: 1
每秒 TCP ACK 數量: 300
單個 ACK 確認的字節數: 3036
最大可獲得的 TCP 下行帶寬: 7.2Mbit/sec
上例顯示出 DOCSIS 1.0 線纜調制解調器可獲得的最大 TCP 吞吐量限于 7.2 Mbit/sec,盡管下行通道能夠實現大得多的帶寬。
采用 DOCSIS 1.1 線纜調制解調器實現TCP性能改善
與 DOCSIS 1.0 相比,DOCSIS 1.1 擁有幾種不同的改善。盡管這些改善是因為希望實現語音應用功能而在 MAC 協議中實現的,不過協議所添加的工具還是能夠顯著改善 TCP 上的數據傳輸。這些改善包括多服務流、有效負載報頭壓縮、級連等。
評論