[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
yesterday
Some random thoughts on the session yesterday:
I once again want to object to the idea of putting a full routing table
in each host, as suggested by Masataka Ohta. I see a lot of practical
problems with this, I'm almost certain we need to create more or less a
completely new protocol for this to work as the only protocol that has
the right information is BGP but BGP needs manual configuration and
that is NOT something you want to do for each host. Then there is the
unnecessary resource consumption (IPv4 table using Zebra costs at least
60 MB, a third of which is kernel memory wich can't be swapped out).
But the more fundamental problem is that all the really good stuff is
aggregated away in the global routing table, so the info you can derive
from that is by far inferior to what you can get from talking to the
other side. I don't mean _asking_ the other side, I mean doing
measurements on the packets going back and forth, the same way TCP does
to arrive at good round trip times.
Also, the NAROS approach gives nodes access to info in the routing
table too without many of the drawbacks. Although I hope NAROS does
more than just look at BGP or it has the same problem. But that
shouldn't be a problem: a NAROS server could also look at the line
utilization for different connections and do traffic engineering. Some
other thoughts on NAROS:
- Timeouts are bad. They are always too long or too short. An
additional way to handle invalidating caches in hosts would be to send
out a multicast message for this. This way, the NAROS server can
invalidate all caches and maybe even trigger rehoming of existing
sessions when something significant happens to external connectivity.
- Probably controversial: why first do a name lookup and then a NAROS
lookup? NAROS could be a superset of DNS so a host could ask the NAROS
server for info on a FQDN and get everything it would normally get from
a DNS server and then the address preference info. This is just an
optimization of the lookup process, I'm not proposing any changes to
the the DNS here.
- Hosts could send information they discover over the course of a
session back to the NAROS server so that it can help other hosts. For
instance, if a correspondent host has two addresses and the NAROS
server doesn't have a strong feeling about which is better, and one
doesn't work, the host sends back "this address didn't work" and then
the server can lower the priority for this address so the next host
will try the other address first.
I think NAROS has the potential to be a very powerful tool, which means
it propably needs to be "bigger" than the author(s) originally
anticipated. It would be a shame to standardize this in a way that soon
becomes too constricting for what people actually want to do.
On the 16 bit AS == PI prefix thing: this is just plain a very bad
idea. In the first place, it doesn't scale. Second, it WILL create a
land rush as it's very easy to get an AS number (hi Michel). Third,
current practice is already that the people with enough money that
really want it can get their own prefix, so there is no need to
specifically address this small group.
I did like a lot of the end-to-end, host centric and so on stuff,
however, it seems to me that a lot of this doesn't include the latest
wisdom on this subject. For instance, some form of 8+8 came up but
there was no explanation about how this can work with
autoconfiguration, how badly it breaks transport protocols and so on.
Also, some mechanisms (such as SCTP) need API changes. I think this is
EXTREMELY dangerous as this is a huge stumbling block for IPv6
adoption. The latest OSes support IPv6 and getting a tunnel or 6to4 is
fairly trivial, but we the reason why there is very little IPv6
adoption is that the applications simply fail to use it when it's
available. This is something we absolutely can't have with multihoming,
in my not so humble opinion.