home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ien / ien-46 < prev    next >
Text File  |  1988-12-02  |  22KB  |  704 lines

  1.  
  2. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  3. IEN No. 46                                                          June, 1978
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. A PROPOSAL FOR ADDRESSING AND ROUTING IN THE INTERNET
  13.  
  14. David D. Clark
  15. Laboratory for Computer Science
  16. Massachusetts Institute of Technology
  17.  
  18. Danny Cohen
  19. USC/Information Sciences Institute
  20.  
  21.  
  22.  
  23.  
  24.  
  25. 1.   Introduction
  26.  
  27.      Within the internet, there is a need for both addressing and routing
  28.  
  29. information as part of every packet.  Using the distinction articulated by
  30.  
  31. John Shoch (1), we take the address of a packet to be where the packet is
  32.  
  33. destined, and the route, the specification of how the packet will get there.
  34.  
  35. Currently, an internet header contains only an address, and the route is
  36.  
  37. derived implicitly from that address.  That addressing/routing strategy is
  38.  
  39. quite suitable given the current internet topology, but two problems may arise
  40.  
  41. as the internet continues to grow.  First, unless the internet experiment is
  42.  
  43. truncated artificially, it can be expected to continue, as has the ARPANET,
  44.  
  45. for some period of time, in which case the number of networks involved may
  46.  
  47. grow to exceed the size of the field allocated to number them.  Second, as the
  48.  
  49. topology grows more complex, it may not always be possible to deduce the
  50.  
  51. desired or effective route from the address.  This proposal attempts to
  52.  
  53. address those two problems.
  54.  
  55.  
  56. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  57. IEN No. 46                                                          June, 1978
  58.  
  59.  
  60. 2.   Addressing of Networks
  61.  
  62.      The current internet header has space to name 256 networks.  The
  63.  
  64. assumption, at least for the time being, is that any network entering the
  65.  
  66. internet will be assigned one of these numbers.  While it is not likely that a
  67.  
  68. great number of large nets, such as the ARPANET, will join the internet, the
  69.  
  70. trend toward local area networking suggests that a very large number of small
  71.  
  72. networks can be expected in the internet in the not too distant future.  We
  73.  
  74. should thus begin to prepare for the day when there are more than 256 networks
  75.  
  76. participating in the internet.
  77.  
  78.      To cope with this problem, we propose that the top level entity named in
  79.  
  80. an internet address not be a single network, but, optionally, an aggregate of
  81.  
  82. networks which we will refer to as a region.  Thus, an address now begins with
  83.  
  84. a region number, perhaps followed by a network number, in turn followed by
  85.  
  86. network dependent fields.  Large networks, such as the ARPANET, will
  87.  
  88. presumably continue to be a region unto themselves.  In fact, all of the
  89.  
  90. currently existing networks in the internet can be viewed as regions, which
  91.  
  92. means that no reimplementation is required if the concept of regions is
  93.  
  94. accepted.  However, in the future, as more and more nets enter the internet,
  95.  
  96. we can, at our discression, lump various networks together into regions.  Put
  97.  
  98. another way, a network can only join the internet by first joining a region.
  99.  
  100.      In fact, the concept of a region was always available to the internet,
  101.  
  102. although in an informal manner.  The structure of a network address was
  103.  
  104. unspecified except that it began with a fixed size field naming the network.
  105.  
  106. It was always permissible to use the component of the internet address next
  107.  
  108. after the network field to identify a subnet of the named network.  Making
  109.  
  110. more explicit this hierarchy of regions and networks is important because, as
  111.  
  112.  
  113.                                       2
  114.  
  115. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  116. IEN No. 46                                                          June, 1978
  117.  
  118.  
  119. we discussed above, the address is used not only as an address but as a basis
  120.  
  121. for deriving a default route.  We must thus consider how, using the addressing
  122.  
  123. structure of regions and nets within regions, the address can be used to
  124.  
  125. generate an effective and unambiguous route.
  126.  
  127.  
  128. 3.   Default Routing
  129.  
  130.      Currently, every gateway in the internet knows how to generate a route to
  131.  
  132. every network.  If the number of networks grows substantially above 100 or
  133.  
  134. 200, the gateways can no longer be expected to understand this much
  135.  
  136. information.  One of the major purposes of the region concept is to control
  137.  
  138. the amount of information which every gateway must know.  This scheme would
  139.  
  140. imply that an arbitrary gateway now only need to know how to reach every
  141.  
  142. region, but need not be concerned with routing to the individual network
  143.  
  144. within a distant region.  Only for gateways connected to or completely inside
  145.  
  146. a particular region would be necessary to understand how to route packets to
  147.  
  148. all of the networks within the region.
  149.  
  150.      Let us consider an example of how these regions might be used.  There are
  151.  
  152. already two local networks at M.I.T., with more on the way.  These might quite
  153.  
  154. properly be considered as one region.  That would imply that a gateway located
  155.  
  156. in England need not be concerned with the internal structure of the local
  157.  
  158. networks at M.I.T.  If M.I.T. were one region, such a gateway would merely
  159.  
  160. need to know how to reach M.I.T.  Only when the packet has reached a gateway
  161.  
  162. connecting to one of the nets at M.I.T., would it be necessary to begin to
  163.  
  164. worry about how to reach the correct local network.  It is possible that
  165.  
  166. deriving the route in this manner will not produce the optimum route; the
  167.  
  168. packet may arrive at a gateway to M.I.T. which leads to the wrong local
  169.  
  170.  
  171.  
  172.                                       3
  173.  
  174. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  175. IEN No. 46                                                          June, 1978
  176.  
  177.  
  178. network, but presumably this is an acceptable inefficiency.  (We will return
  179.  
  180. later to consider what might be done if it is not an acceptable inefficiency.)
  181.  
  182. More generally, this example suggests that the success of deriving routes from
  183.  
  184. addresses depends critically on the way networks are grouped together to form
  185.  
  186. regions.  A region containing two networks, one in California and the other in
  187.  
  188. England, is not structured in such a way that effective routes can be derived
  189.  
  190. from the network address alone.  A naive gateway, routing its packet only to
  191.  
  192. the region without regard to the particular network for which the packet is
  193.  
  194. destined, may discover that the packet has been routed to the wrong side of
  195.  
  196. the world.  In fact, it is probable, in most cases, that regions should be
  197.  
  198. connected.  If not, it may be impossible to get a packet from one part of the
  199.  
  200. region to the other, since the packet will have to leave the region in order
  201.  
  202. to do so and may encounter a gateway which, not understanding anything about
  203.  
  204. the network structure of the region, blindly sends the packet back to the part
  205.  
  206. of the region from which it came.  If, however, the appropriate gateways can
  207.  
  208. be specially trained, there is nothing to prevent a disjoint region, and in
  209.  
  210. particular circumstances it may be quite appropriate.
  211.  
  212.  
  213. 4.   Source Routing
  214.  
  215.      In the previous section, it was shown that an internet address of the
  216.  
  217. form <region, network,...> could be used to derive a default route for a
  218.  
  219. packet, much as a route is now derived by the gateways from the current
  220.  
  221. internetwork address.  Can we presume that this route will always be
  222.  
  223. sufficient, even if it is not optimal?  Unfortunately, in a few cases we
  224.  
  225. cannot.  First, it is easy to imagine circumstances in which the default route
  226.  
  227. is hopelessly inefficient.  A network may be connected by gateways to several
  228.  
  229.  
  230.  
  231.                                       4
  232.  
  233. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  234. IEN No. 46                                                          June, 1978
  235.  
  236.  
  237. regions, even though for addressing purposes it is identified as belonging to
  238.  
  239. one particular region.  To send a packet to that region in order to reach the
  240.  
  241. network may grossly lengthen the path of the packet.  As we said before, this
  242.  
  243. problem can be minimized by proper use of the region mechanism, but we cannot
  244.  
  245. expect the region mechanism to be perfect.  Second, it may be necessary to
  246.  
  247. route a packet in such a way that it explicitly does not go through certain
  248.  
  249. networks.  For example, speech packets may be hopelessly delayed if they
  250.  
  251. inadvertantly travel by a network involving a satellite.  It may be necessary
  252.  
  253. to ensure that speech packets travel by some network with lower bandwidth but
  254.  
  255. better response characteristics.
  256.  
  257.      How can the internet come up with better routing information in those
  258.  
  259. cases where it is required?  In many cases, additional intelligence can be
  260.  
  261. built into the gateways.  What is required is that gateways not immediately
  262.  
  263. adjacent to a region be prepared to understand the network field as well as
  264.  
  265. the region field of packets destined to that region.  This is analogous to
  266.  
  267. something which happened in the telephone system, where a central office
  268.  
  269. originating a phone call will usually examine only the area code in order to
  270.  
  271. generate a route, but may, if it detects a particular area code, then further
  272.  
  273. examine the destinations central office to discover if use of a particular
  274.  
  275. optomized route is applicable.  Building this additional routing knowledge
  276.  
  277. into the gateways is very desirable in general, since it means that it will
  278.  
  279. apply to all packets.  However, we cannot expect all routing information to be
  280.  
  281. embedded in the gateways.  First, in order to solve the problem offered above
  282.  
  283. of properly routing the speech packet, it would be necessary for the gateways
  284.  
  285. to base their routing decisions on type of service information.  This sounds
  286.  
  287. like a rather complex decision for the gateways, especially since type of
  288.  
  289.  
  290.                                       5
  291.  
  292. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  293. IEN No. 46                                                          June, 1978
  294.  
  295.  
  296. service is not well understood.  Second, network topology will change with
  297.  
  298. time, and it is not reasonable to expect that all gateways will be constantly
  299.  
  300. updated.  Thus, we can expect the situation where only the originator of the
  301.  
  302. packet has sufficient information to specify the proper route.
  303.  
  304.      The solution which has been proposed in the past to cope with this is to
  305.  
  306. replace the address in the packet whith a route, called a source route since
  307.  
  308. it is provided by the source of the packet.  The disadvantage of having a
  309.  
  310. route in a packet instead of an address is that the concept of an address is
  311.  
  312. very useful one.  For example, for accounting purposes it may be necessary to
  313.  
  314. note the source and destination of a packet as it passes through a transit
  315.  
  316. net.  Clearly, it is desirable that the source and destination be uniquely
  317.  
  318. identified for this purpose, something not easily done if the source and
  319.  
  320. destination are specified only by a route.  Thus, we propose that the address
  321.  
  322. continue to be the primary piece of information in the packet, but that it be
  323.  
  324. possible to include, in addition, an optional source route.  This new internet
  325.  
  326. option field will, if present, be used by the gateways instead of the default
  327.  
  328. route which would normally be derived from the address.
  329.  
  330.      We do not propose, in this report, a specific syntax for the option
  331.  
  332. field.  However, we make the following general observations.  The source route
  333.  
  334. should be structured in such a way that it need not contain more information
  335.  
  336. than that required to augment the defficiencies in the default route.  Thus,
  337.  
  338. for example, it should be possible to source route a packet into a particular
  339.  
  340. region, then specify that the default route should be used to get from there
  341.  
  342. to some other region, and then specify additional explicit source information.
  343.  
  344. In a later section we propose a particular semantics for source routes.
  345.  
  346.  
  347.  
  348.  
  349.                                       6
  350.  
  351. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  352. IEN No. 46                                                          June, 1978
  353.  
  354.  
  355. 5.  Migration
  356.  
  357.      What is the relationship between the scheme proposed here and the current
  358.  
  359. internet header with a fixed size address field?  Happily, adoption of the
  360.  
  361. addressing strategy involving regions together with the optional internet
  362.  
  363. source route implies no immediate upheaval to packet formats or gateway code.
  364.  
  365. Currently, every network is a region, and every gateway thus contains code for
  366.  
  367. doing inter-region routing.  Eventually, gateways will want to be modified as
  368.  
  369. follows.  When a region finally is defined which contains more than one
  370.  
  371. network, then gateways inside that region will need to understand an
  372.  
  373. additional component of the internet address.  Presumably, since different
  374.  
  375. regions may have a different number of networks, we can expect the size of the
  376.  
  377. network field to differ between regions.  Thus, unless gateway code is
  378.  
  379. rewritten for different regions, it will be necessary to write code which can
  380.  
  381. deal, eventually, with a variable size component of the address.  The address
  382.  
  383. itself, however, can reasonably be a fixed size, since it is merely an address
  384.  
  385. and not a route.  In fact, it seems that the field as specified for the
  386.  
  387. current internet header is sufficient in size, although perhaps marginally so.
  388.  
  389. Given that certain implementations of this header already exist, I would
  390.  
  391. suggest that the correct field size in 3.1 be accepted unless strong
  392.  
  393. complaints are heard from someone in the near future.
  394.  
  395.      The next step in adopting this scheme, after the gateways have learned
  396.  
  397. that for certain regions they must also look at some additional address bits,
  398.  
  399. is to arrange that gateways selectively use this additional information, even
  400.  
  401. when it is for a region for which they are not immediately adjacent.  This
  402.  
  403. facility, discussed above, can be used to provide more efficient routing than
  404.  
  405. the default which would otherwise result from simplistic use of the address
  406.  
  407.  
  408.                                       7
  409.  
  410. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  411. IEN No. 46                                                          June, 1978
  412.  
  413.  
  414. information.  The technical problem here is not implementation of additional
  415.  
  416. gateway code for address manipulation, but rather the development of proper
  417.  
  418. policies for dissemination of routing information so that the appropriate
  419.  
  420. gateways are correctly informed of the routing decisions to make.
  421.  
  422.      The third and final step in adoption of this scheme is the implementation
  423.  
  424. in the gateways and hosts of the new internet option which specifies explicit
  425.  
  426. source routes.  Presumably, the general mechanism for dealing with internet
  427.  
  428. option fields will already exist, so this is not a major upheaval of the code
  429.  
  430. which parses an internet header.  The only issue related to parsing is that,
  431.  
  432. as the packet flows from gateway to gateway the source route will need to be
  433.  
  434. modified to indicate which portion has already been used.  This can either be
  435.  
  436. done by physically rewriting the route into the option field, or by providing
  437.  
  438. a pointer into the field as part of the option.  The pointer field has the
  439.  
  440. advantage that it does not destroy the route, so that it can be used to
  441.  
  442. backtrack to the source, which is an important feature.
  443.  
  444.     There are two reasons why it is desirable to be able to use a source route
  445.  
  446. in reverse.  First, the recipient of the packet may have no idea how to get
  447.  
  448. back to the source.  Second, and more relevant, if the route has been formed
  449.  
  450. incorrectly, a gateway may receive a packet and have no idea how to forward
  451.  
  452. it, because the next component of the route is nonsense.  If that intermediate
  453.  
  454. gateway cannot figure out how to get an error message back to the originating
  455.  
  456. host, packets sent with malformed routes will appear to fall into black holes.
  457.  
  458. It is very difficult to debug systems with black holes.  Thus, reversability
  459.  
  460. of routes is very important.
  461.  
  462.      The need for modification implies the option should not be checksummed as
  463.  
  464. part of an end-to-end checksum.  The packet will also contain an address which
  465.  
  466.  
  467.                                       8
  468.  
  469. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  470. IEN No. 46                                                          June, 1978
  471.  
  472.  
  473. can be used by the eventual recipient to confirm that the packet is indeed
  474.  
  475. destined for him.  The address field can be checksummed, and under certain
  476.  
  477. circumstances even encrypted.
  478.  
  479.  
  480. 6.   Semantics of Source Routes
  481.  
  482.      We view the internet as being composed of three physical entities:
  483.  
  484. networks, gateways, and hosts, and one logical entity, a region, which is an
  485.  
  486. aggregate of networks.  The default route algorithm examines the region and,
  487.  
  488. optionally, the network within this region, and selects from a table the
  489.  
  490. appropriate network and gateway on that network to which to send the packet.
  491.  
  492. Thus, if the route followed by a packet were written out in advance, it would
  493.  
  494. be an alternating concatination of network names and gateway names, finally
  495.  
  496. terminating with a network name followed by a host name.  For symmetry, one
  497.  
  498. should also precede the source route with the name of the originating host, to
  499.  
  500. allow the route to be used in reverse.  Thus, an initial structure for
  501.  
  502. internet source routes might look as follows:
  503.  
  504.  
  505.           H,N,G,N,G,N,G,N,...,G,N,H
  506.  
  507.           where H is a host identifier,
  508.  
  509.           N is a network identifier,
  510.  
  511.           G is a gateway identifier.
  512.  
  513. Each gateway, on receiving this route, finds his position in the route using
  514.  
  515. the pointer into the route, updates the pointer to indicate the next gateway
  516.  
  517. which is to receive the packet, and then routes the packet through the
  518.  
  519. specified network to the next gateway.
  520.  
  521.      The source route as shown above always specifies the complete route.  For
  522.  
  523. many cases this degree of specificity is not necessary.  For example, once a
  524.  
  525.  
  526.                                       9
  527.  
  528. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  529. IEN No. 46                                                          June, 1978
  530.  
  531.  
  532. packet has been routed part of its way, the default route may then be
  533.  
  534. effective.  This generalization means that instead of specifying the
  535.  
  536. particular network which is used as we pass from one gateway to the next, a
  537.  
  538. default route can be used between two particular points in the route.  Thus,
  539.  
  540. we propose a more general form of a source route, as follows:
  541.  
  542.  
  543.           <source route>:=<source><step>...<destination>
  544.  
  545.  
  546.      The source route takes the packet from the source to a sequence of
  547.  
  548. gateways to the destination.  The progress from each of these specified points
  549.  
  550. to the next is a step.
  551.  
  552.  
  553.           <step>:=<explicit route step>|<default route step>
  554.  
  555.           <explicit route step>:= RNG
  556.  
  557.  
  558.      If we are concerned with the exact route between one gateway and the
  559.  
  560. next, we specify the step in this form, naming the particular network that is
  561.  
  562. to be used.  A sequence of explicit route steps can thus connect two gateways
  563.  
  564. not immediately adjacent.
  565.  
  566.  
  567.           <default route step>:=<starting net><ending net>G
  568.  
  569.           <starting net>,<ending net>:= RN
  570.  
  571.  
  572.      If the particular route to the next specified point is not critical, then
  573.  
  574. the default route step is used.  The originating gateway will generate a route
  575.  
  576. to the network addressed by <ending net>.  That net may be any distance away
  577.  
  578. in the internet; intermediate gateways in this step will again generate the
  579.  
  580. default route from <ending net> until the specified gateway G is reached,
  581.  
  582. which will end the step.  <starting net> is required so that the route can be
  583.  
  584.  
  585.                                       10
  586.  
  587. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  588. IEN No. 46                                                          June, 1978
  589.  
  590.  
  591. used in reverse.  It must specify the network address of the gateway,
  592.  
  593. originating this step.
  594.  
  595.  
  596.           <destination>:= RNH|RNRNH
  597.  
  598.  
  599.      The destination is in fact the final step and as such can be either
  600.  
  601. explicit or default.  Thus it has two forms, with the interpretation of the
  602.  
  603. step with the equivalent form.
  604.  
  605.      Note that while the string representing the source route is generated as
  606.  
  607. a sequence of "forward" steps, there is another grammar that generates the
  608.  
  609. same strings as a sequence of "reverse" steps.  Also, in the <explicit route
  610.  
  611. step>, the intervening network is identified using a full network address,
  612.  
  613. including the region.  In fact, any shorthand network identifier can be used,
  614.  
  615. so long as it is unambiguously interpretable by the gateway at each end of the
  616.  
  617. step.
  618.  
  619.  
  620. 7.   Uniqueness of Names
  621.  
  622.      Hosts will often be attached to more than one network.  Thus, hosts may
  623.  
  624. have more than one internet address.  As long as the only routing algorithm is
  625.  
  626. default routes based on addresses, there will be a strong desire to use these
  627.  
  628. additional names to generate better routes.  While this is fine in the short
  629.  
  630. run, functions such as accounting will be easier to implement if hosts have a
  631.  
  632. single unique address.  To this end, when the route option is implemented we
  633.  
  634. expect that it will be appropriate to address a host in only one way, and
  635.  
  636. specify a route additionally.
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.                                       11
  645.  
  646. Internet Notebook Section 2.3.3.15                                Clark, Cohen
  647. IEN No. 46                                                          June, 1978
  648.  
  649.  
  650. REFERENCES:
  651.  
  652.  
  653.    (1)  Shoch, J.F., "A Note on Inter-Networking Naming, Addressing, and
  654.         Routing," Xerox Palo Alto Research Center, Palo Alto, California,
  655.         INTERNET Notebook, Note No. 19, Section 2.3.3.5, January 1978.
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.                                       12
  704.