I am aware of open-source tools and implementations concerning your points (1. infrastructure, 4. Discovery, 5. Data Protocols). Indeed, Contiki-OS (http://www.contiki-os.org/) has a full network stack supporting your point 1. It has also discovery mDNS/DNS-SD mechanisms implemented along with CoAP and MQTT Data protocols. Other IoT OSs such as RIOT and OpenWSN provide similar functionalities.
IOTIFY : give you the ability to simulate large scale IoT use cases in cloud.(MQTT,HTTP,CoAP)
SimpleIoTSimulator : support a large number of protocols mentioned( MQTT , CoAP ,HTTP,HTTPS) and lorawan applications.
IoT Device Simulator by AWS
Matlab
Netsim: can be scaled to hundred of end devices and can test the performance of real apps over a virtual network.
BevyWise IoT Simulator ( MQTT).
IBM Bluemix : is an innovative cloud platform that allows you to sample the company’s Internet of Things Platform even if you don’t have a physical device using simulated data.
Cooja/ Contiki-OS : Contiki is an open source operating system for the Internet of Things that supports(IPv4/IPv6,MQTT,CoAP, 6lowpan, RPL ,etc.) besides it supports a number of hardware platforms.