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

  1.  
  2.  
  3. IEN 48
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                       THE CATENET MODEL FOR
  15.                          INTERNETWORKING
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                            Vint  Cerf
  23.                            DARPA/IPTO
  24.  
  25.  
  26.  
  27.  
  28.  
  29.                             July 1978
  30.  
  31.  
  32.  
  33.               The Catenet Model for Internetworking
  34.  
  35. Introduction
  36.  
  37. The term "catenet" was introduced by L. Pouzin in 1974 in his
  38. early paper on packet network interconnection [1].  The U.S.
  39. DARPA research project on this subject has adopted the term to
  40. mean roughly "the collection of packet networks which are
  41. connected together."  This is, however, not a sufficiently
  42. explicit definition to determine, for instance, whether a new
  43. network is in conformance with the rules for network
  44. interconnection which make the catenet function as confederation
  45. of co-operating networks.  This paper attempts to define the
  46. objectives and limitations of the ARPA-internetworking project
  47. and to make explicit the catenet model on which the
  48. internetworking strategy is based.
  49.  
  50. Objectives
  51.  
  52. The basic objective of this project is to establish a model and a
  53. set of rules which will allow data networks of widely varying
  54. internal operation to be interconnected, permitting users to
  55. access remote resources and to permit intercomputer communication
  56. across the connected networks.
  57.  
  58. One motivation for this objective is to permit the internal
  59. technology of a data network to be optimized for local operation
  60. but also permit these locally optimized nets to be readily
  61. interconnected into an organized catenet.  The term "local" is
  62. used in a loose sense, here, since it means "peculiar to the
  63. particular network" rather than "a network of limited geographic
  64. extent."  A satellite-based network such as the ARPA packet
  65. satellite network therefore has "local" characteristics (e.g.,
  66. broadcast operation) even though it spans many thousands of
  67. square miles geographically speaking.
  68.  
  69. A second motivation is to allow new networking technology to be
  70. introduced into the existing catenet while remaining functionally
  71. compatible with existing systems.  This allows for the phased
  72. introduction of new and obsolescence of old networks without
  73. requiring a global simultaneous change.
  74.  
  75. Assumptions
  76.  
  77. One of the first questions which must be settled in a project of
  78. this sort is "what types of data networks should be included in
  79. the catenet model?"  The answer to this question is rooted in the
  80. basic functionality of each candidate network.  Each network is
  81. assumed to support the attachment of a collection of programmable
  82. computers.  Our essential assumption is that any participating
  83. data network can carry a datagram containing no less than 1000
  84.  
  85.  
  86.                                 1
  87.  
  88.  
  89.  
  90. bits of data not including a local network header containing
  91. local control information.  Furthermore, it is assumed that the
  92. participating network allows switched access so that any source
  93. computer can quickly enter datagrams for successive and different
  94. destination computers with little or no delay (i.e., on the order
  95. of tens of milliseconds or less switching time).
  96.  
  97. Under these assumptions, we can readily include networks which
  98. offer "datagram" interfaces to subscribing host computers.  That
  99. is, the switching is done by the network based on a destination
  100. address contained in each datagram passing across the host to
  101. network interface.
  102.  
  103. The assumptions do not rule our virtual circuit interface
  104. networks, nor do they rule out very fast digital circuit
  105. switching networks.  In these cases, the important functionality
  106. is still that a datagram can be carried over a real or virtual
  107. circuit from source to destination computer, and that the
  108. switching delay is below a few tens of milliseconds.
  109.  
  110. An important administrative assumption is that the format of an
  111. internet datagram can be commonly agreed, along with a common
  112. internet addressing plan.  The basic assumption regarding
  113. datagram transport within any particular network is that the
  114. datagram will be carried, embedded in one or more packets, or
  115. frames, across the network.  If fragmentation and reassembly of
  116. datagrams occurs within a network it is invisible for purposes of
  117. the catenet model.  Provision is also made in the datagram format
  118. for the fragmentation of datagrams into smaller, but identically
  119. structured datagrams which can be carried independently across
  120. any particular network.  No a priori position is taken regarding
  121. the choice between internal (invisible) fragmentation and
  122. reassembly or external (visible) fragmentation.  This is left to
  123. each network to decide.  We will return to the topic of datagram
  124. format and addressing later.
  125.  
  126. It is very important to note that it is explicitly assumed that
  127. datagrams are not necessarily kept in the same sequence on
  128. exiting a network as when they entered.  Furthermore, it is
  129. assumed that datagrams may be lost or even duplicated within the
  130. network.  It is left up to higher level protocols in the catenet
  131. model to recover from any problems these assumptions may
  132. introduce.  These assumptions do not rule out data networks which
  133. happen to keep datagrams in sequence.
  134.  
  135. It is also assumed that networks are interconnected to each other
  136. by means of a logical "gateway."  As the definition of the
  137. gateway concept unfolds, we will see that certain types of
  138. network interconnections are "invisible" with respect to the
  139. catenet model.  All gateways which are visible to the catenet
  140. model have the characteristic that they can interpret the address
  141.  
  142.  
  143.                                 2
  144.  
  145.  
  146.  
  147. fields of internet datagrams so as to route them to other
  148. gateways or to destinations within the networks directly attached
  149. to (or associated with) the gateway.  To send a datagram to a
  150. destination, a gateway may have to map an internet address into a
  151. local network address and embed the datagram in one or more local
  152. network packets before injecting it into the local network for
  153. transport.
  154.  
  155. The set of catenet gateways are assumed to exchange with each
  156. other at least a certain minimum amount of information to enable
  157. routing decisions to be made, to isolate failures and identify
  158. errors, and to exercise internet flow and congestion control.
  159. Furthermore, it is assumed that each catenet gateway can report a
  160. certain minimum amount of status information to an internetwork
  161. monitoring center for the purpose of identifying and isolating
  162. catenet failures, collecting minimal performance statistics and
  163. so on.
  164.  
  165. A subset of catenet gateways may provide access control
  166. enforcement services.  It is assumed that a common access control
  167. enforcement mechanism is present in any catenet gateway which
  168. provides this service.  This does not rule out local access
  169. control imposed by a particular network.  But to provide globally
  170. consistent access control, commonality of mechanism is essential.
  171.  
  172. Access control is defined, at the catenet gateway, to mean
  173. "permitting traffic to enter or leave a particular network."  The
  174. criteria by which entrance and exit permission are decided are
  175. the responsibility of network "access controllers" which
  176. establish access control policy.  it is assumed that catenet
  177. gateways simply enforce the policy of the access controllers.
  178.  
  179. The Catenet Model
  180.  
  181. It is now possible to offer a basic catenet model of operation.
  182. Figure 1 illustrates the main components of the model.  Hosts are
  183. computers which are attached to data networks.  The host/network
  184. interfaces are assumed to be unique to each network.  Thus, no
  185. assumptions about common network interfaces are made.  A host may
  186. be connected to more than one network and it may have more than
  187. one connection to the same network, for reliability.
  188.  
  189. Gateways are shown as if they were composed of two or more
  190. "halves."  Each half-gateway has two interfaces:
  191.  
  192.    1.  A interface to a local network.
  193.  
  194.    2.  An interface to another gateway-half.
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                                 3
  201.  
  202.  
  203.  
  204. One example is given of a gateway with three "halves" connecting
  205. networks A, B, and C.  For modelling purposes, it is appropriate
  206. to treat this case as three pairs of gateway halves, each pair
  207. bilaterally joining a pair of networks.
  208.  
  209. The model does not rule out the implementation of monolithic
  210. gateways joining two or more nets, but all gateway functions and
  211. interactions are defined as if the gateways consisted of halves,
  212. each of which is associated with a specific network.
  213.  
  214. A very important aspect of this model is that no a priori
  215. distinction is made between a host/network interface and a
  216. gateway/network interface.  Such distinctions are not ruled out,
  217. but they are not relevant to the basic catenet model.
  218.  
  219. As a consequence, the difference between a host which is
  220. connected to two networks and a monolithic gateway between
  221. networks is entirely a matter of whether table entries in other
  222. gateways identify the host as a gateway, and whether the standard
  223. gateway functionality exists in the host.  If no other gateway or
  224. host recognizes the dual net host as a gateway or if the host
  225. cannot pass datagrams transparently from one net to the next,
  226. then it is not considered a catenet gateway.
  227.  
  228. The model does not rule out the possibility of implementing a
  229. gateway-half entirely as part of a network switching node (e.g.,
  230. as software in an ARPANET IMP).  The important aspect of
  231. gateway-halves is the procedure and protocol by which the
  232. half-gateways exchange datagrams and control information.
  233.  
  234. The physical interface between directly connected gateway halves
  235. is of no special importance.  For monolithic gateways, it is
  236. typically shared memory or an interprocess communication
  237. mechanism of some kind; for distinct gateway halves, it might be
  238. HDLC, VDH, any other line control procedure, or inter-computer
  239. buss mechanism.
  240.  
  241. Hidden Gateways
  242.  
  243. No explicit network hierarchy is assumed in this model.  Every
  244. network is known to all catenet gateways and each catenet gateway
  245. knows how to route internet datagrams so they will eventually
  246. reach a gateway connected to the destination network.
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.                                 4
  258.  
  259.  
  260.  
  261. The absence of an explicit hierarchical structure means that some
  262. network substructures may be hidden from the view of the catenet
  263. gateways.  If a network is composed of a hierarchy of internal
  264. networks connected together with gateways, these  "hidden
  265. gateways" will not be visible to the catenet gateways unless the
  266. internal networks are assigned global network addresses and their
  267. interconnecting gateways co-operate in the global routing and
  268. network flow control procedures.
  269.  
  270. Figure 2 illustrates a simple network hierarchy.  For purposes
  271. of, identification, the three catenet gateways have been labelled
  272. G(AX), G(BX) and G(CX) to indicate that these gateways join
  273. networks A and X, B and X and C and X, respectively.  Only G(AX),
  274. G(BX) , and G(CX) are considered catenet gateways.  Thus they
  275. each are aware of networks A, B, C and X and they each exchange
  276. routing and flow-control information in a uniform way between
  277. directly connected halves.
  278.  
  279. Network X is composed of three internal networks labelled u, v
  280. and w.  To distinguish them from the catenet gateways, the
  281. "hidden gateways" of net X are labelled HG(nm) where "nm"
  282. indicate which nets the hidden gateways join.  For example,
  283. HG(vw) joins nets v and w.  The notation for HG is symmetric,
  284. i.e., HG(vw)=HG(wv).
  285.  
  286. Gateways G(AX), G(BX), G(CX) exchange connectivity and other flow
  287. control information among themselves, via network X.  To do this,
  288. each gateway half must know an address, local to network X, which
  289. will allow network X to route datagrams from G(AX) to G(BX), for
  290. example.
  291.  
  292. From the figure, it is plain that G(BX) is really a host on
  293. network B and network v.  But network v is not one of the
  294. globally recognized networks.  Furthermore, traffic from G(AX) to
  295. G(BX) may travel from net u to net v or via nets u and w to net
  296. v.  To maintain the fiction of a uniform network X, the gateway
  297. halves of G(AX), G(BX) and G(CX) attached to net X must be aware
  298. of the appropriate address strings to use to cause traffic to be
  299. routed to each catenet gateway on net X.  In the next section, we
  300. outline a basic internet addressing philosophy which permits such
  301. configurations to work.
  302.  
  303. Local Gateways
  304.  
  305. Another element of the catenet model is a "local gateway"
  306. associated with each host.  The local gateway is capable of
  307. reassembling fragmented internet datagrams, if necessary, and is
  308. responsible for encapsulation of internet datagrams in local
  309. network packets.  The local gateway also selects internet
  310. gateways through which to route internet traffic, and responds to
  311.  
  312.  
  313.  
  314.                                 5
  315.  
  316.  
  317.  
  318. routing and flow control advice from the local network and
  319. attached catenet gateways.
  320.  
  321. For example, a local gateway might encapsulate and send an
  322. internet datagram to a particular gateway on its way to a distant
  323. network.  The catenet gateway might forward the packet to another
  324. gateway and send an advisory message to the local gateway
  325. recommending a change in its catenet gateway routing table.
  326. Local gateways do not participate in the general routing
  327. algorithm executed among the catenet gateways.
  328.  
  329. Internet Addressing
  330.  
  331. The basic internet datagram format is shown in Figure 3.  By
  332. assumption, every network in the catenet which is recognized by
  333. the catenet gateways has a unique network number.  Every host in
  334. each network is identified by a 24 bit address which is prefixed
  335. by the network number.  The same host may have several addresses
  336. depending on how many nets it is connected to or how many network
  337. access lines connect it to a particular network.
  338.  
  339. For the present, it is assumed that internet addresses have the
  340. form:  Net.Host. "Net" is an 8 bit network number.  "Host" is a
  341. 24 bit string identifying a host on the "Net," which can be
  342. understood by catenet and possibly hidden gateways.
  343.  
  344. The catenet gateways maintain tables which allow internet
  345. addresses to be mapped into local net addresses.  Local gateways
  346. do likewise, at least to the extent of mapping an
  347. "out-of-network" address into the local net address of a catenet
  348. gateway.
  349.  
  350. In general, catenet gateways maintain a table entry for each
  351. "Net" which indicates to which gateway(s) datagrams destined for
  352. that net should be sent.  For each "Net" to which the gateway is
  353. attached, the gateway maintains tables, if necessary, to permit
  354. mapping from internet host addresses to local net host addresses.
  355. The typical case is that a gateway half is connected to only one
  356. network and therefore only needs to maintain local address
  357. information for a single network.
  358.  
  359. It is assumed that each network has its own locally specific
  360. addressing conventions.  To simplify the translation from
  361. internet address to local address, it is advantageous, if
  362. possible, to simply concatenate a network identifier with the
  363. local "host" addresses to create an internet address.  This
  364. strategy makes it potentially trivial to translate from internet
  365. to local net addresses.
  366.  
  367.  
  368.  
  369.  
  370.  
  371.                                 6
  372.  
  373.  
  374.  
  375. More elaborate translations are possible.  For example, in the
  376. case of a network with a "hidden" infrastructure, the "host"
  377. portion of the internet address could include additional
  378. structure which is understood only by catenet or hidden gateways
  379. attached to that net.
  380.  
  381. In order to limit the overhead of address fields in the header,
  382. it was decided to restrict the maximum length of the host portion
  383. of the internet address to 24 bits.  The possibility of true,
  384. variable-length addressing was seriously considered.  At one
  385. point, it appeared that addresses might be as long as 120 bits
  386. each for source and destination.  The overhead in the higher
  387. level protocols for maintaining tables capable of dealing with
  388. the maximum possible address sizes was considered excessive.
  389.  
  390. For all the networks presently expected to be a part of the
  391. experiment, 24 bit host addresses are sufficient, even in cases
  392. where a transformation other than the trivial concatenation of
  393. local host address with network address is needed to form the 32
  394. bit internet host address.
  395.  
  396. One of the major arguments in favor of variable length
  397. "addressing" is to support what is called "source-routing."  The
  398. structure of the information in the "address" really identifies a
  399. route (e.g., through a particular sequence of networks and
  400. gateways).  Such a capability could support ad hoc network
  401. interconnections in which a host on two nets could serve as a
  402. private gateway.  Though it would not participate in catenet
  403. routing or flow control procedures, any host which knows of this
  404. private gateway could send "source-routed" internet datagrams to
  405. that host.
  406.  
  407. To support experiments with source routing, the internet datagram
  408. includes a special option which allows a source to specify a
  409. route.  The option format is illustrated in Figure 4.  The option
  410. code identifies the option and the length determines its extent.
  411. The pointer field indicates which intermediate destination
  412. address should be reached next in the source-selected route.
  413.  
  414. Source routing can be used to allow ad hoc network
  415. interconnections to occur before a new net has been assigned a
  416. global network identifier.
  417.  
  418. In general, catenet gateways can only interpret internet
  419. addresses of the form Net.Host.  Private gateways could interpret
  420. other, local addresses for desired destinations.  If a source
  421. knew the local addresses of each intermediate private gateway, it
  422. could construct a source-route which is the concatenation of the
  423. local addresses of each intermediate host.
  424.  
  425.  
  426.  
  427.  
  428.                                 7
  429.  
  430.  
  431.  
  432. Local and internet addresses could be inter-mixed in a single
  433. source route as long as catenet gateways only had to interpret
  434. full internet addresses when the source-routed datagram appeared
  435. for servicing.  Private gateways could interpret local and
  436. internet addresses, as desired.
  437.  
  438. Since the source or destination of a source-routed datagram may
  439. not have an internet address, it may be necessary to provide a
  440. return route for replies.  This might be done by modifying the
  441. content of the original route to contain "back Pointer" to
  442. intermediate destinations.  Note that the local address of a
  443. private gateway in one network is usually different from its
  444. local address in the adjacent network.
  445.  
  446. Typically, a source would create a route which contains first the
  447. internet address of the host or gateway nearest to the desired
  448. destination.  The next address in the route would be the local
  449. address of the destination.  Figure 5 illustrates this notion.
  450. Host A.a wants to communicate with host Z.  But Z is not attached
  451. to a formally recognized network.
  452.  
  453. To achieve its goal, host A.a can emit source-routed packets with
  454. the route:  "B.y, Z." B.y identifies the host (private gateway)
  455. between net B and the new network as the first intermediate stop.
  456. The private gateway uses the "Z" information to deliver the
  457. datagram to the destination.  When the datagram arrives, its
  458. route should contain "y,A.a" if the private gateway knows how to
  459. interpret A.a or "y, W, A.a" if the private gateway only knows
  460. about addresses local to network B.
  461.  
  462. Other Issues
  463.  
  464. The catenet model should provide for error messages originating
  465. within a network to be carried usefully back to the source.  A
  466. global encoding of error messages or status messages is needed.
  467.  
  468. It is assumed that the gateway halves of a given network have a
  469. common status reporting, flow and congestion control mechanism.
  470. However, the halves on different nets may operate differently.
  471. There should be a defined interface between gateway halves which
  472. permits internet flow, congestion and error control to be
  473. exercised.
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.                                 8
  486.  
  487.  
  488.  
  489. A gateway monitoring center [3] is postulated which can collect,
  490. correlate and display current gateway status.  Such a center
  491. should not be required for the internet protocols to function,
  492. but could be used to manage an internet environment.
  493.  
  494. Accounting, accountability and access control procedures should
  495. be defined for the global catenet.
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.                                 9
  543.  
  544.  
  545.  
  546. References
  547.  
  548. 1.  Pouzin, L., "A Proposal for Interconnecting Packet Switching
  549. Networks," Proceedings of EUROCOMP, Bronel University, May 1974,
  550. pp. 1023-36.
  551.  
  552. 2.  Postel, J. "Internetwork Datagram Protocol Specification,"
  553. Version 4, Internetwork Experiment Note No. 41, Section 2.3.2.1,
  554. Internet Experiment Notebook, June 1978.
  555.  
  556. 3.  Davidson, John, "CATENET MONITORING AND CONTROL:  A model for
  557. the Gateway Component," IEN #32, Section 2.3.3.12, Internet
  558. Notebook, April 1978.
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565. NOTE:  The figures are not included in the online version.  They
  566. may be obtained from:
  567.  
  568.    Jon Postel
  569.    USC - Information Sciences Institute
  570.    Suite 1100
  571.    4676 Admiraly Way
  572.    Marina del Rey, California  90291
  573.  
  574.    Phone:  (213) 822-1511
  575.  
  576.    ARPANET Mailbox:  POSTEL@ISIF
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.                                10
  600.  
  601.