1 high-assurance laboratory, cs&e dept., [email protected] cse 434/598 - computer networks...
Post on 20-Dec-2015
213 views
TRANSCRIPT
1High-Assurance Laboratory, CS&E Dept., ASU [email protected]
CSE 434/598 - Computer Networks
Network LayerNetwork Layer
Computer Science & Engineering Department
Arizona State University
2High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Outline
Definition: Network Layer Services provided to the Transport Layer Exactly what are the responsibilities of the Network Layer
Connectionless vs. Connection-oriented Internal Organization: Virtual Circcuit oriented, or Datagram
Routing Algorithms Adaptive vs. Non-adaptive; Optimality vs. Fairness Shortest path routing, flooding Flow-based routing Distance Vector routing; Link State routing
Congestion Control
3High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Network Layer
Lowest layer that deals with end-to-end transmission Highest layer that concerns with internal details of the network
(viz. Subnet vs. Application’s concerns) Responsibilities
Routing (across multiple hops) Congestion control Network inter-operability Flow control Reliability enhancement
Service interfaces to the Transport Layer Independent of the underlying subnet details For example: topology, node numbering, type, LAN/WAN, ...
4High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Service Interface Types
Connectionless, or Connection-oriented ? (e.g., Internet vs. ATM) Where to put the complexity and intelligence ? At the hosts (connectionless):
Hosts have sophisticated processing power anyway, why not use them ? Putting the extra control, and logic @ the subnet is expensive
Updates and maintenance are expensive too
Within the network (subnet) layer (connection-oriented): Users are not interested in the extra “to-do-for-networking” tasks Subnet details should be transparent Users prefer: reliable, trouble-free, end-to-end service
2 choices: reliable connection-oriented, and unreliable connectionless
5High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Why Connectionless ?
Arguments in favor of Connectionless Subnet will always be unreliable => Transport layer should do error control Subnet will usually be unsteady => Transport layer should do flow control Subnet may be trusted to do routing, but only on a per packet basis Network Layer should provide two services
SEND-Packet, and RECEIVE-Packet Each packet carries the destination address Packets are independently routed No packet ordering, flow control etc to be done
Question: how much reliability to provide for ? at bit-level, frame-level, packet-level, message-level look for critical junctures, in the probability (of failure) ladder
6High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Connection-Oriented ?
Why connection-oriented ? If the networks’ (re)design is cheaper/faster/better than those in the hosts... Augmented by the success, and acceptability of telephone services
Sequence of steps in a connection-oriented service Setup the connection
Find path, from source to destination Make necessary reservations on the path
Deliver the data packets Hang-up, i.e., disconnection service
Orthogonal features Optional attributes: reliability, timing, prioritization ....
7High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Service for Connection-Oriented
Virtual Circuit Notion of a “reserved path” from the source to the destination Avoid having to select a (new) route for every packet or cell Assumption: network “status” will remain unchanged between packet 1
through packet N
Implementation Overhead Router nodes will require the VC-index table (VC#, in port#, out port#) VC id#, local to each node, may lead to ambiguous mapping to global VCs
(VC id = <src, dstn> tuple can help in most cases) Pick up the next VC# - this process itself can become an ambiguous step
Creation & purging of VC-entries in the VC-index table are expensive tasks Question: who pays for the VC (creation time, maintenance, ...)
8High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Service for Connectionless
Datagrams, as independent packets No prior route computation. Route for each packet is computed dynamically. Table containing (out port#, for each destination node) is required
Expensive to compute Expensive to keep updating
Implementation Overhead Each packet has to hold the address header
Performance as a function of (# data bits, vs. #address bits) Each packet needs to be processed, i.e., find the next node for its (best) route... Sorting at the destination node, if the packets do not arrive in order Requirement for global routing information @ each node, for each message
9High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Virtual Circuit vs. Datagram: Comparison
Refer Figure 5-2, in the Text Circuit Setup, Addressing, Routing etc.
Notable Router’s memory space vs. bandwidth
Tradeoff: Short packets vs. Long destination addresses VC router table space vs. (Table space of destn. node index + address bit overhead)
Setup time (of VC) vs. Parsing time (of the datagram headers) Congestion control - which one is better ?
VC: a global info. of the network is more feasible Datagram: reflect more “current” network status
Response time (of VCs): Switched VCs vs. Permanent VCs Fault vulnerability: VC is usually worse than datagrams
10High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Routing and Path Finding
Required for both VCs and Datagrams Need for (src --> destn) routing For VC: routing decision once for the entire message For Datagram: routing for each packet
Desired attributes of a routing algorithm Correctness - message reaches the right destination Simplicity - intermediate nodes can easily do the routing tasks
(This topic has profound impact to Distributed Routing.) Robustness - can tolerate Hw/Sw failures, and updates Stability - keep selecting identical routes (for the same src -> dstn)
when run multiple times Fairness vs. Optimality: subjective interpretation...
11High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Attributes of Routing
Fairness (to whom ?) Most common interpretation: to any and every node
Consequence: the routing protocol should be such that Starvation is avoided for all the nodes; any node has a response time less than a threshold; no node is treated unusually worse than any other node; ...
Alternate interpretation: to a selected set of (higher priority ?) nodes... Issue: can one be selectively fair and unfair to the rest ?
Optimality (of what ?) Most common interpretation: to the system resource
Consequence: forget fairness to the individual users..., do what it takes to best utilize the overall system
Can lead to unfairness to some users Almost certainly hurts the prioritized user handling
Alternate interpretation: to a selected set of (higher priority) users...
12High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Attributes of Routing (contd...)
Adaptive vs. Non-adaptive Routing Algorithms Static or non-adaptive approaches are independent of the current load
of the network nodes and links Simplicity, and fast (fixed coded routers)
Adaptive: routing decisions reflect current node/link load status Overhead of gathering network status information
Centralized vs. Distributed Routing Centralized: the entire routing path is computed at “one place”,
typically the source node. Less fault tolerant. Easier to gather the entire networks’ load status in one place
Distributed: routing path is computed as the message proceeds Simpler, but each intermediate node needs to gather network status Increased fault tolerance and congestion control
13High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Cost of Routing Algorithms
What are the inherent costs of a routing algorithm ? Processing Complexity
At the source node: Sender has to line up all the packets/cells to be transmitted Sender has to obtain the next forwarding node’s address Sender may have to compute the entire trajectory (for Centralized) Flow control, Ack-checking, and other network management activities...
At the destination node: Buffer the incoming packets Ack-generation (if any), frame sequence checking (if any), ... Sort the incoming packets, if arrived in non-consecutive order
At intermediate nodes: May have both the sender and receiver roles !! Better to be simple, otherwise intermediate nodes may get overloaded
14High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Cost of Routing Algorithm (contd...)
Why intermediate node may acquire the complexity of both the sender and receiver ? Consider worst case: Store-and-Forward routing policy
Storage Complexity Buffer at the sender node, as well as at the destination node Room for Ackn. signal, and redundant frames (if any) Intermediate nodes:
All of the above Plus, if we decide to do adaptive routing, or FT-routing etc
then additional Buffer space may be required If preemption is involved ==> buffer space proportional to the time
of preemption
15High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Store-and-Forward vs. Cut-Through
Routing Issue for Multihop Store-and-forward: the entire message is transferred along hop 1 first,
and then on hop 2, ..., finally along the last hop Cut-Through: message (as a series of packets) are passed along the
hops in a pipeline
Latency effect Store and forward: long latency for large sized messages
Latency proportional to message size; latency proportional to #hops; bad throughput
Cut-through: pipelined transmission of the packets across the hops Throughput (eventually) independent of #hops, or message size Latency proportional to the #hops, but not the message size
16High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Cut-Through class of Flow Control
Variants of the pipelining in message transmission concept Wormhole Virtual path ...
Required mechanism Fragment the message into packets Other names: frames, cells, ...
hop 1
hop 2
hop 3
hop 4
Store and Forward
time
hop 1
hop 2
hop 3
hop 4
Cut-Through/Wormhole
time
17High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Optimality Principle in Routing Path
Optimality in Route formation Effects are additive along successive hops Optimal route formation is incremental in nature Optimal path between nodes A to B include node C, then
The optimal path from C to B must be contained in the optimal path of A to B Thus, optimal path length (A, B) = optimal path length (A, C) + optimal path length
(C, B) Why isn’t this a trivially true fact ?
Since, path length is an additive attribute There may be other attributes of routing, which are not additive in nature For example, “Policy Routing” isn’t such an attribute
Sink Tree: set of optimal paths from all sources to a given destination It is necessarily a tree, without any loops
18High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Shortest Path Routing
For a given topology, first construct a shortest path tree Specific to a particular source node Criteria for “shortest”
In #hops, indicating all point-to-point links of same cost/delay In total path delay, where the delay @ each link refers to the physical length
between the two successive nodes Delay @ each link refers to the congestion factor at the link
Any combination of the relevant factors, such as distance, bandwidth, average traffic, communication cost, mean Queue length, link delay
Once the shortest path tree is constructed Select a path, rooted at the source node, along its shortest path tree, destined to
the destination node... One of the most popular routing strategies...
19High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Computation of Shortest Path Trees
Rooted at the source node, i.e., specific for a source node Dijkstra’s algorithm
Initially, all nodes are “tentative”, only the source node is “permanent”, distance to every node is (negative max. value)
At each step, each neighbor (V) of “permanent” nodes (C) are Assign distances to node V, as C’s distance + Path length (C, V) If node V is the shortest distance from a permanent node, then mark
node V to be permanent repeat the above steps...
Discuss figure 5-6, in text
Question: what is the complexity of this algorithm, in O( ), and o( ) terms
20High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Flooding
Most trivial routing approach Every incoming packet is sent out to every outgoing link from each node Expensive, and causes lots of congestion But, guaranteed to provide the shortest path (among, zillions of other non-
shortest paths...). Good for making comparison with other routing algorithms. Highly fault-tolerant. If there exists any available path between (source,
destination) ==> it will certainly be able to detect so
Flood Control Hops counter on each packet being flooded
Counter initiated to max. path length (no higher than the network diameter) Counter decremented along each link, and flooding stops when counter = 0
Directional selective flooding - send out packets approx. in the right direction
21High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Flow-Based Routing (Selection)
Include the effect of load on individual network links, besides the topology effect (assumption: traffic rate is steady bet’n adj-nodes)
Given the following, evaluate how good the routing algorithm is Topology is given Traffic flow rate between nodes i, and j (non-adjacent) is given
Max. capacity between adjacent nodes is also given Adopt a (tentative) routing algorithm
Compute the flow matrix, establishing the net flow between every adjacent-pair of nodes
Delay for each link = 1 / (1/mean packet size * capacity - mean flow) Delay for the overall network = weighted delay for the links across all nodes
22High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Distance Vector Routing
Dynamic routing approach, based upon periodic updates of expected routing delays from each node to every destination
Each node maintains a table (i.e., vector) with the best known route (and, distance) to every other node This information is periodically validated by exchanging messages Every node tells its neighbors about how quickly it can reach every other node Neighbors will compile, from such information, the current best set of routes
to every node Metric for “best route”: hops, delay, ...
Routing approach: simply follow whats listed in the distance vector Refer Figure 5-10
23High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Network Status Update Rate
Distance Vector Routing updates propagate non-uniformly for “good news” vs. “bad news” Neighbors look for a shorter way to reach the eventual destination, so a
shorter path (good news) is immediately spotted A bad news, i.e., a shorter path previously available and no longer
available now (perhaps due to fault), take a much longer time to propagate Example: Fig 5-11(b). Essentially, the process of distributed information
update had lost the path-sequence information. Worst case time to report bad news: count incrementally to infinity !!
What is a solution? Split horizon approach (which also has a problem...)
24High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Split Horizon Approach
Similar principle as in Distance Vector routing Except that the paths for sending packets to a node and the path for
reporting its distance are made disjoint A node, C (whose shortest distance from A is derived via another node
B) will not send a message to B itself stating the shortest distance Idea: shortest distance attribute is owing to the path via node B. So, don’t
report the same information to B. Prevent the cyclical dependency between information flowS Refer Figure 5-11(b), the count-to-infinity problem is no longer present
Its not a complete solution Although, the count-to-infinity problem is eliminated along the main
“distance-computation-path”, the same exists on a cyclical path (AB)
25High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Link State Routing
Features of Distance Vector routing Includes the idea of shortest distance routing, and periodic network
updates to estimate the shortest distances... Metrics of “distance: hops, queue length, average line delay
Not the line bandwidth, which becomes an issue with heterogeneous links Bandwidth is buried into the “delay” metric, but indirectly and among other
factors - with no distinct roles in the selection of the routes The algorithm for distance computation may take a long time to converge
Link State Routing Instead of computing the distance between every pair of (remote) nodes Compute the link delay between every pair of adjacent nodes
Distribute, globally, this adjacent-pair-link-delay set of information
26High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Link State Routing (contd...)
Steps @ each router: Discover all the neighbors Measure the avg. delay or cost to the neighbor Construct a packet with this information Distribute this information to every other router Compute the shortest path between every (not necessarily adjacent) pair
of routers
Approach Experimentally, compute the topology (NB: links/nodes can go up or
down) and the weights at the individual links Then deploy well-known algorithms, like Dijkstra’s Shortest Path
algorithm to compute the best acceptable routes
27High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Link State Routing - Details
Both Distance Vector routing and Link State routing has a successful track of being used in early version of what is Internet today
Details of LS Routing Discover the neighbors @ each router
Router sends a “hello, who is out there” to each one of its point-to-point link Nodes at the other ends of the links respond with an “Ackn.” Hierarchical networks, with LANs and Bridges
Sometimes, non-nodes (e.g., LAN) may need an artificial node representation Each node has a globally unique id#, making network identification easy
Estimate the delay @ each point-to-point link Send a probe message, measure the time it took for a round-trip, divide by two Several improvements possible: distinguish between fwd and reverse journeys,
exclude the delay effect caused by the probe message itself, ...
28High-Assurance Laboratory, CS&E Dept., ASU [email protected]
LS Routing Details (contd...)
Construction of the Link-State Packets format: <own id, seq #, age, {neighbor i, link delay to neighbor i}> “Age” is a timeliness information, initiated to the period of update
“Age” attribute is updated as the packet proceeds through the network The packet is no longer considered, when “age” becomes zero
LS Packets are sent out either periodically, or based on critical events (e.g., failure, new node addition, ...)
Distribution of LS Packets Selective flooding, using the packet’s sequence# as the check from
explosion (a node, who has seen packet P1’s seq# N, will reject all other “<N” sequence numbers with P1)
Sequence number decreased during every packet forwarding step
29High-Assurance Laboratory, CS&E Dept., ASU [email protected]
LS Routing Details (contd...)
Distribution of LS Packets using sequence# Sequence number can wrap around, so we need a large number of
bits for the sequence # (this is tolerable) If sequence number on a particular packet is lost, and re-initiated
to zero ==> leads to difficult/meaningless ordering of packets If sequence number gets corrupted to become larger, all the
intermediate value sequence #’s will be forced to be rejected Solution: change the sequence # to age (time based) information Other design improvements:
Guard time, to accommodate redundant packets at the arrival instance Ackn. signals get involved for reliable LS packet transmission
30High-Assurance Laboratory, CS&E Dept., ASU [email protected]
LS Routing Details (contd...)
Route computation Once the LS packets have propagated their information, the new
routes have to be computed Can use any shortest path finding algorithm, e.g., Dijkstra’s algorithm
Link State Routing - acceptance to practice Widely used Protocols that use this approach: OSPF, IS-IS, CLNP, Internet
backbones, some wireless protocols like CDPD, ...
31High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Take it Easy
Why not use a logically symmetric topology With uniform, and adaptive routing algorithm creating about the same
load on each channel
For example, 2D mesh, Torus, Manhattan street network, ... Not necessary to worry about a strange shape graph
And, uncertain updates Prepare for worst cases, ...
Physical topology may be different, but one can impose a logical interconnection across
32High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Performance Aspects of Routing Algorithms
What are the key performance attributes of a (multihop) routing algorithm that we might be interested in ? Latency, #hops, throughput Max. buffer requirement Simplicity Ability to avoid Faults, Congestion, ... Others
Ackn capability, redundancy in routing, security, synchronization, ...
Focus issues: Need for global status, routing in “one place” vs. distributed Can the router go step-by-step with local decisions, and yet be
(near) optimum
33High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Limits of Routing Capabilities in unknown Topology Network
Input: a topology of arbitrary connectivity, relative loads/weights on each one of the links, and a given pair of (source, destination) nodes
Objective: find a best route, that can be incrementally constructed (i.e., step-by-step, with local decisions/info only)
Claim: Let there be such an wonderful routing algorithm, A. Contradiction: Show that A will fail to operate right in some cases
Example: consider the case of using “dead-end” roads
Conclusion: in a totally unknown topology, there is only so much one can achieve in terms of routing Derived conclusion: even in a known topology, with faults => same uncertainty
srcDstn
34High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Symmetric Topology Oriented Routing Policies
Alternate Approach: since routing in unknown shape topologies may be difficult, why not adopt a symmetric topology
Example: the set of network nodes connected in X-Y grid fashion 2D mesh topology Analogy: rectangular city blocks
Benefit: Routing becomes much simpler The “topology knowledge” is by default, nodes do not have to constantly
seek for it Direction finding is by arithmetic, and not by acquiring knowledge of the
topology
35High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Symmetric Topologies - Feasibility
Practical network topologies are inherently ad-hoc Developed not per plan, certainly not in any co-ordinated fashion Post-development reconfigurations can be way too expensive How can we expect “symmetric topologies” ?
Fixed hardware connections Adopt a subset topology, which can be symmetric Ignore the remaining connections... (waste !!)
Firmware connections MAC embedded using (time, frequency) multiplexing Interconnections are in firmware, i.e., by assignment of (t, f) Can easily be changed ==> symmetric
36High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Cost of Embedding Symmetric Topologies
Fixed hardware connections Adopt a subset topology, ignore the remaining Two difficulties
Being able to recognize that a symmetric shaped graph exists underlying
Performance wastage in the ignored links
Firmware connected topologies Replace the bi-diretional links of the multihop
logical topology by (back-to-back) simplex pair of links
Each simplex link is mapped to one (time, frequency) slot of the TWDM transmission schedule
37High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Cost of Symmetric Topology (contd...)
Firmware Interconnections #freq * #time slots >= 2*#links Assumption: one and only one slot
per simplex link Keep few additional slots for
network management works
Each logical, simplex link gets a bandwidth inversely proportional to the cycle time
1
4
7
3
6
9
Total 2 * 12 = 24 slots
Cycle Time
38High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Benefits of Symmetric Topologies
Simplified routing Unified view of the global topology A bundle of graph theoretic properties being available
Example: 2D Mesh topologyWhat is the shortest path length between nodes (2,3) and (5, 8) ?
Shortest path finding algorithm is not necessary Advantage: due to symmetry in the topology
Easier network management Node up/down scheduling, fault vulnerability assessment, etc are
much easier Simpler interface between multiple sub-networks
39High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Example Routing Algorithm - 2D Mesh
Centralized Minimal routing vs. Non-minimal routing
Decision to go along the shortest City Block distance In the presence of faults, congestion, or other reasons (e.g., Policy Routing) - a non-
minimal route may be better X-Y routing
Resolve the (X-vector) and (Y-vector) Various combinations possible: (xxxyy, xxyxy, xxyyx, ...)
Distributed Alternates among various X-Y combinations are tried at each intermediate node Sometimes going in opposite directions may make better sense
40High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Adaptive Routing
Static Prior to the transmission, or upon an interruption basis during
transmission, explore the different routes between (src, destn) Different vs. Disjoint paths Select, or re-select a path that is non-faulty, less-faulty, less
congested Issue: how to re-tract a message halfway
Dynamic Only a myopic view of the network status - can
only make local decisions Transmit around the faulty link/node
Congestion vs. FT - closely related
src
dstn
41High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Static Adaptive Routing
Periodic update of the entire network’s link status Faulty, and/or congestion level Push vs. Pull model of information gathering Global information update, vs. localized (hierarchical) update
Centralized routing Algorithm for finding out different (or, disjoint) paths in a graph
Consult any book on graph theory
Distributed routing (logical interconnection topology helps) Well-known results from the graph topology regarding alternate routes Distinguish between disjoint routes vs. different routes:
42High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Dynamic Adaptive Routing
Good news: Global information update is not required Bad news
Re-routing decision is only as good as the “neighborhood status” info.
Adaptive routing strategy Periodic update of the node’s neighbors
Neighbors -- how far and no further ? Its a design choice Faulty, and/or congestion level of the links/nodes Push vs. Pull model of information gathering
Select alternate link, with a reduced fault-level, congestion, vulnerability...
Pitfalls Conflicting decision making Deadlock, hot-spot, dead-end, buffer overflow
43High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Routing in 2D Mesh (contd...)
Non-adaptive Route is decided (centralized, or distributed) without care
for the congestion, fault, ...
Adaptive - a popular algorithm is called Sidewalk Sidewalk - a popular algorithm
A faulty link is replaced using a length-3 sidewalk path Blind attempt, does not ensure success always Can lead to deadlock, in fact
Look-ahead - another approach Informed Look-ahead, applicable for higher-dimensional
coupled topologies (e.g., n-Cube) Send a 3-hop long Probe message to find out one (among many!) sidewalk paths Higher cost, to establish the probe (short message). But, once successful
it offers determinism.
S D??
?
44High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Routing in 2D Mesh with Firmware MAC Embedding
Applicable for optical, and/or wireless media If a new message arrives, instead of routing
along the existing channels One can create additional channels, perhaps creating even
“Parallel Channels” No need for preemptive MUX on a shared channel Each RT message is hosted on a distinct logical channel Logical channels are mapped onto the
firmware-based MAC Re-assignment of the (t, f, c) slots If necessary, implement dynamic management of the cycle time
Significant benefit for RT message support
1
4
7
3
6
9
S
D
before
1
4
7
3
6
9
S
D
after
45High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Hypercube Routing
Definition N (=2^d) nodes interconnected using a d-dimensional adjacency Example: node (000) has three 1-distant nodes - 001, 010, 100 Popular topology, has a better (size / diameter) attribute than 2D mesh Inherently matches with the message communication patterns of a large
class of parallel algorithms
Routing - a popular routing algorithm, called e-cube routing Route [ node(010), node(101): 3! ways, since 3 bits are involved
010 => 110 => 100 => 101 010 => 110 => 111 => 101 010 => 000 => 100 => 101 ...
46High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Routing in Other Topologies
FT Routing for hypercube class of topologies Ideas similar to Sidewalk and Look-ahead apply here also Alternates in dimensional adjacent positions can be utilized
for finding alternate paths...
Tree topologies Routing is unique path
Upward (i.e., to parent) until the least-common-ancestor(src, dstn); then downward
Upward routing is unique path; downward routing requires careful usage of the node id#
Simple but fault-vulnerable Known for congestion near the root node
47High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Alternate Paths Structure in Various Topologies
n-Cube: n! different (and, n disjoint paths) between any two nodes n-Cube: n edge-disjoint broadcast trees (N, N) mesh: X-Y routing offers plenty of routing alternatives Tree structure: congestion, and fault-vulnerability near the root
Some solutions: Fat tree, X-tree, ... Fat-Tree:
Alternate routes utilize redundant links near the route (CM-5) X-Tree: redundant connection between “first-cousin” leaves
Leaves that have a common level-2 parent, but no direct (level-1) parent
48High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Other Popular Symmetric Topologies
Fat Trees Hypercube-derived topologies
De-Bruijn, Cube-Connected Cycles, Shuffle-Exchange, ...
Mesh derived topologies Spanning bus, 3D mesh, torus (2D mesh with wrap around links)
Summary: Symmetric topologies help But, design of excessively convoluted topologies is not (at least) practical
Literally, thousands of topologies have been designed Only simple ones like 2D mesh are still being used
49High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Routing with Asymmetric Topologies (still !!)
Hierarchical routing Network size scalability lead to vast sized routers Router tables occupy too much space, also large scanning time Graph algorithms, e.g., (all-pair) shortest path finder, sink tree
computation, etc. can lead to state-space explosion...
Multi-level routers Attractive to create multiple clusters of networks, each cluster with
limited size and (hopefully) manageable size of the router tables Each cluster, or sub-cluster, will only have local nodes’ routing
info. Nodes in other regions will be routed via their gateways 2-level routers may be inadequate for very large networks, leading
to multi-level routers
50High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Multi-Level Routers
Gateways Nodes within a particular region or cluster are addressed (from
outside of the cluster) via “gateways” or representative nodes within the cluster. Gateway behaves like a point-of-contact...
Gateway node’s address is externally visible, other node addresses are hidden from outside
Benefit: reduced complexity @ router tables Disadvantage: extra load at the Gateway; liklely creation of hot-spot
at the Gateway, path lengths can become longer, etc.
Example: refer Figure 5-17(b) in Text Benefit: router table is reduced Another disadvantage: path length may get elongated
51High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Mobile Nodes
Migrating nodes Node always connect using the static, wired infrastructure But, node can move around in between successive connections
Example: take your laptop to a hotel room, and access Internet Essentially, stationary users who migrate from one fixed site to
another. They use the network only when static and physically connected to the wired network.
Roaming nodes Maintain a connection while on the move (e.g., laptop connected
over a cellular phone) Wireless media usage
Mobile != Wireless
52High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Routing to Mobile Nodes
Home location Every node, static or mobile, has a home location and a home address
Network area An “area” is a LAN, MAN or a wireless cell - to which a node can
connect to at a given point in time Area contains a foreign agent, and a home agent
Foreign agent Keeps track of all the mobile nodes (from other Areas) currently visiting
the local Area
Home agent Keeps track of users whose home is in the local Area, but who are
currently visiting outside
53High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Mobile Routing (contd...)
Mobile node enters a new Area - sequence of events: Register with the local Area’s foreign agent
Push vs. Pull model Informed by the mobile node, or interrogated by the foriegn agent
Local Area’s foreign agent informs the home agent of the mobile host’s home Area
Establish a forwarding address, at the home address
Message for the mobile node arrives at home address Get forwarded to the currently visiting Area Sender notified of the address update Subsequent messages are directly sent to the updated address
Economizes on re-routing effort
54High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Mobile Routing - Design Details
Protocol hosted by routers or by the hosts themselves Intermediate routers can record mapped addresses, and
(subsequently) intercept messages and re-route directly Addressing can be done for each mobile visitor, or for a common
agent that accommodates every visiting node Mechanism of re-routing the message
Re-create the destination address, and send to the updated address Envelope the entire message into a new message, with re-direction address
Security of the address forwarding method How reliable and authentic is this approach ?
55High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Broadcast Routing
Taxonomy of routing Routing: from source to destination # destinations: 1, few, all nodes of the network
1-to-1: routing 1-to-few: multicast 1-to-all: broadcast
#source nodes: 1, few, all Does it make sense ? Each source must send different pieces of information... Leads to “all-to-all Chat”, or “gossip” type of communications
Broadcast routing One node sends a common message to every other node in the system
56High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Broadcast - Needs and Implementation
Applications that require broadcast operations System initialization Reporting common information, e.g., weather, stock market, ... Synchronization messages, etc.
Naive implementation approach Source sends the message to each destination, as a distinct packet Broadcast implemented as a (large) collection of routing
operations Simple, but wasteful of routing efforts and bandwidth Should be adopted only when none other works !!
57High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Broadcast Implementation
Flooding May not be as bad, as it would for routing
(In routing, the flooding approach is an overkill - but may be an ok approach for broadcast)
Yet, flooding is based on point-to-point communications Generates too many redundant packets
Multi-destination routing Construct a set of packets, each packet is responsible for routing to
a selected set of (non-overlapping ?) destination nodes Route each packet as a set of outgoing messages from the current
router, depending on the set of destinations NB: different from distinct route to each destination approach
58High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Broadcast Implementation (contd...)
Spanning tree approach Generalization of the multi-destination routing approach -- a single
packet tagged with all the destination nodes Utilize the sink tree, or any spanning tree rooted at the source node Message is sent along the spanning tree, and replicated at the
intermediate nodes as necessary (per the fan out of the intermediate nodes of the spanning tree)
Economizes bandwidth, and generates a minimized number of packets
Disadvantage: each router must have the entire spanning tree topology information
How expensive it is to create the (best ?) sink tree ? What are the criteria for “best” ? Hops ? Delay ? Total traffic ?
59High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Spanning Tree Approximation
Reverse Path Forwarding Essentially, a (very) selective flooding approach If the incoming packet (to an intermediate router) arrives on the
“desired” path - then flood the packet Else, discard the packet Criterion for “desired” = same path for sending a reverse packet back
to the source of the broadcast Generates a good approximation of a spanning tree, without
having to compute the entire spanning tree Each node only needs to remember the desired link/port# to every
other node in the network
Example: Figure 5-20 The reverse path forwarding tree is created per the sink tree rooted
at the source node of the broadcast
60High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Multicast Routing
Often more complex than implementing Broadcast Multicast is to a group of nodes, so management of the
node-groups is needed Group naming, and re-naming Nodes join and leave multicast groups
Spanning tree based multicast implementation Similar to broadcast, but on a selected set of destinations Tradeoff issues in each router having to know the multicast
spanning tree
Metrics of multicast Total traffic generated and the “time” consumed
61High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Multicast Routing (contd...)
Spanning tree generation Using Link-State Routing Using Distance Vector routing Continuous updates to the network status by “probe” messages Disadvantage: large # of spanning trees, to be pre-computed
Multicast with symmetric topologies Spanning tree generation becomes much simpler Well-known multicast tree generation algorithms for mesh,
hypercube, hypercube-derived networks etc Results from parallel arch. area apply to the networks area
62High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Multicast - A Better Treatment
Multicast Objectives Generate a spanning tree, rooted at the source node and leaves as
the destination nodes For dependability purposes, the multicast tree may be augmented to
contain cycles Intermediate nodes may be destination nodes, or simply forwarding
nodes Protocol should support replicating the message stream at the
intermediate nodes
Multicast Metrics Traffic = total number of tree edges Time = delay from the source to the destinations
Delay measured as hops, time delay, ... Max delay, or average delay, or ??
63High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Centralized Multicast vs. Distributed Multicast
Centralized Approach: the source (or, some centralized) node computes the entire
multicast spanning tree Topology: known, for symmetric topologies
For asymmetric topologies: periodic (or, event driven) update of the connectivity pattern
Link load levels: periodic (or event driven) update - required for both symmetric and asymmetric topologies
Global update required, since any node may be a multicast source
Distributed Approach: compute the multicast spanning tree progressively, at each local
node. Similar features as in distributed routing, besides the tree shape generation issue.
64High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Centralized vs. Distributed Multicast Tree - Tradeoff
Quality of the spanning tree Centralized: can typically do better Distributed: performs reasonable for symmetric topologies, otherwise not
very good
Overhead (status updates) Centralized: usually higher, since every nodes has to get a global status of
the entire network Distributed: usually less, unless trying for a (near) optimum multicast tree
Overhead (algorithm execution) Either of the approaches, if trying for a (near) optimum tree ==> may require
exponential complexity Usually, distributed algorithms are simpler/quicker to execute
65High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Special Project
Input A 2-Dimensional mesh with 16x16 nodes. Each point-to-point link delay = 1 unit.
A source node, without loss of generality, at (0, 0) Couple of destination nodes, say 6 destination nodes spread across the mesh. NB:
the destination nodes could be anywhere, do not make any assumptions about their positions
No other traffic in the mesh topology
Goal: generate the minimum traffic multicast tree Traffic = total number of mesh links on which you allocate multicast tree edges
Question: what is the time complexity of such a traffic minimized multicast tree generation ? (2 absolute points) Provide a proof, as a basis for your answer (2 absolute points)
66High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Multicast on a 2D Mesh
Distributed multicast tree generation X-Y routing forms the basis for a simplistic multicast
Various combinations of (X, Y) are possible Each destination node is reached on the “X-Y” path
Multiple destinations with overlapped “X-Y” paths lead to sharing the edges ==> formation of the multicast tree
Implementation approach Each replicated copy of the message associates with a “destination list” As the message progresses towards the destination nodes, more and
more sub-lists are created Does not guarantee minimum traffic May lead to optimum delay (source, each destination)
Source
67High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Multicast on a Hypercube
Optimum traffic multicast tree generation is harder, than for mesh A simple, distributed multicast approach
Based on e-cube routing (analogous to the X-Y routing for mesh) Variations in dimension ordering can lead to different multicast trees A particular dimension ordering, once chosen, is adopted at all the intermediate
router nodes Each destination node is reached following the e-cube routing path, with the
adopted dimension ordering Implementation approach: message replication, and destination list partitioning
(analogous to that for 2D mesh)
Centralized multicast: shortest neighbor approach Message reached cluster, and computation of least cost neighbor to the
cluster, in each step. Repeat until all destination nodes reached.
68High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Efforts in Internet Multicast, and Wireless Multicast
Focuses on layers above and beyond the Network Layer Orthogonal to the level of our interest No effort in traffic optimization at the spanning tree generation level Notion of “congestion control”, “traffic optimization” etc are used in
context of address group/list management sense Notion of “real-time” is in the context of OSI stacks’ delay, and not in path
length minimization Reflects the culture difference between architecture, and networks areas...
Wireless Multicast Intra-cell: spanning tree generation within a cell, current work is mostly in
address group management Inter-cell: wide open area, addressed for base-stations oriented systems only
69High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Congestion Control
Critical for management of a number of users on the network Cost, utilization and co-operation requirements prohibit single user networks !!
One has to live with networks that can have other users’ traffic as well. Differs from flow control, which is a single (src, dstn) node pair’s concern
Congestion control is a network wide concern, which may (incidentally) be applied to individual (src, dstn) node pairs as well
Congestion avoidance - illusions Provide more buffer space at the routers - it does not work Make the links higher bandwidth - it helps, but certainly is not a total solution
Two types of solutions Open loop congestion control Close loop (i.e., feedback oriented) congestion control
70High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Congestion Generation Factors
Bursty transmission behavior of the node(s) Fact of life, some nodes will always transmit bursty
Limited memory buffer @ Routers Unlimited memory - does it help ? No, since the (long) queue delay leads to likely re-transmission
and much increased traffic
Slow processors Unable to drain out the receiving buffer fast enough
Lower bandwidth lines, and higher bandwidth users Disparity between producer/consumer lines
71High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Open Loop Congestion Control
Open loop approach: Admission or Rate Control Network is treated as a fenced territory Admission of any new traffic is decided on a case by case basis
Somewhat like the “schedulability” criterion in real-time system Admission criteria should include the expected load, as well as duration of the
connection De-admission, or discarding policies may be adopted
A message, once included (i.e., start to be transmitted), may be allowed to be interrupted
Leads to the (currently very active research) area of QoS negotiation Instead of discarding a channel, one may negotiate its bandwidth, or in general the
Quality of Service parameters
Design question: admission control @ each hop, or end-to-end ? At source, or destination, or ??
72High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Closed Loop Congestion Control
Feedback approach Open loop approach + information fed back from monitoring
Metrics for monitoring Percentage of discarded packets
Due to lack of buffer Due to exceeding the time deadline
Average queue length Average (or, max ?) packet delay
Feedback propagation scheme Sent to every node, or the source nodes only ? Source of one message, or each message ?
73High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Feedback Propagation (contd...)
Means of feedback propagation As distinct messages, but this will create additional traffic overhead As flags, or bit-fields attached to other messages
Slower way of notification, instead of immediate notifications Pull model, instead of Push
Routers send periodic probe messages to solicit network congestion status Implicit feedback: source observes local effects to infer about congestion
Feedback control algorithm If congested, reduce traffic input @ source node(s), or increase resource Simple, but requires added sophistication to implement
Time granularity of correction: too soon, or too slow Stability of the feedback control algorithm is critical to observe
74High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Feedback Control (contd...)
Increase the line capacity Start using the backup links (perhaps designed for added reliability) Subscribe to additional line resources (how soon can this be done ?) Re-adjust the bandwidth partitions between multiple groups
Applications in secure networks Increase transmission power (for wireless systems), to avail additional
line bandwidths
Decrease the user (traffic) loads Deselect existing channels Negotiate the bandwidth (QoS) of existing channels Consider alternate routing styles
Eliminate hot spots
75High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Policies that affect Congestion Prevention
Re-transmission Time-out parameter: how soon to re-transmit ? Caching of out-of-order packets: how early to discard “suspected out-
of-order” packets ?
Acknowledgement: Granularity of Ackn (viz. extra traffic) Flow Control: tighter flow control (smaller window) reduces
congestion Routing algorithm: reduction/avoidance of hot spots Packet Management: service discipline
Queueing, scheduling, and discarding policies
Refer Fig. 5-23, in Text
76High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Traffic Shaping
Reduction of burstiness ==> congestion control Bursty, unsteady traffic ==> smooth, uniform rate of bit-flow Leads to predictability, a more accountable environment for traffic
management Two popular approaches to traffic shaping
Leaky bucket Token bucket
Leaky bucket Popular approach (ATM) for statistical MUX Refer Figure 5-24, in Text (Question: there is a major difference,
though ! What is it ?) Bucket characteristics: Bucket capacity, and diameter of the hole
77High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Leaky Bucket in Traffic Shaping
Bursty input arrival, initially accommodated in the bucket Bucket output, at a steady rate (viz. the diameter of the
hole), empties the incoming packets/cells Features
Effect of averaging between input rate and output rate Accommodate input burstiness
Statistical MUX Maintains RT deadlines when input rate = output rate
Thus, usage of bucket may not necessarily hurt RT deadline
Disadvantage (any ?) RT deadline may be hurt, if a constant queue length is maintained
78High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Token Bucket in Traffic Shaping
Generate somewhat more bursty traffic than Leaky Bucket Bucket generates a token per a fixed time interval
Arriving packets need one token each to be output After transmission, the particular token used for transmission is
destroyed
Distinction from leaky bucket Token bucket can hold upto N packets, N being as large as the
bucket size Creation of localized burstiness - explain why ? Variability in the output rate Explain Figure 5-25, in Text
Never a lost packet (at the bucket) - why ? (Its a bucket of tokens !)
79High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Leaky Bucket vs. Token Bucket
Bucket with packets Width of the “leak” or hole in the
bucket Smoothed traffic output
Likely loss of packets, when buffer overflow occurs
Priority implementation ??
Dynamic control of the width of the “leak”
Bucket with tokens Token generation rate
Local burstiness, overall smooth nature
Claims to be lossless with regards to packets ??
Easy support for priority, and RT traffic
Token fragmentation and micro-management of packets
80High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Leaky Bucket with Token Bucket
Explain Fig. 5-25 (c) Would you use ?
Leaky Bucket, followed by Token Bucket Under what circumstances and with what feature expectations ?
Or, Token Bucket, followed by Leaky Bucket
What happens if one joins different policies (for different VCs, of course) at a particular switch port ?
81High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Flow Specification
Traffic shaping is best used when Sender characterizes the flow patterns Receiver realizes whats going to come Network agrees to ship the packets without fail
Need to be able to specify the Flow Pattern
Input characteristics Maximum packet size (how about avg and std. deviation ?) Maximum transmission rate (from the sender)
Average and other measures also apply Traffic shaping related:
Token bucket size, fill-up rate (in bytes)
82High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Applications’ QoS
Is my data reaching to the destination correctly ? If not, maximum loss rate minimum interval between successive packet/cell drops maximum allowable burst error (sequence) length
Other features: Isochronous:
Max, and min. delay between successive packets(important for Multimedia applications)
Jitter, as a measure of the degree of variability Timing deadline, w.r.t. RT properties Security, and just about every other attribute of interest Textual interpretation of “QoS”
83High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Flow Specification vs. Guarantees
Once specified, will it be honored ? Various guarantee modes:
Non-expulsion guarantee - Once admitted, the VC will be serviced without expelling However, its QoS may not be strictly followed
QoS satisfying guarantee As long as the VC is being serviced, all the QoS parameters will be
strictly followed However, the VC may altogether get preempted (i.e., killed)
Types of guarantees: Hard guarantees - “yes” means 100% true, and always Soft guarantees - best effort approach
84High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Congestion Control in Virtual Circuits
Admission control over multihop networks Resource must be adequate along each hop of the VC’s path Implementation approach:
Sequentially, check the resource availability along each link Issue: staleness of the information Solution: 2PL - place a reservation on the forward path, and confirm the
entire path’s availability during the return path Question: deadlock possibility ?
When admission control phase fails to allocate a multihop VC: Explore additional resource via different routing paths Negotiate Quality of Service for the existing VCs, or the freshly
requested one
85High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Congestion Control with Single Packets
Simpler problem than Congestion Control with Multiple Packets Applicable both for VCs (with de-regulated packets) or datagrams
Choke Packets A congested link, L, (reaching above a certain utilization level) realizes the
“warning” - that it is heading to a problem (in near future !!) L sends “choke” packets to the source(s) of message(s) passing through L When the respective source node(s) receive a “choke” packet
Source node decreases the traffic flow rate, i.e., reduces the #packets/sec Hopefully, L can get out of the “warning” states
(Relate this to your Project II) Choke packets are identified using the (src, dstn) id-pair Choke must be implemented with a Time-out, beyond which multiple
“choke”-based restraints can occur ==> incremental feedback & control
86High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Choke Packets (contd...)
Choke packet across a multihop path ==> long choke length Longer than desired feedback control delay, i.e., sluggish Solution: choke hop by hop Issue: Message flow control per hop - is this realistic ?
Yes, for long-haul networks with large router delays Otherwise, its impractical to implement
Disadvantage of Choke Packets Assumption: Every source node plays a fair game, i.e., once told to
slow down - they will indeed slow down If violated, Choking approach can become
Ineffective Unfair to the honest source nodes, i.e., the ones who listens to choking
87High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Queueing Algorithms for Congestion Control
Fair Queueing Routers have multiple queues, one for each output line Arriving packets queue up at the respective buffers Service policy: Round robin
Used in some ATM switches Disadvantage: non-uniform packet size leads to unfairness
Service policy: Byte-by-byte round robin Used in many other ATM switches Refer Figure 5-29, in Text
Weighted Fair Queueing Assign priorities to the different Queues, giving preferential
treatment to some channels over the others...
88High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Load Shedding
Adopted when none of the congestion control techniques work (the traffic is too large, compared to the bandwidth)
Approach: drop packets, but how ? Randomly - most naive approach Drop older (time) packets - e.g., multimedia packets/cells Drop newer (time) packets - e.g., for FTP and any application that
cannot afford to miss any packet, requiring re-transmission Also, depends on the nature of the re-transmission protocol
Under various packet-coding policies Drop differential packets, if the protocol sends “essential” and
“differential” packet formats
89High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Selective Packet Dropping Policies
Routers can drop packets more intelligently, if users/applications mention which packets are more (or, less) important Applications must mark which packets are important Prioritize the packets
Group 1: Very important, never drop this packet Group 2: Moderately important, don’t drop if you can... Group <last>: Least important, drop if you have anything (else) better to send
Incentive Policies What prevents an application to state that everyone of its packets are of the highest
priority level ? Pricing incentive: the higher the priority, the more the user pays (per packet) Alternate approach: Traffic beyond the negotiated bandwidth is lower priority traffic
90High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Jitter and Jitter Control
Desired features in a multimedia stream Isochronous: inter-packet arrival time must be nearly consistent (e.g.,
successive frames of a live video stream) Synchronized: Video, voice, caption etc. traffic cells must arrive together
at the receiver stations Selection of alternate routes for different traffic types ==> likely variations of
path delays
Jitter Control Approach Each packet is time-stamped, with respect to its (time) peers Policy @ each router:
If a packet is ahead of schedule, buffer & delay it until it follows the schedule If a packet is behind schedule, then rush its delivery
91High-Assurance Laboratory, CS&E Dept., ASU [email protected]
ATM Layer
Network Layer in ATM Networks OSI layer positioning of ATM Layer ?
Data Link Layer or Network Layer ? Arguments in favor of Network Layer
Multiple hops, routing and switching across the net Global addressing, reasonably reliable
Arguments against Network Layer Can port IP on top of ATM, making ATM look like Data Link Layer In LAN emulation, the multihop-VCs are treated as a logical single hop
link, and thus like the Data Link Layer
ATM Nuggets - what’s really new ? Statistical MUX Scalability and hierarchical path (VP and VC) routing
92High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Attributes of ATM Connections
Connection oriented protocol Both in service to the users, as well as in the internal operations
(Thus, it is not simply emulating a Connection-Oriented circuit.) But, no explicit Ackn signals
Designed primarily for highly reliable media, e.g., Optical Ackn is probably not much use for real-time, isochronous traffic
Basic element is a “connection”, called as Virtual Channel 2-level connection hierarchy Connection is implemented by a virtual circuit (VC)
VCs are simplex, but back-to-back VCs (not necessarily same QoS) can make duplex links
A bundle of VCs form a virtual path (VP)
Cell delivery order guarantee within each VC
93High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Cell Layout
48 byte Payload + 5 byte header (Figure 5.62) Header (error handling, priority, flow control, path id#, network
management) 16 bit VCI 8 or 12 bit VPI (4 bit for Flow Control, with host to network interface) 3 bit PTI (payload type), Figure 5-63
Combines user supplied data type, with network management functions 1 bit CLP, or cell priority - used for cell overflow policy dictator
Certainly, not enought for multi-priority applications 8 bit error code over the header only, not on the payload
Code to correct all single bit errors, and most multibit errors
94High-Assurance Laboratory, CS&E Dept., ASU [email protected]
VPI vs. VCI
ATM enforces a 2-level hierarchical path id#: (VP, VC) 1-level path id# can land up spending a lot of computing time at each
intermediate switch to identify which output line to select for each cell 2-level path id# can reduce this overhead (example: US Mail routing) Only VPI field is used for switch to switch routing VCI field is used for (switch, host) or (host, switch) routing
VCI: The first and the last hop VPI: Remaining hops
Benefits of 2-level hierarchical path id# Once a VP has been setup, it offers a common highway for a varying number of
VCs to be established between source and destination. No fresh routing decision needs to be made.
Simplified routing decision, since routing occurs within a common VP. Smaller lookup table.
95High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Routing and Switching of VCs
Benefits of VP (contd.) Rerouting of VCs (clustered within a VP) becomes simpler
One operation, instead of having to reroute all the VCs individually Easier establishment of private (“closed door”) networks. A VP can offer the
look and feel of a private intra-net.
VCs clustered within VPs (Switch VC, vs Permanent VC) Switching @ Intermediate nodes
Each intermediate switch maintains a VPI-to-output link mapping index or table Table is initiated when the switch boots up Table is updated as each VP (and, VC) gets setup Example: Figure 5-67 and Figure 5-68 (NB: both figures are for one switch.) Routing decision: (outgoing line, outgoing VPI) = table(incoming line, in VPI)
96High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Connection Setup
Create a Connection = (acquire a connection, then use it) Acquire a VC - how ? Send a VC-setup request on a pre-existing (network management VC)
VP=0, VC=5 ==> used for opening such new virtual circuits Benefit of the 2-step process for VC setup: dynamic allocation of the
bandwidth, the pre-existing VC can be of very low (and, always alive) bandwidth. Other VCs are created as and when needed.
Alternate approach: Permanent VC or PVC Static load, but no setup time required
Connection setup across a multihop VC (Figure 5-65) Six types of messages, each with a specific request or ackn role No end-to-end Ackn, all ackn signals are within physical hops neighbors only
97High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Connection Release
Protocol description Uses two of the six message types (Figure 5-64) Standard handshake technique between adjacent switches/nodes
Refer Figure 5-65(b) Delay in Setup
Round trip delay of the “Setup Request” and “Connect” confirmation 1-neighbor ackn signals do not add to the total delay
Delay in Release Forward trip delay of the “Release Request” only 1-neighbor ackn signals do not add to the total delay
Why ATM does not have explicit end-to-end ackn signals ?
98High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Service Categories
Five Classes of Services provided to the traffic Constant Bit Rate (CBR) Variable Bit Rate (VBR)
With hard real-time requirements With near (soft) real-time approach (i.e., jitter allowed)
Available Bit Rate (ABR) Best effort approach, with traffic load which may be bursty and whose
average load is approximately known Unspecified Bit Rate (UBR)
No guarantee, no feedback about congestion Cells may simply drop, without any notification Ideal for sending IP packets, since IP makes no promise about delivery
Cheapest service: UBR
99High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Service Categories (contd.)
Examples CBR: uncompressed live video with strict isochronous requirement VBR (real-time): real-time videoconferencing with compression VBR (non real-time): soft real-time videoconferencing with compression ABR: read email, browse web, airline reservation, ... UBR: background ftp
Service Characteristics Bandwidth guarantee: Available for CBR, VBR, and optionally for ABR RT Traffic support: only CBR, and VBR (real-time) Bursty Traffic support: for VBR (non real-time), ABR and UBR Congestion feedback: only in ABR
100High-Assurance Laboratory, CS&E Dept., ASU [email protected]
Quality of Service
Reflection of the contract between the customer (src, dstn) and the network
QoS allows one to setup the contract in firm grounds QoS parameters include (refer Figure 5-71)
Cell rate (peak, sustained, minimum) Cell delivery delay (mean delay, variation, maximum tolerance) Cell loss ratio (fraction of cells lost or delivered beyond deadline) Cell error rate (fraction of cells delivered without any error in
them) others...