Presentation is loading. Please wait.

Presentation is loading. Please wait.

7. Network Layer Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet.

Similar presentations


Presentation on theme: "7. Network Layer Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet."— Presentation transcript:

1 7. Network Layer Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet −IP −OSPF

2 The Network Layer Responsible for delivering packets between endpoints over multiple links (Link layer: single link Transport layer: Uses this service) Physical Link Network Transport Application

3 Design Issues Forward packet switching Connectionless service – datagrams Connection-oriented service – virtual circuits Comparison of virtual-circuits and datagrams

4 Forward Packet Switching Hosts send packets into the network; packets are forwarded by routers ISP’s equipment

5 Connectionless Service – Datagrams Packet is forwarded using destination address inside it Different packets may take different paths ISP’s equipment A’s table (initially) A’s table (later) C’s Table E’s Table Dest. Line

6 Connection-Oriented – Virtual Circuits Packet is forwarded along a virtual circuit using tag inside it Virtual circuit (VC) is set up ahead of time ISP’s equipment A’s table C’s Table E’s Table In: Line Tag Line Tag: Out

7 Comparison of Virtual-Circuits & Datagrams

8 7. Network Layer Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet −IP −OSPF

9 Routing Algorithms (1) Dijkstra’s Shortest path algorithm Flooding Distance vector routing Link state routing Hierarchical routing Routing for mobile hosts

10 Routing Algorithms (2) Routing is the process of discovering network paths Model the network as a graph of nodes and links Decide what to optimize (e.g., fairness vs efficiency) Update routes for changes in topology (e.g., failures) Forwarding is the sending of packets along a path

11 Shortest Path Algorithm (1) Dijkstra’s algorithm computes a sink tree on the graph: Each link is assigned a non-negative weight/distance Shortest path is the one with lowest total weight Using weights of 1 gives paths with fewest hops Algorithm: Start with sink, set distance at other nodes to infinity Relax distance to other nodes Pick the lowest distance node, add it to sink tree Repeat until all nodes are in the sink tree

12 Dijkstra(StartingNode A) { Queue theQueue; theQueue.addAll(A.reachableNodesWithDistance); Integer[] shortestDistances = new Integer[maxNodeCount]; while (theQueue.isNotEmpty()) { Node nearest = theQueue.removeNearest(); shortestDistances[nearest.id] = nearest.distance; for (Node n : nearest.reachableNodesWithinDistance) { int newDistance = nearest.distanceTo(n) + nearest.Distance; if (!queue.containsKey(n) && shortestDistances[n.id] == null || queue.containsKey(n) && queue.get(n)>newDistance) queue.put(n,newDistance); } N.B.: This is close to java, but the queue likely needs to be implemented as PriorityQueue

13 Shortest Path Algorithm (2) A network and first five steps in computing the shortest paths from A to D. Pink arrows show the sink tree so far.

14 Your turn Shortest paths from A?

15 Flooding A simple method to send a packet to all network nodes Each node floods a new packet received on an incoming link by sending it out all of the other links Nodes need to keep track of flooded packets to stop the flood; even using a hop limit can blow up exponentially

16 Distance Vector Routing (1) Distance vector is a distributed routing algorithm Shortest path computation is split across nodes Algorithm: Each node knows distance of links to its neighbors Each node advertises vector of lowest known distances to all neighbors Each node uses received vectors to update its own Repeat periodically

17 Distance Vector Routing (2) Network Vectors received at J from Neighbors A, I, H and K New vector for J

18 Distance Vector Routing (2) Network Vectors received at J from Neighbors A, I, H and K New vector for J

19 The Count-to-Infinity Problem Failures can cause DV to “count to infinity” while seeking a path to an unreachable node Good news of a path to A spreads quickly X Bad news of no path to A is learned slowly

20 Link State Routing (1) Link state is an alternative to distance vector More computation but simpler dynamics Widely used in the Internet (OSPF, IS-IS) Algorithm: Each node floods information about its neighbors in LSPs (Link State Packets); all nodes learn the full network graph Each node runs Dijkstra’s algorithm to compute the path to take for each destination

21 Link State Routing (2) – LSPs LSP (Link State Packet) for a node lists neighbors and weights of links to reach them Network LSP for each node

22 Link State Routing (3) – Reliable Flooding Seq. number and age are used for reliable flooding New LSPs are acknowledged on the lines they are received and sent on all other lines Example shows the LSP database at router B

23 Hierarchical Routing Hierarchical routing reduces the work of route computation but may result in slightly longer paths than flat routing Best choice to reach nodes in 5 except for 5C

24 Routing for Mobile Hosts Mobile hosts can be reached via a home agent Fixed home agent tunnels packets to reach the mobile host; reply can optimize path for subsequent packets No changes to routers or fixed hosts

25 Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet −IP −OSPF

26 Congestion Control (1) Handling congestion is the responsibility of the Network and Transport layers working together −We look at the Network portion here Traffic-aware routing » Admission control » Traffic throttling » Load shedding »

27 Congestion Control (2) Congestion results when too much traffic is offered; performance degrades due to loss/retransmissions Goodput (=useful packets) trails offered load

28 Congestion Control (3) – Approaches Network must do its best with the offered load Different approaches at different timescales Nodes should also reduce offered load (Transport)

29 Traffic-Aware Routing Choose routes depending on traffic, not just topology E.g., use EI for West-to-East traffic if CF is loaded But take care to avoid oscillations

30 Admission Control Admission control allows a new traffic load only if the network has sufficient capacity, e.g., with virtual circuits Can combine with looking for an uncongested route Network with some congested nodes Uncongested portion and route AB around congestion

31 Traffic Throttling Congested routers signal hosts to slow down traffic ECN (Explicit Congestion Notification) marks packets and receiver returns signal to sender

32 Load Shedding (1) When all else fails, network will drop packets (shed load) Can be done end-to-end or link-by-link Link-by-link (right) produces rapid relief 1 3 2 4 5

33 Load Shedding (2) End-to-end (right) takes longer to have an effect, but can better target the cause of congestion 1 3 2 7 5 6 4

34 Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet −IP −OSPF

35 Quality of Service Application requirements » Traffic shaping » Packet scheduling » Admission control » Integrated services » Differentiated services »

36 Application Requirements (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Different applications care about different properties We want all applications to get what they need. “High” means a demanding requirement, e.g., low delay

37 Application Requirements (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Network provides service with different kinds of QoS (Quality of Service) to meet application requirements Network ServiceApplication Constant bit rateTelephony Real-time variable bit rateVideoconferencing Non-real-time variable bit rateStreaming a movie Available bit rateFile transfer Example of QoS categories from ATM networks

38 Traffic Shaping (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Traffic shaping regulates the average rate and burstiness of data entering the network Lets us make guarantees Shape traffic here

39 Traffic Shaping (2) Token/Leaky bucket limits both the average rate (R) and short-term burst (B) of traffic For token, bucket size is B, water enters at rate R and is removed to send; opposite for leaky. Leaky bucket (need not full to send) Token bucket (need some water to send) to send

40 Traffic Shaping: Token Bucket CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Shaped by R=25 MB/s B=9,6 MB Shaped by R=25 MB/s B=0 KB Host traffic R=25 MB/s B=16 MB Smaller bucket size delays traffic and reduces burstiness

41 Admission Control (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Admission control takes a traffic flow specification and decides whether the network can carry it Sets up packet scheduling to meet QoS Example flow specification

42 Admission Control (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Construction to guarantee bandwidth B and delay D: Shape traffic source to a (R, B) token bucket Run WFQ with weight W / all weights > R/capacity Holds for all traffic patterns, all topologies

43 Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet −IP −OSPF

44 Network Layer in the Internet (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 IP Version 4 IP Addresses IP Version 6 Internet Control Protocols Label Switching and MPLS OSPF—An Interior Gateway Routing Protocol BGP—The Exterior Gateway Routing Protocol Mobile IP

45 Network Layer in the Internet (3) Internet is an interconnected collection of many networks that is held together by the IP protocol CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011

46 IP Version 4 Protocol (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 IPv4 (Internet Protocol) header is carried on all packets and has fields for the key parts of the protocol:

47 Your turn Given the following header, will the following packet pass a network with an MTU of 1920 bytes? What will be different if paket is fragmented?

48 IP Addresses (1) – Prefixes CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Addresses are allocated in blocks called prefixes Prefix is determined by the network portion Written address/length, e.g., 18.0.31.0/24

49 IP Addresses (2) – Subnets CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Subnetting splits up IP prefix to help with management Looks like a single prefix outside the network Network divides it into subnets internally ISP gives network a single prefix

50 IP Addresses (3) – Aggregation CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Aggregation joins multiple IP prefixes into a single larger prefix to reduce routing table size ISP customers have different prefixes ISP advertises a single prefix

51 IP Addresses (4) – Longest Matching Prefix CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Packets are forwarded to the entry with the longest matching prefix or smallest address block Complicates forwarding but adds flexibility Main prefix goes this way Except for this part!

52 IP Addresses (5) – Classful Addresing CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Old addresses came in blocks of fixed size (A, B, C) Carries size as part of address, but lacks flexibility Called classful (vs. classless) addressing

53 IP Addresses (6) – NAT CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 NAT (Network Address Translation) box maps one external IP address to many internal IP addresses Uses TCP/UDP port to tell connections apart Violates layering; very common in homes, etc.

54 Your turn Computer A has the IPv4 address (including the subnet mask in CIDR notation) 141.89.228.65/26. Computer B is reachable as 141.89.228.63/26. Do they belong to the same subnet?

55 IP Version 6 (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Major upgrade in the 1990s due to impending address exhaustion, with various other goals: −Support billions of hosts −Reduce routing table size −Simplify protocol −Better security −Attention to type of service −Aid multicasting −Roaming host without changing address −Allow future protocol evolution −Permit coexistence of old, new protocols, … Deployment has been slow & painful, but may pick up pace now that addresses are all but exhausted

56 Three hundred and forty undecillion, two hundred and eighty-two decillion, three hundred and sixty-six nonillion, nine hundred and twenty octillion, nine hundred and thirty-eight septillion, four hundred and sixty-three sextillion, four hundred and sixty-three quintillion, three hundred and seventy-four quadrillion, six hundred and seven trillion, four hundred and thirty- one billion, seven hundred and sixty-eight million, two hundred and eleven thousand, four hundred and fifty- six.

57 IP Version 6 (2 ) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 IPv6 protocol header has much longer addresses (128 vs. 32 bits) and is simpler (by using extension headers)

58 IP Version 6 (3) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 IPv6 extension headers handles other functionality

59 Internet Control Protocols (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 IP works with the help of several control protocols: ICMP is a companion to IP that returns error info −Required, and used in many ways, e.g., for traceroute ARP finds Ethernet address of a local IP address −Glue that is needed to send any IP packets −Host queries an address and the owner replies DHCP assigns a local IP address to a host −Gets host started by automatically configuring it −Host sends request to server, which grants a lease

60 Internet Control Protocols (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Main ICMP (Internet Control Message Protocol) types:

61 Internet Control Protocols (3) ARP (Address Resolution Protocol) lets nodes find target Ethernet addresses [pink] from their IP addresses CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011

62 Label Switching and MPLS (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 MPLS (Multi-Protocol Label Switching) sends packets along established paths; ISPs can use for QoS Path indicated with label below the IP layer

63 Label Switching and MPLS (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Label added based on IP address on entering an MPLS network (e.g., ISP) and removed when leaving it Forwarding only uses label inside MPLS network

64 OSPF— Interior Routing Protocol (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 OSPF computes routes for a single network (e.g., ISP) Models network as a graph of weighted edges Network: Graph: Broadcast LAN modeled as a well- connected node 3

65 OSPF— Interior Routing Protocol (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 OSPF divides one large network (Autonomous System) into areas connected to a backbone area Helps to scale; summaries go over area borders

66 OSPF— Interior Routing Protocol (3) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 OSPF (Open Shortest Path First) is link-state routing: Uses messages below to reliably flood topology Then runs Dijkstra to compute routes

67 BGP— Exterior Routing Protocol (1) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 BGP (Border Gateway Protocol) computes routes across interconnected, autonomous networks Key role is to respect networks’ policy constraints Example policy constraints: −No commercial traffic for educational network −Never put Iraq on route starting at Pentagon −Choose cheaper network −Choose better performing network −Don’t go from Apple to Google to Apple

68 BGP— Exterior Routing Protocol (2) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Common policy distinction is transit vs. peering: Transit carries traffic for pay; peers for mutual benefit AS1 carries AS2↔AS4 (Transit) but not AS3 (Peer)

69 BGP— Exterior Routing Protocol (3) BGP propagates messages along policy-compliant routes Message has prefix, AS path (to detect loops) and next- hop IP (to send over the local network) CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011

70 Mobile IP Mobile hosts can be reached at fixed IP via a home agent Home agent tunnels packets to reach the mobile host; reply can optimize path for subsequent packets No changes to routers or fixed hosts CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011

71 Take home IP-Addresses: NETID+HOSTID Routing Distance vector −Problem: Count to infinity Link state −Challenge: Information propagation Internet OSPF inside a network BGP between networks CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011


Download ppt "7. Network Layer Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet."

Similar presentations


Ads by Google