Arnt Gulbrandsen wrote: > > What I've never understood is why (almost) everyone tries addresses in > sequence instead of in parallel. > > Even applications that routinely open two or more concurrent connections > to the server first try IPvX, then wait many seconds, then try IPvY. Why > not try both in parallel and use whatever address answers first? Maybe because it would be a big waste of network bandwidth and close to a Denial of Service (DoS) attack if every client would try every IPv4 and IPv6 address in parallel that it can get hold of for a hostname. Similarly, it could require a major redesign of lots of applications in order to be able to manage several parallel requests -- multi-threaded with blocking DNS-lookups and blocking connect()s or parallel asynchronous/non-blocking DNS-lookups and connect()s. I was hit by a funny Bug in Microsoft Windows NT 3.1 in 1993 when using asynchronous connect()s for the first time. After the connection timeout (60 seconds) I would still get an event delivered with the original socket number -- even if I had long closed that connect-pending socket and been reassigned the same socket number on the next socket() call from the OS. -Martin _______________________________________________ Ietf mailing list Ietf@xxxxxxxx https://www.ietf.org/mailman/listinfo/ietf