今回はIEEE802.15.4 MAC層全体の中でも特に、"SSCS(Service Specific Convergence Sublayer)"と呼ばれるサブレイヤについてまとめてみます。
IEEE802.15.4物理層についてはこちらです。
URL : https://wireless-network.net/ieee802-15-4-phy/
IEEE802.15.4は、低速短距離無線向けの規格です。それゆえ、ZigBeeや6LoWPANといった低消費電力で動くネットワーク層(+アプリケーション副層)のプロトコルと採用されることが多いです。
IEEE802.15.4のアーキテクチャは以下のようになっています。

SAP : Service Access Point
それでは、SSCSについて詳しく見ていきます。
SSCS : Service Specific Convergence Sublayerとは?
IEEE802.15.4を規格化するグループは、IEEE802.2 LMSC(LAN and MAN Standard Committee)という標準委員会の下にいます。そして、IEEE 802.2 type1 LLC(Logical Link Control)のサポートが義務付けられています。しかし、これはワイヤレスセンサーネットワークよりも以前に規格化された有線向けのものです。そこで、これでは不十分なので、IEEE802.15.4はそれをさらにサポートする形で、SSCS(Service Specific Convergence Sublayer)を定義しました。
したがってSSCSは、IEEE802.2 type1 LLCとIEEE802.15.4MAC層(データサービス : MCPS)のインターフェースとみることが出来ます。 つまり送信するデータは、ネットワーク層 → IEEE802.2 type1 LLC → SSCS を経由してMAC層データサービス(MCPS) へ送られるわけですね。
実際は SSCSでは、以下のことを行っています。
また下の説明では、紛らわしい用語がたくさん出てきます。どの英語が何を表しているか、注意が必要です。
MA-UNITDATA
SSCSへIEEE802.2 type1 LLCからフレームが送らてきてきます。SSCSはそれをMCPS(MAC層データサービス)に流します。また、SSCSへMCPSからデータが送られてきます。SSCSはそれをIEEE802.2 type1 LLCへ渡します。
MA-UNITDATA.request
IEEE802.2 type1 LLCはSSCSへ、SPDU : SSCS Protocol Data Unitを送ります(MA-UNITDATA.request)。言い換えるなら、データをMAC層へ転送してほしいと要求します。
SPDUには、IEEE802.2 type1 LLC以上の層のデータ(LPDU : LLC Protocol Data Unit)やルーティングやアドレス等の情報が入っています。中身は以下になります。
MA-UNITDATA.request (
srcAddr,
dstAddr,
routingInformation,
data,
priority,
serviceClass
)
各種情報の説明です。
- srcAddr : IEEEのsource addressのこと。
- dstAddr : IEEEのdestination addressのこと。
- routingInformation : データを転送する際のルートをどうするか。ここで、ソースルーティングの経路を指定できる。もしソースルーティングを使用しないならnullをいれる。※ソースルーティングとは、事前に経路を決めておくルーティング方法。
- data : アプリケーション層から引き継がれてきたデータ(LPDU : LLC Protocol Data Unit)。LPDUとは、LLCフレーム(LLCヘッダー + LLCペイロード)のこと。
- priority : トラフィック優先順位
- serviceClass : サービスクラス
MA-UNITDATA.indication
MA-UNITDATA.indicationはMA-UNITDATA.requestと逆の動作です。つまりSSCSは、MCPS(MAC層データサービス)からデータが転送されてきたら、次はそれを、SSCSがIEEE802.2 type1 LLCへ転送します(MA-UNITDATA.indication)。
MA-UNITDATA.requestと異なるは、reception statusが追加されている点です。データが物理層からMAC層へ送られたときに、MAC層ではFCSを計算します。このときにFCSの値が有効なら、reception statusにSUCCESSを入れます。もしFCSの値が無効ならば、MAC層でデータをそのまま破棄します。そして、上位層であるSSCSには何も通知しません。
MA-UNITDATA.indication (
srcAddr,
dstAddr,
routingInformation,
data,
reception status,
priority,
serviceClass
)
MA-UNITDATA-STATUS.indication
SSCSはMA-UNITDATA.requestに応答する形で、データ送信が完了したかどうか等の現在の状況をIEEE802.15.4 type1 LLCへ通知する。MA-UNITDATA-STATUS.indicationのパラメータの一つである"transmission status"には、SUCCESS、TRANSMISSION_PENDING、NO_BEACON、CHANNEL_ACCESS_FAILUREのいずれかが入る。
MA-UNITDATA-STATUS.indication (
srcAddr,
dstAddr,
transmssion status,
provPriority,
provServiceClass
)
IEEE802.15.4 SSCSの説明は以上です。
物理層についてまとめたものはこちらです。
最後まで読んでいただきありがとうございました。
お世話になった参考文献
- http://www.diegm.uniud.it/tonello/MATERIAL/STANDARDS/802.15.4/802.15.4-2003.pdf
- http://www.ieee802.org/11/Documents/DocumentArchives/2000_docs/0360r18E-QoS_Adhoc_Proposal.doc