370 likes | 742 Views
G3 PLC MAC LAYER. Speaker : Yi-Jie Pan Advisor : Dr. Kai-Wei Ke 2014/04/28. Outline. Introduction MAC Sublayer Functions Primitives Sequence Chart 6LoWPAN Adaptation Sublayer Functions Primitives Sequence Chart Reference. OFDM PLC Communication Profile. MAC Sublayer.
E N D
G3 PLC MAC LAYER Speaker:Yi-Jie Pan Advisor:Dr. Kai-Wei Ke 2014/04/28
Outline • Introduction • MAC Sublayer • Functions • Primitives • Sequence Chart • 6LoWPAN Adaptation Sublayer • Functions • Primitives • Sequence Chart • Reference
MAC Sublayer • The MAC Common Part Sublayer (MCPS) responsible for communication with the neighbouringnodes • The MAC Layer Management Entity (MLME)responsible for management of the MAC sublayer. It relies in particular on the MAC PAN Information Base (MAC PIB) whose main element is the Neighbour Table. This table contains all the information that the MAC and PHY levels need for bidirectional communication with the neighbours.
MCPS Functions • Generation of the MAC Protocol Data Units (MAC PDU) • MAC Data Frame • MAC Check Frame • These frames of a similar format enable requests or indications to be exchanged between neighbours: Discovery of the environment (active scan), Transfer of Channel Estimation parameters, etc. • Beacon Frame • The beacon frame is only emitted on request (active scan) and not cyclically as in other systems. It enables the basic characteristics of the neighbour nodes active on the network to be discovered: PAN number, MAC address, capacities (coordinator, encryption, etc.).
MCPS Functions (Cont.) • CSMA/CA Access Method • Reliable data transfer to the immediate neighbours (ACK mechanism) • The ACK mechanism is checked by the MAC layer (PD-ACK.req/conf/ind primitives) and the frames belong to the PHY layer to avoid wasting bandwidth. • Security • encryption in AES-128 CCM* mode, with selection from among 4 Group Session Keys and an Anti-Replay mechanism
MCPS Functions (Cont.) • Network selection (PAN) and addressing of the different nodes • A long address in EUI-64 format, deduced from the unique EUI-48 address assigned during manufacture of the equipment by adding two 0xFF bytes in its center. • A short address on 16 bits assigned dynamically and in a centralized manner thanks to the LBP protocol (6LoWPAN Bootstrap Protocol).
MLME Functions • Active discovery (active scan) of neighbouring nodes. • This is activated when a terminal equipment starts or after it has become detached from the network. • Management of the MAC level parameters • These parameters constitute the MAC Information Base (MAC PIB), an integral part of the overall Management Information Base (MIB). • Initialization/Reinitialization of the MAC and PHY layers.
MCPS Services Primitives • MCPS-DATA.request/indication/confirmation • these primitives allow the MAC layer to transmit a 6LoWPAN frame. Among the parameters are found the MAC and PAN address information and the security parameters. The request primitive includes Quality of Service information and the indication primitive a Quality of Line indicator.
MLME Management Primitives • MLME-START.request/confirm • these primitives initialize the MAC and PHY layers • MLME-RESET.request/confirm • these primitives reinitialize the MAC and PHY layers. • MLME-COMM-STATUS.indication • this primitive signals reception of an erroneous frame for maintenance purposes. • MLME-SCAN.request/confirm • these primitives activate sending of the MAC discovery frame, gathering of the information carried by the Beacon frames and, after a programmable time period, the sending of a list of Neighbours with their main characteristics.
MLME Management Primitives (Cont.) • MLME-SET.request/confirm • these primitives enable information to be set in the MAC PIB. • MLME-GET.request/confirm • these primitives serve to retrieve information from the PHY PIB.
6LoWPAN Adaptation Sublayer • The common processing operations block (Common Part) is responsible for end-to-end communication within the PLC local network (PLC LAN). It is based in particular on the 6LoWPAN Information Base (NIB), the main element of which is the Routing Table. This table contains the identifier of the neighbour node to which a packet is to be routed for each destination node identified by its short address on 16 bits.
6LoWPAN Adaptation Sublayer (Cont.) • The routing function in Mesh mode. Its purpose is to constitute the routing table, and it does this using the LOAD protocol, a compact version of the AODV protocol that is adapted to 6LoWPAN.
6LoWPAN Adaptation Sublayer (Cont.) • The Security and Initial Configuration function. It uses the LBP (6LoWPAN Bootstrap Protocol) which appears as a grouping of the DHCPv6 and EAPOL protocols in a compressed version adapted to 6LoWPAN.
6LoWPAN Functions • Compression of Internet and Transport headers • Fragmentation • This function enables an Ipv6 datagram, whose size can reach 1260 bytes, to be divided into segments better adapted to transport across the PLC LAN. • Generation of the 6LoWPAN PDUs • 6LoWPAN Data Frame • Check frames corresponding to the LBP and LOAD protocols • Packet reordering • Reliable end-to-end data transfer (selective ACK mechanism) • Relaying of MAC frames (unicast, multicast, broadcast) • It is based on the information from the routing table and on the definition of the groups for multicast relaying.
Routing In MESH Mode • RREQ (route request) • RREP (route reply)
ADP DATA Service Primitives • ADPD-DATA.request • This primitive requests the transfer of an application PDU to another device, or multiple devices. • ADPD-DATA.confirm • This primitive reports the result of a previous ADPD-DATA.request primitive. • ADPD-DATA.indication • This primitive is used to transfer received data from the ADP layer to the upper layer
ADP Management Service Primitives • ADPM-DISCOVERY.request • This primitive allows the upper layer to request the ADPM to scan for networks operating in its POS. • ADPM-DISCOVERY.confirm • This primitive is generated by the ADP layer upon completion of a previous ADPM-DISCOVERY.request. • ADPM-NETWORK-START.request • This primitive allows the upper layer to request the starting of a new network. It must only be invoked by device designated as the PAN coordinator during the factory process. • ADPM-NETWORK-START.confirm • This primitive reports the status of a ADPM-NETWORK-START.request.
ADP Management Service Primitives (Cont.) • ADPM-NETWORK-JOIN.request • This primitive allows the next upper layer to join an existing network. • ADPM-NETWORK-JOIN.confirm • This primitive is generated by the ADP layer to indicate the completion status of a previous ADPM-NETWORK-JOIN.request. • ADPM-NETWORK-JOIN.indication • This primitive allows the upper layer of the PAN coordinator to be notified when a new device has successfully completed the association procedure, and is now part of the network.
ADP Management Service Primitives (Cont.) • ADPM-NETWORK-LEAVE.request • This primitive allows the PAN coordinator to remove a device from the network, or allows a device to remove itself from the network. • ADPM-NETWORK-LEAVE.confirm • This primitive allows the upper layer to be informed on the status of its previous ADPM-NETWORK-LEAVE.request. This request can be either to leave by itself the network, or to instruct another device to leave (PAN coordinator only) • ADPM-NETWORK-LEAVE.indication • This primitive is generated by the ADP layer to inform the upper layer that a device has been unregistered from the network.
ADP Management Service Primitives (Cont.) • ADPM-RESET.request • This primitive allows the upper layer to request that the ADP layer performs a reset. • ADPM-RESET.confirm • This primitive allows the upper layer to be notified of the completion of an ADPM-RESET.requestprimitive. • ADPM-GET.request • This primitive allows the upper layer to get the value of an attribute from the information base. • ADPM-GET.confirm • This primitive allows the upper layer to be informed of the status of a previously issued ADPM-GET.request primitive.
ADP Management Service Primitives (Cont.) • ADPM-SET.request • This primitive allows the upper layer to set the value of an attribute in the information base. • ADPM-SET.confirm • This primitive allows the upper layer to be informed about a previous ADPM-SET.requestprimitive. • ADPM-NETWORK-STATUS.indication • This primitive allows the next higher layer of a PAN coordinator or a coordinator to be notified when a particular event occurs on the PAN.
ADP Management Service Primitives (Cont.) • ADPM-LBP.request • This primitive allows the upper layer of client to send the LBP message to server modem . • ADPM-LBP.confirm • This primitive reports the result of a previous ADPM-LBP.request primitive. • ADPM-LBP.indication • This primitive is used to transfer received LBP frame from the ADP layer to the upper layer. • ADPM-BUFFER.indication • This primitive allows the next higher layer to be notified when the modem reach his limit capability to perform coming frame.
Message sequence chart during removal of a device by the coordinator
Reference • ERDF, “G3-PLC-Profile-Specification” • ERDF, “G3-PLC-MAC-Layer-Specification” • IEEE, “802.15.4-2006”