Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer
2 Topics l Design Issues l Routing Algorithms l Congestion Control l 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 l The environment of the network layer protocols.
6 Figure 19.3 Network layer in an internetwork
7 Figure 19.4 Network layer at the source
8 Figure 19.5 Network layer at a router
9 Figure 19.6 Network layer at the destination
10 Services Provided to Transport Layer l Designing goals Independent of subnet technology Transport layer shielded from number, type, and topology of subnets Uniform network address numbering l Two Types of Services Connectionless Connection-oriented
11 Implementation of Connectionless Service l Routing within a diagram subnet.
12 Implementation of Connection-Oriented Service l Routing within a virtual-circuit subnet.
13 Comparison of Virtual-Circuit and Datagram Subnets 5-4
14 Routing Algorithms l Network layer software l 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 l Desirable Properties Correctness Simplicity Robustness Stability Fairness Optimality
16 Routing Algorithms - Optimality l What to optimize? Minimizing mean packet delay Maximizing total network throughput Problem The above two are in conflicts l Compromise Minimizing number of hops a packet must take from source to destination
17 Classes of Routing Algorithm l Two major classes Non-adaptive Adaptive
18 Two Major Classes of Routing Algorithm l 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 l Static (i.e., nonadaptive) routing Shortest path routing Flooding l Dynamic (i.e., adaptive) routing Distance vector routing Link state routing
20 Optimality Principle l 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. l Proof? I K J L
21 Sink Tree l Direct consequence of optimality principle l Subnet graph Node: router Arc: link l The set of optimal routes from all sources to a given destination form a tree rooted at the destination l Might not be unique l Goal of routing algorithms Discover and use the sink tree for all routers
22 Sink Tree l Example Distance metric: number of hops SubnetSink tree
23 Shortest Path Routing l Given a pair of routers, find the shortest path between them l Subnet graph Node: router Arc: link Labels of arcs Function of factors Weighting function changed for different criteria
24 Dijkstra's Algorithm l Each node labeled with (distance from source, best known path) Initially distance: infinity best known path: unknown Label might change to reflect better paths l 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
26 Dijkstra's Algorithm l How do we find the path? l The algorithm given in the book works from destination to source Why?
27 Flooding l Every incoming packet is sent out on every outgoing line except for the input line l Problem Large number of packets are generated l Solutions Hop counter Avoiding duplicates Selective flooding
28 Flooding - Conclusion l Optimal Shortest path is always chosen No other algorithm can produce a shorter delay l Robust l Not practical in most applications l Useful in some applications Military application: robustness Distributed database applications Concurrent update Wireless networks Metric of other routing algorithms
29 Distance Vector Routing l 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
30 Distance Vector Routing l 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 X I, and Distance from the router to X is m then delay from router to I via X is (X I + m) Performs calculation for each neighbor to find the best Old table not used in calculation
31
32 Distance Vector Routing l Count-to-Infinity Problem Good news spread fast, bad news leisurely Infinity has to be defined
33 Link State Routing l A router 1.Discovers its neighbors and learn their network addresses - HELLO 2.Measures the delay or cost to each neighbor - ECHO 3.Constructs a packet telling all it has just learned – link state packet 4.Sends this packet to all other routers – flooding w/ duplicate avoidance 5.Computes the shortest path to every other router – Dijkstra’s algorithm
34 Link State Routing l 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
35 Link State Packets
36 Hierarchical Routing l Problem Network size grows Routing tables grow l Solution Hierarchical routing l Idea Routers are divided into "regions" Router knows detail about routing within its region Router knows nothing about internal structure of other region
37 Path length from 1A to 5C?
38 Congestion Control l Congestion Too many packets present in the subnet l Effects Performance degraded Packet lost
39 Congestion and Network Performance (Without congestion control) (Could be achieved by congestion control)
40 Causes of Congestion l 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 l Congestion tends to feed upon itself and become worse
41 Congestion Control v.s. Flow Control l Flow control relates to traffic between two machines, while congestion control is more global l Examples No congestion, flow control needed Flow control not needed, congestion l Confusion Congestion control might send back "slow down" messages Not an acknowledgement
42 Congestion Control - General Principles l 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
43 Congestion Control - General Principles l 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
44 Congestion Control l Congestion = (Load > Resources) l Solutions Increase resources Decrease load
45 Congestion Prevention Policies Policies that affect congestion. 5-26
46 Congestion Control in VC Subnets l Admission control l Alternative routes l Resource reservation Based on negotiated agreement
47 Congestion Control in VC Subnets
48 Choke Packets l Used in both VC and datagram subnets l 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
49 Choke Packet l 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
50 Choke Packet l Typically First choke packet causes data rate reduced to 50%, then 25%, … Traffic is increased in smaller increments l Why?
51 Hop-by-Hop Choke Packets l Problem in high speed and long distance slow reaction l Solution Hop-by-hop choke packets l Buffers needed in routers l Effects: Quick relief at the price of more buffers
52 Hop-by-Hop Choke Packets l (a) A choke packet that affects only the source. l (b) A choke packet that affects each hop it passes through.
53 Load Shedding l Discard whatever cannot be handled l Which packets to drop? Application-dependent Priorities
54 Load Shedding l Strategies Wine or milk Priority Priority classes Coupled with traffic shaping token bucket Packet without token sent with lowest priority Allowing VC set up with exceeding specification Contingent on low priority Header field needed (ATM 1bit) l Discard as early as possible!
55 Jitter Control l Jitter: variation in packet arrival time l Necessary for audio/video transmission l Control Delay jitter is bounded by computing expected transit time for each hop along path Packet is checked for behind/ahead schedule Behind: sent out ASAP Ahead: held for a while l Usually buffering is used to eliminate jitters
56 Internetworking l A collection of interconnected networks.
57 How Networks Differ
58 How Networks Can Be Connected
59 Concatenated Virtual Circuits l A sequence of VCs is set up from source through one or more gateways to destination l Each gateway maintains tables of information of VCs l Best when all networks have roughly the same properties
60 Concatenated Virtual Circuits
61 Connectionless Internetworking l Packets are not required to follow same sequence of connections l Routing per packet Possibly higher bandwidth than VC l Packets might arrive out of order l Problems Format Addressing
62 Connectionless Internetworking
63 Tunneling l Encapsulating packets of a protocol in the payload of packets of another protocol l Useful in Internetworking VPN IPv4 to IPv6 transition …
64 Tunneling
65 Internetwork Routing l AS (Autonomous System) Each network in internetwork independent of others l Two-Level Routing Interior gateway protocol Exterior gateway protocol l Differences between interior and exterior routings International boundaries Cost Quality of service
66 Fragmentation l Why maximal packet size Hardware OS Protocols Standards Retransmission reduction Prevention of one packet occupying channel too long
67 Fragmentation l Maximum packet size different in different protocol Examples: ATM 48 bytes, IP 65,515 bytes l Problem Large size packets want to go through network of smaller packet size l Solution: Fragmentation Allowing gateways to break packets into fragments, each as a separate internet packet Problem: Easy to break but difficult to put back together
68 Fragmentation Strategies l Transparent fragmentation l Nontransparent fragmentation Transparent fragmentation Nontransparent fragmentation G5G5
69 Transparent Fragmentation l Properties Fragmentation transparent to subsequent networks Same exit gateway in each network l Procedure Fragmentation Each fragment is addressed to same exit gateway Fragments are combined at exit gateway
70 Transparent Fragmentation l Simple l Problems Combination Performance Overhead on repeated assembling
71 Nontransparent Fragmentation l Properties Combination done at destination host One or more exit gateway(s) l Procedure Fragmentation Each fragment is addressed to exit gateway(s) Fragments are combined at destination host l Higher performance in datagram model l Problems Every host must be able to reassemble Overhead in packet header
72 Nontransparent Fragmentation l Numbering Required for assembly l Assembly approach Elementary fragment size defined Fragments of a packet = maximum packet size of another network except for the last one Header fields Packet number Number of first elementary fragment End-of-packet bit
73