| Multihoming refers to the phenomenon that a network node connects to more than one ISP(IP Service Provider) for accessing Internet witih redundancy and load-sharing. It has been a widely used technology in IPv4network, especially for enterprises. However, the multihomed address blocks are introduced into the global route table even if they are aggregated by a provider. This contributes to the rapidly-increasing size of both the global routing table and the turbulence exhibited within it, and places stress on the inter-provider routing system. Continued growth of both the Internet and the practice of sitemultihoming will seriously exacerbate this stress.In IPv6, due to the restriction of address allocation policy and BGP broadcasat prefix length, the method implementing multihoming by BGP is invalid. In addition, NAT doesn’t exist in IPv6, not to mention implementing multihoming by NAT. Therefore we need a new proposal to solve multihoming in IPv6.Shim6is this new protocol.This thesis first introduces what is multihoming and it’s advantages. Next making a comparative elaboration of IPv4and IPv6multihoming solution and generalizing IPv6multihoming’s new features. Then describing three typical scenarios of IPv6multihoming, in addition giving a brief description of LinShim6which is an opensource implementation of Shim6. After that analyzing Shim6and REAP in detail, pointing out the relationship between these two protocols as well as their core idea respectively. And then designing and implementing an IPv6multihoming network environment based on Shim6using LinShim6, also describing the building process of this environment in detail, in addition explaining all kinds of problems that may be encountred during the building process. Finally it makes a detailed explanation of the test scheme’s design idea. Choosing Application Recovery Time(ART for short) as the test indicator. Designing three test cases according to the different application layer protocol. Also writing automation test scripts using Python for these test case. At the end, making theoretical analysis of the obtained test data. |