• 沒有找到結果。

Recently, use of the Internet typified by the WWW (World Wide Web) and e-mail and FTP service have spread extensively. Anycast is a network interface and routing methodology in which datagrams from a single sender are routed to the topologically nearest node in a group of potential member all identified by the same destination address.

Anycast, which is defined in the IPv6, is a new networking paradigm supporting service–oriented addresses and an identical address can be assigned to multiple nodes providing a specific service. address cannot function effectively enough to cope with this enormous increasing users and demand for the Internet. For example, all new machines that are being added to the Internet are running short of the assigned IPv4 addresses. With the trigger of the IPv4 address space problem, IPv6 (Internet Protocol version 6) [2] was designed as the next-generation Internet protocol. IPv6 has a wide address space (2^128) that we do not have to worry about the amount of remaining address space even if a unique address were assigned to all Internet users, and that number of problems (e.g., security issues and mobility issues) are raised by IPv4 in the IPv6 specifications. Furthermore, IPv6 includes some new functions that are currently in demand or are predicted to be useful in the future.

Information exchange can broadly be classified as unicast (one-to-one), broadcast

2

(one-to-all) and multicast [3] (one-to-many). One of the biggest advantages of multicasting is the conservation of bandwidth. The multicast server sends out only one packet, then the router generates multiple packets to reach each of the receivers. In this manner the network resources are used efficiently. In unicast routing, the server sends out a packet to each of the receivers. A more recent variation of multicast is anycast. It is a one-to-many distribution.

There may be multiple recipients of an anycast message, but the sender sends the message only to the node that is logically or topologically the closest to it. Table 1.1 below is a comparison of unicast, multicast and anycast.

Table 1.1 Comparison for unicast, multicast and anycast.

Unicast Multicast Anycast

Communication form Point to point Point to multipoint Point to point

Target of address node group service type

Number of membership single multiple multiple

Roles in C/S model both client server

Anycast [4] is the point-to-point flow of packets between a single client and the

“nearest” destination server identified by an anycast address [5]. The idea behind anycast is that a client could send packets to any one of several possible servers which provide a particular service or application but does not really care which one. Any number of servers can be assigned a single anycast address within an anycast group. A client sends packets to an anycast server by placing the anycast address in the packet header. Routers then attempt to deliver the packet to a server with the matching anycast address.

1.2 Multicast and Explicit Multicast Technology

Multicast is the term used to describe communication where a piece of information is sent from one or more points to a set of other points. In this case there may be one or more

3

senders, and the information is distributed to a set of receivers. One example of an application which may use multicast is a video server sending out networked TV channels.

Simultaneous delivery of high quality video to each of a large number of delivery platforms will exhaust the capability of even a high bandwidth network with a powerful video clip server. This poses a major scalability issue for applications which required sustained high bandwidth. One way to significantly ease scaling to larger groups of clients is to employ multicast services.

In the Host Group Model the packet carries a multicast address as a logical identifier of all group members. In Explicit Multicast (Xcast) [6], the source node keeps track of the destinations in the multicast channel that it wants to send packets to destinations. The source encodes the list of destinations in the Xcast header, and then sends the packet to a router. Each router along the way parses the header, partitions the destinations based on each destination‘s next hop, and forwards a packet with an appropriate Xcast header to each of the next hops. When there is only one destination left, the Xcast packet can be converted into a normal unicast packet, which can be unicasted along the remainder of the route. This is called X2U ( Xcast to Unicast ).

Figure 1.1 Explicit Multicast.

Figure 1.1 shows the source send the data to group members (A,B,C) that have the

4

same packet content. The source encodes the list of destination (A,B,C) in packets header and then sends the packets to a router. The router will decode destination of the packet header that parses the next router. In this case, the destination A and B, C aren’t in the same routing that up one level router will duplicate two packets which are sent to appropriate routers.

1.3 Anycast Technology

In recent years, anycast has become increasingly popular for adding redundancy to DNS servers to complement the redundancy that the DNS architecture itself already provides. A packet sent to an anycast address is delivered to one of the interfaces identified by that address (the "nearest" one, according to the routing protocol's measure of distance).

An example can be found in [7]. Anycast is the use of routing and addressing policies to affect the most efficient path between a single source and several geographically dispersed targets that "listen" to a service within a receiver group. In Anycast, the same IP address space is used to address each of the listening targets (DNS servers in our case). Layer 3 routing dynamically handles the calculation and transmission of packets from our source (DNS Client) to its most appropriate (DNS Server) target. Configuration methodology that provides redundancy and load sharing to specific types of network services on the Internet.

Figure 1.2 shows an example of anycast service. There are five servers associated with the anycast address Aany and Bany. When two source nodes send a packet, Aany and Bany will be the destination address, and the packet will be sent to one of five nodes, not to all servers.

5

Figure 1.2 Examples of using anycast in Internet.

One of the important features of anycast is that the appropriate responder for anycast packet may change in accordance with the network conditions, location of the anycast initiator, or the availability of anycast responders—even if the same anycast initiator sends multiple anycast packets.

Anycast has some unique and interesting characteristics. The following are some examples of anycast applications.

A. Service discovery

An anycast address enables us to assign a service-oriented address. To achieve a service discovery, we first assign an anycast address to each service, and then give the anycast address to the nodes on which the associated service is running. As a result, we can find the (appropriate) node providing the service simply by specifying the correspondent anycast address. For example, when we assign a well-known anycast address to a DNS server, the DNS query packets destined for the anycast address would be forwarded to an

6

appropriate DNS server. Therefore, we can receive a response from an appropriate DNS server regardless of connected locations.

B. Location-dependent service

It is possible for us to connect to the nearest server by using anycast. That is, we can connect to a location-specific server. For example, we can get the local time via using the same anycast address even if we move between countries. It is similar to the “Emergency call” in the real world.

C. Load-balancing

As the numbers of anycast responders increases the same anycast address, anycast initiators can communicate with the appropriate anycast responders in each case. If anycast responders are globally distributed, the loads of anycast responders achieve balance.

D. Robustness against a breakdown

When an anycast responder fails, another responder with the same anycast address can receive the anycast packet. Therefore, the service for anycast initiators can be provided continuously even after the failure of an anycast responder.

1.4 Manycast Technology

Manycast was firstly proposed in [8]. In the literature, it defined that manycast is a group communication paradigm in which one client communicates simultaneously with k of m equivalent servers in a group. It provides a bidirectional channel for requesting/replying communication between client and servers, not merely one-way dissemination of data. The activity of manycast transaction is shown in Figure. 1.3. Essentially, manycast is a group

7

communication paradigm in which one client communicates simultaneously with some threshold number k of servers from the m members of a group.

Figure 1.3 Service Request Phase of Manycast.

Other services, localized in nature, require a degree of robustness against failure. They often perform service discovery through a local broadcast-based protocol, such as the Network Time Protocol [9].

In the NTP scheme, a client wishes to locate the three best/nearest servers with which to synchronize its clock. All servers are members of a well-known IP multicast group.

Clients locate servers by performing an expanding ring search over the IP multicast tree.

Once the server set has been located, clients use a very long-periodic refresh to determine if better/nearer servers have appeared in the network.

S

S

S

S S

S

C

8

1.5 Motivation and Purpose

One important issue is to correctly and quickly find out the location of service providers which is generally called servers. Therefore, the sender host can choose one of many functionally identical hosts. To the best of our knowledge, there are no schemes about how anycast or manycast can be applied in the Internet to accelerate finding the target host.

Therefore, we propose a scheme to speed up finding the target host based on anycast and manycast based Xcast. This scheme could expand on different systems, such as P2P IPTV service.

When it comes to P2P IPTV streaming service [10], the first thing for the newly join peer must find out one appropriate tracker among some other ones and obtain the peer list from that selected tracker. In addition, after getting the peer list, the new peer sends queries to those that are already on the list. Moreover, BitTorrent is an application for file sharing, how to get the fast response from partners for user and how to reduce the number of messages from sender side is also to be concerned.

In this thesis, we propose two mechanisms that are anycast by Xcast and manycast by Xcast. Both of them resolve the performance of traditional protocols such as Round Robin, Anycast name resolver and sequential unicast. As a result, load distribution among the hosts that have the same anycast addresses can be achieved if we utilize some appropriate anycast approaches whose requests are evenly distributed to the destination hosts.

In this thesis, we aim to realize that (1) implement the two mechanisms anycast and manycast, both are based on Xcast (2) Quickly find out the service provider (3) Reduce the network traffic on the Internet. (4) Apply Xcast-based anycast and Xcast-based manycast to speed up the search for appropriate tracker and partners in P2P IPTV service.

The rest of this thesis is organized as follows. Chapter 2 presents the background of

9

existing anycast technologies. Chapter 3 describes the schemes we propose in detail. The simulation and numerical results are presented in Chapter 4. Finally, the conclusions are addressed in Chapter 5.

10

相關文件