3.3.6.1 協定堆
為了讓衛星地面接收站節點可以被一台以上的主機使用,所以我們將這個節 點設計為一個第三層的節點,讓衛星地面接收站節點後面可以接一個區域網路
(Local Area Network),所以它就必須要有路由功能,使得 DVB-RCS 網路與節
29
點後方的區域網路可以溝通。
圖 3-16 衛星地面接收站節點協定堆
因此衛星地面接收站節點採用與服務提供者節點類似的協定堆如圖 3-16,不 同的地方在於衛星地面接收站節點是接收正向通道的封包而透過反向通道來傳 送它的資料封包,這點與服務提供者節點正好相反。
3.3.6.2 RCST_CTL 模組
RCST_CTL 模組之下掛有兩串不同的協定堆,一串是用來接收正向通道中 的控制表格或是資料封包,另一串則是用來處理欲透過反向通道發送的資料封 包。RCST_CTL 模組主要有幾個工作:
30
1. 收集服務提供商節點送過來的四種控制表格,藉由分析這四種表格得知它必 須接收資料封包的 Packet ID。因為對每個衛星地面接收站節點來說都是不 斷接收衛星節點所廣播下來的封包,所以衛星地面接收站節點必須自己判斷 哪些封包才是給自己的。
2. 收集網路控制中心節點送過來的四種控制表格,藉由分析這四種表格得知它 所得到哪些衛星資源,或者是說在未來的時間中,有哪些時槽是屬於它的。
有了這些資訊後,透過與 RCS_MAC_RCST 模組中的 Queue Manager 溝通,
才能正確地將時槽分配給 RCS_MAC_RCST 模組來傳送資料。
3. 透過與 RCS_MAC_RCST 模組中的 Queue Manager 溝通,得知下層 Queue 的需求後,發送需求封包給網路控制中心節點要求時槽。
3.3.6.3 MPE 模組
當 MPE 模組收到 SECTION 模組的封包時,會先檢查這個封包的內容是否 為控制表格,若是則直到送到 RCST_CTL 模組,否則收到的應該是一個以 Datagram Section 格式封裝的封包,MPE 模組會用 Datagram Section 的表頭的資 訊將這個封包還原成 IP 封包,將其送往 RCST_CTL 模組。
3.3.6.4 SECTION 模組
當 SECTION 模組收到 MPEG2_TS_RCST 模組送上來的 Section 時,會先檢 查這個 Section 的內容是否為一個 Datagram Section,若是則直到送到 MPE 模組,
否則由這個封包的表頭取得這個 Section 的類別,之後會把這個 Section 放到該類 別的緩衝空間中。
在 SECTION 模組中緩衝空間都會對應到一個特定類別的 Section,用來暫存
31
那些還無法組成某一種控制表格的 Section(s),在收到 Datagram Section 以外的 Section 時,會嘗試著將那些在這種 Section 的緩衝空間中的 Section 組合一個控 制表格,當一個控制表格成功的被組合回來時,SECTION 模組就會把這個控制 表格送往 MPE 模組。
3.3.6.5 MPEG2_TS_RCST 模組
MPEG2_TS_RCST 模組在此主要是把收進來的 MPEG2 Transport Stream 封 包組成 Section,把完整的 Section 送往 SECTION 模組。目前設計中,不支援亂 序的 MPEG2 Transport Stream 封包,也就是說當一個 Section 切成數個 MPEG2 Transport Stream 封包送出,若 MPEG2_TS_RCST 模組無法依序接收那些數個 MPEG2 Transport Stream 封包時,則丟棄所有的數個 MPEG2 Transport Stream 封 包,重新從第一個數個 MPEG2 Transport Stream 封包開接收。
3.3.6.6 DVB_S2_RCST 模組
DVB_S2_RCST 模組主要的工作是處理由衛星經由正向通道發送的訊號,這 些訊息必須經過解調變、正向糾錯解碼與解多工(De-multiplexing)的處理,最 後在把處理後的封包與其所對應的界面送到 MPEG2_TS_RCST 模組。
3.3.6.7 RCS_ATM_RCST 模組
RCS_ATM_RCST 模組在衛星地面接收站節點中有兩個工作,分別是切割封 包與包裝封包。把上層送下來的 IP 封包先加上 8-byte 的表尾(trailer),然後以 48-byte 為一單位作切割並封裝成 53-byte 的 ATM cell。
32
3.3.6.8 RCS_MAC_RCST 模組
RCS_MAC_RCST 模組的工作是要把一個或多個 ATM 封包封裝成一個 Burst,讓它能夠透過反向通道送上衛星。在 RCS_MAC_RCST 模組中有一個緩 衝空間,在這個緩衝空間中沒有任何 ATM 封包時,RCS_MAC_RCST 模組會處 於閒置的狀態,直到有 ATM 封包由 RCS_ATM_RCST 模組送下來,就會觸動 RCS_MAC_RCST 模組的傳送機制。
3.3.6.9 DVB_RCS_RCST 模組
衛星地面接收站節點的 DVB_RCS_RCST 模組的功能與閘道節點中的相對 稱,它會對 DVB_MAC_RCST 模組送下來的 Burst 做通道編碼與調變的動作,詳 細的敘述請參照閘道節點的 DVB_RCS_SP 模組章節,最後會將處理過後的封包 透過反向通道送上衛星。
33
DVBS2_SAT 模組在實作上就是一個 repeator,將收到的封包往下面廣播,
因此在 recv()函式中,收到封包除了做紀錄之外,就是馬上去呼叫 send()函式將 此封包往下送。而在往下送的時候會去判斷收到封包的類型作不同方向的廣播,
目前會有兩種類型:
1. PKT_DVB_S2,此種類型是代表此封包是從正向通道傳過來的,也就是從饋 送者節點傳過來的,所以此封包的目的地是衛星下面的衛星地位接收站。因 此衛星在傳送此種類型的封包時會去判斷目前要去傳送的節點是否屬於衛 星地位接收站,是屬於衛星地位接收站才去傳送,否則不傳。
2. PKT_DVBRCS,此種類型是代表此封包是從反向通道傳過來的,也就是從 衛星地位接收站傳過來的,所以此封包的目的地是衛星下面的閘道節點。因 此衛星在傳送此種類型的封包時會去判斷目前要去傳送的節點是否屬於閘 道節點,是屬於閘道節點才去傳送,否則不傳。
4.2 饋送者節點(Feeder)
4.2.1 DVB_S2_FEEDER 模組
這個模組是屬於 physical layer 的,所以主要是作循環冗餘校驗(CRC Check)、位元攪亂(Bit Scramble)及編碼(Encoding)。