CoAP is a lightweight protocol designed for resource-constrained IoT devices. It uses UDP for fast transmissions but includes reliability features like message IDs, acknowledgments, and retransmissions. While simpler than HTTP, CoAP supports RESTful operations and uses a similar request/response model. The presentation discussed CoAP's message format and features like observe, block transfers, and service discovery that make it suitable for IoT and M2M communication.
High level overview of CoAP or Constrained Application Protocol. CoAP is a HTTP like protocol suitable for constrained environment like IoT. CoAP uses HTTP like request response model, status code etc.
ITVoyagers has created presentation which gives overview on following topics
1. MQTT
2. CoAP
Following are the contents.
MQTT
Components
Diagram
Example
Decoupling in Pub/Sub
CoAP
Description
Layers
Types of message
CoAP Header
It will help students in their last minute preparations for exams.
Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)GLC Networks
Webinar topic: Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)
Presenter: Achmad Mardiansyah
In this webinar series, We are discussing Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/en/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram also discord
Recording available on Youtube
https://youtu.be/JC1v1Svdwzg
High level overview of CoAP or Constrained Application Protocol. CoAP is a HTTP like protocol suitable for constrained environment like IoT. CoAP uses HTTP like request response model, status code etc.
ITVoyagers has created presentation which gives overview on following topics
1. MQTT
2. CoAP
Following are the contents.
MQTT
Components
Diagram
Example
Decoupling in Pub/Sub
CoAP
Description
Layers
Types of message
CoAP Header
It will help students in their last minute preparations for exams.
Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)GLC Networks
Webinar topic: Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)
Presenter: Achmad Mardiansyah
In this webinar series, We are discussing Networking in Telecommunication (signalling, tcp, ucp, ss7, sctp, sigtran)
Please share your feedback or webinar ideas here: http://bit.ly/glcfeedback
Check our schedule for future events: https://www.glcnetworks.com/en/schedule/
Follow our social media for updates: Facebook, Instagram, YouTube Channel, and telegram also discord
Recording available on Youtube
https://youtu.be/JC1v1Svdwzg
Join this video course on Udemy. Click the below link
https://www.udemy.com/embedded-system-programming-on-arm-cortex-m3m4/?couponCode=SLIDESHARE
This presentation course covers full architectural and internal details of one of the most famous processor ARM Cortex M3 and M4. Processor core, NVIC, Register set, Bus interfaces, AHB,APB,SYS BUS,Interrupts,memory fully explained.
Zach Shelby, Director of Technology for IoT at ARM and previously the co-founder of Sensinode gives and an in-depth tutrorial of the Constrained Application Protocol (CoAP) for the Internet of Things. Updates to this tutorial made on April 30th, 2014.
MQTT - A practical protocol for the Internet of ThingsBryan Boyd
In today’s mobile world, the volume of connected devices and data is growing at a rapid pace. As more and more “things” become part of the Internet (refrigerators, pacemakers, cows?), the importance of scalable, reliable and efficient messaging becomes paramount. In this talk we will dive into MQTT: a lightweight, open standard publish/subscribe protocol for rapid messaging between “things”.
MQTT is simple to understand, yet robust enough to support interactions between millions of devices and users. MQTT is being used in connected car applications, mobile banking, Facebook Messenger, and many things in between. In this talk you will learn all about the protocol (in 10 minutes!) and see some of its applications: live-tracking, gaming, and more. We’ll walk through designing an MQTT-based API for a ride-share mobile application, and discuss how MQTT and REST APIs can complement each other.
This presentation outlines the core functions of TCP - Transmission Control Protocol.
These comprise TCP Connection Control, TCP Flow Control, TCP Error Control, TCP Congestion Control, TCP Options and TCP Timers.
TCP/IP is the Internet core protocol that provides reliable, connection-oriented and stream-based communication service. Most of Internet traffic is carried in TCP connections, so scalability and reliability are crucial for a stable network on a global scale.
Linux Native, HTTP Aware Network SecurityThomas Graf
Cilium is open source software for transparently securing the network connectivity between application services deployed using Linux container management platforms like Docker and Kubernetes.
At the foundation of Cilium is a new Linux kernel technology called BPF, which enables the dynamic insertion of powerful security visibility and control logic within Linux itself. Because BPF runs inside the Linux kernel itself, Cilium security policies can be applied and updated without any changes to the application code or container configuration.
The Internet of Things if growing, but how can you build your own connected objects?
Together with MQTT, CoAP is one of the popular IoT protocols. It provides answers to the typical IoT constraints: it is bandwidth efficient and fits in constrained embedded environment while providing friendly and discoverable RESTful API.
This tutorial aims at giving you a hands-on experience with CoAP by showing you the power and simplicity of the Eclipse Californium library for developing real world IoT application.
Agenda:
- Introduction to CoAP
- Live discovery of connected CoAP objects using the Copper plugin for Firefox
- Presentation of more advanced CoAP topics (proxy, resource directory, device management with LWM2M)
- Presentation of Eclipse Californium, a CoAP library for Java
- Exercise: complete the provided Java code to create your own Internet of Things... thing!
A quick introdution to CoAP (Constrained Application Protocol) a RESTfull light dilatect for saving bandwidth and CPU power on the Internet of Things.
EclipseCon France 2003 Ignite-talk.
Join this video course on Udemy. Click the below link
https://www.udemy.com/embedded-system-programming-on-arm-cortex-m3m4/?couponCode=SLIDESHARE
This presentation course covers full architectural and internal details of one of the most famous processor ARM Cortex M3 and M4. Processor core, NVIC, Register set, Bus interfaces, AHB,APB,SYS BUS,Interrupts,memory fully explained.
Zach Shelby, Director of Technology for IoT at ARM and previously the co-founder of Sensinode gives and an in-depth tutrorial of the Constrained Application Protocol (CoAP) for the Internet of Things. Updates to this tutorial made on April 30th, 2014.
MQTT - A practical protocol for the Internet of ThingsBryan Boyd
In today’s mobile world, the volume of connected devices and data is growing at a rapid pace. As more and more “things” become part of the Internet (refrigerators, pacemakers, cows?), the importance of scalable, reliable and efficient messaging becomes paramount. In this talk we will dive into MQTT: a lightweight, open standard publish/subscribe protocol for rapid messaging between “things”.
MQTT is simple to understand, yet robust enough to support interactions between millions of devices and users. MQTT is being used in connected car applications, mobile banking, Facebook Messenger, and many things in between. In this talk you will learn all about the protocol (in 10 minutes!) and see some of its applications: live-tracking, gaming, and more. We’ll walk through designing an MQTT-based API for a ride-share mobile application, and discuss how MQTT and REST APIs can complement each other.
This presentation outlines the core functions of TCP - Transmission Control Protocol.
These comprise TCP Connection Control, TCP Flow Control, TCP Error Control, TCP Congestion Control, TCP Options and TCP Timers.
TCP/IP is the Internet core protocol that provides reliable, connection-oriented and stream-based communication service. Most of Internet traffic is carried in TCP connections, so scalability and reliability are crucial for a stable network on a global scale.
Linux Native, HTTP Aware Network SecurityThomas Graf
Cilium is open source software for transparently securing the network connectivity between application services deployed using Linux container management platforms like Docker and Kubernetes.
At the foundation of Cilium is a new Linux kernel technology called BPF, which enables the dynamic insertion of powerful security visibility and control logic within Linux itself. Because BPF runs inside the Linux kernel itself, Cilium security policies can be applied and updated without any changes to the application code or container configuration.
The Internet of Things if growing, but how can you build your own connected objects?
Together with MQTT, CoAP is one of the popular IoT protocols. It provides answers to the typical IoT constraints: it is bandwidth efficient and fits in constrained embedded environment while providing friendly and discoverable RESTful API.
This tutorial aims at giving you a hands-on experience with CoAP by showing you the power and simplicity of the Eclipse Californium library for developing real world IoT application.
Agenda:
- Introduction to CoAP
- Live discovery of connected CoAP objects using the Copper plugin for Firefox
- Presentation of more advanced CoAP topics (proxy, resource directory, device management with LWM2M)
- Presentation of Eclipse Californium, a CoAP library for Java
- Exercise: complete the provided Java code to create your own Internet of Things... thing!
A quick introdution to CoAP (Constrained Application Protocol) a RESTfull light dilatect for saving bandwidth and CPU power on the Internet of Things.
EclipseCon France 2003 Ignite-talk.
The continuous evolution of the Internet is currently enabling an ever-rowing availability of novel and appealing on-line services and applications. In this respect, with the simplification of wireless and wired communication electronics, being coupled to new and different on-line capable devices, we are witnessing a wide availability of connected nodes, which require the exchange of information with other devices and equipment, a concept that is currently being referred to as Machine-To-Machine. In this way, the Constraint Application Protocol (CoAP) is introduced as a Machine-to-Machine communication protocol recently standardised by the IETF and intended to be used as a simpler alternative to the Hypertext Transfer Protocol (HTTP) for connecting limited devices over constraint networks. Nevertheless, CoAP is not just a compressed version of HTTP with some extensions, CoAP is transported over UDP to simplify the network stack and provide a request/response interaction model between application endpoints, so far optimized to be small, light-weight and fast for these cutting-edge M2M and Internet of Things (IoT) applications
In this master’s thesis, we analyse the limitations and desired improvements of a current M2M deployment of an UK based company to track their fleet of vehicles. So that, we propose and design an autonomous M2M system based on CoAP to track a single vehicle and also identify its likely drivers. Finally, the real proof of concept is implemented using Python as main programming language and also validated.
MQTT: il protocollo che rende possibile l'Internet of Things (Ott. 2015)Omnys
L’Internet Of Things (IoT) rappresenta l'evoluzione tecnologica che oggi consente l’interconnessione sempre più pervasiva tra dispositivi e oggetti di qualsiasi tipologia.
Il protocollo MQTT è alla base della comunicazione tra i dispositivi e la Rete.
La presentazione si focalizza sui seguenti aspetti:
- Cos’è il procollo MQTT e perché è nato?
- Quali sono i vantaggi in termini economici ed infrastrutturali derivanti dall’adozione dell’MQTT nell’Internet of Things?
- Perchè l’adozione dell’MQTT può rappresentare, per l’Internet of Things, un balzo in avanti rispetto all’utilizzo di altri protocolli di comunicazione come l’HTTP?
- Quali sono e come possono essere superate in maniera soddisfacente le problematiche di sicurezza dei dispositivi connessi a Internet?
- In termini prestazionali e comparativi, che livelli di carico può supportare un’infrastruttura basata su MQTT?
Ambiti di applicazione e di interesse:
- Produttori di dispositivi Hardware.
- Produttori di sistemi di automazione a microprocessore.
- Produttori di dispositivi consumer-oriented pensati per l'interconnessione.
- Aziende che operano nei seguenti settori: Domotica, Automotive, Infomobilità, Telemetria, Telematica, Biomedicale, Monitoraggio industriale, Sistemi embedded.
CoAP for the Web of Things: From Tiny Resource-constrained Devices to the W...Matthias Kovatsch
The Constrained Application Protocol (CoAP) is a new Web protocol standardized by the IETF. It is not a mere compression of HTTP, but a re-design from scratch following the REST architectural style. Thus, its features are tailored for Internet of Things (IoT) applications and machine-to-machine (M2M) scenarios with highly resource-constrained devices. While this makes CoAP very interesting for the Web of Things (WoT) initiative, it is still detached from the Web world of browsers and intuitive user interaction. We present the first attempts to unite these two worlds, so that everyday objects endowed with tiny, low-cost computing devices can become first class citizens of the Web. Our Copper (Cu) project brings CoAP support to the Web browser and has been out in the wild since late 2010. Thus, we were able to conduct a user study among industry and research developers who know both, Web-based CoAP and earlier proprietary protocols for networked embedded systems. The result shows that industry developers and those with longer experience agree even more that Internet protocols and patterns from the Web ease application development for tiny, resource-constrained devices.
Scale changes everything. Number of connections and destinations went from dozen to thousands, number of messages increased by order of magnitude. What once was quite adequate for enterprise messaging can't scale to support "Internet of Things". We need new protocols, patterns and architectures to support this new world. This session will start with basic introduction to the concept of Internet of things. Next it will discuss general technical challenges involved with the concept and explain why it is becoming mainstream now. Now we're ready to start talking about solutions. We will introduce some messaging patterns (like telemetry and command/control) and protocols (such as MQTT and AMQP) used in these scenarios. Finally we will see how Apache ActiveMQ is gearing up for this race. We will show tips for horizontal and vertical scaling of the broker, related projects that can help with deployments and what the future development road map looks like.
Accelerating and Securing your Applications in AWS. In-depth look at Solving ...Amazon Web Services
Through Real AWS Customer Case Studies we will explain how Brocade Virtual Application Delivery Controller (vADC) can: - Simplify complex architectures in AWS - Significantly accelerate application performance and user experience - Provide additional application security over and above AWS ELB – with and without Web Application Firewalls (WAF) - Enable hybrid cloud architectures and cloud bursting - Fix application-level compatibility problems without the need to re-write the apps.
Speaker: Ron Masson System Engineer - Software Networking, Australia/New Zealand, Brocade
Building high performance microservices in finance with Apache ThriftRX-M Enterprises LLC
Apache Roadshow Chicago Talk on May 14, 2019
In this talk we’ll look at the ways Apache Thrift can solve performance problems commonly facing next generation applications deployed in performance sensitive capital markets and banking environments. The talk will include practical examples illustrating the construction, performance and resource utilization benefits of Apache Thrift. Apache Thrift is a high-performance cross platform RPC and serialization framework designed to make it possible for organizations to specify interfaces and application wide data structures suitable for serialization and transport over a wide variety of schemes. Due to the unparalleled set of languages supported by Apache Thrift, these interfaces and structs have similar interoperability to REST type services with an order of magnitude improvement in performance. Apache Thrift services are also a perfect fit for container technology, using considerably fewer resources than traditional application server style deployments. Decomposing applications into microservices, packaging them into containers and orchestrating them on systems like Kubernetes can bring great value to an organization; however, it can also take a very fast monolithic application and turn it into a high latency web of slow, resource hungry services. Apache Thrift is a perfect solution to the performance and resource ills of many microservice based endeavors.
Talk given at ClueCon 2016 that discusses FreeSWITCH and its place in a microservices architecture. Covers a specific deployment case using Docker and Adhearsion, along with certain features that make FreeSWITCH a model use-case for such a technology stack.
TCP/IP (Transmission Control Protocol/Internet Protocol) is the basic communication language or protocol of the Internet. It can also be used as a communications protocol in a private network (either an intranet or an extranet).
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
2. Agenda
• What is CoAP?
• DEMO with KinomaJS on Create
• Behind the scene
• Dive into CoAP internals
• Possibility, Deficiency, Other Protocols, etc.
3. What is CoAP?
• Constraint Application Protocol
• Protocol for embedded devices, IoT, M2M.
• Defined in RFC 7252
• CoAP = Lightweight Fast HTTP
4. CoAP is Lightweight
• Message is simple binary format. Easy to parse. Space
efficient.
• Client and server share the internal structures, so easy to
implement both client and server compare to HTTP.
• RFC Document is just 112 pages. Seriously it’s short. With
the full example use case and the default values for timeout
or retry count, which is very valuable.
5. CoAP is Fast
• Implemented on top of UDP
• Stateless. No connection. Less overhead.
• Faster by omitting the protocol level reliability.
• Choices are yours
6. CoAP is HTTP (almost)
• Request and Response model
• RESTful design, GET/PUT/POST/DELETE
• Addressable by URL with query string
• Content-Type can be specified, but limited to pre-
defined types, text, json, xml, etc…
7. HTTP is Great, but…
• Reliability is based on the TCP.
• HTTP Headers are just text with structure, so easy to
read for human, but not for machine.
• 20+ years history and so many extensions to take care
of. Headers are always huge. 700-800 bytes average
today (Google SPDY report)
• Not the best choice for IoT world.
8. CoAP is NOT HTTP
• UDP instead of TCP
• No overhead of headers
• Limited Content-Types
• Headers are limited to pre-defined one
• Content size is limited to packet size. Depend on the
lower level stack. On UNIX, about 1K.
9. UDP is fast, simple
• Connection less, no handshake
• Used for Video-streaming, DNS, DHCP, RIP
• 1:N communication - Broadcast and Multicast
• Small overhead of packet
• UDP: 8 bytes < TCP: 20+ bytes
10. but UDP is Unreliable!
• Packet may deliver to the destination more than
once, or may not deliver at all
• Packets may not arrive in order of delivery
• Sender does not know if or when the packet is
delivered
• Application-layer must implement these features if
they need those reliabilities.
11. TCP is Reliable
• Sender knows the result of the delivery. If not delivered,
retransmit until it fails by timeout.
• If sender send A then B, receiver receive A and B in that
order.
• TCP is streaming transmission so that there are no limit of
data size.
• With its congestion control, bandwidth won’t filled by the re-
transmitted packets.
12. CoAP is reliable by itself
• Duplicate detection by 16bit Message ID
• Acknowledgement response with data
• Each request contains a token. The token is binary
data defined by the application. That same token
must be included in the response. The token is what
allows the requestor to match a response to a
request.
13. CoAP is reliable by itself
• Retransmission of message with exponentially
incrementing interval, to prevent congestion of the
network by transmission.
• These features are optional. If you really need
speed, you can choose to disable them.
(cont.)
14. HTTP is Infrastructure
• HTTP freed up developers from application
• For many years, protocols are only for specific
purpose. (SMTP, FTP, DNS, etc)
• HTTP was originally for delivery of information to
human, but now it is basic infrastructure of the
conversation of programs.
• So does CoAP, in IoT field.
15. “CoAP is the first UDP
protocol which has the
freedom of application level
usage.”
– Basuke Suzuki (2015)
24. Token
• 0 to 8 bytes binary
• length is specified in the header
• Response must have same token value with request.
• The value of the token is defined by the application layer.
Protocol doesn’t care about the contents.
• Use case: request kind, sequence number, etc.
25. Options
• Option types are defined as integer index.
• Option format is defined for each Option type.
• Empty, Unsigned Integer, String, Binary
26. Payload
• Payload is optional. If it exists, Payload Marker (0xff)
must be exist to indicate the beginning of payload.
• Format is specified by Content-Format option.
• Available formats are: Text, JSON, XML, EXI,
Binary
27. Message Code
• 3 bits Class and 5 bits Detail
• Formatted to display like this: 2.05
• Method for Request
• Class = 0
• Result for Response
• Class = 2, 4, 5
Class Usage
0 Request
2 Success Response
4 Client Error Response
5 Server Error Response
28. Message ID
• Each Endpoint has its own IDs space
• 16 bit Unsigned Integer
• Sender endpoint assign new Message ID and
recipient respond with same Message ID
• Only for the retransmission management
32. Retransmission
• 4 retransmissions.
• Interval is increase on
every re-transmit.
• Max time is 247 secs
Client Server
CON [0x1235]
CON [0x1235]
ACK [0x1235]
TIMEOUT!
x
33. Retransmission (cont.)
• Client doesn’t know if
request reached to server.
• Server logic will be
executed more than once
for same request. It should
be cached.
Client Server
CON [0x1235]
ACK [0x1235]
CON [0x1235]
ACK [0x1235]
TIMEOUT!
x
34. Retransmission (cont.)
• ACK may be delivered
after invocation of timeout.
• Server must send same
response, including
Piggybacked or not.
Client Server
CON [0x1235]
ACK [0x1235]
CON [0x1235]
ACK [0x1235]
TIMEOUT!
35. What is Reset?
• Endpoint has no context for the request.
Client
Server
CON [0x1235]
ACK [0x1235]
CON [0x8765]
2.05 “Hello”
x
RST [0x8765]
Crash!
36. or CoAP Ping
• Detecting the aliveness of
the other endpoint
• Minimum packet is used.
4 bytes each.
• Make up for the
unreliability of the Non-
Confirmable request
Client Server
CON [0x1234]
RST [0x1234]
- empty -
38. Observe
• Initial request is called
Registration.
• Following responses are called
Notification
• Has sequence number
• Notification can be Confirmable
or Non-Confirmable
• Draft extension
Client Server
Registration
Notification
Notification
Notification
Response
39. Block-wise Transfer
• Big response can be sent as a small blocks with
sequence number.
• Client who receive blocks will regenerate the original
response.
• Preferred size will be sent from the client.
• Draft extension
41. Service Discovery
• UDP support Multicast.
• The multicast address for “All-CoAP-Server” is
defined.
• Request must be Non-Confirmable
• Server must not send Rest as error response.
42. Network Errors
• HTTP: Errors are handled in TCP layer. If error
happen, you can gave up very soon.
• CoAP Confirmable: Errors are handled in CoAP
protocol layer, usually library takes care of them.
Ordering problem may exist though.
• CoAP Non-Confiramable: Errors happens and
ignored. You just cannot get response.
43. 6LoWPANs
• IPv6 over Low-Power Wireless Personal Area
Networks
• Slow, high error rate, small packet size
• less than 80 bytes
44. HTTP and CoAP Proxy
• Route the HTTP request to CoAP Server and send
back the CoAP response to HTTP Client
• Or vice versa
• Because of the similarity with HTTP
• Cache
• Well defined in RFC
45. Security
• DTLS = Datagram TLS
• Shared Key
• Public Key and Private Key pair
• Supported by major library: OpenSSL, NSS, …
• Both for encryption and authentication
48. WebSocket
• Connection phase is on HTTP protocol
• Once it accepted, the socket is took over by WebSocket client and
server and both endpoint are free to send packets.
• Disconnect detection,
• Protocol is defined in RFC.
• JavaScript APIs are well defined by W3C.
• Only for client side.
49. Summary
• Good: CoAP is fast, lightweight HTTP.
• Bad: Small data size, unreliability, less information.
• Apps take care of errors more than http.
• Limited implementations. Not enough use cases for
actual field.
• Extensions are still draft