[go: up one dir, main page]

0% found this document useful (0 votes)
24 views54 pages

Chapter 7

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views54 pages

Chapter 7

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 54

Cross-Layer Communications

Topic 7
CSF 10203 FUNDAMENTAL COMPUTER SYSTEMS
Overview
• Traditionally, protocol architectures use strict layering principles, making it easier to
design interoperable systems for quick deployment and efficient implementation.
• The ISO/OSI model was developed to standardize network architectures using this
layered approach.
• In ISO/OSI model, each layer's protocol is implemented by an entity (software,
firmware, or hardware) that communicates with similar entities on other systems
using Protocol Data Units (PDUs).
• As networking technologies grow, new challenges arise in designing and optimizing
communication protocols.
• However, the strict layers in traditional protocol architecture limit performance,
especially with the unique challenges of wireless transmission.
• To address this, cross-layer design has been proposed. This approach keeps the
original layer functions but allows coordination and interaction between layers for
better optimization.
Cross-Layer Communication
Understanding Cross-Layer Communication in Networking
• Definition:
• Cross-layer communication refers to the interaction between non-adjacent
layers in a network architecture.
• The core idea is to maintain the functionalities associated to the original
layers but also to allow coordination, interaction and joint optimization of
protocols crossing different layers.
• Traditional OSI Model:
• Layers function independently with limited, standardized interfaces.
• Example: Transport layer (Layer 4) communicates directly with Network
layer (Layer 3) but not with Physical layer (Layer 1).
OSI model (Open Systems
Interconnection)
• A framework that describes how data
moves through a network.
• It has seven layers, each with a specific
function, working together to ensure
data is transmitted correctly and
efficiently.
• Each layer operates independently but
relies on the others to complete the
process.
7 layers of OSI model
Each with a specific role in data transmission:

1. Physical Layer: Transfers raw data bits over a physical medium.


2. Data Link Layer: Ensures error-free data transfer between two directly connected nodes.
3. Network Layer: Manages data routing and delivery across different networks.
4. Transport Layer: Provides reliable data transfer and error recovery.
5. Session Layer: Manages and controls the connections between computers.
6. Presentation Layer: Translates data formats between the network and application.
7. Application Layer: Provides network services directly to users and applications.

Each layer works together to move data from one point to another efficiently.
OSI Model
Why Cross-Layer Communication?
• Enhanced Performance:
• Improves efficiency by
optimizing interactions across
layers.
• Adaptability:
• Allows dynamic adjustments
based on network conditions.
• Resource Optimization:
• Better utilization of network
resources like bandwidth and
power.
How Programming Abstraction Facilitates
Cross-Layer Communication
• Simplified Implementation:

• Abstract Cross-Layer Interactions:


• Encapsulate complex cross-layer interactions into reusable components.
• Example: Libraries that handle QoS adjustments based on real-time network feedback.
• Modularity and Maintenance:
• Separate cross-layer communication logic from application logic using abstractions.
• Easier to update and maintain systems.
Application and OS Services
Understanding Application and OS Services
• Application Services:
• Provided by software applications to perform specific user tasks.
• Examples: Word processors, web browsers, email clients.
• User-facing and focused on end-user needs.
• OS Services:
• Provided by the operating system to manage hardware and system resources.
• Examples: File management, memory management, process scheduling.
• Background operations that ensure the system runs smoothly and efficiently.
What is a Remote Procedure Call (RPC)?

• Definition:
• A communication protocol used by a program to request a service from a
program located on another computer in a network.
• Functionality:
• Allows a program to execute code on a remote system as if it were local.
• Hides the complexities of network communication.
How RPC Works

• Client Stub:
• Prepares the request and sends it to the server.
• Server Stub:
• Receives the request, processes it, and sends back the result.
• Benefits:
• Simplifies the development of distributed applications.
• Enables inter-process communication across networked systems.
Procedure Call (RPC) in Cross-Layer Communication

• Definition:
• A communication protocol allowing a program to execute a procedure on a
remote system.
• Functionality in Cross-Layer Communication:
• Facilitates interaction between different layers of a network stack.
• Example: Application layer invoking network services for data transmission
or retrieval.
• Benefits:
• Hides complexity of direct network communication.
• Simplifies development of distributed systems and enhances modularity.
Connecting Application, OS Services, and
RPC
• Application Services:
• Role:
• Provide end-user functionalities using OS services and network resources.
• Cross-Layer Example:
• A web browser (application) uses RPC to request data from a remote server.
• OS Services:
• Role:
• Manage system resources and provide necessary support for applications.
• Cross-Layer Example:
• OS networking stack handles data packets for the web browser's RPC request.
• RPC as a Bridging Mechanism:
• Facilitates cross-layer communication by allowing applications to directly request services from lower
layers.
• Example: An application can make RPC calls to OS-level networking services for optimized data
handling and performance.
The ISO OSI Model
14

OSI: Open Systems Interconnect Model


Host 1 Switch Host 2
Application Application
Presentation Layers
All communicate
devices implement Presentation
Layers communicate
Session the peer-to-peer
first three layers
peer-to-peer Session
Transport Transport
Network Network Network
Data Link Data Link Data Link
Physical Physical Physical
Encapsulation
15

How does data move through the layers?

Data Application
Presentation
Session
Transport
Network
Data Link
Physical Data
Real Life Analogy Doesn’t know how the
16
Postal network works

Label containsUn-packing
routing info
Doesn’t know
contents of letter

Postal Service
Network Stack in Practice
17

Host 1 Switch Host 2


Application Application
Presentation Presentation
Video
FTP Client
Session
Client Video Server
Session
FTP Server
UDP
Transport
TCP UDP
Transport
TCP
Network
IP Network
IP Network
IP
Data Link
Ethernet
802.11n Data Link
Ethernet
802.11n Data Link
Ethernet
802.11n
Physical Physical Physical
Encapsulation, Revisited
18

HTTP Web Web


Header Page Server

TCP HTTP Web


TCP
Header Header Page
TCP Segment

IP TCP HTTP Web


IP
Header Header Header Page
IP Datagram

Ethernet IP TCP HTTP Web Ethernet


Ethernet
Header Header Header Header Page Trailer

Ethernet Frame
The Hourglass
19

HTTP, FTP, RTP, IMAP, Jabber, …


• One Internet layer means all networks
TCP, UDP, ICMP
interoperate
Think about the
• All applications function
IPv4 on all networks
difficulty of
• Room for development above and belowIPv6…
deploying IP
• But, changing IP802.11x,
Ethernet, is insanely hard
DOCSIS, …

Fiber, Coax, Twisted Pair, Radio, …


Orthogonal Planes
20

Control plane: How Internet paths are established

Application
Presentation Well cover this
Session later…
Transport
IP BGP RIP OSPF Control Plane
Data Link
Physical
Orthogonal Planes
21

Data plane: How data is forwarded over Internet paths

Host 1 Switch(es) Host 2

Application Application
Transport Transport
Network Network Network
Data Link Data Link Data Link
Reality Check
22

 The layered abstraction is very nice


 Does it hold in reality?
No.

Firewalls Transparent Proxies NATs


 Analyze application  Simulate application  Break end-to-end
layer headers endpoints within the network reachability
network
From Layers to Eating Cake
23

 IP gives us best-effort datagram forwarding


 So simple anyone can do it
 Large part of why the Internet has succeeded
 …but it sure isn’t giving us much

 Layers give us a way to compose functionality


 Example: HTTP over TCP for Web browsers with reliable
connections
 …but they do not tell us where (in the network) to
implement the functionality
Where to Place Functionality
24

 How do we distribute functionality across devices?


 Example: who is responsible for security?
? ? ?
? ?

Switch Switch
Router
 “The End-to-End Arguments in System Design”
 Saltzer, Reed, and Clark
 The Sacred Text of the Internet
 Endlessly debated by researchers and engineers
“END-TO-END ARGUMENTS
IN SYSTEM DESIGN”
(ACM TRANS. ON COMPUTER SYSTEMS, NOVEMBER 1984)

J. Saltzer, D. Reed, and D. Clark


Basic Observation
26

 Some applications have end-to-end requirements


 Security, reliability, etc.
 Implementing this stuff inside the network is hard
 Every step along the way must be fail-proof
 Different applications have different needs
 End hosts…
 Can’t depend on the network
 Can satisfy these requirements without network level support
End-to-End Argument
 Operations should occur only at the end points
 … unless needed for performance optimization
2 4

1 3 5

Many things can go wrong: disk errors,


software errors, hardware errors, 27
communication errors, …
Tradeoffs
 Put functionality at each hop
 All applications pay the price
 End systems still need to check for errors
 Place functionality only at the ends
 Slower error detection
 End-to-end retransmission wastes bandwidth

 Compromise solution?
 Reliable end-to-end transport protocol (TCP)
 Plus file checksums to detect file-system errors 28
Example: Reliable File Transfer
29

Integrity Integrity
Check Check

Integrity App has to do a


Check check anyway!

 Solution 1: Make the network reliable


 Solution 2: App level, end-to-end check, retry on failure
Example: Reliable File Transfer
30
Please
Retry
• In-network implementation…
 Doesn’t reduce host complexity
 Does increase network complexity
 Increased overhead for apps that don’t need
functionality Full functionality can
• But, in-network performance mayatbe
be built Appbetter
level

 Solution 1: Make the network reliable


 Solution 2: App level, end-to-end check, retry on failure
Conservative Interpretation
31

“Don’t implement a function at the lower levels of


the system unless it can be completely implemented
at this level” (Peterson and Davie)

Basically, unless you can completely remove the


burden from end hosts, don’t bother
Radical Interpretation
32

 Don’t implement anything in the network that can be implemented correctly


by the hosts

 Make network layer absolutely minimal

 Ignore performance issues


Moderate Interpretation
33

 Think twice before implementing functionality in the network

 If hosts can implement functionality correctly, implement it a lower layer


only as a performance enhancement

 But do so only if it does not impose burden on applications that do not


require that functionality…
 …and if it doesn’t cost too much $ to implement
Reality Check, Again
34

 Layering and E2E principals regularly violated

Firewalls Transparent Proxies NATs

 Conflicting interests
 Architectural purity
 Commercial necessity
Takeaways
35

 Layering for network functions


 Helps manage diversity in computer networks
 Not optimal for everything, but simple and flexible
 Narrow waist ensures interoperability, enables
innovation
 E2E argument (attempts) to keep IP layer simple
 Think carefully when adding functionality into the
network
Applications of Cross-Layer Communication

• Wireless Networks:
• Abstracting Power control, rate adaptation, and handoff decisions based on physical and link
layer feedback.
• Quality of Service (QoS):
• Application layer use abstracted interfaces to adjust setting based on real-time network
conditions from lower layers.
• Security Protocols:
 Multi-layered security protocols encapsulated in abstract components for better integration.
• Enhanced security measures by integrating information across multiple layers.
Wireless Network Architecture
Cross layer in wireless networks
Cross-layer design is especially appealing in wireless networks for the following reasons.

• First, the traditional architectural design approach, although highly successful in wireline networks, results in
reduced search space for optimal adaptation. Unlike wireline networks, where resources are abundant, the need is
compelling in wireless networks to explore a larger optimization space, including multiple layers to make the best
of limited resources.

• Second, the existing protocol stack is defined with wireline networks in mind. It may not be suitable for wireless
networks that are fundamentally different in many aspects. For example, the concept of “link” is totally different
now. Connectivity between two nodes largely depends on the distance between them and their transmit powers.
The unique characteristics of wireless networks require joint consideration of parameters previously located in
different layers. See TCP over wireless for an example.

• Third, design parameters, which may locate in different layers, are more tightly coupled now than those in wireline
networks
Wireless Metropolitan Area Networks
(WMANs)
• Wireless Metropolitan Area Networks (WMANs) are a good
alternative to optical fiber, enabling communication between multiple
locations in a metropolitan area. The key technology for WMANs is
IEEE 802.16, known as WiMAX (Worldwide Interoperability for
Microwave Access).
• Fixed WiMAX (IEEE 802.16, approved in 2004): Designed for
connecting smaller networks or fixed users needing broadband access.
• Mobile WiMAX (IEEE 802.16e, approved in 2005): Modified for
end-users, providing support for mobile use and nomadic mobility.
Wireless Local Area Networks (WLANs)
• Wireless Local Area Networks (WLANs) provide connectivity for devices
within a small area, like a corporate or campus building. The IEEE 802.11
standard, known as WiFi, is the de facto standard for WLANs.
• Evolution of WiFi:
• 1997: Original WiFi with 1-2 Mb/s.
• 1999: 802.11a (up to 54 Mb/s, 5 GHz) and 802.11b (up to 11 Mb/s, 2.4 GHz).
• 2003: 802.11g (up to 54 Mb/s, 2.4 GHz).
• Later: 802.11n (up to 250 Mb/s, 5 GHz and 2.4 GHz).
• Functionality:
• Devices connect to wireless access points, bridging the radio link and wired network.
• Ad hoc networks can be created if devices are within range and no wired network is
needed.
Wireless Personal Area Networks (WPANs)
• Wireless Personal Area Networks (WPANs) connect devices within a
short range, typically up to 10 meters. Bluetooth is the main standard
for WPANs, commonly used for wireless headsets, and is supported by
mobile phones, PDAs, laptops, and other devices.
• A promising WPAN technology is Ultra-wideband (UWB) radio,
which can provide 1 Gb/s links over short distances. UWB PAN is
specified in the IEEE 802.15.4a standard, completed in March 2007.
• Today, most wireless technologies are used in the "last mile" to connect end-users to the network core.
This typically involves wireless links connecting user devices to base stations, which then connect to the
fixed network.

• The "last mile" is critical in network architecture, often being the bottleneck that affects overall network
performance. Wireless networks face performance limitations, partly due to the layering model used in
the TCP/IP protocol stack, which was originally designed for wired connections.

Key Challenges in Wireless Networks:

• - **Mobility:**
• - Wireless networks enable user mobility, allowing access from different locations without service
interruption.
• - However, mobility complicates network performance because the TCP/IP model, designed for static,
reliable wired networks, struggles with the dynamic nature of wireless connections.

• As wireless technologies evolve into a converged All-IP network, the TCP/IP protocol stack's layering
model hinders smooth adaptation to mobility, impacting performance.
PERFORMANCE ISSUES AND
SOLUTIONS IN WIRELESS NETWORKS
• Traditionally, mobility management solutions were implemented
within a single layer, either the network layer (layer-3) or the link layer
(layer-2).
• However, there is ongoing debate about which layers should be
involved for efficient mobility support.
• Solutions across different layers complement each other rather than
act as alternatives.
• Since some layers handle mobility better than others, efficient
mobility support requires cross-layer cooperation and awareness.
PERFORMANCE ISSUES AND
SOLUTIONS IN WIRELESS NETWORKS
• Next-generation cellular networks, guided by the 3GPP group, are adopting cross-
layering to reduce handoff latency, which is crucial for streaming, interactive, and
VoIP applications.

• - **Handoff Latency Reduction:**


• - Notifying the network layer before handoff is completed at the link layer allows
for parallel handoff procedures, improving performance.
• - Solutions like those by Tseng et al. use pre-handoff and post-handoff messages
along with cross-layer network topology information.
• - This information includes the locations and associations of neighboring access
points and the movement of the mobile node, reducing delay and improving traffic
routing.
Cross layering design
• Weak cross-layering: enables interaction among entities at different layers of the
protocol stack; it thus represents a generalization of the adjacency interaction
concept of the layering paradigm to include “non-adjacent” interactions

• Strong cross-layering: enables joint design of the algorithms implemented within


any entity at any level of the protocol stack; in this case, individual features related
to the different layers can be lost due to the cross-layering optimization. Potentially,
strong cross-layer design may provide higher performance at the expense of
narrowing the possible deployment scenarios and increasing cost and complexity.

An alternative notation is “evolutionary approach” for the “weak cross-layering” and


“revolutionary approach” for the “strong cross-layering”
Cross signaling Architecture
Role of Application Virtual Machines (AVMs) in Cross-Layer Communication

• AVMs can facilitate cross-layer communication by interacting with multiple


layers of the network stack.
• They gather and provide information across layers to optimize application
performance.
• Examples of Interaction:
• Performance Optimization:
• AVM adjusts application behavior based on network conditions, such as congestion or
signal strength.
• Energy Efficiency:
• AVM manages resources efficiently, crucial for mobile and wireless devices.
• Mobility Support:
• AVM ensures seamless application performance despite network changes.
AVM optimizes video streaming
• AVM adjusting the quality in real-time based on feedback from the network layer.

• Monitoring Network Conditions:


• The AVM continuously monitors network parameters like bandwidth, latency, and packet loss through the network
layer.
• Real-Time Feedback:
• The network layer provides real-time feedback about current network conditions to the AVM.
• Dynamic Adjustment:
• Based on this feedback, the AVM adjusts the video quality. For instance:
• High Bandwidth: AVM increases video resolution and bitrate for better quality.
• Low Bandwidth or High Latency: AVM reduces video resolution and bitrate to prevent buffering and ensure smooth playback.
• User Experience:
• This dynamic adjustment ensures optimal video streaming performance, balancing quality and smoothness based on
available network resources.
Example Scenario:

Good Network Conditions:

• The network layer reports high bandwidth and low latency.


• The AVM increases the video quality to high resolution (e.g., 1080p) and high bitrate for better
visual experience.

Poor Network Conditions:

• The network layer detects low bandwidth or high packet loss.


• The AVM lowers the video resolution (e.g., from 1080p to 480p) and reduces bitrate to maintain
uninterrupted streaming and reduce buffering.
• This dynamic adjustment mechanism helps in providing a seamless and high-quality video
streaming experience by adapting to changing network conditions in real-time.
Enhancing Reliability in Cross-Layer Communication
Cross-layer communication improves the reliability of network systems by allowing different
layers to share information and optimize processes together.
• Key Mechanisms:
• Dynamic Adaptation:
• Network conditions such as signal strength, congestion, and error rates are monitored in real-time.
• Layers adjust their behaviors dynamically, such as modifying error correction methods or changing routing
paths.
• Feedback Loops:
• Continuous feedback between layers ensures that issues are detected and corrected quickly.
• For example, the physical layer can inform higher layers about poor signal quality, prompting the
application layer to reduce data rate or switch to a more robust protocol.
• Joint Optimization:
• Coordination across layers allows for joint optimization strategies, such as jointly optimizing
transmission power and error correction coding.
Benefits:

• Increased Robustness:
• By sharing real-time data and adjusting operations accordingly, the system becomes more
robust against failures and variability.
• Improved Performance:
• Optimized communication protocols and resource management lead to better overall
performance and user experience.
• Enhanced Error Handling:
• Proactive and reactive error handling mechanisms reduce packet loss and improve data
integrity.
Example Scenario:

1.Error Detection:
1. The physical layer detects a high error rate in the wireless signal.
2. It sends this information to the data link layer.
2.Response Adjustment:
1. The data link layer increases the error correction rate and informs the network
layer.
2. The network layer may reroute traffic through a more reliable path.
3.Application Layer Adjustment:
1. The application layer reduces the bitrate of a video stream in response to the
reduced available bandwidth, ensuring continuous playback without
interruptions.
conclusion

• Cross-layer design is effective for overcoming limitations of the TCP/IP stack, especially
in wireless networks. It keeps the original layer functions but allows coordination and
optimization across layers.
• cross-layer design is crucial for current and future wireless networks. Despite extensive
research, there are still new perspectives to explore, particularly in architecture,
dynamic network adaptation, and balancing performance with interoperability.
• cross-layer design is promising for WLANs, addressing issues like high performance,
energy consumption, and mobility.
• Cross-layer communication enhances network reliability by allowing real-time
adaptation and optimization across different layers, leading to a more resilient and
efficient network system.

You might also like