Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 133 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
133
Dung lượng
552,28 KB
Nội dung
A FAULT RECOVERY MECHANISM FOR A QOS-GUARANTEED MULTICAST ROUTING PROTOCOL PENG BIN (B.Sc., Wuhan University, China) A THESIS SUBMITTED FOR THE DEGREE OF MASTER OF SCIENCE DEPARTMENT OF COMPUTER SCIENCE NATIONAL UNIVERSITY OF SINGAPORE 2003 Acknowledgments First, I would like to thank here my supervisor Associate Professor Pung Hung Keng, for his encouragement, ideas, and support in bringing this work to completion. I would also like to thank all of my friends in Center for Internet Research for their valuable help. Especially, I would thank Dai Jinquan and Touchaia Angchuan for their previous good work in QROUTE project. Last but not least, thanks to my parents who have always been dedicated to my academic success. Peng Bin July 2003 ii Contents Acknowledgments ii Summary vi List of Tables viii List of Figures ix Introduction 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Accomplishments and Contributions . . . . . . . . . . . . . . . . . 1.3 Structure of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . Related Works 2.1 Overview of Fault Recovery . . . . . . . . . . . . . . . . . . . . . . 2.2 Fault Recovery at Lower Layers . . . . . . . . . . . . . . . . . . . . 14 2.3 Fault Recovery at Network Layer . . . . . . . . . . . . . . . . . . . 15 iii Contents iv 2.4 MPLS Unicast Fault Recovery . . . . . . . . . . . . . . . . . . . . . 16 2.5 Multicast Fault Recovery . . . . . . . . . . . . . . . . . . . . . . . . 17 A Multicast Fault Recovery Mechanism 24 3.1 QROUTE Protocol Overview . . . . . . . . . . . . . . . . . . . . . 26 3.2 Overview of Our Fault Recovery Mechanism . . . . . . . . . . . . . 28 3.3 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.1 The Construction of a Multicast Routing Tree . . . . . . . . 30 3.3.2 Fault Detection . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.3 Fault Recovery . . . . . . . . . . . . . . . . . . . . . . . . . 40 Breaking Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.4 Simulation Modeling 47 4.1 OPNET Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.2 Packet formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3 The Router Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.3.1 The Routing Tables . . . . . . . . . . . . . . . . . . . . . . . 50 4.3.2 The Node Model . . . . . . . . . . . . . . . . . . . . . . . . 51 4.3.3 The ’QROUTE router’ Model . . . . . . . . . . . . . . . . . 51 The Host Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4 Experiments and Performance Evaluation 5.1 61 Simulation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.1.1 Network Topology . . . . . . . . . . . . . . . . . . . . . . . 61 5.1.2 Simulation Configuration . . . . . . . . . . . . . . . . . . . . 62 5.1.3 Group Density and Background Traffic . . . . . . . . . . . . 62 Contents 5.1.4 v Simulation Parameters . . . . . . . . . . . . . . . . . . . . . 64 5.2 Performance Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.1 One Node Failure . . . . . . . . . . . . . . . . . . . . . . . . 68 5.3.2 Two Node Failures . . . . . . . . . . . . . . . . . . . . . . . 74 5.3.3 Scalability Study . . . . . . . . . . . . . . . . . . . . . . . . 77 An Implementation of the Fault Recovery Mechanism 6.1 6.2 83 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.1.1 Network Packet Processing . . . . . . . . . . . . . . . . . . . 84 6.1.2 Implementation of Fault Recovery Mechanism . . . . . . . . 88 Performance Measurement . . . . . . . . . . . . . . . . . . . . . . . 98 Conclusion and Future Work 103 7.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 A Packet Formats 106 B A method for switching tag assignment 113 Bibliography 116 Index 121 Summary In the current Internet, multicast is an efficient mechanism that routes a large number of data from a server to a large group of clients. Among all research issues of multicast, multicast routing is one of the important ones. Current QoS-based multicast routing protocols assume fault free service from the underlying network. For example, QROUTE is a QoS-guaranteed multicast routing protocol, which is proposed to construct a feasible multicast tree guaranteed to meet multiple QoS constraints in reliable networks where no fault occurs. However, this is impossible to achieve in real networks. Therefore, fault recovery is one of critical features for the practical deployment of any QoS-based routing protocol. This thesis proposes a fault recovery mechanism for QROUTE, in which a disconnected multicast sub-tree can be reconnected to the original multicast tree by using a hybrid re-routing method. We also present the details of the design and implementation of the simulation models and a prototype for our fault recovery mechanism. Compared with existing multicast fault recovery mechanisms, we find that our fault recovery mechanism has faster recovery time, lower message overhead and the possible highest recovery rate. Moreover, the results in the test-bed vi Summary experiment indicate that our simulation model can be used to predict the behavior of actual networks with great confidence. vii List of Tables 3.1 Summary of control packets . . . . . . . . . . . . . . . . . . . . . . 31 4.1 The PMRT entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2 The MRT entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.3 The RPMRT entry . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.4 The RMRT entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.5 The resource table . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6 The hello table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.1 Protocol QoS constraint parameters . . . . . . . . . . . . . . . . . . 65 5.2 Workload parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.3 Sizes of variant packets . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.1 Simulation experiment parameters . . . . . . . . . . . . . . . . . . . 100 viii List of Figures 2.1 Classification of fault recovery mechanisms. . . . . . . . . . . . . . . 2.2 The end-to-end restoration. . . . . . . . . . . . . . . . . . . . . . . 2.3 The local restoration. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Fault recovery over a link failure. . . . . . . . . . . . . . . . . . . . 14 2.5 Loop formation in a rejoining sub-tree. . . . . . . . . . . . . . . . . 20 3.1 Parts of our fault recovery mechanism. . . . . . . . . . . . . . . . . 28 3.2 Operations in the construction of a multicast routing tree. . . . . . 31 3.3 Flowchart of the construction of a multicast routing tree Part . . 35 3.4 Flowchart of the construction of a multicast routing tree Part . . 36 3.5 Flowchart of the construction of a multicast routing tree Part . . 37 3.6 The construction of a multicast routing tree with backup paths. . . 39 3.7 Basic operations of the local rerouting procedure. . . . . . . . . . . 41 3.8 Breaking a loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ix List of Figures x 4.1 Model structure hierarchy with OPNET. . . . . . . . . . . . . . . . 48 4.2 The state transition diagram. . . . . . . . . . . . . . . . . . . . . . 56 5.1 Subnet topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2 Recovery time under 50% background traffic. . . . . . . . . . . . . . 70 5.3 Recovery time under 70% background traffic. . . . . . . . . . . . . . 71 5.4 Message overhead with 50% background traffic. . . . . . . . . . . . 73 5.5 Message overhead with 70% background traffic. . . . . . . . . . . . 74 5.6 Successful fault recovery ratio under 50% background traffic. . . . . 75 5.7 Successful fault recovery ratio under 70% background traffic. . . . . 75 5.8 Comparison of fault recovery time. . . . . . . . . . . . . . . . . . . 76 5.9 Comparison of message overhead. . . . . . . . . . . . . . . . . . . . 76 5.10 Comparison of successful fault recovery ratio. . . . . . . . . . . . . 77 5.11 Fault recovery time. . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.12 Message overhead. . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.13 Successful recovery ratio. . . . . . . . . . . . . . . . . . . . . . . . . 80 6.1 The whole reception path of Linux packet in a host . . . . . . . . . 85 6.2 Modified Linux kernel in a QROUTE router . . . . . . . . . . . . . 89 6.3 The QROUTE prototype test-bed network. . . . . . . . . . . . . . . 98 6.4 Recovery time for experiment and simulation. . . . . . . . . . . . . 101 6.5 Message overhead for experiment and simulation. . . . . . . . . . . 101 A.1 Request packet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A.2 Confirm packet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 A.3 Prune-back packet. . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 107 16 Type TTL 24 Sequence Number Requester Address Multicast Address Soure Address Recovery MTU Burst Size Bandwidth Constraint Delay Bound Constraint Accumulated Dalay Option Field Description Type Packet type TTL Time to live Sequence Number The unique sequence number for each connection request of the requester Requester Address The IP address of the requester Multicast Address The multicast address of the multicast connection Source Address The IP address of the source of the multicast connectoin Recovery 0: join request packet 1: rejoin request packet MTU The maximum packet length of the multicast packet Burst Size The burst size of the multicast connection Bandwidth Constraint The bandwidth constraint of the multicast connection Delay Bound Constraint The end−to−end delay band constraint of the multicast connection Accumulated Dalay The accumulated delay from the requester to the previous node Option Reserved for other QoS constraints Figure A.1: Request packet. 31 108 Type 16 Recovery 24 Sequence Number Requester Address Multicast Address Soure Address Delay Bound Field Label Description Type Packet type Recovery 0: confirm packet for join request 1: confirm packet for rejoin request Sequence Number The unique sequence number for each connection request of the requester Requester Address The IP address of the requester Multicast The multicast address of the multicast Address connection Source Address The IP address of the source of the multicast connectoin Delay Bound Label The delay bound from the source to the current node along the multicast tree The incoming label of the multicast connection at the current node Figure A.2: Confirm packet. 31 109 Type 16 Recovery 24 Sequence Number Requester Address Multicast Address Soure Address subtype Option Field Description Type Packet type Recovery Sequence Number Requester 0: confirm packet for join request 1: confirm packet for rejoin request The unique sequence number for each connection request of the requester The IP address of the requester Address Multicast The multicast address of the multicast Address connection Source The IP address of the source of the multicast connectoin Address Subtype o: prune−back packet 1: prune−back−candidate packet 2: prune−back−backup packet Option Reserved for future usage Figure A.3: Prune-back packet. 31 110 16 Type Recovery 24 31 Option Multicast Address Soure Address Field Description Type Packet type Recovery 0: confirm packet for join request 1: confirm packet for rejoin request Option Must be zero Multicast The multicast address of the multicast Address connection Source Address The IP address of the source of the multicast connectoin Figure A.4: Prune-branch packet. 16 Label Data . Type Field 24 31 Option Description Type Packet type Label The incoming label for the connection the current node Data Data portion Figure A.5: Data packet. 111 16 Incoming Type 24 31 Option Port Field Type Packet type Description Incoming Port The incoming port at which the hello packet arrives Option Must be zero Figure A.6: Hello packet. Type 16 24 Option 31 Sequence Number Multicast Address Soure Address Field Type Description Packet type Option Reserved for futher usage. Must be zero Sequence Number Multicast Address Source Address The unique sequence number for each connection request of the requester The multicast address of the multicast connection The IP address of the source of the multicast connectoin Figure A.7: Graft packet. 112 Type 16 24 count 31 Sequence Number Multicast Address Soure Address Field Description Type Packet type Count The number of children routers travelled through Sequence Number Multicast Address Source Address The unique sequence number for each connection request of the requester The multicast address of the multicast connection The IP address of the source of the multicast connectoin Figure A.8: Flush packet. Appendix B A method for switching tag assignment In order to fast forward data packet in a router, the data transmission in the QROUTE protocol utilizes tag switching. Since a tag label is locally assigned to a connection in each router, it is possible that different routers use different tag labels to identify the same connection. After a connection has been released, the tag for the connection can be re-assigned to another newly established connection. Hence we propose a method for switching tag assignment in which tag labels can be reusable. In Figure B.1(a), we initially store all tag labels in one stack. When one connection has been established, a router assigns a tag label to the connection by pop up a label from the stack (Figure B.1(b)). When one connection has been released, a router will return the tag label by push the label into the stack (Figure B.1(c)). The following is the source code that implements our method for switching tag assignment. // NLABLES is the total number of labels available in a router int labels[NLABLES]; int top, bottom; 113 114 Top i i i+1 i+2 i+2 . . . N N Bottom (a) (b) Top Bottom i+1 N (c) Figure B.1: A method for switching tag assignment void label_init () { int i; for ( i=0; i < NLABLES; i++) labels[i] = i+1; top = 0; bottom = NLABLES - 1; } int label_assign() { if ( top >= bottom ) return 0; top = top + 1; Top //the stack is empty, so no available label Bottom 115 return labels[top - 1]; } int label_release( int label ) { if ( top == 0) //the stack is full return 1; top = top -1; labels[top] = label } Bibliography [1] P. Paul and S. V. Raghavan. Survey of multicast routing algorithms and protocols. http://citeseer.nj.nec.com/544560.html. [2] C. Partridge D. Waitzman and S. Deering. Distance vector multicast routing protocol. Rfc 1075, November 1988. [3] J. Moy. Multicast extensions to ospf. Rfc 1548, March 1994. [4] J. Moy. Mospf: Analysis and experience. Rfc 1585, March 1994. [5] P. Francis A. Ballardie and J. Crowcroft. Core based trees (cbt) - an architecture for scalable inter-domain multicast routing. In Proceedings of the ACM SIGCOMM Symposium on Communications Architectures, Protocols and Applications, pages 85–95, San Francisco, CA, October 1993. [6] A. Helmy D. Thaler S. Deering M.Handley V. Jacobson C. Liu P. Sharma D. Estrin, D. Farinacci and L. Wei. Protocol independent multicast-sparse mode (pim-sm): Protocol specification. Rfc 2362, June 1998. 116 Bibliography 117 [7] J. Nicholas A. Adams and W. Siadak. Protocol independent multicast dense mode (pim-dm): Protocol specification (revised). Internet draft, February 2003. [8] B. Wang H. Y. Tyan, J. Hou and Y.-M. Chen. Qos extension to the core based tree protocol. In Proceedings of NOSSDAV, June 1999. [9] K. Carlberg and J. Crowcroft. Building shared trees using a one-to-many joining mechanism. ACM Computer Communication Review, 27(1):5–11, January 1997. [10] A. Banerjea M. Faloutsos and R. Pankaj. Qosmic: Quality of service sensitive multicast internet protocol. In Proceedings of ACM SIGCOMM ’98, pages 144–153, October 1998. [11] Y. Shavitt S. Chen, K. Nahrstedt. A qos-aware multicast routing protocol. IEEE Journal on Selected Areas in Communications, 18(12):2580–2592, December 2000. [12] H. Rahul G. Manimaran and C. Murthy. A new distributed route selection approach for channel establishment in real-time networks. IEEE/ACM Trans. Networking, 7(5):689–709, October 2000. [13] J.-Q. Dai H.-K Pung and T. Angchuan. A multicast routing protocol supporing multiple qos constraints. IEEE ICON, pages 27–30, August 2002. [14] Jun Song Hung Keng Pung. Us patent application no. 10/121, 253 filed on 13 april 2002. multicast routing method satisfying quality of service constraints, software and device. [15] R. Ramaswami and K. Sivarajan. Optical Networks: A Practical Perspective. Morgan Kaufmann Publishers, second edition, November 2001. Bibliography 118 [16] ANSI. Fiber distributed data interface (fddi) - token ring media access control (mac). ANSI X3.139-1987, 1987. [17] IEEE 802.17. Resilient packet ring working group. http://grouper.ieee.org/groups/802/17. [18] V. Sharama B. MackCrane K. Owens, S. Makam and C. Huang. A path protection/restoration mechanism for mpls networks. draft-chang-mpls-path-protection-03, July 2001. Work in progress. [19] A. Farrel and B. Miller. Surviving failures in mpls networks. Technical report, Data Connection, February 2001. [20] V. Sharma and F. Hellstrand. Framework for mpls based recovery. draft-ietf-mpls-recovery-frmwrk-06, July 2002. Work in progress. [21] D. Haskin and R. Krishnan. A method for setting an alternative label switched paths to handle fast reroute. Technical report, November 2000. Work in progress. [22] J.-F Huang and Y.-F Wang. Resilience on pre-assinged atm multicast tree. Journal of Information Science and Engineering, 17(2):245–259, March 2001. [23] M.Kodialem and T. Lakshman. Dynamic routing of bandwidth guaranteed multicasts with failure backup. In Proceedings of the 10th IEEE International Conference on Network Protocol(ICNP’02), June 2002. [24] A.Itai and M.Rodeh. The multi-tree approach to reliability in distributed networks. In IEEE Symposium on Foundations of Computer Science, pages 137–147, 1984. Bibliography 119 [25] R.Barry M.Medard, S.Finn and R.Gallager. Redundant trees for preplanned recovery in arbitrary vertex-redundant or edge-redundant graphs. IEEE/ACM Transactions on Networking, 7(5):641–652, 1999. [26] C. Shields and J. J. Garcia-Luna-Aceves. The ordered core based tree protocol. INFOCOM’97, 1997. [27] A. Ballardie. Core based trees (cbt version 2) multicast routing protocol specification. Rfc 2189, Internet Engineering Task Force, September 1997. [28] B. Cain A. Ballardie and Z. Zhang. Core based trees (cbt version 3) multicast routing protocol specification. Internet draft draft-ietf-idmr-cbt-spec-v3-01, Internet Engineering Task Force, August 1998. [29] E. Royer and C. Perkins. Ad hoc on-demand distance vector routing. In Proceedings of MobiCom 99, pages 207–218, Seattle, WA, August 1999. [30] D.B.Johnson and D.A.Maltz. Dynamic source routing in ad hoc wireless networks. In Proceedings of the ACM/IEEE International Conference on Mobile Computing and Networking(MOBICOM), pages 195–206, Seattle, WA, August 1999. [31] W.Su S.-J Lee and M.Gerla. On-demand multicast routing protocol in multihop wireless mobile networks. ACM/Baltzer Mobile Networks and Applications, special issue on Multipoint Communication in Wireless Mobile Networks, 2001. [32] A.Mcauley J. Xie, R. Talpade and M. Liu. Amroute: Ad hoc multicast routing protocol. Mobile Networks and Applications, 7(6):429–439, December 2002. Bibliography 120 [33] Dai Jinquan. Qroute: an integrated framework for qos-guaranteed multicast routing. Master’s thesis, School of Computing, National University of Singapore, 2002. [34] OPNET Technologies Inc. Opnet modeler online documentation. December 2000. [35] B.M.Waxman. Routing of multipoint connections. IEEE Journal on Selected Areas in Communication, 6(9):1617–1622, December 1998. [36] Daniel P. Bovet and Marco Cesati. Understanding the Linux Kernel. O’Reilly, 2001. [37] Gianluca Insolvibile. Inside the linux packet filter, part. http://www.linuxjournal.com/article.php?sid=5617. [38] Touchai Angchuan. An implementation of QROUTE protocol in LINUX. Master’s thesis, School of Computing, National University of Singapore, 2002. [39] MPLS-RC. The mpls resource center. http://www.mplsrc.com. Name: Peng Bin Degree: Master of Science Department: Computer Science Thesis Title: A Fault Recovery Mechanism for a QoS-Guaranteed Multicast Routing Protocol Abstract Current QoS-based multicast routing protocols assume adequate fault free service from the underlying network. However, this assumption is not realistic. Therefore, fault recovery is one of critical features for the practical deployment of a QoS-based routing protocol. This thesis presents the design, simulation modeling, Linux kernel implementation and performance evaluation of a fault recovery mechanism for a QoS-guaranteed multicast routing protocol. We describe the design and implementation details of the simulation models and Linux test-bed for our fault recovery mechanism, and then evaluate the performance of our fault recovery mechanism by comparing it with existing QoS-based multicast fault recovery mechanism through extensive simulation. Compared with existing multicast fault recovery mechanisms, our fault recovery mechanism repairs the failure efficiently, which gives better performance in terms of the fault recovery time, the number of control messages and the fault recovery rate. Keywords: Fault Recovery, Linux Kernel Hacking, Multicast Routing, Performance Measurement, Quality of Service, Simulation A FAULT RECOVERY MECHANISM FOR A QOS-GUARANTEED MULTICAST ROUTING PROTOCOL PENG BIN NATIONAL UNIVERSITY OF SINGAPORE 2003 [...]... between the repairing speed and resource cost In the next Chapter, we develop a multicast fault recovery mechanism that computes a zero resource reserved backup path and finds an alternative path after a failure using a hybrid rerouting method 23 Chapter 3 A Multicast Fault Recovery Mechanism In this chapter, we propose a fault recovery mechanism to repair a QoS- guaranteed multicast routing tree after link... provides fault recovery mechanisms that are faster than those in the network layer and do not need dedicated hardware, but they are not efficient for multicast Therefore, multicast fault recovery mechanisms in the 22 2.5 Multicast Fault Recovery network layer are the best choice However, current multicast fault recovery mechanisms suffer from several problems For example, the fault recovery mechanism in... failures occur This fault recovery mechanism uses zero resource reserved backup path and hybrid rerouting techniques to search for an alternative path As stated in Chapter 2, fault recovery mechanisms can be categorized into the end-to-end rerouting mechanisms and the local rerouting mechanisms; the proactive protection mechanism and the reactive rerouting mechanism Each kind of fault recovery mechanism. .. existing fault recovery mechanisms Firstly, we present an overview of the fault recovery and formalize the total recovery time for 7 2.1 Overview of Fault Recovery 8 Fault Recovery Proactive Local (Link-based) Dedicated Backup Backup Sharing Reactive End-to-end(Path-based) PrimaryBackup Sharing Dedicated Backup Backup Sharing Local (Link-based) End-to-end(Path-based) PrimaryBackup Sharing Figure 2.1: Classification... location of the failure and not depends on the fault recovery mechanism, we define the total repair time Trepair which only depends on the fault recovery mechanism by: Trepair = Tdetect + Tnotif + Tcomp + Tswitchover 2.2 (2.3) Fault Recovery at Lower Layers Fault recovery mechanisms at lower layers need dedicated hardware to detect and repair failures Typical fault recovery mechanisms at lower layers are... the standard multicast routing protocols and deliver the multicast datagram from the sender(s) to the intended group of receivers The host that wants to send data to a multicast group transmits the data packet to its local multicast router The multicast router on receiving the data packet looks up its multicast routing table and forwards it to the matched outgoing interface Conventional multicast protocols,... Classification of fault recovery mechanisms a network Secondly, we investigate the fault recovery mechanisms used in lower layers (physical and MAC layer), which rely on hardware so that their recovery time is the shortest However, they also need hardware redundancy Thirdly, we examine the fault recovery mechanisms for unicast routing in the network layer These fault recovery mechanisms are typically implemented... find an alternative path In order to avoid loop formation, our fault recovery mechanism uses a hop count comparison technique to solve this problem, which is explained in section 3.4 In general, our fault recovery mechanism for QoS- guaranteed multicast routing protocol has the following advantages: • Fast recovery time, high availability of recovery path and low resource consumption • Minimum rerouting... routing protocols has long been an important topic of research, very few literature describe research on fault recovery for multicast routing protocols; especially for QoS- based multicast routing protocols The thesis addresses this important problem by proposing a new fault recovery mechanism to improve the survivability of QROUTE [13] [14] which has been for providing QoS- guaranteed unicast /multicast routing. .. tunnels or the multicast enabled routers 2 Multicast is most efficiently implemented and handled at the network layer, but additional features for multicast can be implemented in other layers of the protocol stack such as reliability in transport layer, intranet multicast in data-link layer; and session information and log maintenance in application layer [1] Multicast routers 3 communicate among themselves . Therefore, fault recovery for QoS-based multicast routing protocols is important for the practical deployment of QoS-based multicast routing protocols. Fault recovery in QoS-based routing protocols. network, ATM or MPLS provide mechanisms performing fault recovery between physical layer and network layer. We also discuss fault recovery mechanisms for multicast routing. 2.1 Overview of Fault Recovery Fault. in data-link layer; and session information and log maintenance in application layer [1]. Multicast routers 3 communicate among themselves using the standard multicast routing protocols and deliver