SlideShare a Scribd company logo
1 of 33
Diving into the IoT/IP stack
The IoT/IP stack
HTTP, WebSockets,
CoAP

Application

TCP, UDP

Transport

IPv6, IPv4, RPL

Network, routing

6lowpan

Adaptation

CSMA/CA

MAC

ContikiMAC, CSL

Duty cycling

802.15.4

Radio
The application layer
• Do something useful with
the data
• Today, applications
typically run above the
application layer
– E.g. the Web runs on top of
HTTP

Application
Transport
Network, routing
Adaptation
MAC
Duty cycling
Radio
The transport layer
• Allow program A to send
data to program B
– Even though the network
may drop packets
– Get packets in order, despite
them being reordered on the
way

Application
Transport
Network, routing
Adaptation
MAC
Duty cycling
Radio
The network layer
• Figure out how to send a
packet from A to C, through
node B

Application
Transport
Network, routing

C

A

Adaptation
MAC
Duty cycling

B

Radio
The adaptation layer
• Send network layer packets
over the radio
• Compress headers,
fragment packets

Application
Transport
Network, routing
Adaptation
MAC
Duty cycling
Radio
The MAC layer
• Make sure to not send
when others are sending
• Back off exponentially
when there is too much
traffic

Application
Transport
Network, routing
Adaptation
MAC
Duty cycling
Radio
The radio duty cycling layer
• Turn off the radio when not
needed, to save power
– The radio consumes more
power than other
components

• Make sure nodes are
awake to hear messages
from others

Application
Transport
Network, routing
Adaptation
MAC
Duty cycling
Radio
The radio link layer
• Frequency bands
– 2.4 GHz and sub-GHz

• Modulations and encodings
• Bit rates and bit errors
• Standards and nonstandards

Application
Transport
Network, routing
Adaptation
MAC
Duty cycling
Radio
The packet path
Application

Application

Application

Transport

Transport

Transport

Network, routing

Network, routing

Network, routing

Adaptation

Adaptation

Adaptation

MAC

MAC

MAC

Duty cycling

Duty cycling

Duty cycling

Radio

Radio

Radio
Application

Transport

The IoT/IP Protocols

Network, routing
Adaptation

The application layer

MAC
Duty cycling
Radio
The application layer
• The layer where applications supposedly
run
• But many applications actually run on top
of an application layer protocol
• Application layer protocols for the IoT
– HTTP (TCP)
– WebSockets (TCP)
– CoAP (UDP)
HTTP
• HyperText Transfer Protocol
• The same HTTP which is used on the web
• HTTP is often used for automated
mechanisms
• Useful for mesh-to-Internet communication
REST
• Representational State Transfer
• A conceptualization of the way HTTP works
– Resource: an URL
– Resources are manipulated with methods
• GET http://device-25.local/sensor/light
• POST http://device-28.local/configuration
sensor=123&batt=3300
• DELETE, UPDATE, HEAD, ...

• There is a lot of confusion around what REST
is and is not
WebSockets
• A recently defined standard
– RFC6455

• Provides a TCP-like service on top of HTTP
with very little overhead
• Goes through firewalls, proxies (TCP port 80)
• Compatible with HTTP
– A WebSocket connection starts with a handshake
over HTTP

• Useful for mesh-to-Internet communication
Websocket exchange
GET /path HTTP/1.1
Host: api.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key:
x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: example
Sec-WebSocket-Version: 12
Origin: http://example.com

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept:
HSmrc0sMlYUkAGmm5OPpG2HaGWk=
Sec-WebSocket-Protocol: example
Websocket message header
CoAP
• Message protocol over UDP
• Started as a bit-optimized REST mechanism
• Has grown into a fully fledged transport/application
solution
–
–
–
–
–
–

Retransmissions
Confirmable/non-confirmable transmission modes
Support for caching
Support for sleeping nodes
Subscription support
Resource discovery

• Useful for in-mesh communication
– May have problems with firewalls
Application

Transport

The IoT/IP Protocols

Network, routing
Adaptation

The transport layer

MAC
Duty cycling
Radio
The problem
• Getting data from application A to
application B
• UDP
– Best-effort delivery, no ordering

• TCP
– Reliable stream delivery: in order, reliably
• We’ll know whether it was received or not
UDP
•
•
•
•
•

User Datagram Protocol
Provides 16-bit port numbers
Payload checksum
Length field
No protocol logic
The UDP Header
TCP
• Transport Control Protocol
• Significantly more complex than UDP
• Reliable, in-order stream delivery
– Byte sequence
– End-to-end acknowledgements
– Flow control
• Avoid overloading the receiver

– Congestion control
• Avoid overloading the network
The TCP header
The TCP byte stream
TCP 3-way handshake, opening
• SYN
– Includes maximum
segment size option

• SYN + ACK
– Also includes
maximum segment
size option

• ACK
TCP retransmissions
TCP 3-way handshake, closing
• FIN
• FIN+ ACK

• ACK
TCP problems for wireless
• TCP reacts strongly to packet loss
– Reduces sending rate significantly

• TCP does not like reordering
– May reduce sending rate

• But TCP can be made efficient for lowpower wireless
– E.g. Duquennoy, Österlind, Dunkels, SenSys
2011
TCP for IoT applications
• May be overkill for some applications
– Not all applications need a reliable data
stream

• Does not support multicast/broadcast
operation
– TCP is strictly point-to-point

• But TCP works well with the Internet
In Contiki
• Full support for UDP and TCP
• TCP implementation is simple
– Uses stop-and-wait, resulting in low throughput
– TCP-segment splitting can improve throughput

• UDP and TCP callback-based sockets
(Contiki 3.x)
– Register a socket with a callback function that
gets called when something happens
Takeaway transport layer
• UDP and TCP
– UDP: simple, datagram delivery
– TCP: reliable byte stream
More

http://thingsquare.com

More Related Content

What's hot

Multipath TCP
Multipath TCPMultipath TCP
Multipath TCP
Olivier Bonaventure
 
Packet Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing ConferencePacket Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing Conference
Cengage Learning
 
Conceptos ipv6, direccionamiento
Conceptos ipv6, direccionamientoConceptos ipv6, direccionamiento
Conceptos ipv6, direccionamiento
Edgardo Scrimaglia
 

What's hot (20)

IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?
 
Future Internet protocols
Future Internet protocolsFuture Internet protocols
Future Internet protocols
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
 
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
Building the Internet of Things with Thingsquare and Contiki - day 2 part 1
 
Beyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocolsBeyond TCP: The evolution of Internet transport protocols
Beyond TCP: The evolution of Internet transport protocols
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
TCPLS presentation @ietf 109
TCPLS presentation @ietf 109TCPLS presentation @ietf 109
TCPLS presentation @ietf 109
 
Multipath TCP
Multipath TCPMultipath TCP
Multipath TCP
 
Performance test
Performance testPerformance test
Performance test
 
IPv6 at Mythic Beasts - Networkshop44
IPv6 at Mythic Beasts - Networkshop44IPv6 at Mythic Beasts - Networkshop44
IPv6 at Mythic Beasts - Networkshop44
 
6LoWPAN: An open IoT Networking Protocol
6LoWPAN: An open IoT Networking Protocol6LoWPAN: An open IoT Networking Protocol
6LoWPAN: An open IoT Networking Protocol
 
Open stackdaykorea2016 wedge
Open stackdaykorea2016 wedgeOpen stackdaykorea2016 wedge
Open stackdaykorea2016 wedge
 
Packet Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing ConferencePacket Analysis - Course Technology Computing Conference
Packet Analysis - Course Technology Computing Conference
 
LISP and NSH in Open vSwitch
LISP and NSH in Open vSwitchLISP and NSH in Open vSwitch
LISP and NSH in Open vSwitch
 
6lowpan
6lowpan6lowpan
6lowpan
 
SEGMENT Routing
SEGMENT RoutingSEGMENT Routing
SEGMENT Routing
 
Multipath TCP as Security Solution
Multipath TCP as Security SolutionMultipath TCP as Security Solution
Multipath TCP as Security Solution
 
2016 NCTU P4 Workshop
2016 NCTU P4 Workshop2016 NCTU P4 Workshop
2016 NCTU P4 Workshop
 
Network Layer
Network LayerNetwork Layer
Network Layer
 
Conceptos ipv6, direccionamiento
Conceptos ipv6, direccionamientoConceptos ipv6, direccionamiento
Conceptos ipv6, direccionamiento
 

Viewers also liked

Viewers also liked (8)

Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 1
Building the Internet of Things with Thingsquare and Contiki - day 1, part 1Building the Internet of Things with Thingsquare and Contiki - day 1, part 1
Building the Internet of Things with Thingsquare and Contiki - day 1, part 1
 
CASE 2013 - 6lowpan
CASE 2013 - 6lowpanCASE 2013 - 6lowpan
CASE 2013 - 6lowpan
 
6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol6LoWPAN: An Open IoT Networking Protocol
6LoWPAN: An Open IoT Networking Protocol
 
Contiki Presentation
Contiki PresentationContiki Presentation
Contiki Presentation
 
WSN protocol 802.15.4 together with cc2420 seminars
WSN protocol 802.15.4 together with cc2420 seminars WSN protocol 802.15.4 together with cc2420 seminars
WSN protocol 802.15.4 together with cc2420 seminars
 
Contiki Operating system tutorial
Contiki Operating system tutorialContiki Operating system tutorial
Contiki Operating system tutorial
 

Similar to Building the Internet of Things with Thingsquare and Contiki - day 2 part 2

TCP Over Wireless
TCP Over WirelessTCP Over Wireless
TCP Over Wireless
Farooq Khan
 

Similar to Building the Internet of Things with Thingsquare and Contiki - day 2 part 2 (20)

tcp ip protocols.ppt
tcp ip protocols.ppttcp ip protocols.ppt
tcp ip protocols.ppt
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3
 
UAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time CommunicationsUAV Data Link Design for Dependable Real-Time Communications
UAV Data Link Design for Dependable Real-Time Communications
 
tcp-140613123317-phpapp01.pptx
tcp-140613123317-phpapp01.pptxtcp-140613123317-phpapp01.pptx
tcp-140613123317-phpapp01.pptx
 
Primer to Browser Netwroking
Primer to Browser NetwrokingPrimer to Browser Netwroking
Primer to Browser Netwroking
 
Network
NetworkNetwork
Network
 
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the WebCleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
Cleaning Up the Dirt of the Nineties - How New Protocols are Modernizing the Web
 
TCPIP SLIDES.ppt
TCPIP SLIDES.pptTCPIP SLIDES.ppt
TCPIP SLIDES.ppt
 
Master Class : TCP/IP Mechanics from Scratch to Expert
Master Class : TCP/IP Mechanics from Scratch to ExpertMaster Class : TCP/IP Mechanics from Scratch to Expert
Master Class : TCP/IP Mechanics from Scratch to Expert
 
TCP/ IP
TCP/ IP TCP/ IP
TCP/ IP
 
TCP /IP
TCP /IPTCP /IP
TCP /IP
 
Sept 2017 internetworking
Sept 2017   internetworkingSept 2017   internetworking
Sept 2017 internetworking
 
TCP Over Wireless
TCP Over WirelessTCP Over Wireless
TCP Over Wireless
 
integrated and diffrentiated services
 integrated and diffrentiated services integrated and diffrentiated services
integrated and diffrentiated services
 
Qo s 09-integrated and red
Qo s 09-integrated and redQo s 09-integrated and red
Qo s 09-integrated and red
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Web Engineering Lecture2
Web Engineering Lecture2 Web Engineering Lecture2
Web Engineering Lecture2
 
Overview of TCP IP
Overview of TCP IPOverview of TCP IP
Overview of TCP IP
 
Sky X Technology - Avirup Kundu | UEMK | CSE
Sky X Technology - Avirup Kundu | UEMK | CSESky X Technology - Avirup Kundu | UEMK | CSE
Sky X Technology - Avirup Kundu | UEMK | CSE
 
Computer network coe351- part2- final
Computer network coe351- part2- finalComputer network coe351- part2- final
Computer network coe351- part2- final
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Building the Internet of Things with Thingsquare and Contiki - day 2 part 2

  • 1. Diving into the IoT/IP stack
  • 2. The IoT/IP stack HTTP, WebSockets, CoAP Application TCP, UDP Transport IPv6, IPv4, RPL Network, routing 6lowpan Adaptation CSMA/CA MAC ContikiMAC, CSL Duty cycling 802.15.4 Radio
  • 3. The application layer • Do something useful with the data • Today, applications typically run above the application layer – E.g. the Web runs on top of HTTP Application Transport Network, routing Adaptation MAC Duty cycling Radio
  • 4. The transport layer • Allow program A to send data to program B – Even though the network may drop packets – Get packets in order, despite them being reordered on the way Application Transport Network, routing Adaptation MAC Duty cycling Radio
  • 5. The network layer • Figure out how to send a packet from A to C, through node B Application Transport Network, routing C A Adaptation MAC Duty cycling B Radio
  • 6. The adaptation layer • Send network layer packets over the radio • Compress headers, fragment packets Application Transport Network, routing Adaptation MAC Duty cycling Radio
  • 7. The MAC layer • Make sure to not send when others are sending • Back off exponentially when there is too much traffic Application Transport Network, routing Adaptation MAC Duty cycling Radio
  • 8. The radio duty cycling layer • Turn off the radio when not needed, to save power – The radio consumes more power than other components • Make sure nodes are awake to hear messages from others Application Transport Network, routing Adaptation MAC Duty cycling Radio
  • 9. The radio link layer • Frequency bands – 2.4 GHz and sub-GHz • Modulations and encodings • Bit rates and bit errors • Standards and nonstandards Application Transport Network, routing Adaptation MAC Duty cycling Radio
  • 10. The packet path Application Application Application Transport Transport Transport Network, routing Network, routing Network, routing Adaptation Adaptation Adaptation MAC MAC MAC Duty cycling Duty cycling Duty cycling Radio Radio Radio
  • 11. Application Transport The IoT/IP Protocols Network, routing Adaptation The application layer MAC Duty cycling Radio
  • 12. The application layer • The layer where applications supposedly run • But many applications actually run on top of an application layer protocol • Application layer protocols for the IoT – HTTP (TCP) – WebSockets (TCP) – CoAP (UDP)
  • 13. HTTP • HyperText Transfer Protocol • The same HTTP which is used on the web • HTTP is often used for automated mechanisms • Useful for mesh-to-Internet communication
  • 14. REST • Representational State Transfer • A conceptualization of the way HTTP works – Resource: an URL – Resources are manipulated with methods • GET http://device-25.local/sensor/light • POST http://device-28.local/configuration sensor=123&batt=3300 • DELETE, UPDATE, HEAD, ... • There is a lot of confusion around what REST is and is not
  • 15. WebSockets • A recently defined standard – RFC6455 • Provides a TCP-like service on top of HTTP with very little overhead • Goes through firewalls, proxies (TCP port 80) • Compatible with HTTP – A WebSocket connection starts with a handshake over HTTP • Useful for mesh-to-Internet communication
  • 16. Websocket exchange GET /path HTTP/1.1 Host: api.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== Sec-WebSocket-Protocol: example Sec-WebSocket-Version: 12 Origin: http://example.com HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= Sec-WebSocket-Protocol: example
  • 18. CoAP • Message protocol over UDP • Started as a bit-optimized REST mechanism • Has grown into a fully fledged transport/application solution – – – – – – Retransmissions Confirmable/non-confirmable transmission modes Support for caching Support for sleeping nodes Subscription support Resource discovery • Useful for in-mesh communication – May have problems with firewalls
  • 19. Application Transport The IoT/IP Protocols Network, routing Adaptation The transport layer MAC Duty cycling Radio
  • 20. The problem • Getting data from application A to application B • UDP – Best-effort delivery, no ordering • TCP – Reliable stream delivery: in order, reliably • We’ll know whether it was received or not
  • 21. UDP • • • • • User Datagram Protocol Provides 16-bit port numbers Payload checksum Length field No protocol logic
  • 23. TCP • Transport Control Protocol • Significantly more complex than UDP • Reliable, in-order stream delivery – Byte sequence – End-to-end acknowledgements – Flow control • Avoid overloading the receiver – Congestion control • Avoid overloading the network
  • 25. The TCP byte stream
  • 26. TCP 3-way handshake, opening • SYN – Includes maximum segment size option • SYN + ACK – Also includes maximum segment size option • ACK
  • 28. TCP 3-way handshake, closing • FIN • FIN+ ACK • ACK
  • 29. TCP problems for wireless • TCP reacts strongly to packet loss – Reduces sending rate significantly • TCP does not like reordering – May reduce sending rate • But TCP can be made efficient for lowpower wireless – E.g. Duquennoy, Österlind, Dunkels, SenSys 2011
  • 30. TCP for IoT applications • May be overkill for some applications – Not all applications need a reliable data stream • Does not support multicast/broadcast operation – TCP is strictly point-to-point • But TCP works well with the Internet
  • 31. In Contiki • Full support for UDP and TCP • TCP implementation is simple – Uses stop-and-wait, resulting in low throughput – TCP-segment splitting can improve throughput • UDP and TCP callback-based sockets (Contiki 3.x) – Register a socket with a callback function that gets called when something happens
  • 32. Takeaway transport layer • UDP and TCP – UDP: simple, datagram delivery – TCP: reliable byte stream