ASN notes(1,2,3)
ASN notes(1,2,3)
ASN notes(1,2,3)
UNIT -I
Introduction to Ad Hoc Networks –
An ad hoc network
Formed as needed
Autonomous: Does not require support from any existing network infrastructure.
Cellular networks require infrastructure (e.g., BS, MSC, backbone network, etc.) and are not
ad hoc.
Characteristics of MANETs:
Dynamically changing topology:
Limited power:
o Nodes often have limited power, such as batteries, which influences their operation
and communication.
Local communication:
Peer-to-peer nature:
o There are no hierarchically “more important” or “less important” nodes; all nodes
function as equals.
Store-and-forward transmission:
o Mobile stations (MSs) not only communicate but also serve as routers to forward
data to other nodes.
Each node is equipped with a wireless transmitter and receiver with an appropriate antenna
When the nodes are close by (within each other's radio range), they can communicate
directly
Dynamic Topologies
Network topology may change dynamically as the nodes are free to move.
Link capacity is relatively low, leading to common congestion (collisions occur frequently as
application demand approaches link capacity).
Energy-Constrained Operation
Nodes in ad hoc networks may rely on batteries or other limited energy sources.
Energy conservation may be a dominant design factor.
Many attacks, such as eavesdropping, spoofing, and DoS attacks, are easier to execute.
Scalability Problems
Applications of MANETs :
Wearable Computing (PAN)
Defense applications
Crisis-management applications
Telemedicine
Virtual Navigation
Data from a remote database transmitted to a navigation device in a car or handheld device.
May contain graphical representations of streets, buildings, and the latest traffic
information.
Challenges of MANETs:
• Scalability;
• Security;
• Interoperation with the Internet-as manet and internet are different networks
• Energy conservation;
• Node cooperation;
• Interoperation.
Routing in MANETs –
Factors Affecting Routing in MANETs:
Models of topology
Selection of routers
Provide the maximum possible reliability (use alternative routes if an intermediate node
fails)
Ensure the best possible response time and throughput for nodes
Routing in MANETs:
3. Each node must only be concerned about the routes to its destinations.
The protocol must know how to route a packet at least via its neighbors.
A large number of network nodes (MSs) could lead to extensive updates, requiring a clever
protocol design to handle this efficiently.
1. Proactive Protocols:
In Reactive:
1. A significant delay.
Proactive Protocols:
o Disadvantage: Use too much bandwidth for control messages to continually update
routing information. In highly dynamic MANETs, where topology changes rapidly,
many routes become obsolete and unused, resulting in inefficient bandwidth usage.
Reactive Protocols:
o Disadvantage: Can be too slow for real-time applications due to the delay in route
discovery and the additional control message traffic required to find routes on-
demand.
3. Hybrid Protocols
Position-Based Approaches:
Hybrid Protocols:
Topology-Based:
Position-Based Approaches:
Sender uses location service to determine the position of the destination node.
Physical location of each or some nodes is determined through GPS or other positioning
techniques.
Topology-Based Routing:
Hybrid Protocols:
Every MH maintains a routing table for all possible destinations and the number of hops to
each destination.
Sequence numbers enable MHs to distinguish stale routes from new ones.
To alleviate large network update traffic, two types of packets are used: full dumps or small
increment packets.
The route labeled with the most recent sequence number is always used.
If two updates have the same sequence number, the route with the smaller metric is used
to optimize (shorten) the path.
1. If S(Y) > S(X), then X ignores the routing information received from Y.
2. If S(Y) = S(X), and the cost of going through Y is smaller than the route known to X, then X
sets Y as the next hop to Z.
3. If S(Y) < S(X), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y).
A table-driven protocol with the goal of maintaining routing information among all Mobile
Hosts (MHs).
Each MH maintains four tables: Distance, Routing, Link-Cost, and Message Retransmission
List (MRL) tables.
Each entry in MRL contains the sequence number of the update message, a retransmission
counter, and a list of updates sent in the update message.
MHs keep each other informed of all link changes through the use of update messages.
MHs learn about their neighbors from acknowledgments and other messages.
If an MH does not send any message for a specified time period, it must send a hello
message to ensure connectivity.
Considers broadcasting topology information (including link costs and up/down status) to all
Mobile Hosts (MHs).
Each link-state update is sent on every link of the network through flooding.
Communication cost of broadcasting topology can be reduced if updates are sent along
spanning trees.
Messages are broadcast in the reverse direction along the directed spanning tree formed by
the shortest paths from all nodes to the source.
Messages generated by a given source are broadcast in the reverse direction along the
directed spanning tree formed by the shortest paths from all MHs (nodes) to the source.
All links with neighboring Mobile Hosts (MHs) are declared and are flooded in the entire
network.
Minimizes flooding of control traffic by using only selected MHs, called multipoint relays.
Beneficial for traffic patterns where a large subset of MHs is communicating with each other.
Multipoint Relays:
2)Reactive:
Dynamic Source Routing:
When Mobile Host (MH) S wants to send a packet to MH D but does not know a route to D,
MH S initiates a route discovery.
Destination D, upon receiving the first Route Request (RREQ), sends a Route Reply (RREP).
The RREP is sent along the route obtained by reversing the route appended to the received
RREQ.
The RREP includes the route from S to D that was used by MH (node) D to receive the RREQ.
Supports the use of symmetric channels.
If a source Mobile Host (MH) moves, it reinitiates the route discovery protocol to find
a new route.
If an MH along the route moves, its upstream neighbor detects the move and
propagates a link failure notification message to each of its active upstream neighbors.
These MHs propagate the link failure notification to their upstream neighbors until the
source MH is reached.
Hello messages can be used to maintain local connectivity in the form of beacon
signals.
Designed for unicast routing only; multi-path routing is not supported.
The node needs to identify all its neighbors that are one hop away.
The node’s local neighborhood is defined as a routing zone with a given distance.
All nodes within a hop distance of at most ddd from node X are in the routing zone of node
X.
All nodes at a hop distance exactly ddd are peripheral nodes of node X’s routing zone.
Intra-zone Routing: Proactively maintains routes to all nodes within the source node’s own
zone.
Can be classified according to how many Mobile Hosts (MHs) have the service.
Forwarding decisions by an MH are based on the position of the packet’s destination and the
position of the MH’s immediate one-hop neighbor.
1. Greedy Forwarding:
o An MH forwards a packet to one of its one-hop neighbors based on the
optimization criteria of the algorithm.
2. Restricted Directional Flooding:
o An MH forwards a packet to one or more of its one-hop neighbors, also based
on the optimization criteria.
3. Hierarchical Approaches:
o Forms a hierarchy to scale to a large number of Mobile Hosts (MHs).
Location Services:
Mobile Hosts (MHs) register their current position with this service.
When a node does not know the position of a desired communication partner, it contacts
the location service to request that information.
o First: It would be difficult to obtain the location of a position server if the server is
part of the MANET.
Within the DREAM framework, each Mobile Host (MH) maintains a position
database that stores location information about other MHs.
An entry in the position database includes:
o MH identifier
o Direction and distance to the MH
o Time value when this information was generated
A MH can control the accuracy of its position information available to other MHs in
two ways:
o Temporal Resolution: By changing the frequency at which it sends position
updates.
o Spatial Resolution: By indicating how far a position update may travel before
it is discarded.
Distance Effect in DREAM:
Temporal Resolution:
o The frequency of sending updates is coupled with the mobility rate of a
Mobile Host (MH). Higher speeds result in more frequent updates.
Spatial Resolution:
o Provides accurate position information in the direct neighborhood of a MH
and less accurate information at nodes farther away.
o Costs associated with accurate position information at remote MHs can be
reduced because the greater the distance between two MHs, the slower they
appear to move relative to each other.
Example:
o From MH A’s perspective, the change in direction will be greater for MH B
than for MH C.
Information updates (write operations) are sent to a subset (quorum) of available nodes,
while information requests (read operations) are referred to a potentially different subset.
By designing these subsets such that their intersection is nonempty, it is ensured that an up-
to-date version of the sought-after information can always be found.
A virtual backbone is constructed among the MHs of the subset using a non-position-based
ad hoc routing algorithm.
An MH sends position update messages to the nearest backbone MH, which then selects a
quorum of backbone MHs to host the position information.
3) Grid Location Service:
Divides the area that contains the MANET into a hierarchy of squares, forming a so called
quad tree
Each node maintains a table of all other MHs within the local first-order square
Establishes near MH IDs, defined as the least ID greater than a MH’s own ID
Second order squares Nodes 14, 25, and 29 are selected to host the node 10’s position
2)Greedy Packet Forwarding:
The intermediate node forwards the packet to a neighbor lying in the direction of the
recipient.
It is a good strategy when the sender cannot adjust the transmission signal strength.
MFR (Most Forward within Radius) and NFP (Nearest with Forward Progress) are common
strategies used in this context.
Packets are forwarded to the neighbor closer to the straight line between the sender and
the destination.
The sender may randomly select one of the nodes closer to the destination.
Greedy routing may fail to find a path between the sender and the destination, even if one
exists.
To address this, the packet should be forwarded to the node with the least backward
(negative) progress.
An edge between two nodes A and B is included in the graph only if the intersection of the
two circles (with radii equal to the distance between nodes A and B) around those nodes
does not contain any other nodes.
The edge between nodes A and C would not be included in the planar subgraph if nodes B
and D are within the intersection of the circles.
A simple planar graph traversal is used to find a path toward the destination.
The packet is forwarded on faces of the planar subgraph, progressively closer to the
destination.
On each face, from node S toward node D, the packet is forwarded along the interior
of the face by moving to the next edge counterclockwise from the edge on which it
arrived.
The algorithm guarantees that a path will be found if at least one exists.
The packet header contains additional information such as:
o The position of the node.
o The position of the last intersection that caused a face change.
o The first edge traversed on the current face.
Restricted Directional Flooding:
The sender node S of a packet with destination node D forwards the packet to all one-hop
neighbors that lie "in the direction of node D."
The expected region is a circle around the position of node D as known by node S.
"Direction towards node D" is defined by the line between nodes S and D and the angle ϕ.
LAR uses position information to enhance the route discovery phase of reactive ad
hoc routing approaches.
This position information helps restrict flooding to a certain area called the request
zone during route discovery.
If node S knows that node D travels with an average speed vvv, then the expected
zone is a circular region with a radius of v(t1−t0), centered at location L.
The expected zone is an estimate made by node S to identify a region that potentially
contains D at time t1.
Request Zone in LAR:
To increase the probability of reaching node D, the request zone should include the
expected zone.
Additionally, the request zone may also encompass other regions around the expected zone.
UNIT-2
Data Transmission - Broadcast Storm Problem
Routing Approaches
Broadcasting
Multicasting
Can efficiently support a variety of applications that are characterized by close collaborative efforts
Geocasting
* Aims at delivering data packets to a group of nodes located in a specified geographical area
* Can be seen as a variant of the conventional multicasting problem, and distinguishes itself by
specifying hosts as group members within a specified geographical region
* Since all these three do communication to a group of recipients, it is imperative to determine what
is the best way to provide these services in an ad hoc (MANET) environment
When a MH decides to rebroadcast, all its neighbors may already have the message
Contention
Due to absence of collision detection, collisions are more likely to occur and cause more damage
Rebroadcasting Schemes:
Minimize number of retransmissions of a broadcast message
Attempt to deliver a broadcast packet to each and every node in the network
Common Attributes of Broadcast Protocols
Jitter allows one neighbor to acquire the channel first while other neighbors detect
that the channel is busy
RDT allows a node to keep track of redundant packets received over a short time
interval
Loop Prevention
Node rebroadcasts a given packet no more than one time by caching original source
node ID of the packet and the packet ID
If a sender is located only one meter away, the additional area covered by the
retransmission by a receiving node rebroadcasts is quite low
Distance-based scheme compares the distance between itself and each of its neighbor
nodes that has previously rebroadcast a given packet
Location-based scheme uses a more precise estimation of expected additional
coverage area
Neighbor Knowledge-based: SBA, Multipoint Relaying, AHBP
Flooding with Self Pruning requires each node to have knowledge of its one-hop
neighbours
Scalable Broadcast Algorithm (SBA) requires that all nodes have knowledge of their
neighbours within a two-hop radius
Each node searches its neighbour tables for the maximum neighbour degree of any
neighbour node, say, dNmax
Calculates a Random Time Delay (RDT)based on the ratio of where dme is the
number of current Neighbours for the node
1. Find all two-hop neighbors that can only be reached by one one-hop neighbor and assign those
one-hop neighbors as MPRs
2. Determine the resultant cover set i.e., the set of two-hop neighbors that will receive the packet
from the current MPR set)
3. From the remaining one-hop neighbors not yet in the MPR set, find the one that would cover the
most two-hop neighbors not in the cover set
2. In AHBP, when a node receives a broadcast packet listed as a BRG, it uses two-hop neighbor
knowledge to find which neighbors also received the broadcast packet in the sahe transmission so as
to remove from the neighbor graph
Tree-Based Approaches
Meshed-Based Approaches
Stateless Multicast
Hybrid Approaches
Tree-Based Approaches
Extend tree-based approach to provide multicast in a MANET
A packet traverses each hop and node in a tree at most
Very simple routing decisions at each node
Tree structure built representing shortest paths amongst nodes, and a loop-free data
distribution structure
Even a link failure could mean reconfiguration of entire tree structure, could be a
major drawback
Consider either a shared tree or establish a separate tree per each source
For separate source trees, each router in multiple router groups must maintain a list of
pertinent information for each group and such management per router is inefficient
and not scalable
For shared trees, there is a potential that packets may not only not traverse shorter
paths, but routed on paths with much longer distances
Ad hoc Multicast Routing Protocol Utilizing Increasing Id-Numbers(AMRIS):
Multicast AODV
Multicast Ad hoc On-Demand Distance Vector Protocol
Follows directly from the unicast AODV
Mesh based Approach
Mesh-based multicast protocols may have multiple paths between any source and
receiver pairs
Mesh-based protocols seem to outperform tree-based proposals due to availability of
alternative paths
A mesh has increased data-forwarding overhead
The redundant forwarding consumes more bandwidth
" The probability of collisions is higher when a larger number of packets are
generated
On-Demand Multicast Routing protocol (ODMRP)
Mesh-based protocol employing a forwarding group concept
CAMP creates a shared mesh for each multicast group, which helps maintain
connectivity among multicast users, even when nodes move.
The mesh is essentially a network of interconnected nodes that support multicast
communication.
- Control Traffic and Core Nodes:
CAMP uses core nodes to handle control traffic related to joining and maintaining
multicast groups.
Core nodes are crucial for managing group membership and facilitating
communication within the multicast group.
- Router Classification:
Simplex Mode: A router in this mode only sends multicast traffic received from
specific nodes to the rest of the group. It does not forward multicast packets from
other nodes.
Duplex Mode: A router in this mode forwards multicast packets for the group and
participates actively in the multicast mesh.
Non-Member: A router that does not participate in the multicast mesh and does not
need to forward multicast traffic.
Joining and Leaving Groups:
CAMP ensures that all reverse shortest paths between a source and recipients are
maintained in the mesh.
Receiver nodes periodically check if they are receiving data packets via the shortest
path. If not, they send a HEARTBEAT message to their successor, which triggers a
PUSH JOIN (PJ) message. This process forces non-member nodes in the path to join
the mesh.
Advantages and Disadvantages:
Advantages:
CAMP avoids flooding, which limits the spread of multicast join requests to mesh
members only.
Disadvantages:
Creates a bi-directional, shared tree by using only group senders and receivers as tree
nodes for data distribution
The protocol has two main components: mesh creation and tree setup
The mesh creation identifies and designates certain nodes as logical cores and these
are responsible for initiating the signaling operation and maintaining the multicast tree
to the rest of the group members
A non-core node only responds to messages from the core nodes and serves as a
passive agent
The selection of logical core in AMRoute is dynamic and can migrate to any other
member node, depending on the network dynamics and the group membership
AMRoute does not address network dynamics and assumes the underlying unicast
protocol to take care
AMRoute Protocol Overview:
1. Core Nodes and Their Role:
Non-Core Nodes:
Serve as passive agents that only respond to messages from other core nodes.
The selection of a logical core is dynamic and can change based on network dynamics
and group membership.
2. Mesh Creation:
Initial Process:
Each member node starts by identifying itself as a core and broadcasts JOIN_REQ
packets.
These packets use increasing Time-to-Live (TTL) values to discover other core nodes
in the network.
Core Response:
When a core node receives a JOIN_REQ from another core node in a different mesh
for the same group, it replies with a JOIN ACK.
This creates a bi-directional tunnel between the two cores and one of them is selected
as the core after the mesh merger.
3. Tree Creation:
Initiation:
Once the mesh is established, the core node initiates the tree creation process.
The core node sends periodic TREE_CREATE messages along all links in its mesh.
Message Forwarding:
TREE_CREATE messages are sent using unicast tunnels only to group members.
Group members receiving a non-duplicate TREE_CREATE message will forward it
to all mesh links except the incoming one.
They mark the incoming and outgoing links as tree links.
Handling Unused Links:
If a link is not going to be used as part of the tree, the TREE_CREATE message is
discarded, and a TREE_CREATE_NAK message is sent back to the incoming link.
4. Leaving a Group:
Process:
A member node wishing to leave the group sends a JOIN NAK message to its
neighboring nodes.
5. Virtual Mesh Links:
Function:
Virtual mesh links are used to establish and maintain the multicast tree.
This helps keep the multicast delivery tree consistent even with changes in network
topology, as long as routes between core nodes and tree members exist via mesh links.
6. Disadvantages:
AMRoute may experience temporary loops and create non-otimal multicast trees due
to network mobility.
MCEDAR Protocol :
1. Objective:
MCEDAR aims to integrate the efficiency of tree based forwarding with the
robustness of mesh-based protocols.
2. Combining Approaches:
Provides robustness by using a mesh structure that can tolerate link failures.
3. Forwarding Tree on a Mesh:
Control Infrastructure:
The underlying unicast protocol, CEDAR, handles core broadcasting for multicasting
5. Core Nodes and Mesh Infrastructure:
Core Nodes:
Cores form the mesh structure (referred to as mgraph) and use join IDs to perform
join operations.
6. Mesh Tolerance:
MCEDAR can tolerate some link failures without needing reconfiguration, thanks to
its mesh-based approach.
7. Forwarding Mechanism:
The mesh uses this mechanism to ensure packets travel the shortest distance.
Efficiency:
Whenever a node in the geo cast region receives a geo cast packet, it floods the packet to all
its neighbours.
A geo cast protocol is considered successful if at least one node in the geo cast region
receives the geo cast packet.
The distinction between these categories is how they transmit information from a source to
one or more nodes within the geo cast region.
Location-Based Multicast:
o Extends the LAR (Location-Aided Routing) unicast routing algorithm for geo
casting.
o Utilizes location information to improve the performance of a unicast routing
protocol.
o Aims to decrease the delivery overhead of geo cast packets by reducing the
forwarding space, while maintaining data delivery accuracy.
o The algorithm is based on a flooding approach, where a node determines
whether to forward a geo cast packet using one of two schemes.
LBM Scheme 1:
When a node receives a geo cast packet, it forwards the packet to its neighbours if it
is within a forwarding zone.
The size of the forwarding zone depends on:
1. The size of the geo cast region.
2. The location of the sender.
A parameter d provides additional control over the size of the forwarding zone.
LBM Scheme 2:
Forwarding is based on the position of the sender node and the position of the geo cast
region.
Node B forwards a geo cast packet from node A if Node B is "at least d closer" to the center
of the geo cast region.
GeoTORA
1. GeoTORA aims to reduce the overhead of transmitting geocast packets via flooding
techniques while maintaining high accuracy.
2. Usage of TORA: GeoTORA utilizes the unicast routing protocol TORA (Temporally-Ordered
Routing Algorithm) to transmit geocast packets to a geocast region.
3. TORA Characteristics:
4. GeoTORA Mechanism:
o The source node performs an anycast to any geocast group member (any node in
the geocast region) via TORA.
o Once a node in the geocast region receives the packet, it floods the packet, but the
flooding is restricted to the geocast region.
5. Accuracy:
o GeoTORA has high accuracy, though not as high as pure flooding or Location-Based
Multicast (LBM).
o The accuracy decreases if only one node in the geocast region receives the packet
and that node is partitioned from others in the region.
The Mesh-based Geocast Routing (MGR) protocol is designed for geocasting in an ad hoc
environment, aiming to provide redundant paths between the source and group members.
Redundant Paths:
MGR creates redundant paths from the source to the geocast region because the group
members in a geocast region are in close proximity.
This proximity makes it less costly to establish redundant paths compared to multicast
groups where nodes might be spread out.
Instead of flooding geocast packets, MGR uses control packets to create redundant routes.
The protocol begins by flooding JOIN-DEMAND packets within a defined forwarding zone.
A JOIN-DEMAND packet is forwarded across the network until it reaches a node within the
geocast region.
Upon reaching a geocast region node, the node unicasts a JOIN-TABLE packet back to the
source by following the reverse path of the JOIN-DEMAND packet.
Mesh Formation:
Nodes on the edge of the geocast region, after receiving the JOIN-TABLE packet, become
part of the mesh.
Once the source receives the first JOIN-TABLE packet, it can begin sending data packets to
nodes within the geocast region.
High error rates, longer delays and mobility makes MANET environments extremely challenging
TCP Basics
* Byte Stream Delivery: TCP interfaces between the application layer above and the network layer
below and TCP decides whether to segment or delineate the byte stream in order to transmit data in
manageable pieces to the receiver, hence called
* Connection-Oriented: Two communicating TCP entities (the sender and the receiver) must first
agree upon the willingness to communicate
* Full-Duplex: TCP almost always operates in full-duplex mode, and TCP exhibit asymmetric behavior
only during connection start and close sequences i.e., data transfer in the forward direction but not
in the reverse, or vice versa)
* Checksums: All TCP segments carry a checksum,used by the receiver to detect errors with either
the TCP header or data
* Duplicate data detection:TCP keeps track of bytes received in order to discard duplicate copies of
data that has already been received
* Retransmissions: TCP must implement retransmission schemes for data that may be lost or
damaged and the lack of positive acknowledgements, coupled with a timeout period calls for a
retransmission
* Sequencing: It is TCP's job to properly sequence segments it receives so that it can deliver the byte
stream data to an application in order
* Timers: TCP maintains various static and dynamie timers on data sent and if the timer expires
before receiving an acknowledgement, the sender can retransmit the segment
Source Port: This is a 16-bit number identifying the application where the TCP
segment originated from within the sending host
Destination Port: A 16-bit number identifying the application theTCP segment is
destined for on a receiving host
Sequence Number: A 32-bit number, identifying the current position of the first data
byte in the segment and after reaching 2ª -1, this number will wrap around to
Acknowledgement Number: A 32-bit number identifying the next data byte the
sender expects from the receiver and is one greater than the most recently received
data byte
Header Length: A 4-bit field that specifies the total TCP header length in 32-bit
words (or in multiples of 4 bytes), with the largest TCP header of 60 bytes
Reserved: A 6-bit field currently unused and reserved for future use
Control Bits:
Urgent Pointer (URG) - If this bit field is set, the receiving TCP should interpret the
urgent pointer field
Acknowledgement (ACK) - If this bit is set, the acknowledgment field is valid
Push Function (PSH) - If this bit is set, the receiver should deliver this segment to
the receiving application as soon as possible
Reset Connection (RST) - If this bit is present, it signals the receiver that the sender
is aborting the connection and all the associated queued data and allocated buffers can
be freely relinquished
*Synchronize(SYN):When present,this bit field signifies that the sender is attempting
to “synchronize” sequence numbers.
No More Data from Sender (FIN) - If set, this bit field tells the receiver that the
sender has reached the end of its byte stream for the current TCP connection
TCP Details:
Window: This is a 16-bit integer used by TCP for flow control in the form of a data
transmission window size
Checksum: A sender computes the checksum value of 16-bits, based on the contents
of the TCP header and data fields and is compared with the value the receiver
generates using the same computation
Urgent Pointer: This 16-bit field tells the receiver when the last byte of urgent data
in the segment ends
" Options: Depending on the options) used, the length of this field varies in size, but
it cannot be larger than 40 bytes due to the maximum size of the header length field (4
bits)
Padding: It may be necessary to "pad" the TCP header with zeroes so that the
segment ends on a 32-bit word boundary as defined by the standard
Data: This variable length field carries the application data from TCP sender to
receiver and this field coupled with the TCP header fields constitutes a TCP segment
Congestion Control:
Round-Trip Time Estimation: When a host transmits a TCP packet to its peer, and the reply does not
come within the expected period, the packet is assumed to have been lost and the data is
retransmitted
Over an Ethernet, no more than a few microseconds should be needed for a reply
This process called Round-Trip Time (RTT) estimation
If the RTT estimate is too low, packets are retransmitted unnecessarily; if too high,
the connection can sit idle while the host waits to timeout
As the topology changes, the path is interrupted and TCP goes into repeated,
exponentially increasing time-outs, with severe performance impact
TCP performance in ad hoc multi-hop environment depends critically on the
congestion window in use
Significant TCP unfairness:
TCP injects packets at an increasing rate into the network until a packet loss is
detected and then, the sender shrinks its CWND, retransmits the lost packet and
resumes transmission at a lower increasing rate
If the losses persist at every retransmission, the sender doubles its wait timer (i.e., the
RTO) so that it can wait longer for the ACK of the current packet being transmitted
and is known as the exponential back off strategy
Issues at the MAC Layer:
Consider a linear topology in which each node can only communicate with its adjacent neighbors
* In addition, consider that in Figures 7.7(a) and 7.7 (b) there exist a single TCP connection running
between nodes 1 and 5
TCP Throughput:
Larger the number of nodes a TCP connection needs to span, lower is the end-to-end throughput, as
there will be more medium contention taking place in several regions of the network
Capture Conditions:
In Figure 7.7(c) where there are two independent connections, (connection 2-3) (connection 4-5)
* Assuming that connection 2-3 experiences collision due to the hidden node problem caused by the
active connection 4-5, node 2 will back off and retransmit the lost frame
* In consequence, the connection 2-3 will hardly obtain access to the medium while connection 4-5
will capture it.
NETWORK LAYER IMPACT
On-Demand Operation: DSR works on an on-demand basis, meaning routes are discovered
only when needed. When a node wants to send data to a destination, it broadcasts a route
request (RREQ).
Route Reply (RREP): Once the destination or another node with route knowledge receives
the RREQ, it sends back a route reply (RREP) to the sender, specifying the route to the
destination.
Route Caching: Each node in the network stores routes it has learned or overheard in its
route cache. This eliminates the need for keeping constant, up-to-date routing tables,
reducing the need for periodic route advertisements, which could otherwise cause network
overhead.
Stale Routes: In highly dynamic environments where nodes are frequently moving (high
mobility) or the network conditions change (e.g., signal interference), routes can become
invalid quickly.
o For instance, a route could become outdated by the time the RREP is returned,
either because a node in the route has moved or a link is broken.
o Other nodes might overhear this outdated RREP and update their route caches with
invalid information, causing further issues.
Impact on TCP: When invalid routes are used, TCP (Transmission Control Protocol)
experiences delays in sending data. If this delay isn't handled properly, TCP can enter a
"backoff" state, which significantly degrades its performance.
Solutions:
Avoiding Route Cache Replies: One approach to mitigate stale route issues is to prevent
nodes from replying using their cached routes. While this can improve route accuracy, it
increases network overhead because every new route discovery requires broadcasting a
new RREQ across the network.
Trade-off: Although this extra overhead increases network traffic, it is balanced by the
improvement in route accuracy, particularly in networks with high mobility. As a result, TCP
performance can be enhanced because the likelihood of using stale routes is reduced.
TORA Protocol
Hybrid Nature: TORA is primarily an on-demand protocol, but it also has proactive features.
It is designed for dynamic environments, quickly establishing routes while minimizing the
control messages (overhead) to a small set of nodes around the area where a topological
change (like a node movement or failure) has occurred.
Multiple Routes: TORA maintains multiple routes between peers, meaning that a single
topological change doesn't always trigger a route discovery process unless all routes to a
destination are lost. This is achieved using Directed Acyclic Graphs (DAGs), where every
node has a path to the destination, allowing for several alternative paths.
Efficient Route Maintenance: A route discovery process occurs only when no more routes
are available. When invalid routes are detected (due to changes like network partition),
affected nodes send a "clear packet" to remove the stale route from their neighbors,
avoiding unnecessary network-wide reactions.
Like the Dynamic Source Routing (DSR) protocol, TORA can suffer from stale route
problems. If TCP attempts to send data through a route that has become invalid, delays or
errors can occur.
However, because TORA only reacts when all routes are unavailable, stale routes are less
problematic compared to DSR. The multiple paths in TORA make route discovery less
frequent, which reduces the potential negative effects on TCP.
Out-of-Order Packets: While TORA's multiple path approach provides redundancy and
reliability, it introduces the issue of out-of-order packet delivery. Since TORA doesn’t
prioritize shorter paths, packets can arrive at the destination in the wrong sequence, which
is problematic for TCP.
o For example, an older packet could be sent along a longer path, while a newer
packet might be sent through a shorter path, arriving first at the destination. This
forces TCP to retransmit packets due to the perceived loss of the earlier packet,
degrading overall performance.
Cross-Layer Design: The analysis of both DSR and TORA shows that the design of routing
protocols should carefully consider their impact on the upper layers, particularly the widely
used TCP protocol. Cooperation between the network layer (routing) and transport layer
(TCP) through cross-layer design could provide solutions to these challenges, improving the
overall network performance.
* TCP-Feedback
* TCP sender can effectively distinguish between route failure and nerwork congestion by receiving
Route Failure Notification (RFN) messages from intermediate nodes
* Upon receipt of a Route Re-establishment Notification (RRN) message from the routing
protocol,the sender leaves the frozen state and resumes transmission using the same variables
values prior to the interruption.
*A route failure timer is employed to prevent infinite wait for RRN messages, is started whenever a
RFN is received and upon expiration of this timer, the frozen timers of TCP are reset hence allowing
the TCP congestion control to be invoked normally
*Explicit Link Failure Notification (ELFN) is a cross-layer proposal in which TCP also interacts with the
routing protocol in order to detect route failure and take appropriate actions
* ELEN messages are sent back to the TCP sender from the node detecting the failure
* ELF messages contain sender and receiver addresses and ports, as well as the TCP sequence
number
"stand-by" mode in which its timers are disabled and probe packets are sent regularly towards the
destination in order to detect route restoration
* Upon receiving an ACK packet, the sender leaves the "stand-by" mode and resumes transmission
using its previous timer values and state variables.
* Relies on the idea that routing error recovery should be accomplished in a fast fashion by the
routing algorithm
* It disables such a mechanism whenever two successive retransmissions due to timeout occur,
assuming that it actually indicates route failure
* TCP sender doubles the RTO once and if the missing packet does not arrive before the second RTO
expires, the packet is retransmitted again and again, but the RTO is no longer increased
* The Ad hoc TCP (ATCP) protocol does not impose changes to the standard TCP itself and instead, it
implements an intermediate layer between the network and the transport layers in order to provide
an enhanced performance to TCP
* ATCP relies on the ICMP protocol and on the Explicit Congestion Notification (ECN) scheme to
detect / distinguish network partition and congestion, respectively
* The intermediate layer keeps track of the packets to and from the transport layer so that the TCP
congestion control is not invoked when it is not really needed
* Mobility in MANETs is extremely frequent and the packet usually arrive out-of-order (OOO) at the
destination
* The TCP-DOOR (Detection of Out-Of-Order and Response) protocol focuses on the idea that 000
delivery of packets can happen frequently in MANETs as a result of nodes mobility
* TCP-DOOR implements a detection of such deliveries at both entities: TCP sender and TCP receiver
Main Drawbacks:
* The approaches that rely on feedback information from inside the network (TCP-F, ELFN-based,
ATCP) may fail in situations where TCP sender is unable to receive data from the next hop node
* The usage of explicit notification by the intermediate nodes, such as ECN, raises many security
concerns
* The assumption in TCP-DOOR that 000 packets are exclusive results of route disturbance may not
be true in a quite a few scenarios
* The main concern addressed by the approaches presented so far is how to avoid the TCP
exponential backoff mechanism when losses take place by factors other than congestion
Fairness-Related:
COPAS:
Selection) has been proposed to address TCP performance drop due to the capture problem and
resulting unfairness
* COPAS implements two novel routing techniques in order to contention-balance the network,
namely, the use of disjoint forward (for TCP data) and reverse (for TCP ACK) paths to reduce the
conflicts between TCP packets traveling in opposite directions.
Neighborhood RED(Randomly Early Detection)
* Two unique features of ad hoc wireless networks are the key to understand unfair TCP behaviors:
Spatial reuse constraint and the location dependency
* View a node and its interfering neighbors to form a neighborhood (the neighborhood of a node X is
formed by all nodes within communication range of X)
* Flows get different feedback in terms of packet loss rate and packet delay when congestion
happens
* The main achievement of NRED is the ability to detect early congestion and drop packets
proportionally to a flow's channel bandwidth utilization.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: