home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1681.txt < prev    next >
Text File  |  1996-05-07  |  12KB  |  133 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        S. Bellovin Request for Comments: 1681                        AT&T Bell Laboratories Category: Informational                                      August 1994 
  8.  
  9.                         On Many Addresses per Host 
  10.  
  11. Status of this Memo 
  12.  
  13.    This memo provides information for the Internet community.  This memo    does not specify an Internet standard of any kind.  Distribution of    this memo is unlimited. 
  14.  
  15. Abstract 
  16.  
  17.    This document was submitted to the IETF IPng area in response to RFC    1550.  Publication of this document does not imply acceptance by the    IPng area of any ideas expressed within.  Comments should be    submitted to the big-internet@munnari.oz.au mailing list. 
  18.  
  19. Overview and Rational 
  20.  
  21.    Currently, most hosts have only one address.  With comparatively rare    exceptions, hosts as hosts -- as opposed to hosts acting as routers    or PPP servers -- are single-homed.  Our address space calculations    reflect this; we are assuming that we can estimate the size of the    address space by counting hosts.  But this may be a serious error.  I    suggest that that model may -- and should -- change. 
  22.  
  23.    For the ideas outlined below, I do not claim that multiple addresses    per host is the only or even necessarily the best way to accomplish    the goal.  I do claim that my ideas are at the very least plausible,    and that I expect that many of them will be tried. 
  24.  
  25. Encoding Services 
  26.  
  27.    More and more often, services are being encoded in the host name.    One can fetch files from ftp.research.att.com, look up an IP address    on ns.uu.net, synchronize clocks from ntp.udel.edu, etc.  Should this    practice be generalized to the IP address domain? 
  28.  
  29.    In some cases it would be a very good idea.  Certain services need to    be configured by IP address; they are either used when the DNS is    being bootstrapped (such as in glue records and root server cache    records), or when its unavailable (i.e., when booting after a power    hit, and the local name servers are slower to reboot than their    diskless clients. 
  30.  
  31.  
  32.  
  33.  Bellovin                                                        [Page 1] 
  34.  RFC 1681               On Many Addresses per Host            August 1994 
  35.  
  36.     Security is another reason, in some cases.  Address-based    authentication is bad enough; relying on the name service adds    another layer of risk.  An attacker can go after the DNS, in that    case.  A risk-averse system manager might prefer to avoid the extra    exposure, instead granting privileges (i.e., rlogin or NFS) by    address instead of name.  But that, of course, leads to all the usual    headaches when the location of the service changes.  If the address    for the service could be held constant, there would be much more    freedom to move it to another machine.  One way to do that is by    assigning the serving host a secondary address. 
  37.  
  38.    A related notion comes from the need to offer different views of a    service from a single host.  For example, research.att.com has long    offered two distinct FTP archives, with slightly different access    policies.  It would be nice if both could live on the same machine,    without asking the user community to learn new protocols or custom    port numbers. 
  39.  
  40.    Archie is an even better example.  There are three principal ways to    use Archie:  use a special protocol, and hence a special application    program, on a dedicated port and host that is probably named    archie.foo.bar; telnet to archie.foo.bar and go through an extra and    gratuitous login as archie, or telnet to some special port on    archie.foo.bar.  The latter two are examples of using a standard    protocol (telnet) to offer a different service.  Neither alternative    is very convenient. 
  41.  
  42.    It would be better if archie.foo.bar provided the Archie service,    while host.foo.bar provided a login prompt.  Again -- an easy way to    do this is to assign the host a separate IP address for its extra    service. 
  43.  
  44.    Note that there are security advantages here, too.  A firewall could    be configured to allow access to the address associated with the    Archie server, but not the other addresses on that host.  That would    provide a high degree of safety, assuming, of course, that the other    servers on that host were bound to its primary addresses, and not the    exposed address. 
  45.  
  46.    Another way to implement this concept would be to extend the DNS, to    return port number information as well as IP addresses.  Thus,    netlib.att.com might return 192.20.225.3/221.  But that would    necessitate changing every FTP client program, a daunting task. 
  47.  
  48.    We could also look on this as the extension of the MX concept.  MX    records are very valuable, but they apply only to mail, and they    don't supply port numbers.  Again, changing this would require    massive client program changes. 
  49.  
  50.  
  51.  
  52. Bellovin                                                        [Page 2] 
  53.  RFC 1681               On Many Addresses per Host            August 1994 
  54.  
  55.  Accounting and Billing 
  56.  
  57.    For better or worse, some parts of the Internet are moving towards    usage-sensitive charging.  At least four charging schemes seem    possible; doubtless, the marketeers in charge of such things can and    will come up with more. 
  58.  
  59.    The first is the traditional "pay as you go" approach.  Each host is    responsible for its own packets.  Of course, that means that in a    typical conversation, both parties pay -- and the providers of free    FTP archives will end up paying dearly for their beneficence.  That    leads to our second model:  caller pays.  Other people might want to    make collect calls, much as is done on the telephone today.  Finally,    there might be the equivalent of American "900" numbers:  the caller    pays a premium to the server. 
  60.  
  61.    This is not at all far-fetched; UUNET already has a 900 number for    anonymous uucp clients.  No need to register in advance; just dial    in, and let the phone company act as your agent. 
  62.  
  63.    Given all these schemes, it is vital that the caller and recipient    know in advance who will pay.  It is not acceptable for users to    learn, only after the fact, that they have incurred a cost.  We could    envision use of IP options, but again, that would preclude use of    today's standard clients. 
  64.  
  65.    It is not sufficient to present a message at connection time warning    of the charges.  Many interactions do not provide a hook for user    interaction.  And there are security concerns -- suppose that someone    puts up a gopher server that redirects a caller to some pay-to-play    address, without displaying the required warning.  A scam?  Sure --    but it's already happened with the phone network, and I see no reason    to think that the Internet will be far behind. 
  66.  
  67.    My suggestion, of course, is to encode the charge algorithm in the    destination address (and perhaps in the DNS name space as well).  The    bits themselves would determine who pays.  Organizational border    routers could implement policies on pay services; the anonymous    workstations in a dorm computer lab wouldn't be allowed to call    collect. 
  68.  
  69.    An extension of this scheme would use a comparatively large number of    bits, letting the address act not just as a policy indicator, but    also as an index to a charge algorithm table. 
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77. Bellovin                                                        [Page 3] 
  78.  RFC 1681               On Many Addresses per Host            August 1994 
  79.  
  80.  Addresses per User 
  81.  
  82.    It may be useful to assign each user on a host a separate IP address,    for the duration of the login session.  This has a number of    advantages. 
  83.  
  84.    The first ties in with the charging scheme given above.  Usage-    sensitive accounting today is done by routers, and they have no    notion of who is using the hosts.  If each user had a separate IP    address, we could continue to gather the accounting data at the    router.  The host would simply have to record the address    assignments; billing could be done offline. 
  85.  
  86.    Similarly, different classes of users could have different forms of    addresses.  Those with hard-money accounts might have some bits set    in the address that would allow for access to costly services.  The    border routers could make this sort of distinction, using today's    technology. 
  87.  
  88.    An IP address per user also fits in well with encryption.  There is a    lot of attention today focused on network-layer encryption.  But that    provides host-level granularity of protection, which is sometimes    insufficient.  Transport-layer encryptors provide finer-grained    protection, but does the Internet need two different low-level    encryption schemes?  If each user had a separate IP address -- and    perhaps had it only on hosts that cared about such matters -- we    could provide user-level protection and accounability, with the same    infrastructure used to support host-level accountability. 
  89.  
  90. Low-Grade Mobility 
  91.  
  92.    There are several schemes under discussion for mobile IP hosts.    These are aimed at a fairly general model of hosts moving anywhere.    While that is important, there is also some need for limited    mobility, within a subnet.  This could be used for load-balancing.  A    mail relay that had just been asked to send a large message to a huge    mailing list could offload some of its IP addresses to its peers.    That would divert future incoming messages without invalidating    thousands of cached MX records and their associated IP addresses.    Similarly, servers for low-speed X terminals could reside on    different physical machines, all the while not disturbing sessions in    progress. 
  93.  
  94. Merging Subnets 
  95.  
  96.    There has long been some need to merge subnets.  Sometimes this is    due to organizational changes; other times, people have installed    bridges when routers would have been a more appropriate choice.  Some 
  97.  
  98.  
  99.  
  100. Bellovin                                                        [Page 4] 
  101.  RFC 1681               On Many Addresses per Host            August 1994 
  102.  
  103.     hosts need to live on both logical networks at once, to avoid an    extra hop through a router.  It would be useful to be able to assign    them such addresses. 
  104.  
  105. How Many Addresses Do We Need? 
  106.  
  107.    Assuming that some of these ideas bear fruit, how many addresses do    we need, per host? 
  108.  
  109.    Most of these schemes are fairly cheap.  Few people would offer more    than a handful of distinct service views per system.  But the    address-per-user notion could be quite costly.  We also have to    account for address mask assignment policies.  In many of today's    networks, enough bits of host address have to be allocated to allow    for the largest subnet in an organization.  Even if we assume that    IPng's routing protocols will be smarter about such things, foresight    in address allocation will be needed to allow headroom for some    networks to grow, while still maintaining a contiguous netmask.  This    in turn will contribute to sparse utilization of the address space.    Accordingly, I recommend that we allow for 2^6, and perhaps as many    as 2^8, extra addresses per host, to leave room for the ideas    presented here. 
  110.  
  111.    I should note that the idea of encoding the service in the transport    address bears some relation to OSI's model.  That similarity should    not, of course, invalidate the idea. 
  112.  
  113. Acknowledgements 
  114.  
  115.    Some of these ideas were derived from conversations with Matt Blaze. 
  116.  
  117. Security Considerations 
  118.  
  119.    Security issues are discussed throughout this memo. 
  120.  
  121. Author's Address 
  122.  
  123.    Steven M. Bellovin    Software Engineering Research Department    AT&T Bell Laboratories    600 Mountain Avenue    Murray Hill, NJ  07974, USA 
  124.  
  125.    Phone: +1 908-582-5886    Fax: +1 908-582-3063    EMail:  smb@research.att.com 
  126.  
  127.  
  128.  
  129.  
  130.  
  131. Bellovin                                                        [Page 5] 
  132.  
  133.