Overview of Advanced Protocols and Services for High Performance Networks Dae Young Kim Chungnam Nat’l Univ. ( http://ccl.chungnam.ac.kr/~dykim) KRNET’98 Contents CCL • Advanced applications • Multicast – PIM – BGMP • RM – MTP/SO – SRM • QoS – IntServ – RSVP – DiffServ • IPv6 in vBNS • MPLS • References 2 KRNET’98 Advanced Applications KRNET’98 Advanced Applications • • • • • • • Tele-medicine VoD Virtual reality(2-D & 3-D) Tele-education Tele-conference Traffic information Resource explorer CCL QoS high speed new functionality 4 KRNET’98 Advanced Applications (Cont’d) CCL • Tele-medicine – by Los Alamos National Laboratory (LANL) 5 KRNET’98 Advanced Applications (Cont’d) CCL • Virtual Reality – by NIST 6 KRNET’98 Advanced Applications (Cont’d) CCL • Traffic Information – by Connect and Microsoft team 7 KRNET’98 Multicast KRNET’98 PIM - overview CCL • Protocol Independent Multicasting • Independent of any particular unicast routing protocol – So, it can use whatever native unicast routing protocol. – Therefore, it has to maintain additional state information. • Actually two protocols : dense-mode, sparse-mode – Dense Mode or Sparse Mode does not imply the group size. sparse- mode dense- mode 9 KRNET’98 PIM - DM CCL • Uses RPM (Reverse Path Multicast) like DVMRP : flood & prune • PIM-DM routers are capable of caching the Prune message. • No periodic joins & no RP (Rendezvous Point) source TRAFFIC PRUNE group member 10 group member KRNET’98 PIM - SM CCL • Uses explicit & periodic Join/Prune message • DR sends periodic Join/Prune messages to a group-specific RP(Rendezvous Point). • Obtaining RP information – All routers within a PIM domain : collect Bootstrap message. – Routers use a set of available RPs : distributed in Bootstrap message. Source RP RP Join Join DR group member 11 Join DR group member DR group member KRNET’98 PIM-SM (cont’d) CCL • PIM-SM routers can switch from shared tree to shortest path tree. Source – when data packets received > threshold RP Prune Join RP Join Prune DR group member 12 DR DR group member KRNET’98 BGMP (Border Gateway Multicast Protocol) CCL • Builds shared trees for active multicast groups • BGMP uses TCP. • BGMP messages – Join/Prune Updates message – KeepAlive message – Notification message AS #2 AS_Path : AS #3, #2, #1 Attr: Multicast Nets: A, B, C AS_Path : AS #2, #1 Attr: Multicast Nets: A, B, C AS #1 AS #3 AS_Path : AS #3,#1 Attr: Multicast Nets: A, B, C 13 AS_Path : AS #1 Attr: Multicast Nets: A, B, C Net A, B, C AS_Path : AS #1 Attr: Multicast Nets: A, B, C KRNET’98 BGMP (Cont’d) CCL AS #2 AS_Path : AS #3, #2, #1 Prune Net C Join Net D AS_Path : AS #2,#1 Prune Net C Join Net D AS_Path : AS #1 Prune Net C Join Net D AS #1 AS #3 AS_Path : AS #3, #1 Prune Net C Join Net D Net A, B,C AS_Path : AS #1 Prune Net C Join Net D AS #2 AS_Path : AS #2,#1 KeepAlive AS_Path : AS #1 KeepAlive AS_Path : AS #3, #2, #1 KeepAlive AS #1 AS #3 AS_Path : AS #3, #1 KeepAlive 14 Net A, B,C AS_Path : AS #1 KeepAlive KRNET’98 Reliable Multicast(RM) KRNET’98 MTP/SO (MTP/Self Organization) CCL • Characteristics – receiver-initiated error recovery – nak-based multicast – multicast retransmission in a local group • Coordinator – assigning tokens & updating the message state • Repeater – retransmit the NAKed packet • SO (Self Organization) – to solve the scaling problem – choose the best member as a local repeater (Repeater Announcement mechanism) 16 KRNET’98 MTP/SO (Cont’d) CCL Coordinator Sender NAK s re t ra n m is s i on Repeater Repeater Announcement Member Member Repeater Member Member local group 17 Repeater KRNET’98 SRM (Scalable Reliable Multicast) • • • • • • CCL All traffic is multicast. Uses ALF(Application Level Framing) concept. Receivers multicast a ‘repair request’ to ask for missing data. Anyone can reply, not just original sender. To avoid NAK implosion, ‘slotting & damping’ is used. Topology-driven repair chronology – chain topology • by distance • next figure – star topology • randomization – tree topology • deterministic + probabilistic 18 KRNET’98 SRM (Cont’d) CCL pkt #1, #2 S pkt #2 R1 pkt #2 R2 pkt #2 R3 R4 Time -2 snd 1,2 -1 rcv 1,2 0 rcv 2 1 rcv 2 2 snd 1? 3 rcv 1? 4 rcv 1? 5 rcv 1 rcv 2 rcv 1? snd 1 rcv 1? rcv 1 6 rcv 1 Chain Topology 19 KRNET’98 QoS (Quality of Service) KRNET’98 Int-Serv CCL • Guaranteed Service – loss-intolerant and hard real-time service – guarantee maximum delay with no queuing loss • Controlled-Load Service – delay-adaptive service – best-effort service under unloaded condition – no specific delay & loss guarantee • Requirements for bounded delay – Token Bucket filter • token rate r, bucket depth B – WFQ (Weighted Fair Queuing) • each flow gets its own individual queue with a share of the link 21 KRNET’98 Int-Serv (Cont’d) CCL • Token bucket & WFQ(Weighted Fair Queuing) token bucket packet of variable- size The bucket holds tokens WFQ Router Networks Flow 1 One token is added to the bucket every T Flow 2 Flow 3 Flow 4 22 RoundRobin service Provides ; . different QoS . bounded delay KRNET’98 RSVP(Resource Reservation Protocol) CCL • Characteristics – adapts dynamically to changing group membership as well as to changing routes – not a routing protocol but depends on routing protocols – simplex ; for unidirectional data flows – receiver-oriented – soft state – reservation styles (wildcard-, shared-, fixed- filter) • Problems – scalability – Can RSVP provide real resource reservation? 23 KRNET’98 RSVP (Cont’d) CCL • Mechanism Sender 1 Sender 2 PATH R R PATH RESV (merged) R RESV R R Sender 1 RESV Sender 1 24 KRNET’98 DiffServ CCL • Differentiated services to users at times traffics are aggregated • Elements of the DiffServ architecture – – – – PHBs (Per Hop Behavior) classifiers markers policy DiffServ Network Non- DiffServ Leaf Router Border Router 25 KRNET’98 Router operation in DiffServ Network arriving packet Packet Classifer Packet Marking CCL Packet Forwarding Leaf router input interface Profile Meters arriving packet Is packet marked? Token bucket with policy Packet Forwarding Border router input interface 26 KRNET’98 Differential Service Byte CCL • DS (Differential Service) byte definition – PHB : Per Hop Behavior – CU : currently unused 0 1 2 3 4 5 6 PHB 7 CU DS byte 0 8 Ver. Len. 16 TOS identification TTL 24 total length flag protocol source IP address fragment offset 0 8 Ver. 16 24 traffic class flow label payload length next Hdr. hop limit checksum source IP address destination IP address IPv4 header destination IP address IPv6 header 27 KRNET’98 DiffServ (demonstration) CCL • between Lawrence Berkeley & Argonne Nat’l lab • sending two video streams over the Internet – the priority marked stream : 8frames / sec – the standard stream : 1 frame /sec 28 KRNET’98 IPv6 in vBNS KRNET’98 IPv6 Deployment Plans in vBNS CCL • Implement native (not tunneled) IPv6-over-ATM on the vBNS backbone. • Deploy dedicated hardware(Cisco 4700s with DS-3/ATM) for IPv6 routing. • Construct a full mesh of PVCs among the IPv6 routers. • Connect to the 6bone in multiple locations via tunnels. 30 KRNET’98 vBNS IPv6 Router Deployment 31 CCL KRNET’98 MPLS KRNET’98 MPLS (Multi-protocol Label Switching) CCL • As line speed & traffic volume increase – the forwarding function can become a bottleneck • Label Edge Router (LER) – inserts/extract a label in the packet – forwards the packet on a label switching/non-MPLS interface • Label Switching Router (LSR) – looks at the label of the packet – swaps the label to the correct outgoing link 33 KRNET’98 MPLS (Cont’d) CCL • Label Distribution Protocol (LDP) ; the set of procedures & messages to inform of the mappings between labels & streams – Discovery Class Messages • to announce the presence of a LSR in the network – Adjacency Class Messages • to establish, maintain & close down adjacencies – Advertisement Class Messages • to deal with advertisements of new, changes & removal 34 KRNET’98 MPLS (Cont’d) CCL • Label/tag switching – referred to as Layer 2.5 Layer 2 Layer 2.5 Layer 3 Layer 4 Ethernet Header MPLS Label Networklayer Header Transport-layer Header DATA PPP Header MPLS Label Networklayer Header Transport-layer Header DATA VPI VCI GFC PTI CLP HEC DATA MPLS Label 35 KRNET’98 MPLS (Cont’d) CCL MPLS network non- MPLS network non- MPLS network LSR (Label Switching Router) LER (Label Edge Router) 36 KRNET’98 References • • • • • • • • • • • • • 37 CCL Quality of Serivce, paul Ferguson, Wiley, 1998 http://www.isi.edu/div7/rsvp/pub.html http://ccl.chungnam.ac.kr/~yhkim/rsvp RFC 2205 (RSVP, 1997) http://diffserv.lcs.mit.edu/ A two-bit differeitiated services architecture for the Internet, “draft-nichols-diff-svc-arch-00.txt”, Nov, 97. Definition of the Differentiated Services Field in the IPv4 & IPv6 headers, “draft-ietf-diffservheader-00.txt”, May, 98. The future of IP backbone technology, ERICSSON. MPLS solutions for high capacity IP networks, ERICSSON. Self-Organizing Multicast, “draft-bormann-som-00-pre-0.txt”, Sep, 96. SOM, http://user.cs.tu-berlin.de/~nilss/som/som.html Sally Floyd, “A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing”, Nov, 96. http://www-nrg.ee.lbl.gov/floyd/srm.html KRNET’98 References (Cont’d) • • • • • • • • • • • • • • • • • 38 CCL RFC 1458 RFC 1700 RFC 1819 ftp://ftp.nuri.net/pub/documents/internet-drafts/draft-lim-ip-reliable-multicast-00.txt ftp://ftp.nuri.net/pub/documents/internet-drafts/draft-kim-jtc1-sc6-ects-02.txt http://www.ietf.org/html.charters/ngtrans-charter.html ftp://playground.sun.com/pub/ngtrans/mail.current MPLS architecture, draft-ietf-mpls-arch-01.txt, Sep, 98. PIMv2-DM spec, “draft-idmr-pim-sm-specv2-00.txt”, May 21, 98 PIM-SM:protocol specification, “draft-idmr-pim-dm-spec-05.txt”, Sep 9, 97. Dave Kosiur, ‘IP Multicasting’, John Wiley & sons, Inc. BGMP, “draft-ietf-idmr-gum-02.txt”, Mar 12, 98. Dave Kosiur, ‘IP Multicasting’, John Wiley & sons, Inc. http://george.lbl.gov/BAGNet.html http://www.ngi.gov/ http://www.canarie.ca/ http://www.internet2.edu/ KRNET’98