[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tcpm] TCP, multiple addresses and soft errors when connecting



At 12:50 05/04/2004 -0700, Kacheong Poon wrote:

So why not implement such a "higher-level" connect(), and handle all the relevant issues inside the API?
FYI, SCTP has this same problem.  So sctp_connectx() was added in the
API draft to allow an app to pass in an array of addresses.

Is there any reason for which an array of IP addresses is passed, instead of, say, a domain name?



How does
the stack handle this is implementation dependent.  One way may be to
have a policy on the priority of addresses to try and when to switch
to another one.  If connectx() is implemented as a general call for
other protocols, a policy for TCP may be that TCP will try another
address if it gets an ICMPv6 message following the suggestion in
draft-ietf-v6ops-v6onbydefault-01.txt,

IMHO, it's a better approach than just having connect() fail when ICMP errors are received.


However, unless there's a reason for it (as I asked above), I think it's still a low-level API.
For example, if I want to get the document at http://www.example.com/index.html , why should I care about whether the webeserver is IPv4-only, IPv6-only or dual/stack?
Does an application programmer really need to know the IP addresses the domain "www.example.com" map to?
Actually, should an application programmer be supposed to be knowledgeable on network addressing?


Best Regards,


-- Fernando Gont e-mail: fernando@gont.com.ar || fgont@acm.org