1 / 73

CS412 Introduction to Computer Networking & Telecommunication

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

Download Presentation

CS412 Introduction to Computer Networking & Telecommunication

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS412 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer Chi-Cheng Lin, Winona State University

  2. Topics • Design Issues • Routing Algorithms • Congestion Control • Internetworking

  3. Position of network layer

  4. 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

  5. Store-and-Forward Packet Switching • The environment of the network layer protocols.

  6. Figure 19.3Network layer in an internetwork

  7. Figure 19.4Network layer at the source

  8. Figure 19.5Network layer at a router

  9. Figure 19.6Network layer at the destination

  10. 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

  11. Implementation of Connectionless Service • Routing within a diagram subnet.

  12. Implementation of Connection-Oriented Service • Routing within a virtual-circuit subnet.

  13. Comparison of Virtual-Circuit and Datagram Subnets 5-4

  14. 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

  15. Routing Algorithms • Desirable Properties • Correctness • Simplicity • Robustness • Stability • Fairness • Optimality

  16. 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

  17. Classes of Routing Algorithm • Two major classes • Non-adaptive • Adaptive

  18. 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

  19. 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

  20. 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

  21. 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

  22. Sink Tree • Example • Distance metric: number of hops Subnet Sink tree

  23. 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

  24. 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

  25. Dijkstra's Algorithm • How do we find the path? • The algorithm given in the book works from destination to source • Why?

  26. 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

  27. 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

  28. 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

  29. 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

  30. Distance Vector Routing • Count-to-Infinity Problem • Good news spread fast, bad news leisurely • Infinity has to be defined

  31. 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

  32. 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

  33. Link State Packets

  34. 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

  35. Path length from 1A to 5C?

  36. Congestion Control • Congestion • Too many packets present in the subnet • Effects • Performance degraded • Packet lost

  37. Congestion and Network Performance (Could be achieved by congestion control) (Without congestion control)

  38. 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

  39. 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

  40. 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

  41. 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

  42. Congestion Control • Congestion = (Load > Resources) • Solutions • Increase resources • Decrease load

  43. Congestion Prevention Policies Policies that affect congestion. 5-26

  44. Congestion Control in VC Subnets • Admission control • Alternative routes • Resource reservation • Based on negotiated agreement

  45. Congestion Control in VC Subnets

  46. 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

  47. 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

  48. Choke Packet • Typically • First choke packet causes data rate reduced to 50%, then 25%, … • Traffic is increased in smaller increments • Why?

More Related