host anycasting service - pers¶nliche webseiten der informatik

14
HOST ANYCASTING SERVICE HOST ANYCASTING SERVICE By: By: RAJAT SINGH RAJAT SINGH

Upload: others

Post on 03-Feb-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

HOST ANYCASTING SERVICEHOST ANYCASTING SERVICE

By:By:RAJAT SINGHRAJAT SINGH

IndexIndex

DefintionDefintionArchitectural IssuesArchitectural IssuesTransmission and reception of Anycast Transmission and reception of Anycast datagramsdatagramsHow UDP and TCP use anycastingHow UDP and TCP use anycastingAnycasting and MulticastingAnycasting and Multicasting

Definition:Definition:Definition: There are a number of situations in Definition: There are a number of situations in networking where a host, application, or user wishes to networking where a host, application, or user wishes to locate a host which supports a particular service but, if locate a host which supports a particular service but, if several servers support the service, does not particularly several servers support the service, does not particularly care which server is used. Anycasting is a internetwork care which server is used. Anycasting is a internetwork service which meets this end.service which meets this end.A host transmits a datagram to an anycast address and A host transmits a datagram to an anycast address and the internetwork is responsible for providing best effort the internetwork is responsible for providing best effort delivery of the datagram to at least one, and preferably delivery of the datagram to at least one, and preferably one, of the servers that accept datagrams for the one, of the servers that accept datagrams for the anycast address.anycast address.

Architectural IssuesArchitectural Issues1.1. How to balance IPHow to balance IP‘‘s stateless service s stateless service with with the the

desire to have an anycast desire to have an anycast address represent a address represent a single virtual host.single virtual host.To illustrate see examples 1 & 2.To illustrate see examples 1 & 2.

IP anycasting (definition): It is a service which IP anycasting (definition): It is a service which provides a stateless best effort delivery of an provides a stateless best effort delivery of an anycast datagram to at least one host, and anycast datagram to at least one host, and preferably only one host, which serves the preferably only one host, which serves the anycast address.anycast address.

Architectural Issues(contd..)Architectural Issues(contd..)2. How to support anycast addresses?2. How to support anycast addresses?

Two ways:Two ways:i) Use the existing address space:i) Use the existing address space:Advantages: It may make routing easier.Advantages: It may make routing easier.Disadvantages: Disadvantages: a) There is no easy way for stateful protocols like TCP to a) There is no easy way for stateful protocols like TCP to

discover that an address is an anycast address discover that an address is an anycast address b) It is more difficult to support internetb) It is more difficult to support internet--wide well known wide well known

anycast addressanycast address

Architectural Issues(contd..)Architectural Issues(contd..)ii) Use separate class of address spaceii) Use separate class of address space

Advantages: It is easy to determine if an address is an Advantages: It is easy to determine if an address is an anycast address and well known anycast addresses are anycast address and well known anycast addresses are easy to support.easy to support.

Disadvantages: Routing may be more painful, because Disadvantages: Routing may be more painful, because routing protocols may have to keep track of more routing protocols may have to keep track of more anycast addresses.anycast addresses.

In the balance it seems wiser to use separate class of In the balance it seems wiser to use separate class of addresses so we will assume anycast address as a addresses so we will assume anycast address as a separate class of addresses.separate class of addresses.

Transmission and Reception of Transmission and Reception of Anycast DatagramAnycast Datagram

1.1. On shared media network:On shared media network:It must be possible to transmit an anycast It must be possible to transmit an anycast datagram to a server also on the same datagram to a server also on the same network without consulting a router. There are network without consulting a router. There are two ways this can be done:two ways this can be done:

i) Use ARP for the anycast address: Servers which i) Use ARP for the anycast address: Servers which support the anycast address can reply to the support the anycast address can reply to the ARP request, and the sending host can ARP request, and the sending host can transmit to the first server that responds. transmit to the first server that responds.

Transmission and Reception of Transmission and Reception of Anycast DatagramAnycast Datagram

ii) Another approach for hosts is to transmit ii) Another approach for hosts is to transmit datagram on the link level multicast address:datagram on the link level multicast address:Hosts which serve an anycast address would be Hosts which serve an anycast address would be expected to listen to the linkexpected to listen to the link--level multicast level multicast address for datagram destined for their anycast address for datagram destined for their anycast address. address.

By multicasting on the local network there is no By multicasting on the local network there is no need for the router to route the datagrams.need for the router to route the datagrams.

Transmission and Reception of Transmission and Reception of Anycast DatagramAnycast Datagram

2. On point2. On point--toto--point links:point links:A single copy of the anycast datagrams is forwarded along A single copy of the anycast datagrams is forwarded along

the appropriate link towards the anycast destination.the appropriate link towards the anycast destination.When a router receives a datagram, the router must decide When a router receives a datagram, the router must decide

if it should forward the datagram, and if so, transmit one if it should forward the datagram, and if so, transmit one copy of the datagram to the next hop on the route.copy of the datagram to the next hop on the route.

There are probably situations in which there are multiple There are probably situations in which there are multiple servers on a local network, and to avoid sending to one servers on a local network, and to avoid sending to one that has recently crashed, routers may wish to send that has recently crashed, routers may wish to send anycast datagrams on a linkanycast datagrams on a link--level multicast address.level multicast address.

How UDP and TCP use AnycastingHow UDP and TCP use Anycasting

1.1. UDP:UDP:

Because UDP is stateless and anycasting is a Because UDP is stateless and anycasting is a stateless service, UDP can treat anycast stateless service, UDP can treat anycast addresses like regular IP addresses.addresses like regular IP addresses.

A UDP datagram sent to an anycast address is A UDP datagram sent to an anycast address is just like a unicast UDP datagram from the just like a unicast UDP datagram from the perspective of UDP and its application.perspective of UDP and its application.

How UDP and TCP use AnycastingHow UDP and TCP use Anycasting

2. TCP:2. TCP:TCPTCP‘‘s use of anycasting is less straightforward because TCP is s use of anycasting is less straightforward because TCP is stateful.stateful.It is hard to envision how one would maintain TCP state with an It is hard to envision how one would maintain TCP state with an anycast peer with two successive TCP segments sent to the anycasanycast peer with two successive TCP segments sent to the anycast t peer might be delivered to completely different hosts.peer might be delivered to completely different hosts.Solution:Solution: only permit anycast addresses as the remote address of a only permit anycast addresses as the remote address of a TCP SYN segment. A TCP can then initiate a connection to an TCP SYN segment. A TCP can then initiate a connection to an anycast address. When the SYNanycast address. When the SYN--ACK is sent back by the host that ACK is sent back by the host that received the anycast segment, the initiating TCP should replace received the anycast segment, the initiating TCP should replace the the anycast address of its peer, with the address of the host returnanycast address of its peer, with the address of the host returning ing the SYNthe SYN--ACK.ACK.

Anycasting and MulticastingAnycasting and MulticastingIt is often suggested that IP multicasting can be used It is often suggested that IP multicasting can be used for resource location, so it is useful to compare the for resource location, so it is useful to compare the services offered by IP multicasting and IP anycasting:services offered by IP multicasting and IP anycasting:

1.1. Semantically, the difference between the two services Semantically, the difference between the two services is that an anycast address is the address of a single is that an anycast address is the address of a single (virtual) host and that internetwork will make an effort (virtual) host and that internetwork will make an effort to deliver anycast datagrams to a single host.to deliver anycast datagrams to a single host.

2.2. From practical perpective, the major difference is that From practical perpective, the major difference is that anycasting is a special use of unicast addressing while anycasting is a special use of unicast addressing while multicasting requires more sophisticated routing multicasting requires more sophisticated routing support.support.

Anycasting and MulticastingAnycasting and Multicasting

3. Another difference between the two approaches 3. Another difference between the two approaches is that the resource location using multicasting is that the resource location using multicasting typically causes more datagrams to be sent.typically causes more datagrams to be sent.

4. A minor difference is that anycast may be less 4. A minor difference is that anycast may be less fault tolerant than multicast. When an anycast fault tolerant than multicast. When an anycast server fails, some datagrams may continueto be server fails, some datagrams may continueto be mistakenly routed to the server, whereas if the mistakenly routed to the server, whereas if the datagram had been multicast, other servers datagram had been multicast, other servers would have received it.would have received it.

References:References:

RFC 1546RFC 1546-- Host anycast service by:Host anycast service by:C. PartridgeC. PartridgeT. MendezT. MendezW. MillikenW. Milliken