1. 2019 International Conference on Platform Technology and Service
(PlatCon-19)
ICMPv6SD: A Compact Service Discovery
Protocol Supporting Plug-and-Play in Home
Networks
Author: Zi-Chao Lin [1] and Chun-Feng Liao [1,2]
Department of Computer Science [1]
Program in Digital Content and Technologies [2]
National Chengchi University, Taipei, Taiwan
3. Introduction
• Pervasive Computing Environment
– Many applications have been developed till now
– Integration of heterogeneous hardware and software
• UPnP (Universal Plug and Play)
– Apply Simple Service Discovery Protocol (SSDP) to achieve
the presence management
– Operating Systems and Programming Language
independence
• Two roles in UPnP network
– Device and Control Point
3
4. Objective
• Problem
• Neglect to fully apply features of IPv6
– Concentrate on the compatibility of address, but IPv6 also improves ICMP and
multicast schemes
• Network flooding
– UPnP/SSDP depends on UDP which is unreliable and often loses packets
– Specification suggest sending packets more than one time but usually causes
useless traffic
• Redundant information
– SSDP consists of several pairs of key and value
» MAN field and “ssdp:discover”
» Only five different values in MAN field
– SSDP transmits messages in plain text
4
5. Objective
• Solution: ICMPv6SD
– A compact service discovery protocol based on ICMPv6
• Utilize the advantages of IPv6 and ICMPv6
• Use simple ICMPv6 message format to reduce the complexity
• Make the smart home network more scalable and robust
5
6. Background: ICMPv6
• ICMPv6 is the latest version of ICMP
– Defined in RFC 4443
– Responsible for error reporting and transmitting the status
message of the node
• General Message Format:
6
7. Related Works
• A bridge for control points and devices can interoperate
between IPv4 and IPv6
• Neighbor Discovery Protocol (NDP)
– Defined in RFC 4861
• Use ICMPv6 message format
• Address Resolution, Neighbor Unreachability Detection, Duplicate
Address Resolution, and so on
– Analyze the security of NDP and how to protect NDP against
attack
• In light of NDP, we use ICMPv6 message format to design a
new service discovery protocol
7
[Li et al, 2008]
[Zhang and Wang 2016]
8. Protocol Design
• Protocol overview
– Lightweight Encoding
• Reorganize SSDP message format to meet ICMPv6 message format
– Data Compression
• Compress message by Huffman coding algorithm
– Monitoring Tool
• Observe the traffic of the network to troubleshoot
8
9. • Lightweight Encoding
– Reorganize SSDP message format to meet ICMPv6 message
format
– Determine the value of the field from the message type
9
Protocol Design
10. Protocol Design
• Data Compression
– Some fields still haven’t been encoded
• Specific to most devices and control points
• Too lengthy and diverse to encode
– Apply Huffman algorithm to the fields
10
12. Protocol Design
• Monitoring Tool
– Message contents are not human-readable after
lightweight encoding and data compression
– Lua-based Wireshark plugin
12
13. Analytical Evaluation
• Message Reduction Ratio (MRR)
– If our proposed protocol is more effective in reducing
message transmission, MRR will close to one
13
14. Analytical Evaluation
• Throughput Gain (TG)
– TG is positive only if ICMPv6SD decreases the message count
and has smaller message size
14
15. Evaluation: Experiments
15
• Message counts
– Descriptions
• Message counts when the devices
and control points under different
protocols
– Results
• Values of MRR is are least 0.9
• ICMPv6SD can effectively reduces
the number of messages
16. Evaluation: Experiments
• Message size
– Descriptions
• Message size under different
protocols with the same amount of
information
– Results
• TG has escalating trend when the
number of nodes increases
• The original SSDP spends more
network resources than ICMPv6SD
16
17. Conclusion
• This work presents a new compact service discovery
protocol: ICMPv6SD
– Take advantages of ICMPv6
– Reduce unnecessary duplication and compress message body
– Develop a Monitoring tool helps developers to troubleshoot
• The experimental results show ICMPv6SD better:
– Reduce number of messages
– Reduce a large number of useless bytes
• Future work
– Deploy to a mixed IPv6 and IPv4 environment
– Investigate the feasibility of deploying to nodes with 6LowPAN 17