Introduction to High-Speed
Networks
High-speed networks are characterized by dramatically increased bandwidth compared to traditional networks,
enabling faster data transfer and supporting diverse applications like real-time multimedia and parallel
processing.
They are essential for handling modern demands of data, video, and imagery, and are crucial for the evolution
of the Internet and related services.
Key technologies include
Digital Transmission System (DTS),
Digital Subscriber Line (DSL),
Integrated Service Digital Network (ISDN),
Asynchronous Transfer Mode (ATM),
Synchronous Optical Network (SONET),
Wavelength Division Multiplexing (WDM).
Key Features of High-Speed Networks:
Increased Bandwidth:
High-speed networks offer significantly higher data transfer rates, measured in bits per second (bps)
or bytes per second (Bps), compared to older networks.
Real-time Applications:
They enable real-time data changes, high-quality video conferencing, and other applications that
require minimal latency.
Massively Parallel Processing:
High-speed networks facilitate connecting independent processing nodes in large-scale parallel
computing environments.
Diverse Technologies:
Various technologies contribute to high-speed networking, including DSL, fiber-optic, cable, and
satellite-based connections.
Packet Switching:
Data is transmitted in small, fixed-length packets called cells, which allows for efficient switching and
routing.
Virtual Connections:
High-speed networks use virtual connections to manage data traffic, separating user data
transmission from connection control.
QoS (Quality of Service):
Technologies like Integrated Services (ISA) and Differentiated Services manage traffic to minimize
packet loss, latency, and jitter, ensuring reliable performance.
Lightweight Messaging Systems
A messaging architecture designed for minimal overhead, simplicity, and high performance,
often used in scenarios where resource constraints, latency, and rapid communication are
crucial.
Examples include NATS, MQTT
Communication Models
Request–Response Communication Model
• Request–Response is
a
communication model in
which
the client sends
requests to the
server and the server responds
to the requests.
• When the server
receives a
request, it decides
how to
respond, fetches the
data,
retrieves resource
representations, prepares
the
Book website: Bahga & Madisetti, ©
Publish–Subscribe Communication Model
• Publish–Subscribe is a
communication model that
involves publishers,
brokers and consumers.
• Publishers are the source of data.
Publishers send the
data to the
topics which are managed by the
broker. Publishers are not
aware of the consumers.
• Consumers subscribe to the topics
which are managed by the broker.
• When the broker receives data for
a topic from the
publisher, it
sends the data to
Book website: all the subscribed Bahga & Madisetti, ©
Push–Pu l Communication Model
• Push– is a
model in which the
Pu l communication
data
producers push the
data to
queues and the
consumers pull
the data from the
queues.
Producers do not
need to be
aware of the consumers.
• Queues help in
decoupling the
messaging between the producers and
consumers.
• Queues also act as a buffer which
helps in situations when there is a
mismatch between the
rate at
which the producers
Bookpush
website: data Bahga & Madisetti, ©
Exclusive Pair Communication Model
• Exclusiv Pai is
bidirectional
e r fully
communication
, model
duplex
uses a persistent a
that
connection
between the
client and the
server.
• Once the
connection is
set
up it, remains open until
the
client sends a
Bookrequest
website: to close the Bahga & Madisetti, ©
Communication
APIs
REST- basedCommunication APIs
• Representational State
Transfer (REST) is a set of
architectural principles
by
which you
can design
web services and web
APIs that
focus on a
system’s resources
and how resource
states are addressed
and
transferred.
• REST APIs follow the
request–
Book ebsite: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015
WebSocket-based Communication APIs
• WebSocket APIs
allow bi-
directional, full
duplex
communication
between clients
and servers.
• WebSocket APIs follow
the exclusive
pair
communication
model.
Book website: Bahga & Madisetti, ©
Difference between RESTand WebSocket-
based Communication APIs
Comparison Based REST Websocket
on
State Stateless Stateful
Directional Unidirectional Bidirectional
Req-Res/Full Follow Request Response Model Exclusive Pair Model
Duplex
TCP Connections Each HTTP request involves Involves a single
setting up a new TCP TCP Connection for
Connection all requests
Header Overhead Each request carries HTTP Does not involve overhead
Headers, of
hence not suitable for real-time headers.
Scalability Both horizontal and Only Vertical is easier
vertical
are easier
IoT Protocols…Application Layer…CoAP
• Constrained Application Protocol
• Used for Machine to machine (M2M) applications meant for
constrained
devices and n/w’s
• Web transfer protocol for IoT and uses request-
response model
• Uses client –server architecture
• Supports methods such as GET,POST,PUTand DELETE
IoT Protocols…Application Layer…WebSocket
• Allows full-duplex communication over single socket
• Based on TCP
• Client can be a browser, IoT device or mobile application
IoT Protocols…Application Layer…MQTT
• Message Queue Telemetry Transport , light-weight messaging protocol
• Based on publish-subscribe model
• Well suited for constrained environments where devices have limited processing,low
memory and n/w bandwith requirement
IoT Protocols…Application Layer…XMPP
• Extensible messaging and presence protocol
• For Real time communication and streaming XML data
between n/w
entities
• Used for Applications such as Multi-party chat and voice/video
ca ls.
• Decentralized protocol and uses client server architecture.
Xpress Transport Protocol (XTP)
Xpress Transport Protocol (XTP) is a transport layer protocol for high-speed
networks promoted by the XTP Forum developed to replace TCP ( Transmission
Control Protocol) .
XTP provides protocol options for error control, flow control, and rate control.
Instead of separate protocols for each type of communication, XTP controls
packet exchange patterns to produce different models.
e.g. reliable datagrams transactions, unreliable datagrams transactions, and
reliable multicast connections.[1]
Reliable datagrams transactions, Unreliable datagrams
transactions
Reliable multicast connections
Software RAID
● RAID: RAID stands for “Redundant Arrays of Independent Disks”.
● Software RAID: A Software RAID is another form of a RAID. It is performed
on the Internal Server. It can also be defined as ‘RAID’ implementation that
utilizes operating system-based capabilities to construct and deliver ‘RAID’
services.
● When there is no RAID controller and the storage drives are connected
directly to the motherboard then RAID configuration is managed by utility
software in the operating system which is referred to as a setup of Software
RAID.
Parallel File Systems
Defination
● A software component that stores data across multiple networked servers and
enables high-speed, parallel I/O operations.
Software RAID and parallel file systems
● Software RAID and parallel file systems are related but distinct concepts in
data storage.
● Software RAID uses multiple hard drives to create a single virtual disk,
offering performance and redundancy benefits.
● Parallel file systems, on the other hand, distribute data across multiple
servers to achieve high-performance access and scalability, particularly for
large datasets and parallel workloads.
Software RAID:
● Function:
It replicates RAID functionality using software rather than dedicated hardware
RAID controllers.
● Benefits:
Provides advantages like increased storage space, improved performance
through striping, and data redundancy through mirroring or parity.
● Drawbacks:
Can introduce some performance overhead due to the software processing
burden, and may not be suitable for the highest performance applications.
Parallel File Systems:
● Function:
Distributes data across various storage nodes and allows multiple clients to
access and modify the same data concurrently.
● Benefits:
Scales to manage large datasets and supports high-performance access for
applications requiring parallel processing.
● Drawbacks:
Requires a network infrastructure to support the distribution of data across
servers, and can be more complex to manage than traditional file systems.