6LoWPAN Protocol Stack
OSI Layer VS 6LoWPAN Stack
Physical Layer
• Preamble-For receiving clock synchronization • Start of frame delimiter-To mark new incoming frame • SHR,PHR,PHY payload forms PHY Packet
Data Link Layer (MAC Layer)
• Frame Control
• Data frame-data transfer, Beacon frame-generated by coordinator for synchronization, Command frame- MAC layer network management. Used for association, disassociation, data and beacon requests, conflict notification Acknowledgement frame-for acknowledgement • Security Enabled-1 Bit , set to 1 if it is protected by MAC layer. • Frame pending-1 Bit, enabled if there is more data for recipient. • Ack request-1 Bit, enabled if acknowledgement is required. • Sequence number-Always enabled for security • Addressing Field-Destination Id& Address , Source Id & Address • MFR-Has Frame check sequence=2 octets in length and contains a 16-bit ITU-T CRC (Cyclic Redundancy Check).
Adaptation Layer • Has three primary elements• 1.Fragmentation and Reassembly-MTU for IEEE802.15.4 is 128 bytes but Ipv6 packet size is 1280 bytes so fragmentation is required. D size- size of whole packet D tag- which packet D offset-offset of fragment from first fragment • 2.Header Compression-IPv6 header size is 40 bytes, Datagram Protocol (UDP) 8 bytes, 4 bytes of ICMPv6 header, fragmentation header add another 5 bytes overhead. So header compression is required for effective payload transmission.
Network Layer • The main considerations of this layer are addressing and routing protocols. • Ipv6 header is added in this field, route over routing decision is done in network layer. • RPL routing protocol for low power and lossy network can be used.IPv6 extension header will have routing details
• DODAG-Destination-Oriented Directed Acyclic Graph • DIO-DODAG Information Object • DAO-Destination
Transport Layer • Responsible for process to process delivery • UDP is the protocol used in 6lowpan • In this layer UDP header is added.IT consist of 4 fields1.Source port number-This field identifies the sender's port and should be assumed to be the port to reply to if needed. 2.Destination port number- Identifies receivers port address 3.Length- specifies the length of UDP header and data. 4.Checksum- Used for error checking
Application Layer • 6LoWPAN application opens a socket which is then used to receive or send packets. • CoAP is an application layer protocol that is intended for use in resource-constrained internet devices.
• CoAP- Constrained application protocol- for constrained hardware • Observe flag- Send GET with observe flag, if there is a change of variable it will push notification . • Discovery-Discover devices, sending the resources. • Quality of service-Confirm message or non confirmable
• T Transaction type-Indicates-> 0 Confirmable, 1 Non confirmable, 2 Acknowledgement- confirms the reception of con message, 3 ResetConfirms the reception of msg that couldn’t be processed • OC Option count-Indicates if there is any optional header following this header • Code- Indicates-> 0 GET, 1 POST, 2 PUT, 3 DELETE • GET- Retrieves the information corresponding to the resource in request URI • POST-Similar to GET, if additional information is sent in body of request, rather than URI -POST is used • PUT-Resource identified by the request URI be updated • DELETE- Delete a resource on the server
• Transaction id- Must be changed for each new request