home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / dcom / isdn / 1018 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  58.4 KB

  1. Path: sparky!uunet!pipex!bnr.co.uk!uknet!edcastle!spider!raft.spider.co.uk!gerry
  2. From: gerry@spider.co.uk (Gerry Meyer)
  3. Newsgroups: comp.dcom.isdn
  4. Subject: Internet Draft-Routing over Demand Circuits - RIP
  5. Message-ID: <1992Dec21.130326.28020@spider.co.uk>
  6. Date: 21 Dec 92 13:03:26 GMT
  7. Sender: news@spider.co.uk (USENET News System)
  8. Organization: Spider Systems Limited, Edinburgh, UK
  9. Lines: 1686
  10. Nntp-Posting-Host: orbweb.spider.co.uk
  11.  
  12.  
  13. Through Spider System's experiences of producing routers for the European
  14. Wide Area Network market we have found the impracticality of running
  15. standard routing protocols on X.25 PDN's and ISDN networks.
  16.  
  17. Hence the following Internet Draft proposing a modification to RIP...
  18.  
  19. ------------------------------------------------------------------------
  20.  
  21. Network Working Group                                         G.M. Meyer
  22. Internet Draft                                            Spider Systems
  23. Expires May 14, 1993                                       November 1992
  24.  
  25.  
  26.         Routing over Demand Circuits on Wide Area Networks - RIP
  27.  
  28.  
  29. Status of this Memo
  30.  
  31.    This memo is being distributed to members of the Internet community
  32.    in order to solicit their reactions to the proposals contained in it.
  33.  
  34.    This document is an Internet Draft.  Internet Drafts are working
  35.    documents of the Internet Engineering Task Force (IETF), its Areas,
  36.    and its Working Groups.  Note that other groups may also distribute
  37.    working documents as Internet Drafts.  Internet Drafts are draft
  38.    documents valid for a maximum of six months.  Internet Drafts may be
  39.    updated, replaced, or obsoleted by other documents at any time.  It
  40.    is not appropriate to use Internet Drafts as reference material or to
  41.    cite them other than as a ``working draft'' or ``work in progress.''
  42.    Please check the 1id-abstracts.txt listing contained in the
  43.    internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
  44.    nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
  45.    current status of any Internet Draft.
  46.  
  47.    Distribution of this memo is unlimited.
  48.  
  49. Abstract
  50.  
  51.    Running routing protocols on connection oriented Public Data
  52.    Networks, for example X.25 packet switched networks or ISDN, can be
  53.    expensive if the standard form of periodic broadcasting of routing
  54.    information is adhered to.  The high cost arises because a connection
  55.    must to all practical intents and purposes be kept open to every
  56.    destination to which routing information is to be sent, whether or
  57.    not it is being used to carry user data.
  58.  
  59.    Routing information may also fail to be propagated if the number of
  60.    destinations to which the routing information is to be sent exceeds
  61.    the number of channels available to the router on the Wide Area
  62.    Network (WAN).
  63.  
  64.    This memo defines a generalized modification which can be applied to
  65.    Bellman-Ford (or distance vector) algorithm information broadcasting
  66.    protocols, for example IP RIP, Netware RIP or Netware SAP, which
  67.    overcomes the limitations of the traditional methods described above.
  68.    The routing protocols support a purely triggered update mechanism on
  69.  
  70.  
  71.  
  72. Meyer                                                           [Page 1]
  73.  
  74. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  75.  
  76.  
  77.    demand circuits on WANs.  The protocols run UNMODIFIED on LANs or
  78.    fixed point-to-point links.
  79.  
  80.    Routing information is sent on the WAN when the routing database is
  81.    modified by new routing information received from another interface.
  82.    When this happens a (triggered) update is sent to a list of
  83.    destinations on other WAN interfaces.  Because routing protocols are
  84.    datagram based they are not guaranteed to be received by the peer
  85.    router on the WAN.  An acknowledgement and retransmission mechanism
  86.    is provided to ensure that routing updates are received.
  87.  
  88.    To avoid unnecessary load when a connection to a destination is not
  89.    currently available (possibly because of channel starvation) the
  90.    circuit manager advises the routing applications on the reachability
  91.    and non-reachability of destinations on the WAN.
  92.  
  93. Acknowledgements
  94.  
  95.    I would like to thank colleagues at Spider, in particular Tom Daniel
  96.    and Richard Edmonstone, for discussions and comments which helped to
  97.    clarify this memo.
  98.  
  99. Conventions
  100.  
  101.    The following language conventions are used in the items of
  102.    specification in this document:
  103.  
  104.    o  MUST -- the item is an absolute requirement of the specification.
  105.       MUST is only used where it is actually required for interopera-
  106.       tion, not to try to impose a particular method on implementors
  107.       where not required for interoperability.
  108.  
  109.    o  SHOULD -- the item should be followed for all but exceptional cir-
  110.       cumstances.
  111.  
  112.    o  MAY or optional -- the item is truly optional and may be followed
  113.       or ignored according to the needs of the implementor.
  114.  
  115.       The words "should" and "may" are also used, in lower case, in
  116.       their more ordinary senses.
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128. Meyer                                                           [Page 2]
  129.  
  130. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  131.  
  132.  
  133.  
  134.                           Table of Contents
  135.  
  136.       1. Introduction ...........................................  4
  137.  
  138.       2. Running a routing Protocol on the WAN ..................  6
  139.           2.1. Overview .........................................  6
  140.           2.2. Presumption of Reachability ......................  8
  141.           2.3. WAN Router list ..................................  8
  142.           2.4. Triggered Updates and Unreliable Delivery ........  9
  143.           2.5. Guaranteeing delivery of Routing Updates .........  9
  144.           2.6. The Routing Database ............................. 10
  145.           2.7. New Packet Types ................................. 11
  146.           2.8. Fragmentation .................................... 12
  147.           2.9. Preventing Queue Overload ........................ 13
  148.  
  149.       3. IP Routing Information Protocol Version 1 .............. 14
  150.  
  151.       4. IP Routing Information Protocol Version 2 .............. 17
  152.  
  153.       5. Netware Routing Information Protocol ................... 18
  154.  
  155.       6. Netware Service Advertising Protocol ................... 22
  156.  
  157.       7. Timers ................................................. 26
  158.           7.1. Database Timer ................................... 26
  159.           7.2. Retransmission Timer ............................. 27
  160.           7.3. Reassembly Timer ................................. 27
  161.  
  162.       8. Security Considerations ................................ 28
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184. Meyer                                                           [Page 3]
  185.  
  186. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  187.  
  188.  
  189. 1. Introduction
  190.  
  191.    Routers are used on connection oriented networks, such as X.25 packet
  192.    switched networks and ISDN networks, to allow potential connectivity
  193.    to a large number of remote destinations.  Circuits on the Wide Area
  194.    Network (WAN) are established on demand and are relinquished when the
  195.    traffic subsides.  Depending on the application, the connection
  196.    between any two sites for user data might actually be short and rela-
  197.    tively infrequent.
  198.  
  199.    Practical experience of routing shows that periodic 'broadcasting' of
  200.    routing updates on the WAN is unsatisfactory on several counts:
  201.  
  202.    o  Running a routing protocol like RIP is expensive if the standard
  203.       form of transmitting routing information to EVERY remote router
  204.       every 30 seconds is adhered to.  The more routers there are wish-
  205.       ing to exchange information the worse the problem.  If there are N
  206.       routers on the WAN, N * (N - 1) routing updates are sent over N *
  207.       (N - 1)/2 connections every broadcast period.
  208.  
  209.       The cost arises because a circuit must be kept open to each desti-
  210.       nation to which routing information is to be sent.  Routing
  211.       updates are sufficiently frequent, that little benefit is obtain-
  212.       able on most networks, by attempting to set up a call purely for
  213.       the duration of the routing update (there are often minimum call
  214.       charges, where the first data is 'free').
  215.  
  216.       The option of reducing the 'broadcast' frequency, while reducing
  217.       the cost, would make the system less responsive.
  218.  
  219.    o  The number of networks to be connected (N) on the WAN can easily
  220.       exceed the number of simultaneous calls (M) which the interface
  221.       can support.  If this happens the routing 'broadcast' will only
  222.       reach M next hop routers, and (N - M) next hop routers will not
  223.       receive the routing update.
  224.  
  225.       A basic rate ISDN interface can support 2 simultaneous calls, and
  226.       even the number of logical channels most users subscribe to on an
  227.       X.25 network is not large.  There is no fundamental reason why
  228.       routing protocols should restrict the user to run routing between
  229.       so few sites.
  230.  
  231.    o  Since there is no broadcast facility on the WAN, 'broadcasting' of
  232.       routing information actually consists of sending the updates
  233.       separately to all known locations.  This means that N routing
  234.       updates are queued for transmission on the WAN link (in addition
  235.       to any data which might be queued).
  236.  
  237.  
  238.  
  239.  
  240. Meyer                                                           [Page 4]
  241.  
  242. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  243.  
  244.  
  245.       Routers take a pragmatic view on queuing datagrams for the WAN.
  246.       If the queue length gets too long, so that datagrams at the end of
  247.       the queue would take too long be transmitted in a reasonable time
  248.       (say 1 to 2 seconds) the router may start discarding them.  On an
  249.       X.25 network, with slow line speeds (perhaps 9600 baud), it may
  250.       not take too many routing updates to fulfill this condition if the
  251.       link is also actively being used to carry user data.
  252.  
  253.    This memo addresses all the above problems.
  254.  
  255.    The approach taken is to modify the routing protocols so as to send
  256.    information on the WAN only when there has been an update to the
  257.    routing database OR a change in the reachability of the remote desti-
  258.    nation is indicated by the task which manages connections on the WAN.
  259.  
  260.    Because datagrams are not guaranteed to get through, an acknowledge-
  261.    ment and retransmission system is required.  This memo describes the
  262.    modifications required for Bellman-Ford (or distance vector) algo-
  263.    rithm information broadcasting protocols, such as IP RIP [1,2],
  264.    Netware RIP [3,5] or Netware SAP [3,6].
  265.  
  266.    A separate working draft will cover modifications to shortest path
  267.    algorithm protocols such as OSPF [8] and IS-IS [9,10] to support the
  268.    triggered update mechanism.
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296. Meyer                                                           [Page 5]
  297.  
  298. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  299.  
  300.  
  301. 2. Running Routing Protocols on the WAN
  302.  
  303. 2.1 Overview
  304.  
  305.    Multiprotocol routers are used on connection oriented Wide Area Net-
  306.    works (WANs), such as X.25 packet switched networks and ISDN net-
  307.    works, to interconnect Local Area Networks (LANs).  By using the mul-
  308.    tiplexing properties of the underlying WAN technology, several LANs
  309.    can be interconnected simultaneously through a single physical inter-
  310.    face on the router.
  311.  
  312.    A circuit manager provides an interface between the connectionless
  313.    network layers (IP, IPX, CLNP etc) and the connection oriented WAN
  314.    (X.25 or ISDN).  Figure 1 shows a schematic representative stack
  315.    showing the relationship between routing protocols, the network
  316.    layers, the circuit manager and the connection oriented WAN.
  317.  
  318.  
  319.         --------------       ---------  ---------         -------------
  320.         |    RIP     |       |  RIP  |  |  SAP  |         |   IS-IS   |
  321.         --------------       ---------  ---------         -------------
  322.               |                  |          |                   |
  323.         --------------           |          |                   |
  324.         |    UDP     |           |          |                   |
  325.         --------------           |          |                   |
  326.               |                  |          |                   |
  327.         --------------         ----------------           -------------
  328.         |    IP      |         |     IPX      |           |   CLNP    |
  329.         --------------         ----------------           -------------
  330.               |                       |                         |
  331.         ---------------------------------------------------------------
  332.         |                       Circuit Manager                       |
  333.         ---------------------------------------------------------------
  334.                                   ||||||||||
  335.                                   ||||||||||
  336.                           ---------------------------
  337.                           |   Connection Oriented   |
  338.                           |        WAN stack        |
  339.                           ---------------------------
  340.  
  341.      A WAN circuit manager will support a variety of network layer  pro-
  342.      tocols,  on  its  upper  interface.  On its lower interface, it may
  343.      support one or more subnetworks.  A subnetwork may support a number
  344.      of Virtual Circuits.
  345.  
  346.  
  347.             Figure 1.   Representative Multiprotocol Router stack
  348.  
  349.  
  350.  
  351.  
  352. Meyer                                                           [Page 6]
  353.  
  354. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  355.  
  356.  
  357.    The router has a translation table which relates the network layer
  358.    address of the next hop router to the physical address used to estab-
  359.    lish a Virtual Circuit (VC) to it.  Datagrams may be encapsulated in
  360.    a header to distinguish the network layer protocol [11].
  361.  
  362.    The circuit manager takes datagrams from the connectionless network
  363.    layer protocols and (if one is not currently available) opens a VC to
  364.    the next hop router.  A VC can carry all traffic between two end-
  365.    point routers for a given network layer protocol (or with appropriate
  366.    encapsulation all network layer protocols).  An idle timer is used to
  367.    close the VC when the datagrams stop arriving at the circuit manager.
  368.  
  369.    Running routing protocols on the WAN has traditionally consisted of
  370.    making small modifications to the methods used on LANs.  Where rout-
  371.    ing information would be broadcast periodically on a LAN interface,
  372.    it is converted to a series of periodic updates sent to a list of
  373.    addresses on the WAN.
  374.  
  375.    This memo targets two areas:
  376.  
  377.    o  Eliminating the overkill inherent in periodic transmission of
  378.       routing updates.
  379.  
  380.    o  Overcoming the bandwith limitations on the WAN: the number of
  381.       simultaneous VCs to next hop routers and restricted data
  382.       throughput which the WAN link can support.
  383.  
  384.    The first of these is overcome by transmitting routing updates
  385.    (called routing responses) only when required:
  386.  
  387.    o  Firstly when a specific request for a routing update has been
  388.       received.
  389.  
  390.    o  Secondly when the routing database is modified by new information
  391.       from another interface.
  392.  
  393.    o  Thirdly when the circuit manager indicates that a destination has
  394.       changed from an unreachable (circuit down) to a reachable (circuit
  395.       up) state.
  396.  
  397.    Because of the inherent unreliability of a datagram based system,
  398.    both routing requests and routing responses require acknowledgement,
  399.    and retransmission in the event of NOT receiving an acknowledgement.
  400.  
  401.    To overcome the bandwidth limitations the routing application can
  402.    perform a form of self-imposed flow control, to spread routing
  403.    updates out over a period of time.
  404.  
  405.  
  406.  
  407.  
  408. Meyer                                                           [Page 7]
  409.  
  410. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  411.  
  412.  
  413. 2.2 Presumption of Reachability
  414.  
  415.    If a routing update is received from a next hop router on the WAN,
  416.    entries in the update are thereafter always considered to be reach-
  417.    able, unless proven otherwise:
  418.  
  419.    o  If in the normal course of routing datagrams, the circuit manager
  420.       fails to establish a connection to the next hop router, it noti-
  421.       fies the routing application that the next hop router is not
  422.       reachable through an internal circuit down message.
  423.  
  424.       The routing application then goes through a process of timing out
  425.       database entries to make them unreachable in the routing sense.
  426.  
  427.    o  If the circuit manager is subsequently able to establish a connec-
  428.       tion to the next hop router, it will notify the routing applica-
  429.       tion that the next hop router is reachable through an internal
  430.       circuit up message.
  431.  
  432.       The routing application will then exchange messages with the next
  433.       hop router so as to re-prime their respective routing databases
  434.       with up to date information.
  435.  
  436.    Handling of circuit up and circuit down messages requires that the
  437.    circuit manager takes responsibility for establishing (or re-
  438.    establishing) the connection in the event of a next hop router being
  439.    unreachable.  A description of the processes the circuit manager must
  440.    adopt to perform this task is outside the scope of this memo.
  441.  
  442. 2.3 WAN Router list
  443.  
  444.    The routing task MAY be provided with a list of routers to send rout-
  445.    ing updates to on the WAN.  It will comprise of the logical addresses
  446.    of next hop routers for which the router has a logical to physical
  447.    address mapping.  Entries in the list SHOULD be categorized (on a
  448.    per-peer basis) as follows:
  449.  
  450.    o  Running the standard routing protocol, namely transmitting updates
  451.       periodically using packet formats used in LAN broadcasts.
  452.  
  453.       This option is supported to allow interoperability with existing
  454.       routing implementations, and might also be appropriate if some of
  455.       the destinations are using Permanent Virtual Circuits (PVCs)
  456.       rather than SVCs.
  457.  
  458.    o  Running the triggered update routing protocol proposed in this
  459.       memo.
  460.  
  461.  
  462.  
  463.  
  464. Meyer                                                           [Page 8]
  465.  
  466. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  467.  
  468.  
  469.    Omitting an address from either of these categories is equivalent to
  470.    not running the routing protocols.
  471.  
  472.    If routing packets arrive from a destination not supporting the
  473.    appropriate variant they MUST be discarded.
  474.  
  475. 2.4 Triggered Updates and Unreliable Delivery
  476.  
  477.    If triggered update information is sent to next hop routers on the
  478.    WAN only once it can fail to arrive for one of the following reasons:
  479.  
  480.    o  A free VC resource might not be available, because of a restricted
  481.       number of X.25 logical channels or ISDN B-channels.
  482.  
  483.    o  The transmit queue might be full - requiring the datagram to be
  484.       discarded.
  485.  
  486.    o  The VC might be pre-empted (in favour of establishing a VC to
  487.       another next hop router) while the datagram is in a queue, result-
  488.       ing in the queue being flushed and the datagram discarded.
  489.  
  490.    o  In cases where the method of transport is not guaranteed, for
  491.       example with PPP where there is no acknowledgement and retransmis-
  492.       sion of HDLC frames, a corrupted frame will result in the loss of
  493.       the datagram.
  494.  
  495. 2.5 Guaranteeing delivery of Routing Updates
  496.  
  497.    To guarantee delivery of routing updates on the WAN an acknowledge-
  498.    ment and retransmission scheme MUST be used:
  499.  
  500.    o  Send a routing update to a next hop router on the WAN.
  501.  
  502.    o  The other router updates its routing database with the new infor-
  503.       mation, and responds with an acknowledgement packet.
  504.  
  505.       The original router receives the acknowledgement.
  506.  
  507.    o  Otherwise the original router retransmits the update until an ack-
  508.       nowledgement is received.
  509.  
  510.       In cases where the routing database is modified before an ack-
  511.       nowledgement is received a new routing update with an updated
  512.       sequence number is sent out.  If an acknowledgement for the old
  513.       routing update is received it is ignored.
  514.  
  515.    The above mechanism caters for cases where the datagram is lost
  516.    because of a frame error or is discarded because of an over-full
  517.  
  518.  
  519.  
  520. Meyer                                                           [Page 9]
  521.  
  522. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  523.  
  524.  
  525.    queue.  The routing update and acknowledgment will eventually both
  526.    get through.
  527.  
  528.    In cases where the circuit manager cannot establish a connection, a
  529.    mechanism is provided to allow the circuit manager to inform the
  530.    routing task of the failure to make a connection so that it can
  531.    suppress retransmissions until a circuit becomes available.
  532.  
  533. 2.6 The Routing Database
  534.  
  535.    A requirement of using triggered updates for propagating routing
  536.    information is that NO routing information must ever get LOST or DIS-
  537.    CARDED.
  538.  
  539.    The routing database MUST keep all alternative routing information it
  540.    learns from any routing updates, so that if the best route(s) disap-
  541.    pear an alternative route (if available) can replace it as the new
  542.    best route.
  543.  
  544.    If the amount of memory this consumes is problematic, this can be
  545.    re-interpreted as:
  546.  
  547.    o  The routing application must keep SOME alternative routing infor-
  548.       mation, and be aware of what has been discarded so that it can
  549.       request the discarded information before its effect is noticed.
  550.  
  551.    Entries in the routing database can either be permanent or temporary.
  552.    Entries learned from broadcasts on LANs are temporary. They will
  553.    expire if not periodically refreshed by further broadcasts.
  554.  
  555.    Entries learned from a triggered response on the WAN are 'permanent'.
  556.    They MUST not time out in the normal course of events.
  557.  
  558.    The entries state MUST be changed to 'temporary' by the following
  559.    events:
  560.  
  561.    o  The arrival of a routing update containing the entry set to
  562.       unreachable.
  563.  
  564.       The normal hold down timer MUST be started, after which the entry
  565.       disappears from the routing database.
  566.  
  567.    o  The arrival of a routing update with the entry absent.
  568.  
  569.       If the hold down timer is not already running, the entry MUST be
  570.       set to unreachable and the hold down timer started.
  571.  
  572.    o  A message sent from the circuit manager, to indicate that it
  573.  
  574.  
  575.  
  576. Meyer                                                          [Page 10]
  577.  
  578. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  579.  
  580.  
  581.       failed to make a connection in normal running.
  582.  
  583.       The routing table MUST be scanned for all routes via that next hop
  584.       router.  Aging of these routing entries MUST commence (which for
  585.       IP RIP runs for 180 seconds).  If that period runs out, the entry
  586.       MUST be set to unreachable, and the hold down timer started.  If
  587.       the hold down timer expires the entry disappears from the routing
  588.       database.
  589.  
  590.    o  If the interface goes down, the circuit manager should indicate
  591.       that all circuits on that interface have gone down.
  592.  
  593. 2.7 New Packet Types
  594.  
  595.    To support triggered updates, three new packet types MUST be sup-
  596.    ported:
  597.  
  598.    TRIGGERED REQUEST
  599.  
  600.              A request to the responding system to send all appropriate
  601.              elements in its routing database.
  602.  
  603.              A triggered request is retransmitted at periodic intervals
  604.              until a triggered response is received.  If a response is
  605.              not received after a number of retransmissions, the desti-
  606.              nation should be marked as NOT supporting the mechanism and
  607.              no further routing messages should be sent to that destina-
  608.              tion.
  609.  
  610.              Routing requests are transmitted in the following cir-
  611.              cumstances:
  612.  
  613.              o  Firstly when the router is powered on.
  614.  
  615.              o  Secondly when the circuit manager indicates a destina-
  616.                 tion has been in an unreachable (circuit down) state for
  617.                 an extended period and changes to a reachable (circuit
  618.                 up) state.
  619.  
  620.              o  Thirdly in the event of all routing update fragments
  621.                 failing to arrive within a set period.
  622.  
  623.              o  It may also send triggered requests at other times to
  624.                 compensate for discarding non-optimal routing informa-
  625.                 tion.
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632. Meyer                                                          [Page 11]
  633.  
  634. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  635.  
  636.  
  637.    TRIGGERED RESPONSE
  638.  
  639.              A message containing all appropriate elements of the rout-
  640.              ing database, An appropriate element is an entry NOT
  641.              learned from the interface to which the routing information
  642.              is being sent out.  This is known as "split horizon".
  643.  
  644.              A triggered response message may be sent in response to a
  645.              triggered request, or it may be an update message issued
  646.              because of a change in the routing database.
  647.  
  648.              A triggered response is retransmitted at periodic intervals
  649.              until a triggered acknowledgement is received.  If an ack-
  650.              nowledgement is not received after a number of retransmis-
  651.              sions, the destination should be marked as NOT supporting
  652.              the mechanism and no further routing messages should be
  653.              sent to that destination.
  654.  
  655.    TRIGGERED ACKNOWLEDGEMENT
  656.  
  657.              A message sent in response to every triggered response
  658.              packet received.
  659.  
  660.    Before marking the destination as not supporting the mechanism, at
  661.    least 10 retransmissions (without acknowledgement) should be sent.
  662.  
  663.    When a destination is marked as down, routes through it should be
  664.    marked as unreachable for the duration of a hold down timer before
  665.    being deleted.
  666.  
  667.    If a destination marked as not supporting the mechanism, subsequently
  668.    sends a valid 'triggered' message, the destination should be marked
  669.    as supporting the mechanism once more (to allow for the next hop
  670.    router's configuration being changed).  It should be sent a triggered
  671.    request and a triggered response to obtain and propagate up to date
  672.    routing information.
  673.  
  674.    Triggered response and triggered acknowledgement packets MUST contain
  675.    additional fields to contain a sequence number, fragment number and
  676.    number of fragments.
  677.  
  678. 2.8 Fragmentation
  679.  
  680.    If a routing update is sufficiently large, the information MUST be
  681.    fragmented over several triggered response packets:
  682.  
  683.    o  Each fragment MUST be individually acknowledged with a triggered
  684.       acknowledgement packet.
  685.  
  686.  
  687.  
  688. Meyer                                                          [Page 12]
  689.  
  690. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  691.  
  692.  
  693.       The sender of the routing update MUST periodically retransmit
  694.       fragments which have not been acknowledged (or until the destina-
  695.       tion is marked as not supporting the mechanism).
  696.  
  697.    o  A router receiving fragments MUST re-assemble them before updating
  698.       its routing database.
  699.  
  700.    o  If all fragments are not received within four times the retransmit
  701.       period, they MUST be discarded.
  702.  
  703.       A triggered request packet MUST then be sent to the originator of
  704.       the routing update.
  705.  
  706.       On receiving the triggered request packet, the originator of the
  707.       routing update MUST retransmit ALL fragments.
  708.  
  709.    o  If a fragment with an updated sequence number is received, ALL
  710.       fragments with the earlier sequence number MUST be discarded.
  711.  
  712. 2.9 Preventing Queue Overload
  713.  
  714.    In order to prevent too many routing messages being queued at a WAN
  715.    interface, the routing task MAY operate a scheme whereby 'broadcast-
  716.    ing' of a triggered request or triggered response to a WAN interface
  717.    is staggered.  All routing requests or routing responses are not sent
  718.    to ALL next hop routers on the interface in a single batch:
  719.  
  720.    o  The routing task should limit the number of outstanding triggered
  721.       request messages for which a triggered response has not been
  722.       received.
  723.  
  724.    o  The routing task should limit the number of outstanding triggered
  725.       response messages for which a triggered acknowledgement has not
  726.       been received.
  727.  
  728.    As outstanding messages are appropriately acknowledged, further mes-
  729.    sages can be sent out to other next hop routers, until all next hop
  730.    routers have been sent the message and have acknowledged it.
  731.  
  732.    The maximum number of outstanding messages transmitted without ack-
  733.    nowledgement is a function of the link speed and the number of other
  734.    routing protocols operating the triggered update mechanism.
  735.  
  736.    Messages should always be acknowledged immediately (even if it causes
  737.    the limit to be exceeded), since a connection is almost certainly
  738.    available.  This has the potential benefit of allowing the VC to
  739.    close sooner (on its idle timer).
  740.  
  741.  
  742.  
  743.  
  744. Meyer                                                          [Page 13]
  745.  
  746. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  747.  
  748.  
  749. 3. IP Routing Information Protocol Version 1
  750.  
  751.    This section should be read in conjunction with reference [1].
  752.  
  753.    IP RIP is a UDP-based protocol which generally sends and receives
  754.    datagrams on UDP port number 520.
  755.  
  756.    To support the mechanism outlined in this proposal the packet format
  757.    for RIP version 1 [1] is modified as shown in Figure 2.
  758.  
  759.    Every Routing Information Protocol datagram contains the following:
  760.  
  761.    COMMAND   Commands supported in RIP Version 1 are: request (1),
  762.              response (2), traceon (3), traceoff (4), SUN reserved (5).
  763.              The fields sequence number, fragment number and number of
  764.              fragments MUST NOT be included in packets with these com-
  765.              mand values.
  766.  
  767.              The following new commands (with values in brackets) are
  768.              required:
  769.  
  770.        TRIGGERED REQUEST (6)
  771.  
  772.                  A request for the responding system to send all of its
  773.                  routing database.
  774.  
  775.                  Only the first 4 octets of the packet format shown in
  776.                  figure 2 are sent, since all routing information is
  777.                  implied by this request type.
  778.  
  779.        TRIGGERED RESPONSE (7)
  780.  
  781.                  A message containing all of the sender's routing data-
  782.                  base, excluding those entries learned from the inter-
  783.                  face to which the routing information is being sent.
  784.  
  785.                  This message may be sent in response to a triggered
  786.                  request, or it may be an update message resulting from
  787.                  a change in the routing database.
  788.  
  789.        TRIGGERED ACKNOWLEDGEMENT (8)
  790.  
  791.                  A message sent in response to every triggered response
  792.                  packet received.
  793.  
  794.                  Only the first 8 octets of the packet format shown in
  795.                  figure 2 are sent.
  796.  
  797.  
  798.  
  799.  
  800. Meyer                                                          [Page 14]
  801.  
  802. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  803.  
  804.  
  805.  
  806.      0                   1                   2                   3 3
  807.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  808.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  809.      | command (1)   | version (1)   |      must be zero (2)         |
  810.      +---------------+---------------+-------------------------------+
  811.  
  812.         The following new fields are inserted for some commands
  813.  
  814.      0                   1                   2                   3 3
  815.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  816.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  817.      |    sequence number (2)        | fragment (1)  |no of frags (1)|
  818.      +-------------------------------+-------------------------------+
  819.  
  820.           Followed by up to 25 routing entries (each 20 octets)
  821.  
  822.      0                   1                   2                   3 3
  823.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  824.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  825.      | address family identifier (2) |      must be zero (2)         |
  826.      +-------------------------------+-------------------------------+
  827.      |                         IP address (4)                        |
  828.      +---------------------------------------------------------------+
  829.      |                        must be zero (4)                       |
  830.      +---------------------------------------------------------------+
  831.      |                        must be zero (4)                       |
  832.      +---------------------------------------------------------------+
  833.      |                          metric (4)                           |
  834.      +---------------------------------------------------------------+
  835.                                      .
  836.                                      .
  837.  
  838.      The format of a IP RIP datagram in  octets,  with  each  tick  mark
  839.      representing one bit.    All fields are in network order.
  840.  
  841.      The four octets: sequence  number  (2),  fragment  number  (1)  and
  842.      number of fragments (1) are not present in the original RIP specif-
  843.      ication.   They are only present if command takes the values  7  or
  844.      8.
  845.  
  846.  
  847.           Figure 2.   IP Routing Information Protocol packet format
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856. Meyer                                                          [Page 15]
  857.  
  858. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  859.  
  860.  
  861.    VERSION   In this instance Version 1.
  862.  
  863.    SEQUENCE NUMBER
  864.  
  865.              This is a new field inserted if command takes the values 7
  866.              or 8.
  867.  
  868.              The sequence number MUST be incremented every time updated
  869.              information is sent out on a WAN.  The sequence number
  870.              wraps round at 65535.
  871.  
  872.              When a triggered acknowledgement is sent the sequence
  873.              number is set to the same value as the triggered response
  874.              packet being acknowledged.
  875.  
  876.    FRAGMENT NUMBER
  877.  
  878.              The fragment number is one for the first fragment of a
  879.              routing update, and is incremented for each subsequent
  880.              fragment.  A fragment can contain up to 25 routing entries.
  881.  
  882.              When a triggered acknowledgement is sent the sequence
  883.              number is set to the same value as the triggered response
  884.              packet being acknowledged.
  885.  
  886.              The sequence number MUST be identical over fragments.
  887.  
  888.    NUMBER OF FRAGMENTS
  889.  
  890.              This indicates the number of packets required to complete
  891.              the routing update.
  892.  
  893.              A triggered acknowledgement should return the value
  894.              obtained from the triggered response packet.
  895.  
  896.    ADDRESS FAMILY IDENTIFIER
  897.  
  898.              The address family identifier for IP is 2.
  899.  
  900.    For triggered response packets the rest of the datagram contains a
  901.    list of destinations, with information about each.  Each entry in
  902.    this list contains a destination network or host, and the metric for
  903.    it.  The packet format is intended to allow RIP to carry routing
  904.    information  for several different protocols, identifiable by the
  905.    family identifier.
  906.  
  907.    The IP address is the usual Internet address, stored as 4 octets in
  908.    network order.  The metric field must contain a value between 1 and
  909.  
  910.  
  911.  
  912. Meyer                                                          [Page 16]
  913.  
  914. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  915.  
  916.  
  917.    15 inclusive, specifying the current metric for the destination, or
  918.    the value 16 (representing 'infinity'), which indicates that the des-
  919.    tination is not reachable.  Each route sent by a router supersedes
  920.    any previous route to the same destination from the same router.
  921.  
  922.    The maximum datagram size is 508 octets, excluding UDP and IP
  923.    headers.
  924.  
  925. 4. IP Routing Information Protocol Version 2
  926.  
  927.    An enhancement to IP RIP to include subnetting is currently around as
  928.    a working draft [2].  This section only describes differences from
  929.    that memo.
  930.  
  931.    The triggered update mechanism can be supported by including the
  932.    triggered request (6), triggered response (7) and triggered ack-
  933.    nowledgement (8) commands described in the previous section.
  934.  
  935.    The sequence number, fragment number and number of fragments fields
  936.    are included in triggered response and triggered acknowledgement com-
  937.    mands.
  938.  
  939.    The triggered request packet should also contain the 4 extra octets
  940.    corresponding to the sequence number, fragment number and number of
  941.    fragments fields - but set to zero.
  942.  
  943.    Because additional security information is included in RIP Version 2
  944.    packets, this MUST be appended to the triggered request and triggered
  945.    acknowledgement packets, as well as being present in the triggered
  946.    response packet.
  947.  
  948.    The version number becomes 2.  Other aspects of packet layout follow
  949.    reference [2].
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968. Meyer                                                          [Page 17]
  969.  
  970. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  971.  
  972.  
  973. 5. Netware Routing Information Protocol
  974.  
  975.    This section should be read in conjunction with references [3,4,5],
  976.    since it only describes differences from these specifications.
  977.  
  978.    Netware [3] is the trade name of Novell Research's protocols for com-
  979.    puter communication which are derived and extended from Xerox Network
  980.    System's (XNS) protocols [7].
  981.  
  982.    Netware supports a mechanism that allows routers on an internetwork
  983.    to exchange routing information using the Routing Information Proto-
  984.    col (RIP) which runs over the Internetwork Packet Exchange (IPX) pro-
  985.    tocol [4] using socket number 453h.
  986.  
  987.    Netware RIP and IP RIP share a common heritage, in that they are both
  988.    based on XNS RIP, but there is some divergence, mostly at the packet
  989.    format level to reflect the differing addressing schemes.
  990.  
  991.    The triggered update mechanism can be applied to Netware RIP.  To
  992.    support the mechanism outlined in this proposal the packet format for
  993.    Netware RIP [3,5] is modified as shown in Figure 3.
  994.  
  995.    Every datagram contains the following:
  996.  
  997.    RIP OPERATION
  998.  
  999.              Operations supported in standard Netware RIP are: request
  1000.              (1) and response (2).
  1001.  
  1002.              The fields sequence number, fragment number and number of
  1003.              fragments MUST NOT be included in packets with these opera-
  1004.              tion values.
  1005.  
  1006.              The following new operations are required (with values
  1007.              chosen to be the same as for IP RIP commands):
  1008.  
  1009.        TRIGGERED REQUEST (6)
  1010.  
  1011.                  A request for the responding system to send all of its
  1012.                  routing database.
  1013.  
  1014.                  Only the first 2 octets of the packet format shown in
  1015.                  figure 3 are sent, since all routing information is
  1016.                  implied by this request type.
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024. Meyer                                                          [Page 18]
  1025.  
  1026. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1027.  
  1028.  
  1029.  
  1030.      0                   1         1
  1031.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  1032.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1033.      |       operation (2)           |
  1034.      +---------------+---------------+
  1035.  
  1036.         The following new fields are inserted for some operations
  1037.  
  1038.      0                   1                   2                   3 3
  1039.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1040.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1041.      |      sequence number (2)      | fragment (1)  |no of frags (1)|
  1042.      +-------------------------------+-------------------------------+
  1043.  
  1044.            Followed by up to 50 routing entries (each 8 octets)
  1045.  
  1046.      0                   1                   2                   3 3
  1047.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1048.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1049.      |                       network number (4)                      |
  1050.      +---------------------------------------------------------------+
  1051.      |       number of hops (2)      |      number of ticks (2)      |
  1052.      +---------------------------------------------------------------+
  1053.                                      .
  1054.                                      .
  1055.  
  1056.      The format of a Netware RIP datagram in octets, with each tick mark
  1057.      representing one bit.    All fields are in network order.
  1058.  
  1059.      The four octets: sequence  number  (2),  fragment  number  (1)  and
  1060.      number of fragments (1) are not present in the original RIP specif-
  1061.      ication.   They are only present if operation takes the values 7 or
  1062.      8.
  1063.  
  1064.  
  1065.         Figure 3.   Netware Routing Information Protocol packet format
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080. Meyer                                                          [Page 19]
  1081.  
  1082. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1083.  
  1084.  
  1085.        TRIGGERED RESPONSE (7)
  1086.  
  1087.                  A message containing all of the sender's routing data-
  1088.                  base, excluding those entries learned from the inter-
  1089.                  face to which the routing information is being sent.
  1090.  
  1091.                  This message may be sent in response to a triggered
  1092.                  request, or it may be an update message resulting from
  1093.                  a change in the routing database.
  1094.  
  1095.        TRIGGERED ACKNOWLEDGEMENT (8)
  1096.  
  1097.                  A message sent in response to every triggered response
  1098.                  packet received.
  1099.  
  1100.                  Only the first 6 octets of the packet format shown in
  1101.                  figure 3 are sent.
  1102.  
  1103.    SEQUENCE NUMBER
  1104.  
  1105.              This is a new field inserted if operation takes the values
  1106.              7 or 8.
  1107.  
  1108.              The sequence number MUST be incremented every time updated
  1109.              information is sent out on a WAN.  The sequence number
  1110.              wraps round at 65535.
  1111.  
  1112.              When a triggered acknowledgement is sent the sequence
  1113.              number is set to the same value as the triggered response
  1114.              packet being acknowledged.
  1115.  
  1116.    FRAGMENT NUMBER
  1117.  
  1118.              The fragment number is one for the first fragment of a
  1119.              routing update, and is incremented for each subsequent
  1120.              fragment.  A fragment can contain up to 50 routing entries.
  1121.  
  1122.              When a triggered acknowledgement is sent the fragment
  1123.              number is set to the same value as the triggered response
  1124.              packet being acknowledged.
  1125.  
  1126.              The sequence number MUST be identical over fragments.
  1127.  
  1128.    NUMBER OF FRAGMENTS
  1129.  
  1130.              This indicates the number of fragments required to complete
  1131.              the routing update.
  1132.  
  1133.  
  1134.  
  1135.  
  1136. Meyer                                                          [Page 20]
  1137.  
  1138. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1139.  
  1140.  
  1141.              A triggered acknowledgement should return the value
  1142.              obtained from the triggered response packet.
  1143.  
  1144.    For triggered response packets the rest of the datagram contains a
  1145.    list of networks, with information about each.  Each entry in this
  1146.    list contains a destination network, and the number of hops and
  1147.    number of ticks for each.
  1148.  
  1149.    The maximum datagram size is 406 octets, excluding the IPX header (a
  1150.    further 30 octets).
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. Meyer                                                          [Page 21]
  1193.  
  1194. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1195.  
  1196.  
  1197. 6. Netware Service Advertising Protocol
  1198.  
  1199.    This section should be read in conjunction with references [3,4,6],
  1200.    since it only describes differences from these specifications.
  1201.  
  1202.    Netware [3] also supports a mechanism that allows servers on an
  1203.    internetwork to advertise their services by name and type using the
  1204.    Service Advertising Protocol (SAP) [6] which runs over the Internet-
  1205.    work Packet Exchange (IPX) protocol [4] using socket number 452h.
  1206.  
  1207.    SAP operates on similar principals to running RIP.  Routers act as
  1208.    SAP agents, collecting service information from different networks
  1209.    and relay it to interested parties.
  1210.  
  1211.    To support the triggered update mechanism outlined in this proposal
  1212.    the packet format for Netware SAP [3,6] is modified as shown in Fig-
  1213.    ure 4.
  1214.  
  1215.    Every Service Advertising Protocol datagram contains the following:
  1216.  
  1217.    SAP OPERATION
  1218.  
  1219.              Operations supported in standard Netware SAP are: general
  1220.              service query (1), general service response (2), nearest
  1221.              service query (3) and nearest service response (4).
  1222.  
  1223.              The fields sequence number, fragment number and number of
  1224.              fragments MUST NOT be included in packets with these opera-
  1225.              tion values.
  1226.  
  1227.              The following new operations are required:
  1228.  
  1229.        TRIGGERED GENERAL SERVICE QUERY (6)
  1230.  
  1231.                  A request for the responding system to send the identi-
  1232.                  ties of all servers of all types.
  1233.  
  1234.                  Only the first 2 octets of the packet format shown in
  1235.                  figure 4 are sent, since all service types are implied
  1236.                  by this request type.
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248. Meyer                                                          [Page 22]
  1249.  
  1250. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1251.  
  1252.  
  1253.  
  1254.      0                   1         1
  1255.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
  1256.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1257.      |       operation (2)           |
  1258.      +---------------+---------------+
  1259.  
  1260.         The following new fields are inserted for some operations
  1261.  
  1262.      0                   1                   2                   3 3
  1263.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1264.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1265.      |      sequence number (2)      | fragment (1)  |no of frags (1)|
  1266.      +-------------------------------+-------------------------------+
  1267.  
  1268.            Followed by up to 8 service entries (each 66 octets)
  1269.  
  1270.      0                   1                   2                   3 3
  1271.      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1272.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1273.      |                       Service Type (4)                        |
  1274.      +---------------------------------------------------------------+
  1275.      |                       Service Name (48)                       |
  1276.      +                                                               +
  1277.                                   .
  1278.      |                            .                                  |
  1279.      +---------------------------------------------------------------+
  1280.      |                       Network Address (4)                     |
  1281.      +---------------------------------------------------------------+
  1282.      |                        Node Address (6)                       |
  1283.      +                               +-------------------------------+
  1284.      |                               |      Socket Address (2)       |
  1285.      +---------------------------------------------------------------+
  1286.      |       Hops to Server (2)      |
  1287.      +-------------------------------+
  1288.                                      .
  1289.                                      .
  1290.  
  1291.      The format of a Netware SAP datagram in octets, with each tick mark
  1292.      representing one bit.  All fields are in network order.
  1293.  
  1294.      The four octets: sequence  number  (2),  fragment  number  (1)  and
  1295.      number of fragments (1) are not present in the original SAP specif-
  1296.      ication.  They are only present if operation takes the values 7  or
  1297.      8.
  1298.  
  1299.  
  1300.         Figure 4.   Netware Service Advertising Protocol packet format
  1301.  
  1302.  
  1303.  
  1304. Meyer                                                          [Page 23]
  1305.  
  1306. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1307.  
  1308.  
  1309.        TRIGGERED GENERAL SERVICE RESPONSE (7)
  1310.  
  1311.                  A message containing all of the sender's services
  1312.                  table, excluding those entries learned from the inter-
  1313.                  face to which the routing information is being sent
  1314.                  out.
  1315.  
  1316.                  This message may be sent in response to a triggered
  1317.                  general service query, or it may be an update message
  1318.                  resulting from a change in the routing database.
  1319.  
  1320.        TRIGGERED GENERAL SERVICE ACKNOWLEDGEMENT (8)
  1321.  
  1322.                  A message sent in response to every triggered general
  1323.                  service response packet received.
  1324.  
  1325.                  Only the first 6 octets of the packet format shown in
  1326.                  figure 4 are sent.
  1327.  
  1328.    SEQUENCE NUMBER
  1329.  
  1330.              This is a new field inserted if operation takes the values
  1331.              7 or 8.
  1332.  
  1333.              The sequence number MUST be incremented every time updated
  1334.              information is sent out on a WAN.  The sequence number
  1335.              wraps round at 65535.
  1336.  
  1337.              When a triggered general service acknowledgement is sent
  1338.              the sequence number is set to the same value as the trig-
  1339.              gered general service response packet being acknowledged.
  1340.  
  1341.    FRAGMENT NUMBER
  1342.  
  1343.              The fragment number is one for the first fragment of a
  1344.              triggered general service response update, and is incre-
  1345.              mented for each subsequent fragment.  A fragment can con-
  1346.              tain up to 8 service entries.
  1347.  
  1348.              When a triggered general service acknowledgement is sent,
  1349.              the fragment number is set to the same value as the trig-
  1350.              gered general service response packet being acknowledged.
  1351.  
  1352.              The sequence number MUST be identical over fragments.
  1353.  
  1354.    NUMBER OF FRAGMENTS
  1355.  
  1356.              This indicates the number of packets required to complete
  1357.  
  1358.  
  1359.  
  1360. Meyer                                                          [Page 24]
  1361.  
  1362. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1363.  
  1364.  
  1365.              the service update.
  1366.  
  1367.              A triggered general service acknowledgement should return
  1368.              the value obtained from the triggered general service
  1369.              response packet.
  1370.  
  1371.    For triggered general service response packets the rest of the
  1372.    datagram contains a list of services, with information about each.
  1373.    Each entry in this list contains the service type, service name, full
  1374.    address (network, node and socket), and the number of hops to the
  1375.    server.
  1376.  
  1377.    The maximum datagram size is 534 octets, excluding the IPX header (a
  1378.    further 30 octets).
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416. Meyer                                                          [Page 25]
  1417.  
  1418. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1419.  
  1420.  
  1421. 7. Timers
  1422.  
  1423.    A number of timers must be supported to handle the triggered update
  1424.    mechanism:
  1425.  
  1426.    o  Database timer.
  1427.  
  1428.    o  Retransmission timer.
  1429.  
  1430.    o  Reassembly timer.
  1431.  
  1432.    In this section appropriate timer values for IP RIP are suggested.
  1433.  
  1434.    For other routing protocols, only the database timer should need to
  1435.    take different values.  The database timer values are chosen to match
  1436.    equivalent timer operation for using the protocol on a LAN.  The
  1437.    behavior of a routing entry when a timer is running becomes indistin-
  1438.    guishable from a routing entry learned from a broadcast update.
  1439.  
  1440. 7.1 Database Timer
  1441.  
  1442.    Routes learned by a triggered response command (7) are normally con-
  1443.    sidered to be permanent - that is they do NOT time out unless
  1444.    activated by one of the following events:
  1445.  
  1446.    o  If the circuit manager indicates that a next hop router cannot be
  1447.       contacted, all routes learned from that next hop router should
  1448.       start timing out as if they had (just) been learned from a conven-
  1449.       tional response command (2).
  1450.  
  1451.       Namely each route exists while the database entry timer is running
  1452.       and is advertised on other interfaces as if still present.  The
  1453.       route is then advertised as unreachable while a further hold down
  1454.       timer is allowed to expire, at which point the entry is deleted.
  1455.  
  1456.       If the circuit manager indicates that the next hop router can be
  1457.       contacted while the database entry timer is running, the routes
  1458.       are reinstated as permanent entries.
  1459.  
  1460.       If the database entry timer has expired and the circuit manager
  1461.       indicates that the next hop router is reachable, the routing pro-
  1462.       tocol must issue a triggered request.  The routes will be rein-
  1463.       stated on the basis of any triggered response packet(s) received.
  1464.  
  1465.    o  If a triggered response packet is received in which a route is
  1466.       marked unreachable, the hold down timer MUST be started and the
  1467.       entry is advertised as unreachable on other interfaces.  On expiry
  1468.       of the hold down timer the entry is deleted.
  1469.  
  1470.  
  1471.  
  1472. Meyer                                                          [Page 26]
  1473.  
  1474. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1475.  
  1476.  
  1477.       If a triggered response packet is received in which an existing
  1478.       route is ABSENT, the hold down timer MUST also be started and the
  1479.       entry is advertised as unreachable on other interfaces.  On expiry
  1480.       of the hold down timer the entry is deleted.
  1481.  
  1482.    For IP RIP the hold down timer should always run for 120 seconds, to
  1483.    be consistent with RIP usage on broadcast networks.  The database
  1484.    entry timer should by default run for 180 seconds.  The network can
  1485.    be made more responsive by reducing the database entry timer value.
  1486.    However making this timer too short can lead to network instabili-
  1487.    ties.  The duration of the database entry timer allows a period of
  1488.    grace in which contention for network resources can be resolved by
  1489.    the circuit manager.
  1490.  
  1491. 7.2 Retransmission Timer
  1492.  
  1493.    The routing task runs a retransmission timer:
  1494.  
  1495.    o  When a triggered request is sent it will be retransmitted periodi-
  1496.       cally while a triggered response packet is not received.
  1497.  
  1498.    o  When a triggered response is sent a note of the sequence number
  1499.       and fragment number(s) of the routing update is kept.
  1500.  
  1501.       Fragments will be retransmitted at periodic intervals while a
  1502.       triggered acknowledgement packet is not received for the appropri-
  1503.       ate fragment.
  1504.  
  1505.    With call set up time on the WAN being of the order of a second, a
  1506.    value of 5 seconds for the retransmission timer is appropriate.
  1507.  
  1508.    If the circuit manager indicates that the next hop router is unreach-
  1509.    able, the retransmission is suppressed until the circuit manager
  1510.    indicates that the next hop router is reachable once more.
  1511.  
  1512.    Retransmissions should not run indefinitely, since a lack of response
  1513.    (when a circuit is up) is most likely caused by incorrect configura-
  1514.    tion of the next hop router.
  1515.  
  1516. 7.3 Reassembly Timer
  1517.  
  1518.    When a router receives a triggered response update it MUST ack-
  1519.    nowledge each fragment.  If the routing update is fragmented over
  1520.    more than one packet, the receiving router MUST store the fragments
  1521.    until ALL fragments are received.
  1522.  
  1523.    On receiving the first fragment a timer should be started.  If all
  1524.    fragments of the routing update are not received within that period
  1525.  
  1526.  
  1527.  
  1528. Meyer                                                          [Page 27]
  1529.  
  1530. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1531.  
  1532.  
  1533.    they are discarded - and a triggered request is sent back to the ori-
  1534.    ginator (with retransmissions if necessary).  The originator MUST
  1535.    then resend ALL triggered response fragments
  1536.  
  1537.    The reassembly timer should be set to four times the value of the
  1538.    retransmission timer.  With a suggested retransmission timer value of
  1539.    5 seconds, the suggested reassembly timer value SHOULD be 20 seconds.
  1540.  
  1541.    Implementations MAY allow the reassembly timer and retransmission
  1542.    timer to be configurable (in the 1:4 ratio), but interoperability
  1543.    will be compromised on WANs where all participating routers DO NOT
  1544.    support the same values for these timers.
  1545.  
  1546.    Fragments MUST also be discarded if a new fragment with a different
  1547.    sequence number is received.  A triggered request MUST not be sent in
  1548.    this instance.
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584. Meyer                                                          [Page 28]
  1585.  
  1586. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1587.  
  1588.  
  1589. 8. Security Considerations
  1590.  
  1591.    Security is provided my a number of aspects:
  1592.  
  1593.    o  The circuit manager is required to be provided with a list of phy-
  1594.       sical addresses to enable it to establish a call to the next hop
  1595.       router on an X.25 SVC or ISDN B-channel.
  1596.  
  1597.       The circuit manager MUST only allow incoming calls to be accepted
  1598.       from the same well defined list of routers.  The circuit manager
  1599.       MAY enforce additional security by not accepting incoming calls.
  1600.  
  1601.       Elsewhere in the system there will be a set of logical address and
  1602.       physical address tuples to enable the network protocols to run
  1603.       over the correct circuit.  This may be a lookup table, or in some
  1604.       instances there may be an algorithmic conversion between the two
  1605.       addresses.
  1606.  
  1607.    o  The routing (or service advertising) task MUST be provided with a
  1608.       list of logical addresses to which triggered updates are to be
  1609.       sent on the WAN.  The list MAY be a subset of the list of next hop
  1610.       routers maintained by the circuit manager.
  1611.  
  1612.       There MAY also be a separate list of next hop routers to which
  1613.       traditional broadcasts of routing (or service advertising) updates
  1614.       should be sent.  Next hop routers omitted from either list are
  1615.       assumed to be not participating in routing (or service advertis-
  1616.       ing) updates.
  1617.  
  1618.       The list (or lists) doubles as a list of routers from which rout-
  1619.       ing updates are allowed to be received from the WAN.  Any routing
  1620.       information received from a router not in the appropriate list
  1621.       MUST be discarded.
  1622.  
  1623. References
  1624.  
  1625.  
  1626.    [1]  Hedrick. C., "Routing Information Protocol", RFC 1058, Rutgers
  1627.         University, June 1988.
  1628.  
  1629.    [2]  Malkin. G., "RIP Version 2 - Carrying Additional Information",
  1630.         Internet Draft, Xylogics, July 1992.
  1631.  
  1632.    [3]  Novell Incorporated., "Netware Application Notes", 1990.
  1633.  
  1634.    [4]  Novell Incorporated., "Netware V2.1 Internetwork Packet Exchange
  1635.         Protocol (IPX) with Asynchronous Event Scheduler (AES)", Febru-
  1636.         ary 1988 Document Revision 1.00.
  1637.  
  1638.  
  1639.  
  1640. Meyer                                                          [Page 29]
  1641.  
  1642. Internet Draft     Routing over Demand Circuits - RIP      November 1992
  1643.  
  1644.  
  1645.    [5]  Novell Incorporated., "Netware V2.1 Routing Information Protocol
  1646.         (RIP)", February 1988 Document Revision 1.00.
  1647.  
  1648.    [6]  Novell Incorporated., "Netware V2.1 Service Advertising Protocol
  1649.         (SAP)", February 1988 Document Revision 1.00.
  1650.  
  1651.    [7]  Xerox Corporation., "Internet Transport Protocols", Xerox System
  1652.         Integration Standard XSIS 028112, December 1981.
  1653.  
  1654.    [8]  Moy, J. "OSPF version 2", RFC 1247, Proteon Inc, July 1991.
  1655.  
  1656.    [9]  ISO/DIS 10589, "Intermediate system to Intermediate system
  1657.         Intra-Domain routing exchange protocol for use in conjunction
  1658.         with the protocol for providing the connectionless-mode network
  1659.         service (ISO 8473)"
  1660.  
  1661.    [10] ISO 8473, Protocol for providing the connectionless-mode network
  1662.         service", RFC 994.
  1663.  
  1664.    [11] Malis. A., Robinson. D., and Ullmann. R., "Multiprotocol Inter-
  1665.         connect on X.25 and ISDN in the Packet Mode", RFC 1356, BBN Com-
  1666.         munications, Computervision Systems Integration and Process
  1667.         Software Corporation.
  1668.  
  1669. Author's  Address:
  1670.  
  1671.    Gerry Meyer
  1672.    Spider Systems
  1673.    Stanwell Street
  1674.    Edinburgh EH5 6NG
  1675.    Scotland, UK
  1676.  
  1677.    Phone: (UK) 31 554 9424
  1678.    Fax:   (UK) 31 554 0649
  1679.    Email: gerry@spider.co.uk
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696. Meyer                                                          [Page 30]
  1697.  
  1698.