三、 DVB-RCS模擬的設計與實作
3.2. 控制訊息
3.2.1. 控制表格
為了管理以及控制DVB-RCS 網路系統,SP 節點以及 NCC 節點會透過正向通道廣 播控制資訊到網路中所有RCST 節點,這類控制訊息被稱為「控制表格」(Control Table)。 DVB-RCS 系統中控制表格有非常多的種類,但是有多種的控制表格是為了提供廠商或 使用者能夠更有彈性的管理或使用這個系統,因此在我們的設計之下,只有使用其中最 重要的八種控制表格:PAT、PMT、NIT、INT、SCT、FCT、TCT、以及 TBTP。 以下 我們概略介紹這八種控制表格的作用,控制表格詳細說明請參考 [7] [8]。
圖8 正向通道上的多工/解多工
正向通道上的多工/解多工(Multiplexing/De-multiplexing)
在我們的系統中PAT、PMT、NIT、以及 INT 四種控制表格用來達成正向通道上的 多工/解多工。在第二章有提到DVB-RCS 在正向通道上利用 MPEG2-TS 格式來傳輸資 料,當IP 封包要進入正向通道時,會被封裝成 MPE section 並切割成一或多個 MPEG2-TS 封包。而在我們的系統中,正向通道上送往一個RCST 節點的資料被視為一條基本串流,
所有基本串流會被合併成一條MPEG2-TS 串流以 TDM 方式送上正向通道,為了做到多 工/解多工每一條基本串流被給予一個唯一的辨認碼,稱為PID(Packet Identifier),也 可視為各個RCST 擁有一個 PID 值。SP 節點會定期發送 PAT、PMT、NIT、以及 INT
Channel 1
S Frame 1 Frame 2
Superframe 1
Channel 2 Channel 3
圖9 反向通道上的頻道分割
反向通道的存取控制
在我們的系統中SCT、FCT、TCT、以及 TBTP 四種控制表格用來達成反向通道的 存取控制,介紹這四種控制表之前,我們先介紹反向通道的存取控制。圖9 說明我們系 統中反向通道架構,反向通道由一個個位於不同頻帶且頻率寬(Frequency Bandwidth)
相同的頻道(Channel)組成,每一個 RCST 節點固定使用一個頻道,而使用相同頻道 的所有RCST 節點共同分享頻道資源。每一個頻道在時間上劃分成一個個相同長度的時 段,稱為超視框(Superframe)。每一個超視框被劃分成長度相同的時段,稱為視框
(Frame),視框是反向通道資源分配的週期,NCC 每間隔一個視框執行一次資源分配。
每一個視框又被劃分成長度相同的時段,稱為時槽(Timeslot),時槽是反向通道資源分 配的基本單位,一個時槽可以傳送一個Burst。我們的系統中實作了兩種 Burst:ATM traffic Burst 以及 SYNC(Synchronization) Burst。在 2.1.4 節中有提到 IP 封包在反向通 道會被切割並封裝成ATM 封包,而 ATM traffic Burst 便是用來傳遞 ATM 封包,也就是 說ATM traffic Burst 傳遞使用者資料。SYNC Burst 的主要用途是用來維持同步以及讓 RCST 節點回傳控制訊息,為了簡化設計,我們在目前系統沒有模擬同步程序而僅模擬 同步所需的額外負載(Overhead)。為了讓RCST 節點可傳遞要求訊息(Request Message)
至NCC 節點,DVB-RCS 標準制訂了四種傳遞方法,我們實作了其中一種,也就是將 RCST 的要求訊息裝載在 SYNC Burst。在以下章節我們把傳送 ATM traffic Burst 的時槽 稱為「資料時槽」(TRF Timeslot);而把傳送SYNC Burst 的時槽稱為「要求時槽」(Request Timeslot)。
為了讓網路中所有RCST 節點知道如何利用反向通道,NCC 節點定期發送 SCT、
FCT、TCT、以及 TBTP 四種控制表格。SCT 控制表格中主要描述各個超視框開始時間 以及內部各個視框的相對位置;FCT 控制表格中主要描述視框內部各個時槽的相對位 置;TCT 控制表格描述時槽的參數,比如符號傳輸率(Symbol Rate)、編碼率(Coding Rate)、負載類型等。藉由查詢 SCT、FCT、以及 TCT 三張控制表格,RCST 節點可建 出如圖9 所表示的反向通道架構,而時槽的分配則由 TBTP 控制表格敘述,每當 NCC 節點完成反向通道資源分配,NCC 節點將 TBTP 向所有 RCST 節點廣播,各個 RCST 節點可藉由查詢TBTP 控制表格得知接下來的視框中有哪些時槽是分配給自己。
3.2.2. 用戶端要求訊息
DVB-RCS 標準將反向通道頻寬分配方式分成以下幾種:
z CRA(Continuous Rate Assignment)
z RBDC(Rate Based Dynamic Capacity)
z VBDC/AVBDC(Volume Based Dynamic Capacity/Absolute Volume Based Dynamic Capacity)
z FCA(Free Capacity Assignment)
CRA:
CRA 是一種用戶端與系統服務者簽約書上協定的一種頻寬分配,一旦 RCST 登入 DVB-RCS 網路,CRA 就會持續提供固定大小的頻寬(Bandwidth)給該 RCST,這種資 源是自動分配,不需要RCST 節點發出要求訊息。即使 RCST 節點並沒有資料要傳送,
CRA 分配方式依舊會將頻寬分配出去,所以這種分配可能造成反向通道的頻寬浪費。
CRA 分配通常用於需要固定而且受保證的頻寬、最小延遲(Delay)、以及最小延遲差異
(Delay Jitter)的資料流(Traffic Flow)。
RBDC:
RBDC 是一種動態的頻寬分配方式,RCST 節點週期性量測使用者送出資料的速率 並發出要求訊息(此類要求稱為「RBDC 要求」)到 NCC 節點,送到 NCC 節點的 RBDC 要求會維持一段有效期,直到被新的RBDC 要求覆蓋或是期限終止。
VBDC/AVBDC:
VBDC 與 RBDC 一樣是一種動態的頻寬分配方式,RCST 節點週期性量測緩衝空間 內的資料量,並發出要求訊息(此類要求稱為「VBDC 要求」)到 NCC 節點,VBDC 要 求是累加性的,也就是說,RCST 節點發出的 VBDC 要求會加到之前發出的要求。VBDC 要求不受到保證,若NCC 節點在做排程時沒有足夠的頻寬可滿足某一個 RCST 節點的 VBDC 要求,NCC 會將不足的數量記錄下來,我們把 NCC 節點為各個 RCST 節點記錄 的不足數量稱為「VBDC 積欠量」。AVBDC 與 VBDC 相似,唯一差別在於 AVBDC 要 求不具有累加性,每一個AVBDC 要求覆蓋掉之前發出的 VBDC/AVBDC 要求,AVBDC 通常用在RCST 節點發現所發出的 VBDC 要求遺失時。
FCA:
NCC 節點完成上述幾種分配方式之後如果有剩餘的頻寬,依據系統服務者制訂的 政策,NCC 節點可決定是否要將這些頻寬分配出去,將剩餘頻寬分配出去就叫做 FCA。
這些頻寬如果沒有分配出去就會造成閒置,而RCST 節點利用 FCA 分配的頻寬可以減 少等待的時間,所以FCA 分配的目的是提高反向通道使用率(Utilization)以及減少延 遲。FCA 與 CRA 一樣是自動分配,不需要 RCST 節點發出要求訊息。
上述幾種頻寬分配中,RBDC、VBDC、以及 AVBDC 都需要 RCST 節點向 NCC 節 點發出要求訊息,RCST 節點發出要求訊息直到收到回應的這段期間稱為「要求延遲」。
如3.2.1 節提到的,每一個 RCST 節點會在分配給自己的要求時槽內,將這些要求裝載 在SYNC Burst 送出。
以下提出在我們設計中,RCST 節點幾個與頻寬分配相關的參數:
z CRA_MAX_RATE:RCST 節點的 CRA 額度,指的是 CRA 分配中可拿到的固定頻 寬。
z RBDC_MAX_RATE:RCST 節點的 RBDC 額度,指的是 RBDC 分配中可拿到的最 大頻寬。在我們設計中,RBDC 要求是被保證的,也就是說,RCST 節點的 RBDC
要求只要低於RBDC_MAX_RATE,所發出的要求一定被滿足。
z RBDC_TIMEOUT:此參數代表的是 RBDC 要求的有效期,可以是 1 至 15 個超視 框。
z VBDC_MAX_RATE:此參數代表的是 RCST 節點可拿到的頻寬上限。VBDC 要求 不受保證,所以即使RCST 節點發出的 VBDC 要求低於 VBDC_MAX_RATE,所發 出的要求也不一定被滿足。