730 likes | 756 Views
CS412 Introduction to Computer Networking & Telecommunication. Chapter 5 Network Layer. Topics. Design Issues Routing Algorithms Congestion Control Internetworking. Position of network layer. Network Layer Design Issues. Store-and-Forward Packet Switching
E N D
CS412 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer Chi-Cheng Lin, Winona State University
Topics • Design Issues • Routing Algorithms • Congestion Control • Internetworking
Network Layer Design Issues • Store-and-Forward Packet Switching • Services Provided to the Transport Layer • Implementation of Connectionless Service • Implementation of Connection-Oriented Service • Comparison of Virtual-Circuit and Datagram Subnets
Store-and-Forward Packet Switching • The environment of the network layer protocols.
Services Provided to Transport Layer • Designing goals • Independent of subnet technology • Transport layer shielded from number, type, and topology of subnets • Uniform network address numbering • Two Types of Services • Connectionless • Connection-oriented
Implementation of Connectionless Service • Routing within a diagram subnet.
Implementation of Connection-Oriented Service • Routing within a virtual-circuit subnet.
Routing Algorithms • Network layer software • Deciding which output line an incoming packet should be transmitted to • Datagram: made for each packet • VC: made for new VC setup
Routing Algorithms • Desirable Properties • Correctness • Simplicity • Robustness • Stability • Fairness • Optimality
Routing Algorithms - Optimality • What to optimize? • Minimizing mean packet delay • Maximizing total network throughput • Problem • The above two are in conflicts • Compromise • Minimizing number of hops a packet must take from source to destination
Classes of Routing Algorithm • Two major classes • Non-adaptive • Adaptive
Two Major Classes of Routing Algorithm • Adaptive • Algorithms differ in • where to get information, e.g., • Locally • From adjacent routers • From all routers • when to change routes, e.g., • Every T sec • When the load changes • When the topology changes • what metric used for optimization, e.g., • Distance • Number of hops • Estimated transit time
Routing Algorithms to be Studied • Static (i.e., nonadaptive) routing • Shortest path routing • Flooding • Dynamic (i.e., adaptive) routing • Distance vector routing • Link state routing
L Optimality Principle • If router J is on the optimal path from router I to router K, then the optimal path from J to K also falls along the same route. • Proof? K J I
Sink Tree • Direct consequence of optimality principle • Subnet graph • Node: router • Arc: link • The set of optimal routes from all sources to a given destination form a tree rooted at the destination • Might not be unique • Goal of routing algorithms • Discover and use the sink tree for all routers
Sink Tree • Example • Distance metric: number of hops Subnet Sink tree
Shortest Path Routing • Given a pair of routers, find the shortest path between them • Subnet graph • Node: router • Arc: link • Labels of arcs • Function of factors • Weighting function changed for different criteria
Dijkstra's Algorithm • Each node labeled with • (distance from source, best known path) • Initially • distance: infinity • best known path: unknown • Label might change to reflect better paths • Node is either tentative or permanent • Initially tentative • As a path from source to that node discovered, label becomes permanent and never gets changed
Dijkstra's Algorithm • How do we find the path? • The algorithm given in the book works from destination to source • Why?
Flooding • Every incoming packet is sent out on every outgoing line except for the input line • Problem • Large number of packets are generated • Solutions • Hop counter • Avoiding duplicates • Selective flooding
Flooding - Conclusion • Optimal • Shortest path is always chosen No other algorithm can produce a shorter delay • Robust • Not practical in most applications • Useful in some applications • Military application: robustness • Distributed database applications • Concurrent update • Wireless networks • Metric of other routing algorithms
Distance Vector Routing • Table in each router • Giving • Best known distance to each destination • Which line to use to get there • Indexed by each router • Each entry contains two parts • Preferred outgoing line to use for that destination • Estimate of "distance" to go there • Best known distance to each destination • Updated by exchanging information with neighbors
Distance Vector Routing • Router • Knows "distance" to each neighbor • Sends list to each neighbor every T msec Receives lists from neighbors every T msec • If neighbor X knows • Distance from X to I is XI, and • Distance from the router to X is m then delay from router to I via X is (XI + m) • Performs calculation for each neighbor to find the best • Old table not used in calculation
Distance Vector Routing • Count-to-Infinity Problem • Good news spread fast, bad news leisurely • Infinity has to be defined
Link State Routing • A router • Discovers its neighbors and learn their network addresses - HELLO • Measures the delay or cost to each neighbor - ECHO • Constructs a packet telling all it has just learned – link state packet • Sends this packet to all other routers – flooding w/ duplicate avoidance • Computes the shortest path to every other router – Dijkstra’s algorithm
Link State Routing • In effect • Complete topology and all delays are experimentally measured and distributed to every router • Dijkstra's algorithm is applied to find the shortest path
Hierarchical Routing • Problem • Network size grows Routing tables grow • Solution • Hierarchical routing • Idea • Routers are divided into "regions" • Router knows detail about routing within its region • Router knows nothing about internal structure of other region
Path length from 1A to 5C?
Congestion Control • Congestion • Too many packets present in the subnet • Effects • Performance degraded • Packet lost
Congestion and Network Performance (Could be achieved by congestion control) (Without congestion control)
Causes of Congestion • Causes • Too many packets need an output line queuing • Problem: not enough memory packets dropped • Solution(?): adding more memory • New problem: timeout and retransmit worse • Slow processors • Low bandwidth lines • Congestion tends to feed upon itself and become worse
Congestion Control v.s. Flow Control • Flow control relates to traffic between two machines, while congestion control is more global • Examples • No congestion, flow control needed • Flow control not needed, congestion • Confusion • Congestion control might send back "slow down" messages Not an acknowledgement
Congestion Control - General Principles • Two groups • Open loop • Closed loop – feedback loop • Explicit feedback • Implicit feedback • Source deduces existence of congestion by making local observation • E.g., time needed for acknowledgement to come back
Congestion Control - General Principles • Closed Loop - Approach • Monitor the system to detect when and where congestion occurs • Pass this information to places where actions can be taken • Adjust system operation to correct the problem
Congestion Control • Congestion = (Load > Resources) • Solutions • Increase resources • Decrease load
Congestion Prevention Policies Policies that affect congestion. 5-26
Congestion Control in VC Subnets • Admission control • Alternative routes • Resource reservation • Based on negotiated agreement
Choke Packets • Used in both VC and datagram subnets • Approach • Each router monitors output line utilization • Threshold for "warning state" • A receiving router • Checks packet to see if output line in warning state • If yes then send a "choke packet" back to source host original packet tagged and forwarded
Choke Packet • Source, upon receiving a choke packet • Reduces traffic by a percentage after receiving choke packet • Choke packet referred to same destination is ignored for a fixed time interval • After time interval expired, listens • If choke packet received then goto the step of reducing traffic else increase traffic
Choke Packet • Typically • First choke packet causes data rate reduced to 50%, then 25%, … • Traffic is increased in smaller increments • Why?