IP Forwarding (Ch 4) A Sample Network Examine IPv4 addresses:
Transcription
IP Forwarding (Ch 4) A Sample Network Examine IPv4 addresses:
IP Forwarding (Ch 4) Examine IPv4 addresses: g – Hierarchical Class A Class B Class C 0 Network(7) 10 Host (24 bits) Network(14) 110 Host (16) Network (21 bits) Host (8) S. Venkatesan Department of Computer Science 2010 A Sample Network H1 H2 H10 H3 Network # 1 H11 H12 H13 Network 4 R1 R3 H6 H4 Network 2 H5 Network 3 R2 H7 S. Venkatesan Department of Computer Science 2010 H9 H8 Datagram Forwarding g g g g g Host has a packet for another host: How to transfer? Packet has source and destination IP addresses “Network” part of IP address identifies single physical network All hosts with the same network address are connected to the same physical network Every physical network has one host (router) that is connected to one other physical network S. Venkatesan Department of Computer Science 2010 Forwarding g if destination’s network # = network number of my own then – Deliver packet on that interface [How? Use ARP] g else {consult forwarding table – if (destination’s network # is in forwarding table) • Then deliver packet to next hop router (what is this?) – else deliver packet to default router } S. Venkatesan Department of Computer Science 2010 Sample Forwarding Table H1 H2 H10 H3 Network # 1 H11 R1 Network 2 Network 3 R2 H9 H8 H7 H5 Forwarding table for R1 H13 Network 4 R3 H6 H4 H12 Network # Next Hop 1 Interface 0 2 Interface 1 3 R2 4 R2 S. Venkatesan Department of Computer Science 2010 Sample Forwarding Table H1 H2 H10 H3 Network # 1 H11 R1 R3 H6 H4 Network 2 Network 4 H7 Network # Next Hop 1 Interface 0 2 R1 3 R1 Default R1 H13 Network 3 R2 H5 Forwarding table for H2 H12 S. Venkatesan Department of Computer Science 2010 H9 H8 Getting an IP address? g g g g Boot Know your MAC address (hardwired) IP address also hardwired? – Move host: Problem – IP address to reflect hierarchical structure Address of default router? – Not statically determined. S. Venkatesan Department of Computer Science 2010 IP Address g Automate the process – DHCP: Dynamic Host Configuration Protocol • Booting host broadcasts a request (“what is my IP address?”); identify self—hostname, network number, HW address.. • For each network, there is a DHCP server or DHCP Relay – DHCP Relay communicates with DHCP Server and serves request S. Venkatesan Department of Computer Science 2010 DHCP Relay Host Request (1) Response (4) DHCP Relay Relayed request (2) Response (3) DHCP Server Other networks S. Venkatesan Department of Computer Science 2010 IP Routing g g g g Process by which forwarding tables are built Initially, each node (router) knows about its neighbors only Eventually, everyone must know about how to send datagrams Problem in Distributed Computing S. Venkatesan Department of Computer Science 2010 IP Routing—Two Approaches g g Incrementally build reachability knowledge by exchanging messages with neighbors – How many “exchanges?” Each node has complete network topology in its local memory. Each node constructs routing table from complete topology information S. Venkatesan Department of Computer Science 2010 Distance Vector Algorithm (RIP) g Each node maintains a table – Table has n entries (n=total number of nodes) – Each entry has • Weight of the path to the destination • Next Hop to reach the destination g Proceed in iterations – During each iteration, exchange table entries S. Venkatesan Department of Computer Science 2010 Distance Vector Algorithm B A B 0 1 B 1 0 1 1 0 1 1 0 1 1 0 C C F E A A D E 1 F 1 D C D E F 1 1 1 1 0 Tables in the beginning (not showing next hop) S. Venkatesan Department of Computer Science 2010 Distance Vector Algorithm B A C F E D A B C D E F A 0 1,B 2,B 2,D 1,E 1,F B 1,A 0 1,C 2,C 2,A 2,A C 2,F 1,B 0 1,D 2,D 1,F D 2,E 2,C 1,C 0 1,E 2,C E 1,a 2,A 2,D 1,D 0 2,A F 1,A 2,C 1,C F,C 2,A 0 Final Tables (n , next-hop) S. Venkatesan Department of Computer Science 2010 Topology Change g New nodes and links come up? – Distances may improve or remain the same g A link goes down? – Count to infinity problem S. Venkatesan Department of Computer Science 2010 Link State Protocols g Each node knows the status of each link incident on it – Node id at other end, status (up/down), cost of link,… g Disseminate this information to all nodes [essentially, flood] S. Venkatesan Department of Computer Science 2010 Link State Protocol g Create a link state packet (LSP) that has – id of creator of LSP – List of directly connected neighbors, cost of link to the nodes – Sequence number – why? – TTL for packet g Ensure that LSP traverses each link only once – how? S. Venkatesan Department of Computer Science 2010 Link State Protocol g After a node has complete topology, – Run Dijkstra’s algorithm for shortest paths (last page) g g OSPF (Open Shortest Paths First) is an IETF Link State Protocol Additional features: – Authentication of routing messages – Additional hierarchy • (more scalable); no need to know who to reach each network; know to reach “area” – Load balance– multiple routes S. Venkatesan Department of Computer Science 2010 Link State Routing 1. 2. 3. Initialize: confirmed = {mynode} cost = 0 For the node just added to confirmed list in previous step, call it node Next, select its LSP For each neighbor (neighbor) of Next, calculate the Cost to reach this neighbor = cost of Next + weight of edge (Next, neighbor). (a) If neighbor is currently not in Tentative and Confirmed lists, add (neighbor, Cost, Nexthop) to Tentative list (b) If neighbor is currently in Tentative list and the cost is less than the currently listed cost of neighbor, replace current entry with (neighbor, cost, nexthop) 4. If Tentative list is null; stop. Else, pick an entry from Tentative list of lowest cost, move it to Confirmed list, and go to Step 2 S. Venkatesan Department of Computer Science 2010 Other Routing Protocols g g g CIDR – See soon BGP – Read from book Routing for mobile hosts – See later in Mobile IP S. Venkatesan Department of Computer Science 2010 Subnetting 1 0 Network(14) Host (16) Class B IPv4 address If I have > 256 hosts (no class C network) in a network and many networks like this, what do we do? Wasteful to have class B address for each S. Venkatesan Department of Computer Science 2010 Subnet 10 Network(14) Subnet # Host 16 bits •How many bits for subnet number? •Specified by subnet mask. •Example: 255.255.255.128 => 11111111 11111111 11111111 10000000 => Use first 25 bits as network number in finding next hop of forwarding table •Rest of the world does not know about the subnetting S. Venkatesan Department of Computer Science 2010 Forwarding Table Subnet # Subnet Mask Next Hop 128.96.34.0 255.255.255.128 Interface 0 128.96.34.128 255.255.255.128 Interface 1 128.96.33.0 255.255.255.0 R2 Use of table: Examine an entry (row0 of table) Bitwise AND destination IP address and subnet mask If result is equal to column 1, use next hop of that row else go to next entry Need some efficiency in ANDing S. Venkatesan Department of Computer Science 2010 CIDR g Opposite problem: Have many networks – Say 16 networks and each has few hosts (less than 256 hosts) g g g Get multiple Class C network addresses, one network number for each of your networks Routing table becomes large Increase length of network number if Class C addresses are assigned carefully (consecutive numbers) S. Venkatesan Department of Computer Science 2010 CIDR g g g g Say 192.4.16 to 192.4.31 are the network addresses assigned Common part of all of these is 192.4.0001xxxx Use this (192.4.0001) to represent all the 16 network numbers. We now have 20 bit network numbers. This gave rise to longest prefix matching when looking up forwarding tables S. Venkatesan Department of Computer Science 2010 Multicasting Mostly from sections 4.4 and 3.2 of book S. Venkatesan Department of Computer Science 2010 Multicasting—How? g HW multicasting is possible: – Ethernet and tokenring provide this in the local domain g In software? – IPv4 and IPv6 have different address formats g g Broadcast.com successfully exhibited a market for multicasting services An application i wants to send same packet to many hosts. How? – e.g. Pay per view S. Venkatesan Department of Computer Science 2010 Some possible schemes 1. • • • 2. • • 3. Unicast to each host Scalability? Need to remember all addresses Waste of resources—same packet sent many times over same link Broadcast and let hosts choose to accept/drop packets Waste of resources and bandwidth Congestion Selectively send to only needed hosts without sending packets unnecessarily S. Venkatesan Department of Computer Science 2010 Ideal Solution g Source sends one packet to a multicast address – Network delivers copy of packet to hosts of a group g g Hosts decide to join/leave group without synchronizing or negotiating with other members Hosts can belong to multiple groups S. Venkatesan Department of Computer Science 2010 Internet Multicasting g g g Implemented on top of a collection of networks—each network supports HW multicasting Extend routing/forwarding functions of routers 3 extensions – (i) Distance Vector Routing extension – (ii) Link State Routing extension – (iii) PIM [on any routing protocol] S. Venkatesan Department of Computer Science 2010 Multicast Group g g g Have a specially assigned address Sender sends one packet to this address [destination address = this address] In IPv4, use class D 1110 28 bits S. Venkatesan Department of Computer Science 2010 IGMP g g g Internet Group Management Protocol How do I advertise my (I am sending) multicast address? How do I learn about other group’s multicast address? S. Venkatesan Department of Computer Science 2010 Good Multicasting Protocol 1. 2. 3. 4. Reduce sender’s overhead Reduce network overhead Allow hosts to join/leave any time Group membership does not have to be known S. Venkatesan Department of Computer Science 2010 Mechanics of Multicasting a Packet g g g g How do I multicast a packet? What structure do I need? [I know how to broadcast or flood] Steiner tree problem MST S. Venkatesan Department of Computer Science 2010 Bridges or LAN switches Connect multiple LANs at physical layer A B N LAN 1 Forward frames from LAN1 to LAN2 and Vice versa Bridge LAN 2 a b m Broadcasting is easy S. Venkatesan Department of Computer Science 2010 Learning Bridges A B N LAN 1 Forward frames from LAN1 to LAN2 and Vice versa Bridge LAN 2 a b m Frames for destinations A to N need not be sent on LAN2 Let Bridges “learn” hosts’s HW addresses and use this info for “smart” forwarding S. Venkatesan Department of Computer Science 2010 Learning Bridges g g g When a learning bridge boots, it has no information It learns by watching and transferring frames Periodically clean out entries – HW address may change, machines may migrate, etc S. Venkatesan Department of Computer Science 2010 Multicasting using Learning Bridges g Bridges will not forward frames on all ports; only on selected ones – build spanning tree Spanning tree edges S. Venkatesan Department of Computer Science 2010 Efficient Operations g g g g Prune networks if frames of multicast packet need not be sent How does the bridge learn whether it should forward a multicast frame? Learn: Observe “source” address Group members periodically send a frame having – Source address: Group address – Destination address: All bridges g Build a spanning tree S. Venkatesan Department of Computer Science 2010 Building Spanning Tree g Send configuration message – Id of sending bridge – Id of root of tree (as estimated by sender) – # of hops from sender to root g Keep the “better” configuration message – Root id is smaller – Same root but with a shorter distance – Root id and # hops are same, but the sending bridge has a smaller id S. Venkatesan Department of Computer Science 2010 Initialization g Initially, each bridge B thinks it is the root and sends a config message on all ports – B=root; #hops=0; sender=B S. Venkatesan Department of Computer Science 2010 Refinement g If a better config message is received by B, discard old and use new one – Store it locally and forward (adjust #hops) – If B thought it was the root and found a better config message, B knows that B is NOT root, stops sending its own config messages g For each LAN, have a designated bridge (that forwards frames towards root) – The one closest to root – Break ties on bridge id (smallest wins) S. Venkatesan Department of Computer Science 2010 Failures? g g Root sends config messages periodically If I don’t receive a config message, I will start the Spanning Tree Algorithm – Think I am root, send a config message, … S. Venkatesan Department of Computer Science 2010 Bridge’s part in Multicasting g Bridge maintains – Multicast address, outgoing branches, age, …. g On packet arrival: – Forward packet copy on every outgoing branch in table for that m-address – No entry? Discard packet S. Venkatesan Department of Computer Science 2010 Link State Multicasting in WANs g Recap of Link State Routing: – Each router monitors state of direct links – Send message al all routers when state changes – All routers have complete topology information – Compute shortest path tree rooted at itself g Extend this to support multicast S. Venkatesan Department of Computer Science 2010 Link State Multicasting in WANs g g To state of a link (which is LAN), add set of groups whose members are on that link. How does a router determine which groups have members on links? – Use “bridge” method – Router monitors LAN for these announcements – No periodic announcement? Host left group S. Venkatesan Department of Computer Science 2010 Router’s Steps g g g Each router uses these and computes shortest multicast tree – from any source to any group Multicast trees computed only on demand This is cached S. Venkatesan Department of Computer Science 2010 R1 Example R5 R4 R6 A Router that receives M-cast packets R2 R3 Router that does not Receive M-cast packets This LAN does not carry m-cast packets A Source of m-cast packets Group members S. Venkatesan Department of Computer Science 2010 Packet Handling at Router g Router receives an m-packet (Source = S, Group = G) – No cache entry for group G? • Compute shortest path m-tree for (S,G) pair – For each (of its outgoing ) link that leads to members of group G: • Find minimum number of hops needed to reach a member of G on that link • Min hops < TTL ? Forward packet on that link S. Venkatesan Department of Computer Science 2010 M-Spanning Tree Caching g g g g Cached records replaced by new ones [LRU like scheme] Clear cache when topology changes First m-packet by S to G incurs high latency Each router at each hop computes and maintains m-tree for each active (S,G) pair—expensive S. Venkatesan Department of Computer Science 2010 DV Multicast g g g Routers do not know complete topology Each router has <Dest, Cost, NextHop> entries only M-cast extension is a two-way process – Construct mechanism to broadcast---forward packet to all networks – Prune back networks that don’t need to be on [they have not hosts needing m-cast packets] S. Venkatesan Department of Computer Science 2010 Packet Broadcast [Symmetric links] Reverse Path Broadcast [RPB] g Router R receives a packet – S = source address, G=Destination address – If (incoming link) is on the shortest path from R to S then • Forward packet on all other links – Else discard [duplicate] g Floods packets forward from S and reduces cycles and loops S. Venkatesan Department of Computer Science 2010 Efficiency g Packets may be sent on a link many times R1 R2 Shortest path between S and R2 Shortest path between S and R1 S S. Venkatesan Department of Computer Science 2010 Efficiency g g g For each link, have one parent router relative to a source S Only the parent router can forward packets [sent by S] on that link RPB floods network--need not go over LANs that have no hosts S. Venkatesan Department of Computer Science 2010 Reverse Path Multicasting [RPM] g g g Start with RPB Prune networks that do not have to receive packets Pruning in two stages: – Find/recognize when a leaf network has no group members [Leaf network: parent router is the only router] – Let hosts of G periodically send announcements – Propagate “no member of G” up the spanning tree S. Venkatesan Department of Computer Science 2010 RPM Protocol g g g Deliver m-cast packets from source along shortest path broadcast tree (like RPB) If R=leaf router, all of its child links are leaves with no members for (S,G) pair, R sends NonMembership Report (NMR) to next-hoprouter for S (predecessor) R’= router; all routers on its child link have sent NMR to R’ and R’ has no members for (S,G), R’ sends NMR to its parent S. Venkatesan Department of Computer Science 2010 RPM: Handling NMRs g g g Associate age with NMR Rejoin multicast tree after maxage time Router sends cancel-NMR if hosts join G later [Direct host or down the link] S. Venkatesan Department of Computer Science 2010 MBone g g g g Multicast backbone Distance Vector Multicast Routing Protocol [DVMRP] Class D addresses Not all routers know/implement DVMRP – Tunnel packets between DVMRP enabled routers g IETF meetings are multicast on MBone S. Venkatesan Department of Computer Science 2010 Tunneling Ordinary routers Logical Link DVMRP enabled router Encapsulate IP in IP S. Venkatesan Department of Computer Science 2010 Protocol Independent Multicast [PIM] g Two modes: – PIM-SM (Sparse mode) – PIM-DM (Dense Mode) • Flood and prune method like DVMRP – Scalability problem. g We will examine PIM sparse mode S. Venkatesan Department of Computer Science 2010 PIM-SM g g Routers join and leave m-group using join and prune messages Where do the routers send these? – Each group G has a Rendezvous Point (RP) – A set of routers are candidates for RPs – Assume that routers know unicast address of RPs. S. Venkatesan Department of Computer Science 2010 Highlights of PIM 1. 2. 3. 4. Efficient sparse group support Independent of Routing Protocol Interoperate with RPM and Link-State unicasting protocols Use soft state refresh; no single point of failures S. Venkatesan Department of Computer Science 2010 Infrastructure g Build m-forwarding tree g Two types of trees – Shared tree • One tree (for all senders) for a group • Rooted at RP – Source-specific tree – Only for a specific sending host • First create shared tree; then create one/more source specific trees S. Venkatesan Department of Computer Science 2010 Shared Tree Creation g g Router sends a join message to RP for G [Normal IP unicast (*,G) ] Passes through sequence of routers and reaches RP – Each intermediate router sees join message, creates forwarding entry for (*,G), remember interface it came on – Forward to RP g m-cast packets Join message RP receives message, construction is complete S. Venkatesan Department of Computer Science 2010 Router Join message M-Casting g g g g Some host wants to multicast a packet? – Destination address = G Unicast packet to Designated Router (DR) (in local LAN) say g; g has no state information for group G g Tunnels packet to RP. RP G Payload S. Venkatesan Department of Computer Science 2010 M-casting g RP Receives packet opens packet finds another IP packet inside sends packet on (*,G) tree g Later host f wants to join. How? g g S. Venkatesan Department of Computer Science 2010 Example RP join message Tunnel b a d c e f Host g Source of multicast packets S. Venkatesan Department of Computer Science 2010 Efficiency g Encapsulation/decapsulation? – Can we avoid tunneling? Especially if many packets are sent from g to RP? RP sends join message to g (source) Intermediate routers learn and keep soft state g sends packet directly (destination address = G) without tunneling S. Venkatesan Department of Computer Science 2010 Efficiency; Continued g g RP to Receiver: (*,G); shared tree and g to RP is source specific Source Specific Tree? – Packet goes from g to RP and then to receiver – Why not shorten? S. Venkatesan Department of Computer Science 2010 Example RP join message b Tunnel a d g c e f Host e wants to join. How? Source of multicast packets S. Venkatesan Department of Computer Science 2010 Source Specific Tree g Can e send join to g (the source of mcast packets)? Routers along the path set up (S,G) [S=g] Prune “old” tree g PIM bound to IP g g S. Venkatesan Department of Computer Science 2010 Interdomain Multicast g g g g Single RP for a group is against autonomous domain concept Source and group members in same domain, RP in different domain? PIM-SM used within a domain; not across domains What do we do for interdomain? S. Venkatesan Department of Computer Science 2010 Multicast Source Discovery Protocol (MSDP) g Connect different domains. – Each domain runs PIM-SM with its own RP in its – – – – – domain Connect RPs of all domains Each RP has >0 MSDP peer RPs in other domains TCP to connect each pair of MSDP peers All MSDP peers form a loose mesh, used as a broadcast network Use RPB for broadcasting S. Venkatesan Department of Computer Science 2010 Details of MSDP g Info broadast on mesh of RPs? – Not group membership – Source information • Each RP receives a Register message from source S when S becomes a source – RP periodically broadcasts Source Active messages to its peers (has S’s IP address, address of G, IP address of originating RP) S. Venkatesan Department of Computer Science 2010 Message Handling g Source Active message by an RP – Active members in this domain? • Send source-specific Join message to S • Build branch of tree • Each RP (with active members) joins tree – Source sends multicast messages to RPs through the trees – RP uses shared tree within its domain S. Venkatesan Department of Computer Science 2010 RP 3:MSDP Source Active Domain A RP 4:Join 1:Register 2:Join PIM Shared tree DomainB Source 4: Join 3:MSDP: Source active RP Domain C S. Venkatesan Department of Computer Science 2010 Core Based Trees g g g One router for a group is CORE Build shortest path multicast tree routed at CORE New router [host] wants to join tree: – Unicast join packet to CORE – Graft a branch when packet reaches a router already part of tree g Sender of m-cast sends on tree: S. Venkatesan Department of Computer Science 2010 Quality of Service Sections 6.1, 6.2 and 6.5 S. Venkatesan Department of Computer Science 2010 Different Needs g VoIP – Delay sensitive [both signaling and voice packets] g FTP – Correctness of bits transmitted S. Venkatesan Department of Computer Science 2010 Voice communication over IP Networks g Telephone traffic: – 4 kHz channel, 8000 samples/sec [by Nyquist’s theorem] – 125 µ Sec between samples – Examine how the voice packets get transported S. Venkatesan Department of Computer Science 2010 Packet’s Journey Pa c t ke ge ne r o a ti n l iv a a r r tio n t e a c k tin P a des at at ck n ba at io y c a Pl p li ap Sequence Number Network Delay Buffering delay D Low D: Many delayed packets are cutoff High D: High end-to-end delay. >300mS, poor voice quality Time S. Venkatesan Department of Computer Science 2010 Characteristics of Applications g g Tolerance to loss of data – FTP/RTP Adaptability – Audio: move playback time back if packets arrive with low delays [need to adjust; not trivial] – Delay adaptive – Rate adaptive S. Venkatesan Department of Computer Science 2010 Approaches to QoS Support g Fine grained approach – Per application g Coarse grained approach – Large classes of data g Services – Guaranteed service class [max delay < agreed value] – Controlled load {for tolerant, adaptive application} • Emulate lightly loaded network for those applications even if network is loaded • Isolate controlled load traffic from other traffic – Best effort S. Venkatesan Department of Computer Science 2010 g Flow Spec Mechanisms – Make request to network. Specify what we want g Admission control – By agreeing, will network be able to serve the new request and existing requests g Traffic shaping – Ensure that agreed policy is not violated by application • What if violated? g Signaling – Network elements exchange information among them; – Users and NEs exchange information for service, flow spec., g Packet scheduling S. Venkatesan Department of Computer Science 2010 Signaling g g Need a setup protocol to establish necessary VC states [like in ATM] RSVP – Resource reSerVation Protocol S. Venkatesan Department of Computer Science 2010 RSVP g Use “soft state” in routers – Benefit: Can increase or decrease level of allocation – Some failure? Time out and reservation is deleted g g g Time-out state information unless periodically refreshed [30 sec] Unicast and multicast support Receiver-oriented S. Venkatesan Department of Computer Science 2010 RSVP Operation g g g Sender sends a PATH message to receiver containing Tspec – Receiver needs Tspec and path Intermediate routers find reverse route Receiver sends a RESV (reservation) message to sender – RESV has Sender’s Tspec Receiver’s Rspec S. Venkatesan Department of Computer Science 2010 RSVP Operation g Each router 1. Examines RESV message 2. Allocates resources to satisfy request If OK (can reserve), pass RESV to next router Else send ERROR message to receiver g Receiver refreshes every 30 seconds – Resends RESV message S. Venkatesan Department of Computer Science 2010 Example Sender PATH message RESV message Receiver S. Venkatesan Department of Computer Science 2010 Failures in Path? g g g Send PATH message every 30 seconds – Sooner if there are failures RESV message follows new path – Old routers will purge after timeout Multicast? – Singe source-multiple receivers – Multiple source-multiple receivers S. Venkatesan Department of Computer Science 2010 Multicasting Example Sender PATH message M erge point. RESV that Satisfies both points RESV message Receiver R2 RESV message Receiver R1 S. Venkatesan Department of Computer Science 2010 Packet Handling g g g All setups done How do you handle each packet? Two issues: – Packet classifying: Knowing which packet has special handling – Packet scheduling S. Venkatesan Department of Computer Science 2010 Packet Classification g Associate packet with RESV- How? – Source IP address, Destination IP address, source port number, destination port number S. Venkatesan Department of Computer Science 2010 Packet Scheduling g g g FIFO queue is oblivious to QoS Allocate bandwidth and buffer space Fair Queueing – Have one queue per flow – Serve each queue in some fashion • Round robin is a possibility – What if packets are of varying sizes? – If a flow is too active (more packets than allowed), buffer (queue) is full and new packets will be dropped—achieves the need S. Venkatesan Department of Computer Science 2010 FQ Consider one queue and packet i g S is starting time (for transmission) of i packet i g F is finish time of packet i i g P is time to transmit packet i i Fi = Si + Pi g S. Venkatesan Department of Computer Science 2010 FQ Continued g g g g Si = max(Ai,Fi-1) {Ai is arrival time packet i} Pi = packet length/data rate allocated to this queue Choose packet with smallest Fi to transmit Weighted FQ is possible (associate weights to queues) S. Venkatesan Department of Computer Science 2010 IntServ g Integrated Services—what we have see so far – Maintain per-flow soft-state at each router – Classify, police and queue packets of each flow g Scalability? – When line speed goes up, number of flows goes up also S. Venkatesan Department of Computer Science 2010 DiffServ [RFC 2475] g g g Have small number of classes Treat each packet of same class in the same manner Classify each packet based on what class it belongs to S. Venkatesan Department of Computer Science 2010 Packet Identification g Who identifies first? – At network boundary—edge routers • Check data rate of a “flow”; <= some value? It is a “premium” class; else Best Effort (BE) g g Where in packet do you place this? How does an intermediate router deal with marked packet? S. Venkatesan Department of Computer Science 2010 PHB g g g Per Hop Behavior Use TOS field of IPv4 header [8bits] 6 bits for DiffServ Code Point (DSCP) – Some classes: Expedited Forwarding (EF) Assured Forwarding 1 (AF1) Assured Forwarding n (AFn) Best Effort (BE) g Limit rates: Sum of all EF packet rates coming into the network < slow link’s data rate – Ensure that even if all EF packets traverse the slow link, EF packets can be routed quickly. S. Venkatesan Department of Computer Science 2010 PHB Continued g On entry into network: – Classify and condition (at the boundary) – Assign aggregate behavior • Behavior identified by DSCP g In core networks – Forward packets based on PHB g Packet scheduling: – Weighted FQ – Shapers – Droppers S. Venkatesan Department of Computer Science 2010