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

  1.                                                                RFC 827 
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                        EXTERIOR GATEWAY PROTOCOL (EGP) 
  26.  
  27.                                 Eric C. Rosen 
  28.  
  29.                         Bolt Beranek and Newman Inc. 
  30.  
  31.                                 October 1982 
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  It is proposed to establish a standard for Gateway to Gateway procedures that allow the Gateways to be mutually suspicious.  This document is a DRAFT for that standard.  Your comments are strongly encouraged. 
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  53.  
  54.  
  55.  
  56.                              Table of Contents 
  57.  
  58.  
  59.  
  60.       1   INTRODUCTION.......................................... 1      2   NEIGHBOR ACQUISITION.................................. 8      3   NEIGHBOR REACHABILITY PROTOCOL....................... 11      4   NETWORK REACHABILITY (NR) MESSAGE.................... 15      5   POLLING FOR NR MESSAGES.............................. 22      6   SENDING NR MESSAGES.................................. 25      7   INDIRECT NEIGHBORS................................... 27      8   HOW TO BE A STUB GATEWAY............................. 28      9   LIMITATIONS.......................................... 32 
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.                                     - i - 
  95.  
  96.  
  97.  
  98.  
  99.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  100.  
  101.  
  102.  
  103.      1  INTRODUCTION 
  104.  
  105.            The DARPA Catenet is expected to be a continuously expanding 
  106.  
  107.      system,  with  more  and  more  hosts  on  more and more networks 
  108.  
  109.      participating in it.  Of course, this will require more and  more 
  110.  
  111.      gateways.   In  the  past,  such  expansion  has taken place in a 
  112.  
  113.      relatively unstructured manner.  New gateways,  often  containing 
  114.  
  115.      radically different software than the existing gateways, would be 
  116.  
  117.      added and would immediately begin  participating  in  the  common 
  118.  
  119.      routing algorithm via the GGP protocol.  However, as the internet 
  120.  
  121.      grows larger and larger, this simple method of expansion  becomes 
  122.  
  123.      less and less feasible.  There are a number of reasons for this: 
  124.  
  125.            - the overhead of the routing algorithm becomes  excessively 
  126.  
  127.             large; 
  128.  
  129.            - the  proliferation   of   radically   different   gateways 
  130.  
  131.             participating  in  a single common routing algorithm makes 
  132.  
  133.             maintenance and fault isolation nearly  impossible,  since 
  134.  
  135.             it  becomes  impossible  to  regard  the  internet  as  an 
  136.  
  137.             integrated communications system; 
  138.  
  139.            - the  gateway  software  and  algorithms,  especially   the 
  140.  
  141.             routing  algorithm, become too rigid and inflexible, since 
  142.  
  143.             any proposed change must be made  in  too  many  different 
  144.  
  145.             places and by too many different people. 
  146.  
  147.  
  148.  
  149.                                    - 1 - 
  150.  
  151.  
  152.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  153.  
  154.  
  155.  
  156.           In the future, the internet is expected to evolve into a set 
  157.  
  158.      of  separate  domains  or  "autonomous  systems",  each  of which 
  159.  
  160.      consists of a set of one or more relatively homogeneous gateways. 
  161.  
  162.      The  protocols,  and  in  particular  the routing algorithm which 
  163.  
  164.      these gateways use among themselves, will be  a  private  matter, 
  165.  
  166.      and  need never be implemented in gateways outside the particular 
  167.  
  168.      domain or system. 
  169.  
  170.            In the simplest case, an autonomous system might consist  of 
  171.  
  172.      just a single gateway connecting, for example, a local network to 
  173.  
  174.      the ARPANET.  Such a gateway might be called  a  "stub  gateway", 
  175.  
  176.      since  its  only purpose is to interface the local network to the 
  177.  
  178.      rest of the internet, and it is  not  intended  to  be  used  for 
  179.  
  180.      handling  any traffic which neither originated in nor is destined 
  181.  
  182.      for that particular local network.  In the near-term  future,  we 
  183.  
  184.      will  begin  to  think  of  the  internet  as a set of autonomous 
  185.  
  186.      systems, one of which consists of the DARPA gateways  on  ARPANET 
  187.  
  188.      and  SATNET,  and  the others of which are stub gateways to local 
  189.  
  190.      networks.   The former system, which we  shall  call  the  "core" 
  191.  
  192.      system,  will be used as a transport or "long-haul" system by the 
  193.  
  194.      latter systems. 
  195.  
  196.            Ultimately, however, the internet may consist of a number of 
  197.  
  198.      co-equal  autonomous  systems,  any  of  which  may be used (with 
  199.  
  200.      certain  restrictions  which  will  be  discussed  later)  as   a 
  201.  
  202.  
  203.  
  204.                                    - 2 - 
  205.  
  206.  
  207.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  208.  
  209.  
  210.  
  211.      transport  medium  for  traffic  originating  in  any  system and 
  212.  
  213.      destined for any system.  When this  more  complex  configuration 
  214.  
  215.      comes  into  being,  it  will  be inappropriate to regard any one 
  216.  
  217.      autonomous  system  as  a  "core"  system.   For  the   sake   of 
  218.  
  219.      concreteness, however, and because the initial implementations of 
  220.  
  221.      the Exterior Gateway Protocol are expected to focus  on  the  the 
  222.  
  223.      case  of  connecting  "stub  gateways"  to  the DARPA gateways on 
  224.  
  225.      ARPANET and SATNET, we will often use the term "core" gateways in 
  226.  
  227.      our examples and discussion. 
  228.  
  229.            The purpose of the Exterior Gateway  Protocol  (EGP)  is  to 
  230.  
  231.      enable  one  or  more  autonomous systems to be used as transport 
  232.  
  233.      media for traffic originating in some other autonomous system and 
  234.  
  235.      destined  for yet another, while allowing the end-user to see the 
  236.  
  237.      composite of all the autonomous systems  as  a  single  internet, 
  238.  
  239.      with  a  flat, uniform address space.  The route which a datagram 
  240.  
  241.      takes through the internet, and the number of autonomous  systems 
  242.  
  243.      which  it  traverses,  are  to  be  transparent  to  the end-user 
  244.  
  245.      (unless, of course, the end-user makes  use  of  the  IP  "source 
  246.  
  247.      route" option). 
  248.  
  249.            In  describing  the  Exterior  Gateway  Protocol,  we   have 
  250.  
  251.      deliberately  left  a great deal of latitude to the designers and 
  252.  
  253.      implementers of particular autonomous systems, particularly  with 
  254.  
  255.      regard to timer values.  We have done this because we expect that 
  256.  
  257.  
  258.  
  259.                                    - 3 - 
  260.  
  261.  
  262.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  263.  
  264.  
  265.  
  266.      different  gateway   implementations   and   different   internet 
  267.  
  268.      environments  may  just have different requirements and goals, so 
  269.  
  270.      that no single strict implementation specification could apply to 
  271.  
  272.      all.   However,  this does NOT mean that ANY implementation which 
  273.  
  274.      conforms to the specification will work well, or that  the  areas 
  275.  
  276.      in  which  we  have left latitude are not crucial to performance. 
  277.  
  278.      The fact that some time-out value, for example, is not  specified 
  279.  
  280.      here does not mean that everything will work no matter what value 
  281.  
  282.      is assigned. 
  283.  
  284.            Autonomous systems will be  assigned  16-bit  identification 
  285.  
  286.      numbers  (in  much  the same ways as network and protocol numbers 
  287.  
  288.      are now assigned), and every EGP message header contains one word 
  289.  
  290.      for  this  number.   Zero  will not be assigned to any autonomous 
  291.  
  292.      system; rather, the  presence  of  a  zero  in  this  field  will 
  293.  
  294.      indicate that no number is present. 
  295.  
  296.            We need to introduce the concept  of  one  gateway  being  a 
  297.  
  298.      NEIGHBOR  of  another.   In the simplest and most common case, we 
  299.  
  300.      call two gateways "neighbors" if there is a network to which each 
  301.  
  302.      has  an interface.  However, we will need a somewhat more general 
  303.  
  304.      notion of "neighbor" to allow the following two cases: 
  305.  
  306.            a) Two gateways may be regarded as  neighbors  if  they  are 
  307.  
  308.              directly  connected  not by a network (in the usual sense 
  309.  
  310.  
  311.  
  312.                                     - 4 - 
  313.  
  314.  
  315.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  316.  
  317.  
  318.  
  319.              of the term), but by a simple wire, or HDLC line, or some 
  320.  
  321.              similar means of "direct connection". 
  322.  
  323.            b) Two gateways may be regarded as  neighbors  if  they  are 
  324.  
  325.              connected  by an "internet" which is transparent to them. 
  326.  
  327.              That is, we would  like  to  be  able  to  say  that  two 
  328.  
  329.              gateways  are  neighbors even if they are connected by an 
  330.  
  331.              internet, as long as the gateways utilize no knowledge of 
  332.  
  333.              the  internal  structure  of  that  internet in their own 
  334.  
  335.              packet-forwarding algorithms. 
  336.  
  337.       In order to handle all these cases, let us say that two  gateways 
  338.  
  339.      are NEIGHBORS if they are connected by some communications medium 
  340.  
  341.      whose internal structure is transparent to them.   (See  IEN  184 
  342.  
  343.      for a more general discussion of this notion of neighbor.) 
  344.  
  345.            If two neighbors are part of the same autonomous system,  we 
  346.  
  347.      call  them  INTERIOR  NEIGHBORS; if two neighbors are not part of 
  348.  
  349.      the same autonomous system, we call them EXTERIOR NEIGHBORS.   In 
  350.  
  351.      order  for  one  system  to  use  another  as a transport medium, 
  352.  
  353.      gateways which are exterior neighbors of each other must be  able 
  354.  
  355.      to find out which networks can be reached through the other.  The 
  356.  
  357.      Exterior Gateway Protocol enables this information to  be  passed 
  358.  
  359.      between  exterior  neighbors.  Since it is a polling protocol, it 
  360.  
  361.      also enables each gateway to control the rate at which  it  sends 
  362.  
  363.  
  364.  
  365.                                     - 5 - 
  366.  
  367.  
  368.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  369.  
  370.  
  371.  
  372.      and  receives  network  reachability  information,  allowing each 
  373.  
  374.      system to control its own overhead.  It also enables each  system 
  375.  
  376.      to  have  an independent routing algorithm whose operation cannot 
  377.  
  378.      be disrupted by failures of other systems. 
  379.  
  380.            It must be clearly understood that any autonomous system  in 
  381.  
  382.      which  routing  needs  to be performed among gateways within that 
  383.  
  384.      system must implement its  own  routing  algorithm.   (A  routing 
  385.  
  386.      algorithm  is  not  generally  necessary  for a simple autonomous 
  387.  
  388.      system which consists of a single stub  gateway.)   The  Exterior 
  389.  
  390.      Gateway Protocol is NOT a routing algorithm.  It enables exterior 
  391.  
  392.      neighbors to exchange information which is likely to be needed by 
  393.  
  394.      any  routing algorithm, but it does NOT specify what the gateways 
  395.  
  396.      are to do with this information.  The "routing updates"  of  some 
  397.  
  398.      autonomous  system's interior routing algorithm may or may not be 
  399.  
  400.      similar in  format  to  the  messages  of  the  exterior  gateway 
  401.  
  402.      protocol.  The gateways in the DARPA "core" system will initially 
  403.  
  404.      use the GGP protocol (the old Gateway-Gateway protocol) as  their 
  405.  
  406.      routing  algorithm, but this will be subject to change.  Gateways 
  407.  
  408.      in other autonomous systems may use their  own  Interior  Gateway 
  409.  
  410.      Protocols  (IGPs),  which may or may not be similar to the IGP of 
  411.  
  412.      any other autonomous system.  They may, of course, use  GGP,  but 
  413.  
  414.      will  not  be permitted to exchange GGP messages with gateways in 
  415.  
  416.      other autonomous systems. 
  417.  
  418.  
  419.  
  420.                                     - 6 - 
  421.  
  422.  
  423.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  424.  
  425.  
  426.  
  427.           It must also be clearly understood that the Exterior Gateway 
  428.  
  429.      Protocol  is  NOT  intended to provide information which could be 
  430.  
  431.      used as input  to  a  completely  general  area  or  hierarchical 
  432.  
  433.      routing  algorithm.   It  is  intended  for  a  set of autonomous 
  434.  
  435.      systems which are connected in a tree, with no cycles.   It  does 
  436.  
  437.      not  enable  the  passing  of  sufficient  information to prevent 
  438.  
  439.      routing loops if cycles in the topology do exist. 
  440.  
  441.            The Exterior Gateway Protocol has three parts: (a)  Neighbor 
  442.  
  443.      Acquisition Protocol, (b) Neighbor Reachability Protocol, and (c) 
  444.  
  445.      Network  Reachability  determination.   Note  that  all  messages 
  446.  
  447.      defined  by EGP are intended to travel only a single "hop".  That 
  448.  
  449.      is, they originate at one gateway and are sent to  a  neighboring 
  450.  
  451.      gateway   without  the  mediation  of  any  intervening  gateway. 
  452.  
  453.      Therefore, the time-to-live field should be set to a  very  small 
  454.  
  455.      value.   Gateways  which  encounter EGP messages in their message 
  456.  
  457.      streams which are not addressed to them may discard them. 
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.                                     - 7 - 
  476.  
  477.  
  478.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  479.  
  480.  
  481.  
  482.      2  NEIGHBOR ACQUISITION 
  483.  
  484.            Before it is possible to obtain routing information from  an 
  485.  
  486.      exterior  gateway,  it  is necessary to acquire that gateway as a 
  487.  
  488.      direct neighbor.  (The distinction between  direct  and  indirect 
  489.  
  490.      neighbors  will  be  made  in a later section.)  In order for two 
  491.  
  492.      gateways to become direct neighbors, they must be  neighbors,  in 
  493.  
  494.      the  sense  defined  above,  and  they  must execute the NEIGHBOR 
  495.  
  496.      ACQUISITION  PROTOCOL,  which  is  simply  a  standard  three-way 
  497.  
  498.      handshake. 
  499.  
  500.            A gateway that wishes to initiate neighbor acquisition  with 
  501.  
  502.      another  sends  it  a Neighbor Acquisition Request.  This message 
  503.  
  504.      should be repeatedly transmitted (at a reasonable  rate,  perhaps 
  505.  
  506.      once  every  30 seconds or so) until a Neighbor Acquisition Reply 
  507.  
  508.      is received.  The Request will contain an  identification  number 
  509.  
  510.      which  is  copied into the reply so that request and reply can be 
  511.  
  512.      matched up. 
  513.  
  514.            A gateway receiving  a  Neighbor  Acquisition  Request  must 
  515.  
  516.      determine  whether  it  wishes to become a direct neighbor of the 
  517.  
  518.      source of the Request.  If not, it may, at  its  option,  respond 
  519.  
  520.      with   a   Neighbor   Acquisition   Refusal  message,  optionally 
  521.  
  522.      specifying the reason for refusal.  Otherwise, it should  send  a 
  523.  
  524.      Neighbor Acquisition Reply message.  It must also send a Neighbor 
  525.  
  526.  
  527.  
  528.                                     - 8 - 
  529.  
  530.  
  531.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  532.  
  533.  
  534.  
  535.      Acquisition Request message, unless it has done so already. 
  536.  
  537.            Two gateways become direct neighbors when each  has  sent  a 
  538.  
  539.      Neighbor  Acquisition  Message to, and received the corresponding 
  540.  
  541.      Neighbor Acquisition Reply from, the other. 
  542.  
  543.            Unmatched Replies or Refusals should be  discarded  after  a 
  544.  
  545.      reasonable  period  of time.  However, information about any such 
  546.  
  547.      unmatched messages may be useful for diagnostic purposes. 
  548.  
  549.            A Neighbor Acquisition  Message  from  a  gateway  which  is 
  550.  
  551.      already a direct neighbor should be responded to with a Reply and 
  552.  
  553.      a Neighbor Acquisition Message. 
  554.  
  555.            If  a  Neighbor  Acquisition  Reply  is  received   from   a 
  556.  
  557.      prospective neighbor, but a period of time passes during which no 
  558.  
  559.      Neighbor Acquisition Message is received  from  that  prospective 
  560.  
  561.      neighbor,  the  neighbor  acquisition  protocol  shall  be deemed 
  562.  
  563.      incomplete.  A Neighbor Cease message (see below) should then  be 
  564.  
  565.      sent.   If  one  gateway  still desires to acquire the other as a 
  566.  
  567.      neighbor, the protocol must be repeated from the beginning. 
  568.  
  569.            If  a  gateway  wishes  to  cease  being  a  neighbor  of  a 
  570.  
  571.      particular  exterior  gateway, it sends a Neighbor Cease message. 
  572.  
  573.      A gateway  receiving  a  Neighbor  Cease  message  should  always 
  574.  
  575.      respond with a Neighbor Cease Acknowledgment.  It should cease to 
  576.  
  577.  
  578.  
  579.                                     - 9 - 
  580.  
  581.  
  582.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  583.  
  584.  
  585.  
  586.      treat the sender of the message as a neighbor in any way.   Since 
  587.  
  588.      there  is  a  significant  amount  of protocol run between direct 
  589.  
  590.      neighbors (see below), if some gateway no longer needs  to  be  a 
  591.  
  592.      direct  neighbor  of  some other, it is "polite" to indicate this 
  593.  
  594.      fact with a Neighbor Cease Message.  The Neighbor  Cease  Message 
  595.  
  596.      should  be  retransmitted  (up  to some number of times) until an 
  597.  
  598.      acknowledgment for it is received. 
  599.  
  600.            Once  a  Neighbor  Cease  message  has  been  received,  the 
  601.  
  602.      Neighbor   Reachability  Protocol  (below)  should  cease  to  be 
  603.  
  604.      executed. 
  605.  
  606.            NOTE THAT WE HAVE NOT SPECIFIED THE WAY IN WHICH ONE GATEWAY 
  607.  
  608.      INITIALLY  DECIDES THAT IT WANTS TO BECOME A NEIGHBOR OF ANOTHER. 
  609.  
  610.      While this is hardly a trivial problem, it is  not  part  of  the 
  611.  
  612.      External Gateway Protocol. 
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.                                   - 10 - 
  635.  
  636.  
  637.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  638.  
  639.  
  640.  
  641.      3  NEIGHBOR REACHABILITY PROTOCOL 
  642.  
  643.            It is important for a gateway to keep real-time  information 
  644.  
  645.      as  to the reachability of its neighbors.  If a gateway concludes 
  646.  
  647.      that a particular neighbor cannot be  reached,  it  should  cease 
  648.  
  649.      forwarding  traffic to that gateway.  To make that determination, 
  650.  
  651.      a NEIGHBOR REACHABILITY protocol is  needed.   The  EGP  protocol 
  652.  
  653.      provides two messages types for this purpose -- a "Hello" message 
  654.  
  655.      and an "I Heard You" message. 
  656.  
  657.            When a "Hello" message is received from a  direct  neighbor, 
  658.  
  659.      an "I Heard You" must be returned to that neighbor "immediately". 
  660.  
  661.      The delay between receiving a "Hello" and returning an  "I  Heard 
  662.  
  663.      You" should never be more than a few seconds. 
  664.  
  665.            At  the  current  time,   the   reachability   determination 
  666.  
  667.      algorithm  is  left to the designers of a particular gateway.  We 
  668.  
  669.      have in mind algorithms like the following: 
  670.  
  671.            A reachable  neighbor  shall  be  declared  unreachable  if, 
  672.  
  673.      during the time in which we sent our last n "Hello"s, we received 
  674.  
  675.      fewer than k "I Heard You"s in return.  An  unreachable  neighbor 
  676.  
  677.      shall  be declared reachable if, during the time in which we sent 
  678.  
  679.      our last m "Hello"s, we received at least j  "I  Heard  You"s  in 
  680.  
  681.      return. 
  682.  
  683.  
  684.  
  685.  
  686.  
  687.                                   - 11 - 
  688.  
  689.  
  690.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  691.  
  692.  
  693.  
  694.           However, the frequency with which the "Hello"s are sent, and 
  695.  
  696.      the  values  of the parameters k, n, j, and m cannot be specified 
  697.  
  698.      here.  For best results, this will depend on the  characteristics 
  699.  
  700.      of  the  neighbor  and of the network which the neighbors have in 
  701.  
  702.      common.  THIS IMPLIES THAT THE PROPER PARAMETERS MAY NEED  TO  BE 
  703.  
  704.      DETERMINED  JOINTLY  BY THE DESIGNERS AND IMPLEMENTERS OF THE TWO 
  705.  
  706.      NEIGHBORING  GATEWAYS;  choosing  algorithms  and  parameters  in 
  707.  
  708.      isolation,   without   considering  the  characteristics  of  the 
  709.  
  710.      neighbor and the connecting network, would  not  be  expected  to 
  711.  
  712.      result in optimum reachability determinations. 
  713.  
  714.            The "Hello" and "I Heard You" messages have a  status  field 
  715.  
  716.      which  the sending gateway uses to indicate whether it thinks the 
  717.  
  718.      receiving gateway is reachable or not.  This information  can  be 
  719.  
  720.      useful  for  diagnostic  purposes.  It also allows one gateway to 
  721.  
  722.      make its reachability determination parasitic on the other:  only 
  723.  
  724.      one  gateway  actually  needs  to  send "Hello" messages, and the 
  725.  
  726.      other can declare it up or down based on the status field in  the 
  727.  
  728.      "Hello".   That  is,  the  "passive" gateway (which sends only "I 
  729.  
  730.      Heard  You"s)  declares  the  "active"  one  (which  sends   only 
  731.  
  732.      "Hello"s)  to  be reachable when the "Hello"s from the active one 
  733.  
  734.      indicate that it has declared the passive one  to  be  reachable. 
  735.  
  736.      Of  course,  this can only work if there is prior agreement as to 
  737.  
  738.      which neighbor is to be the active one.  (Ways of coming to  this 
  739.  
  740.  
  741.  
  742.                                    - 12 - 
  743.  
  744.  
  745.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  746.  
  747.  
  748.  
  749.      "prior agreement" are not part of the Exterior Gateway Protocol.) 
  750.  
  751.            A  direct  neighbor  gateway   should   also   be   declared 
  752.  
  753.      unreachable  if  the  network  connecting it supplies lower level 
  754.  
  755.      protocol information from which this can be deduced.   Thus,  for 
  756.  
  757.      example,  if  a gateway receives an 1822 Destination Dead message 
  758.  
  759.      from the ARPANET which indicates that a direct neighbor is  dead, 
  760.  
  761.      it should declare that neighbor unreachable.  The neighbor should 
  762.  
  763.      not be declared reachable again until  the  requisite  number  of 
  764.  
  765.      Hello/I-Heard-You packets have been exchanged. 
  766.  
  767.            A direct neighbor which  has  become  unreachable  does  not 
  768.  
  769.      thereby  cease  to  be  a  direct  neighbor.  The neighbor can be 
  770.  
  771.      declared reachable again without  any  need  to  go  through  the 
  772.  
  773.      neighbor  acquisition  protocol  again.  However, if the neighbor 
  774.  
  775.      remains unreachable for an extremely long period of time, such as 
  776.  
  777.      an  hour,  the  gateway  should  cease to treat it as a neighbor, 
  778.  
  779.      i.e., should cease sending Hello messages to  it.   The  neighbor 
  780.  
  781.      acquisition  protocol  would  then  need to be repeated before it 
  782.  
  783.      could become a direct neighbor again. 
  784.  
  785.            "Hello" and "I Heard You" messages from gateway G to gateway 
  786.  
  787.      G'  also  carry  the identification number of the NR poll message 
  788.  
  789.      (see below) which G has most recently received from G'. 
  790.  
  791.  
  792.  
  793.  
  794.  
  795.                                    - 13 - 
  796.  
  797.  
  798.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  799.  
  800.  
  801.  
  802.           "Hello" and "I Heard You" messages from gateway G to gateway 
  803.  
  804.      G'  also  carry  the  minimum interval in minutes with which G is 
  805.  
  806.      willing to be polled by G' for NR messages (see below). 
  807.  
  808.            "Hello" messages from sources other  than  direct  neighbors 
  809.  
  810.      should  simply  be ignored.  However, logging the presence of any 
  811.  
  812.      such messages might provide useful diagnostic information. 
  813.  
  814.            A gateway which is going down, or  whose  interface  to  the 
  815.  
  816.      network which connects it to a particular neighbor is going down, 
  817.  
  818.      should send a Gateway Going Down message to all direct  neighbors 
  819.  
  820.      which  will  no longer be able to reach it.  It should retransmit 
  821.  
  822.      that message (up to some number of times)  until  it  receives  a 
  823.  
  824.      Gateway  Going  Down Acknowledgment.  This provides the neighbors 
  825.  
  826.      with an advance warning of an outage, and enables them to prepare 
  827.  
  828.      for  it  in  a  way  which  will  minimize disruption to existing 
  829.  
  830.      traffic. 
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.                                   - 14 - 
  851.  
  852.  
  853.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  854.  
  855.  
  856.  
  857.      4  NETWORK REACHABILITY (NR) MESSAGE 
  858.  
  859.            Terminology: Let gateway G have an interface to  network  N. 
  860.  
  861.      We  say  that G is AN APPROPRIATE FIRST HOP to network M relative 
  862.  
  863.      to network N (where M and N are distinct networks) if and only if 
  864.  
  865.      the following condition holds: 
  866.  
  867.            Traffic which is destined for network M, and  which  arrives 
  868.  
  869.           at gateway G over its network N interface, will be forwarded 
  870.  
  871.           to M by G over a path  which  does  not  include  any  other 
  872.  
  873.           gateway with an interface to network N. 
  874.  
  875.            In short, G is  an  appropriate  first  hop  for  network  M 
  876.  
  877.      relative  to network N just in case there is no better gateway on 
  878.  
  879.      network N through which to route traffic which  is  destined  for 
  880.  
  881.      network  M.   For  optimal routing, traffic in network N which is 
  882.  
  883.      destined for network M ought always to be forwarded to a  gateway 
  884.  
  885.      which is an appropriate first hop. 
  886.  
  887.            In  order  for  exterior  neighbors  G  and  G'  (which  are 
  888.  
  889.      neighbors  over network N) to be able to use each other as packet 
  890.  
  891.      switches for forwarding traffic to remote networks, each needs to 
  892.  
  893.      know  the  list of networks for which the other is an appropriate 
  894.  
  895.      first hop.  The Exterior  Gateway  Protocol  defines  a  message, 
  896.  
  897.      called  the  Network  Reachability  Message  (or NR message), for 
  898.  
  899.      transferring this information. 
  900.  
  901.  
  902.  
  903.                                   - 15 - 
  904.  
  905.  
  906.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  907.  
  908.  
  909.  
  910.           Let G be a gateway on network N.  Then the NR message  which 
  911.  
  912.      G sends about network N must contain the following information: 
  913.  
  914.            A list of all the networks for which  G  is  an  appropriate 
  915.  
  916.           first hop relative to network N. 
  917.  
  918.       If G' can obtain this information from exterior neighbor G,  then 
  919.  
  920.      it  knows  that no traffic destined for networks which are NOT in 
  921.  
  922.      that list should be forwarded to G.  (It cannot simply  conclude, 
  923.  
  924.      however,  that all traffic for any networks in that list ought to 
  925.  
  926.      be forwarded via G, since G' may also have other neighbors  which 
  927.  
  928.      are also appropriate first hops to network N.  For example, G and 
  929.  
  930.      G'' might each be neighbors of G',  but  might  be  "equidistant" 
  931.  
  932.      from  some  network  M.   Then each could be an appropriate first 
  933.  
  934.      hop.) 
  935.  
  936.            For each network in the list, the NR message also contains a 
  937.  
  938.      byte  which  specifies  the  "distance" (according to some metric 
  939.  
  940.      whose definition is left  to  the  designers  of  the  autonomous 
  941.  
  942.      system  of  which  gateway G is a member) from G to that network. 
  943.  
  944.      This information might (or might not) be useful in  the  interior 
  945.  
  946.      routing algorithm of gateway G', or for diagnostic purposes. 
  947.  
  948.            The maximum value of distance (255.) shall be taken to  mean 
  949.  
  950.      that  the network is UNREACHABLE.  ALL OTHER VALUES WILL BE TAKEN 
  951.  
  952.      TO MEAN THAT THE NETWORK IS REACHABLE. 
  953.  
  954.  
  955.  
  956.                                   - 16 - 
  957.  
  958.  
  959.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  960.  
  961.  
  962.  
  963.           If an NR message from some gateway G fails to  mention  some 
  964.  
  965.      network  N which was mentioned in the previous NR message from G, 
  966.  
  967.      it shall be assumed that N is still reachable from  G.   HOWEVER, 
  968.  
  969.      IF  N IS NOT MENTIONED IN TWO SUCCESSIVE NR MESSAGES FROM G, THAT 
  970.  
  971.      SHALL BE TAKEN TO MEAN THAT N IS  NO  LONGER  REACHABLE  FROM  G. 
  972.  
  973.      This  procedure is necessary to ensure that networks which can no 
  974.  
  975.      longer be  reached,  but  which  are  never  explicitly  declared 
  976.  
  977.      unreachable, are timed out and removed from the list of reachable 
  978.  
  979.      networks. 
  980.  
  981.            It may often be the case that where G and  G'  are  exterior 
  982.  
  983.      neighbors on network N, G knows of many more gateway neighbors on 
  984.  
  985.      network N, and knows for which networks those other neighbors are 
  986.  
  987.      the appropriate first hop.  Since G' may not know about all these 
  988.  
  989.      other neighbors, it is convenient and often more efficient for it 
  990.  
  991.      to be able to obtain this information from G.  Therefore, the EGP 
  992.  
  993.      NR message also contains fields which  allow  G  to  specify  the 
  994.  
  995.      following information: 
  996.  
  997.            a) A list of all neighbors (both interior and exterior) of G 
  998.  
  999.              (on  network  N)  which  G  has reliably determined to be 
  1000.  
  1001.              reachable.  Gateways should be included in this list only 
  1002.  
  1003.              if  G  is  actively  running  its  neighbor  reachability 
  1004.  
  1005.              protocol with them. 
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.                                   - 17 - 
  1012.  
  1013.  
  1014.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1015.  
  1016.  
  1017.  
  1018.           b) For each of those neighbors, the  list  of  networks  for 
  1019.  
  1020.              which that neighbor is an appropriate first hop (relative 
  1021.  
  1022.              to network N). 
  1023.  
  1024.            c) For each such <neighbor, network>  pair,  the  "distance" 
  1025.  
  1026.              from that neighbor to that network. 
  1027.  
  1028.            Thus the NR message provides a means of allowing  a  gateway 
  1029.  
  1030.      to  "discover" new neighbors by seeing whether a neighbor that it 
  1031.  
  1032.      already knows  of  has  any  additional  neighbors  on  the  same 
  1033.  
  1034.      network.  This information also makes possible the implementation 
  1035.  
  1036.      of the INDIRECT NEIGHBOR strategy defined below. 
  1037.  
  1038.            A  more  precise  description  of  the  NR  message  is  the 
  1039.  
  1040.      following. 
  1041.  
  1042.            The data portion of the  message  will  consist  largely  of 
  1043.  
  1044.      blocks  of data.  Each block will be headed by a gateway address, 
  1045.  
  1046.      which will be the address  either  of  the  gateway  sending  the 
  1047.  
  1048.      message  or  of  one  of  that gateway's neighbors.  Each gateway 
  1049.  
  1050.      address will be followed by a list of the networks for which that 
  1051.  
  1052.      gateway  is  an appropriate first hop, and the distance from that 
  1053.  
  1054.      gateway to each network. 
  1055.  
  1056.            Preceding the list of data blocks is: 
  1057.  
  1058.           a) The address of the network which this message  is  about. 
  1059.  
  1060.  
  1061.  
  1062.                                    - 18 - 
  1063.  
  1064.  
  1065.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1066.  
  1067.  
  1068.  
  1069.              If  G  and  G' are neighbors on network N, then in the NR 
  1070.  
  1071.              message going from G  to  G',  this  is  the  address  of 
  1072.  
  1073.              network   N.   For  convenience,  four  bytes  have  been 
  1074.  
  1075.              allocated for this address -- the trailing one,  two,  or 
  1076.  
  1077.              three bytes should be zero. 
  1078.  
  1079.            b) The count (one byte) of the number of interior  neighbors 
  1080.  
  1081.              of  G  for  which  this message contains data blocks.  By 
  1082.  
  1083.              convention, this count will include the data block for  G 
  1084.  
  1085.              itself, which should be the first one to appear. 
  1086.  
  1087.            c) The count (one byte) of the number of exterior  neighbors 
  1088.  
  1089.              of G for which this message contains data blocks. 
  1090.  
  1091.            Then follow the data blocks themselves, first the block  for 
  1092.  
  1093.      G itself, then the blocks for all the interior neighbors of G (if 
  1094.  
  1095.      any), then the blocks for  the  exterior  neighbors.   Since  all 
  1096.  
  1097.      gateways  mentioned  are  on  the same network, whose address has 
  1098.  
  1099.      already been given, the gateway  addresses  are  given  with  the 
  1100.  
  1101.      network  address part (one, two, or three bytes) omitted, to save 
  1102.  
  1103.      space. 
  1104.  
  1105.            Each block includes  a  one-byte  count  of  the  number  of 
  1106.  
  1107.      networks for which that gateway is the appropriate first hop.  In 
  1108.  
  1109.      the list of networks, each network address is either one, two, or 
  1110.  
  1111.      three  bytes,  depending  on whether it is a class A, class B, or 
  1112.  
  1113.  
  1114.  
  1115.                                   - 19 - 
  1116.  
  1117.  
  1118.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1119.  
  1120.  
  1121.  
  1122.      class C network.  No trailing bytes are used. 
  1123.  
  1124.            It may sometimes be necessary to fragment  the  NR  message. 
  1125.  
  1126.      The  NR  message  contains  a  byte indicating the number of this 
  1127.  
  1128.      fragment (fragments will be  numbered  from  zero),  and  a  byte 
  1129.  
  1130.      containing  the  number  of  the last fragment (NOT the number of 
  1131.  
  1132.      fragments).  If fragmentation is not used, these bytes must  both 
  1133.  
  1134.      be  zero.   EACH  FRAGMENT  MUST  BE  A  FULLY  SELF-CONTAINED NR 
  1135.  
  1136.      MESSAGE.  That is, each fragment  will  begin  with  a  count  of 
  1137.  
  1138.      interior  and  exterior  neighbors,  and  will have some integral 
  1139.  
  1140.      number of gateway data blocks.  The number of data blocks in each 
  1141.  
  1142.      fragment  must correspond to the neighbor counts at the beginning 
  1143.  
  1144.      of that fragment.  However, only the first fragment should  begin 
  1145.  
  1146.      with a data block describing the sending gateway. 
  1147.  
  1148.            This  scheme  enables  each   fragment   to   be   processed 
  1149.  
  1150.      independently, and requires no complex reassembly mechanisms.  It 
  1151.  
  1152.      also enables processing of a message all of whose fragments  have 
  1153.  
  1154.      not been received.  If, after some amount of time and some number 
  1155.  
  1156.      of retransmissions  of  a  poll,  not  all  fragments  have  been 
  1157.  
  1158.      received,  the  fragments which are present shall be processed as 
  1159.  
  1160.      if they constituted the complete NR message.   (This  means  that 
  1161.  
  1162.      networks  mentioned  only in the missing fragment will retain the 
  1163.  
  1164.      "distance" values they had in the previous NR message  from  that 
  1165.  
  1166.      gateway.   However,  if  no new value for a particular network is 
  1167.  
  1168.  
  1169.  
  1170.                                   - 20 - 
  1171.  
  1172.  
  1173.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1174.  
  1175.  
  1176.  
  1177.      received in the next NR message from that  gateway,  the  network 
  1178.  
  1179.      will be declared unreachable.) 
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.                                   - 21 - 
  1228.  
  1229.  
  1230.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1231.  
  1232.  
  1233.  
  1234.      5  POLLING FOR NR MESSAGES 
  1235.  
  1236.            No gateway is required to send  NR  messages  to  any  other 
  1237.  
  1238.      gateway,  except  as  a  response  to  an  NR  Poll from a direct 
  1239.  
  1240.      neighbor.  However, a gateway is required to  respond  to  an  NR 
  1241.  
  1242.      Poll  from  a  direct neighbor within several seconds (subject to 
  1243.  
  1244.      the qualification two paragraphs  hence),  even  if  the  gateway 
  1245.  
  1246.      believes that neighbor to be down. 
  1247.  
  1248.            The EGP NR Poll message is defined  for  this  purpose.   No 
  1249.  
  1250.      gateway  may  poll another for an NR message more often than once 
  1251.  
  1252.      per minute.  A gateway receiving more than one  poll  per  minute 
  1253.  
  1254.      may  simply  ignore  the  excess  polls,  or  may return an error 
  1255.  
  1256.      message.  The Hello and I Heard  You  messages  which  gateway  G 
  1257.  
  1258.      sends  to  gateway  G' indicate the minimum interval which G will 
  1259.  
  1260.      accept as the polling interval from G'.  That  is,  G'  will  not 
  1261.  
  1262.      guarantee  to  respond to polls from G that arrive less than that 
  1263.  
  1264.      interval apart. 
  1265.  
  1266.            Polls must only  be  sent  to  direct  neighbors  which  are 
  1267.  
  1268.      declared reachable by the neighbor reachability protocol. 
  1269.  
  1270.            An NR Poll message contains an identification number  chosen 
  1271.  
  1272.      by  the  polling  gateway.   The  polled gateway will return this 
  1273.  
  1274.      number in the NR message it sends in response  to  the  poll,  to 
  1275.  
  1276.      enable  the polling gateway to match up received NR messages with 
  1277.  
  1278.  
  1279.  
  1280.                                   - 22 - 
  1281.  
  1282.  
  1283.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1284.  
  1285.  
  1286.  
  1287.      polls.  It will be the responsibility of the polling  gateway  to 
  1288.  
  1289.      choose an identification number which is sufficiently "unique" to 
  1290.  
  1291.      allow detection of out-of-date NR messages  which  may  still  be 
  1292.  
  1293.      floating   around   the  network.   Since  polls  are  relatively 
  1294.  
  1295.      infrequent, this is  not  expected  to  be  much  of  a  problem. 
  1296.  
  1297.      However,  to  aid in choosing an identification number, the Hello 
  1298.  
  1299.      and I Heard You messages carry the identification number  of  the 
  1300.  
  1301.      last  NR  poll received from the neighbor to which they are being 
  1302.  
  1303.      sent. 
  1304.  
  1305.            In general, a poll should be retransmitted  some  number  of 
  1306.  
  1307.      times  (with a reasonable interval between retransmissions) until 
  1308.  
  1309.      an NR message is received.  IF NO NR MESSAGE  IS  RECEIVED  AFTER 
  1310.  
  1311.      THE MAXIMUM NUMBER OF RETRANSMISSIONS, THE POLLING GATEWAY SHOULD 
  1312.  
  1313.      ASSUME THAT THE POLLED GATEWAY IS NOT AN  APPROPRIATE  FIRST  HOP 
  1314.  
  1315.      FOR  ANY  NETWORK  WHATSOEVER.   The  optimum  parameters for the 
  1316.  
  1317.      polling/retransmission  algorithm  will  be  dependent   on   the 
  1318.  
  1319.      characteristics   of   the  two  neighbors  and  of  the  network 
  1320.  
  1321.      connecting them. 
  1322.  
  1323.            If only some fragments of an NR message are  received  after 
  1324.  
  1325.      the  maximum  number  of  retransmissions, the fragments that are 
  1326.  
  1327.      present shall be treated as constituting  the  whole  of  the  NR 
  1328.  
  1329.      message. 
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.                                   - 23 - 
  1336.  
  1337.  
  1338.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1339.  
  1340.  
  1341.  
  1342.           Received NR messages whose  identification  numbers  do  not 
  1343.  
  1344.      match  the  identification  number of the most recently sent poll 
  1345.  
  1346.      shall be ignored.  There is no provision for multiple outstanding 
  1347.  
  1348.      polls to the same neighbor. 
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.                                   - 24 - 
  1393.  
  1394.  
  1395.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1396.  
  1397.  
  1398.  
  1399.      6  SENDING NR MESSAGES 
  1400.  
  1401.            In general, NR messages are to be sent only in response to a 
  1402.  
  1403.      poll.   However,  between  two  successive polls from an exterior 
  1404.  
  1405.      neighbor, a gateway may send one  and  only  one  unsolicited  NR 
  1406.  
  1407.      message  to  that  neighbor.   This  gives  it limited ability to 
  1408.  
  1409.      quickly announce  network  reachability  changes  that  may  have 
  1410.  
  1411.      occurred in the interval since the last poll.  Excess unsolicited 
  1412.  
  1413.      NR messages may be ignored, or an error message may be returned. 
  1414.  
  1415.            An NR message should be sent within  several  seconds  after 
  1416.  
  1417.      receipt  of  a poll.  Failure to respond in a timely manner to an 
  1418.  
  1419.      NR poll may result in the polling  gateway's  deciding  that  the 
  1420.  
  1421.      polled gateway is not an appropriate first hop to any network. 
  1422.  
  1423.            NR  messages  sent  in   response   to   polls   carry   the 
  1424.  
  1425.      identification    number   of   the   poll   message   in   their 
  1426.  
  1427.      "identification number" fields.  Unsolicited  NR  messages  carry 
  1428.  
  1429.      the identification number of the last poll received, and have the 
  1430.  
  1431.      "unsolicited" bit set.  (Note that this allows for only a  single 
  1432.  
  1433.      unsolicited NR message per polling period.) 
  1434.  
  1435.            To facilitate the sending of unsolicited NR messages, the NR 
  1436.  
  1437.      poll  message  has  a  byte  indicating  the  polling interval in 
  1438.  
  1439.      minutes. 
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.                                   - 25 - 
  1446.  
  1447.  
  1448.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1449.  
  1450.  
  1451.  
  1452.           Polls from  non-neighbors,  from  neighbors  which  are  not 
  1453.  
  1454.      declared  reachable, or with bad IP source network fields, should 
  1455.  
  1456.      be responded to with an EGP error message  with  the  appropriate 
  1457.  
  1458.      "reason"  field.   If  G  sends  an  NR poll to G' with IP source 
  1459.  
  1460.      network N, and G' is not a neighbor of  G  on  its  interface  to 
  1461.  
  1462.      network  N  (or G' does not have an interface to network N), then 
  1463.  
  1464.      the source network field is considered "bad". 
  1465.  
  1466.            Duplicated   polls   (successive   polls   with   the   same 
  1467.  
  1468.      identification  number) should be responded to with duplicates of 
  1469.  
  1470.      the same NR message.  If that message  is  fragmented,  the  same 
  1471.  
  1472.      fragments  shall  be  sent  each  time.   Note  that  there is no 
  1473.  
  1474.      provision for handling multiple outstanding polls from  a  single 
  1475.  
  1476.      neighbor.   NOTE  THAT  IF  THE  SAME  FRAGMENTS  ARE NOT SENT IN 
  1477.  
  1478.      RESPONSE TO DUPLICATED POLLS, INCORRECT REASSEMBLY  WILL  BE  THE 
  1479.  
  1480.      PROBABLE  RESULT.   If  fragmentation is not being used, however, 
  1481.  
  1482.      then no harm should result from responding to  a  duplicate  poll 
  1483.  
  1484.      with a different (presumably more recent) NR message. 
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.                                    - 26 - 
  1501.  
  1502.  
  1503.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1504.  
  1505.  
  1506.  
  1507.      7  INDIRECT NEIGHBORS 
  1508.  
  1509.            Becoming a "direct neighbor" of an exterior gateway requires 
  1510.  
  1511.      three  steps:  (a)  neighbor  acquisition, (b) running a neighbor 
  1512.  
  1513.      reachability protocol, and (c) polling the neighbor  periodically 
  1514.  
  1515.      for NR messages.  Suppose, however, that gateway G receives an NR 
  1516.  
  1517.      message from G', in which G'  indicates  the  presence  of  other 
  1518.  
  1519.      neighbors  G1, ..., Gn, each of which is an appropriate first hop 
  1520.  
  1521.      for some set of networks to which G' itself is not an appropriate 
  1522.  
  1523.      first hop.  Then G should be allowed to forward traffic for those 
  1524.  
  1525.      networks directly to the appropriate one of G1, ..., Gn,  without 
  1526.  
  1527.      having to send it to G' first.  In this case, G may be considered 
  1528.  
  1529.      an INDIRECT NEIGHBOR of G1, ..., Gn, since it is  a  neighbor  of 
  1530.  
  1531.      these  other  gateways for the purpose of forwarding traffic, but 
  1532.  
  1533.      does not perform neighbor acquisition, neighbor reachability,  or 
  1534.  
  1535.      exchange   of  NR  messages  with  them.   Neighbor  and  network 
  1536.  
  1537.      reachability information is obtained indirectly via G', hence the 
  1538.  
  1539.      designation  "indirect  neighbor".   We say that G is an indirect 
  1540.  
  1541.      neighbor of G1, ..., Gn VIA G'. 
  1542.  
  1543.            If G is an indirect neighbor of  G'  via  G'',  and  then  G 
  1544.  
  1545.      receives  an  NR  message  from  G'' which does not mention G', G 
  1546.  
  1547.      should treat G' as having become unreachable. 
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.                                   - 27 - 
  1556.  
  1557.  
  1558.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1559.  
  1560.  
  1561.  
  1562.      8  HOW TO BE A STUB GATEWAY 
  1563.  
  1564.            The most common application of EGP will probably be its  use 
  1565.  
  1566.      to  enable  a  stub  gateway to communicate with one of the DARPA 
  1567.  
  1568.      core gateways,  so  as  to  enable  data  flow  between  networks 
  1569.  
  1570.      accessible only via the stub and networks accessible only via the 
  1571.  
  1572.      system of core gateways.  As discussed previously, a stub gateway 
  1573.  
  1574.      can  be  considered  to  be a one-gateway internet system with no 
  1575.  
  1576.      interior neighbors.  It is probably used  to  interface  a  local 
  1577.  
  1578.      network  or  networks  to a long range transport network (such as 
  1579.  
  1580.      ARPANET or SATNET) on which there is  a  core  gateway.  In  this 
  1581.  
  1582.      case,  the stub will not want the core gateways to forward it any 
  1583.  
  1584.      traffic other than traffic which is destined for the  network  or 
  1585.  
  1586.      networks which can be reached only via the stub.  In general, the 
  1587.  
  1588.      stub will not want to  perform  any  services  for  the  internet 
  1589.  
  1590.      transport system which are not needed in order to be able to pass 
  1591.  
  1592.      traffic to  and  from  the  networks  that  cannot  be  otherwise 
  1593.  
  1594.      reached. 
  1595.  
  1596.            The stub should have tables configured in with the addresses 
  1597.  
  1598.      of  a  small  number  of  the  core gateways (no more than two or 
  1599.  
  1600.      three) with which it has  a  common  network.   It  will  be  the 
  1601.  
  1602.      responsibility  of the stub to initiate neighbor acquisition with 
  1603.  
  1604.      these gateways.  When a stub and a  core  gateway  become  direct 
  1605.  
  1606.      neighbors,  the  core  gateway will begin sending Hello messages. 
  1607.  
  1608.  
  1609.  
  1610.                                   - 28 - 
  1611.  
  1612.  
  1613.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1614.  
  1615.  
  1616.  
  1617.      When the  stub  declares  the  core  gateways  which  are  direct 
  1618.  
  1619.      neighbors  to  be reachable, it should poll those gateways for NR 
  1620.  
  1621.      messages at a rate not to exceed once per minute (or as specified 
  1622.  
  1623.      in the Hello messages from the core gateways).  The core gateways 
  1624.  
  1625.      will also poll the stub for NR messages. 
  1626.  
  1627.            The NR message sent by  the  stub  should  be  the  simplest 
  1628.  
  1629.      allowable.   That  is,  it  should have only a single data block, 
  1630.  
  1631.      headed by its own address (on the network it has in  common  with 
  1632.  
  1633.      the neighboring core gateway), listing just the networks to which 
  1634.  
  1635.      it is an appropriate first hop.  These will be just the  networks 
  1636.  
  1637.      that can be reached no other way, in general. 
  1638.  
  1639.            The core gateways will send complete NR messages, containing 
  1640.  
  1641.      information about all other gateways on the common networks, both 
  1642.  
  1643.      core gateways (which shall be listed as interior  neighbors)  and 
  1644.  
  1645.      other  gateways (which shall be listed as exterior neighbors, and 
  1646.  
  1647.      may include the stub itself).  This information will  enable  the 
  1648.  
  1649.      stub  to become an indirect neighbor of all these other gateways. 
  1650.  
  1651.      That is, the stub shall forward traffic directly to  these  other 
  1652.  
  1653.      gateways  as  appropriate,  but shall not become direct neighbors 
  1654.  
  1655.      with them. 
  1656.  
  1657.            The core gateways will report distances less than 128 if the 
  1658.  
  1659.      network  can  be  reached  without leaving the core system (i.e., 
  1660.  
  1661.  
  1662.  
  1663.                                    - 29 - 
  1664.  
  1665.  
  1666.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1667.  
  1668.  
  1669.  
  1670.      without traversing any gateway other than a  core  gateway),  and 
  1671.  
  1672.      greater than or equal to 128 otherwise. 
  1673.  
  1674.            The  stub  should  NEVER  forward  to   any   (directly   or 
  1675.  
  1676.      indirectly)  neighboring  core gateway any traffic for which that 
  1677.  
  1678.      gateway is not an appropriate first hop, as indicated  in  an  NR 
  1679.  
  1680.      message.   Of  course, this does not apply to datagrams which are 
  1681.  
  1682.      using the source route option; any such datagrams  should  always 
  1683.  
  1684.      be  forwarded as indicated in the source route option field, even 
  1685.  
  1686.      if that  requires  forwarding  to  a  gateway  which  is  not  an 
  1687.  
  1688.      appropriate first hop. 
  1689.  
  1690.            If the direct neighbors of a stub should all fail,  it  will 
  1691.  
  1692.      be  the  responsibility  of  the stub to acquire at least one new 
  1693.  
  1694.      direct neighbor.  It can do  so  by  choosing  one  of  the  core 
  1695.  
  1696.      gateways  which it has had as an indirect neighbor, and executing 
  1697.  
  1698.      the neighbor acquisition protocol with it.  (It is possible  that 
  1699.  
  1700.      no  more than one core gateway will ever agree to become a direct 
  1701.  
  1702.      neighbor with any given stub gateway at any one time.) 
  1703.  
  1704.            If the stub gateway does not respond in a timely  manner  to 
  1705.  
  1706.      Hello  messages  from  the  core  gateway,  it  may  be  declared 
  1707.  
  1708.      unreachable.  If it does not respond to NR  poll  messages  in  a 
  1709.  
  1710.      timely manner, its networks may be declared unreachable.  In both 
  1711.  
  1712.      these cases, the core gateways may discard traffic  destined  for 
  1713.  
  1714.  
  1715.  
  1716.                                    - 30 - 
  1717.  
  1718.  
  1719.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1720.  
  1721.  
  1722.  
  1723.      those  networks, returning ICMP "destination network unreachable" 
  1724.  
  1725.      to the source hosts. 
  1726.  
  1727.            The stub gateway is  expected  to  fully  execute  the  ICMP 
  1728.  
  1729.      protocol,  as  well  as the EGP protocol.  In particular, it must 
  1730.  
  1731.      respond to ICMP echo requests, and  must  send  ICMP  destination 
  1732.  
  1733.      dead  messages  as appropriate.  It is also required to send ICMP 
  1734.  
  1735.      Redirect messages as appropriate. 
  1736.  
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.                                    - 31 - 
  1772.  
  1773.  
  1774.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1775.  
  1776.  
  1777.  
  1778.      9  LIMITATIONS 
  1779.  
  1780.            It must be clearly  understood  that  the  Exterior  Gateway 
  1781.  
  1782.      Protocol   does  not  in  itself  constitute  a  network  routing 
  1783.  
  1784.      algorithm.  In addition, it does not provide all the  information 
  1785.  
  1786.      needed  to  implement  a  general area routing algorithm.  If the 
  1787.  
  1788.      topology of the set of autonomous systems is not  tree-structured 
  1789.  
  1790.      (i.e.,  if it has cycles), the Exterior Gateway Protocol does not 
  1791.  
  1792.      provide enough topological information to prevent loops. 
  1793.  
  1794.            If any gateway sends an NR message with  false  information, 
  1795.  
  1796.      claiming  to be an appropriate first hop to a network which it in 
  1797.  
  1798.      fact cannot even reach, traffic  destined  to  that  network  may 
  1799.  
  1800.      never be delivered.  Implementers must bear this in mind. 
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.                                   - 32 - 
  1827.  
  1828.  
  1829.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1830.  
  1831.  
  1832.  
  1833.                        NEIGHBOR ACQUISITION MESSAGE 
  1834.  
  1835.  
  1836.  
  1837.        0                   1                   2                   3       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      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! EGP Version # !     Type      !     Code      !    Info       !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !        Checksum               !       Autonomous System #     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !       Identification #        !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  1838.  
  1839.      Description: 
  1840.  
  1841.           The Neighbor Acquisition messages are used by interior and           exterior gateways to become neighbors of each other. 
  1842.  
  1843.      EGP Version # 
  1844.  
  1845.          1 
  1846.  
  1847.      Type 
  1848.  
  1849.          3 
  1850.  
  1851.      Code 
  1852.  
  1853.           Code = 0      Neighbor Acquisition Request           Code = 1      Neighbor Acquisition Reply           Code = 2      Neighbor Acquisition Refusal (see Info field)           Code = 3      Neighbor Cease Message (see Info field)           Code = 4      Neighbor Cease Acknowledgment 
  1854.  
  1855.      Checksum 
  1856.  
  1857.          The  EGP checksum is the 16-bit one's complement of the one's          complement sum of the  EGP  message  starting  with  the  EGP          version  number  field.   For  computing  the  checksum,  the          checksum field should be zero. 
  1858.  
  1859.      Autonomous System # 
  1860.  
  1861.          This   16-bit   number   identifies   the  autonomous  system          containing the gateway which is the source of this message. 
  1862.  
  1863.  
  1864.  
  1865.                                   - 33 - 
  1866.  
  1867.  
  1868.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1869.  
  1870.  
  1871.  
  1872.      Info 
  1873.  
  1874.          For Refusal message, gives reason for refusal: 
  1875.  
  1876.           0  Unspecified           1  Out of table space           2  Administrative prohibition 
  1877.  
  1878.          For Cease message, gives reason for ceasing to be neighbor: 
  1879.  
  1880.           0 Unspecified           1 Going down           2 No longer needed 
  1881.  
  1882.          Otherwise, this field MUST be zero. 
  1883.  
  1884.      Identification Number 
  1885.  
  1886.          An identification number to aid in matching requests and          replies. 
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.                                    - 34 - 
  1917.  
  1918.  
  1919.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1920.  
  1921.  
  1922.  
  1923.                    NEIGHBOR HELLO/I HEARD YOU MESSAGE 
  1924.  
  1925.        0                   1                   2                   3       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      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! EGP Version # !    Type       !     Code      !    Status     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !    Checksum                   !    Autonomous System #        !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !      Sequence #               !Min Poll Intvl !    Zero       !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !      Last Poll Id #           !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  1926.  
  1927.      Description: 
  1928.  
  1929.          Exterior  neighbors  use  EGP  Neighbor Hello and I Heard You          Messages to determine neighbor connectivity.  When a  gateway          receives  an  EGP  Neighbor  Hello message from a neighbor it          should respond with an EGP I Heard You message. 
  1930.  
  1931.      EGP Version # 
  1932.  
  1933.          1 
  1934.  
  1935.      Type 
  1936.  
  1937.          5 
  1938.  
  1939.      Code 
  1940.  
  1941.           Code = 0 for Hello           Code = 1 for I Heard you 
  1942.  
  1943.      Checksum 
  1944.  
  1945.          The  EGP checksum is the 16-bit one's complement of the one's          complement sum of the  EGP  message  starting  with  the  EGP          version  number  field.   For  computing  the  checksum,  the          checksum field should be zero. 
  1946.  
  1947.      Autonomous System # 
  1948.  
  1949.          This   16-bit   number   identifies   the  autonomous  system          containing the gateway which is the source of this message. 
  1950.  
  1951.  
  1952.  
  1953.                                    - 35 - 
  1954.  
  1955.  
  1956.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  1957.  
  1958.  
  1959.  
  1960.      Sequence Number 
  1961.  
  1962.          A sequence number to aid in matching requests and replies. 
  1963.  
  1964.      Status 
  1965.  
  1966.           0  No status given           1  You appear reachable to me           2  You appear unreachable to me due to neighbor              reachability protocol           3  You appear unreachable to me due to network              reachability information (such as 1822 "destination              dead" messages from ARPANET)           4  You appear unreachable to me due to problems              with my network interface 
  1967.  
  1968.      Last Poll Id Number 
  1969.  
  1970.              The  identification  number of the most recently received              NR poll message from the neighbor to which  this  message              is being sent. 
  1971.  
  1972.      Minimum Polling Interval 
  1973.  
  1974.              This  gateway  should  not be polled for NR messages more              often than once in this number of minutes. 
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.                                    - 36 - 
  1999.  
  2000.  
  2001.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2002.  
  2003.  
  2004.  
  2005.                            NR POLL Message 
  2006.  
  2007.  
  2008.  
  2009.       0                   1                   2                   3       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      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! EGP Version # !    Type       !     Code      !    Unused     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !    Checksum                   !       Autonomous System #     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !             IP Source Network                 !  Interval     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !    Identification #           !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  2010.  
  2011.      Description: 
  2012.  
  2013.           A  gateway  that  wants  to  receive  an  NR message from an           Exterior Gateway will send an NR Poll message.  Each gateway           mentioned in the NR message will have an  interface  on  the           network that is in the IP source network field. 
  2014.  
  2015.      EGP Version # 
  2016.  
  2017.          1 
  2018.  
  2019.      Type 
  2020.  
  2021.          2 
  2022.  
  2023.      Code 
  2024.  
  2025.          0 
  2026.  
  2027.      Checksum 
  2028.  
  2029.           The EGP checksum is the 16-bit one's complement of the one's           complement  sum  of  the  EGP  message starting with the EGP           version number  field.   For  computing  the  checksum,  the           checksum field should be zero. 
  2030.  
  2031.      Autonomous System # 
  2032.  
  2033.          This   16-bit   number   identifies   the  autonomous  system          containing the gateway which is the source of this message. 
  2034.  
  2035.  
  2036.  
  2037.                                    - 37 - 
  2038.  
  2039.  
  2040.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2041.  
  2042.  
  2043.  
  2044.      Identification Number 
  2045.  
  2046.           An  identification  number  to  aid in matching requests and           replies. 
  2047.  
  2048.      IP Source Network 
  2049.  
  2050.           Each  gateway  mentioned  in  the  NR  message  will have an           interface on the network that is in the  IP  source  network           field.   The  IP  source  network  is  coded  as one byte of           network number followed by two bytes of  zero  for  class  A           networks,  two  bytes of network number followed by one byte           of zero for class B networks, and  three  bytes  of  network           number for class C networks. 
  2051.  
  2052.      Interval 
  2053.  
  2054.           The polling interval in minutes. 
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.                                    - 38 - 
  2087.  
  2088.  
  2089.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2090.  
  2091.  
  2092.  
  2093.                          NETWORK REACHABILITY MESSAGE 
  2094.  
  2095.        0                   1                   2                   3       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      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! EGP Version # !     Type      !   Code        !U! Zeroes      !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !    Checksum                   !       Autonomous System #     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !  Fragment #   !# of last frg. !       Identification #        !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !                      IP Source Network                        !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! # of Int Gwys ! # of Ext Gwys !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !  # of Nets    !                                 ; # of nets for      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   Gateway 1      ! Gateway 1 IP address (without network #)      ! ; 1, 2 or 3 bytes      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !   net 1,1     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; 1, 2 or 3 bytes      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! distance      !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !   net 1,2     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; 1, 2 or 3 bytes      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! distance      !      +-+-+-+-+-+-+-+-+                   .                   . 
  2096.  
  2097.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !   net 1,m     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ; m nets reachable      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ; via Gateway 1                   .                   .      +-+-+-+-+-+-+-+-+      !  # of nets    !       ;number of nets for Gateway n      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !             Gateway  n IP address (without network #)         !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !   net n,1     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ; 1, 2 or 3 bytes      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! distance      !      +-+-+-+-+-+-+-+-+ 
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.                                   - 39 - 
  2104.  
  2105.  
  2106.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2107.  
  2108.  
  2109.  
  2110.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !   net n,2     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ; 1, 2 or 3 bytes      +-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! distance      !    .      +-+-+-+-+-+-+-+-+    . 
  2111.  
  2112.      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !   net n,m     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ; m nets reachable      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ; via Gateway n      ! distance      !      +-+-+-+-+-+-+-+-+ 
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.                                   - 40 - 
  2153.  
  2154.  
  2155.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2156.  
  2157.  
  2158.  
  2159.      Description: 
  2160.  
  2161.           The  Network  Reachability  message (NR) is used to discover      which networks may be reached through Exterior Gateways.  The  NR      message is sent in response to an NR Poll message. 
  2162.  
  2163.      EGP Version # 
  2164.  
  2165.          1 
  2166.  
  2167.      Type 
  2168.  
  2169.          1 
  2170.  
  2171.      Code 
  2172.  
  2173.          0 
  2174.  
  2175.      Checksum 
  2176.  
  2177.          The  EGP checksum is the 16-bit one's complement of the one's          complement sum of the  EGP  message  starting  with  the  EGP          version  number  field.   For  computing  the  checksum,  the          checksum field should be zero. 
  2178.  
  2179.      Autonomous System # 
  2180.  
  2181.          This   16-bit   number   identifies   the  autonomous  system          containing the gateway which is the source of this message. 
  2182.  
  2183.      U (Unsolicited) bit 
  2184.  
  2185.          This bit is set if the NR message is being sent unsolicited. 
  2186.  
  2187.       Identification Number 
  2188.  
  2189.          The  identification  number  of  the  last  NR  poll  message          received from the neighbor to whom this NR message  is  being          sent.   This  number  is  used  to  aid in matching polls and          replies. 
  2190.  
  2191.      Fragment Number 
  2192.  
  2193.           Which  Fragment  this  is  in  the  NR  Message.   Zero,  if           fragmentation is not used. 
  2194.  
  2195.  
  2196.  
  2197.                                    - 41 - 
  2198.  
  2199.  
  2200.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2201.  
  2202.  
  2203.  
  2204.      Number of Last Fragment 
  2205.  
  2206.           Number  of  the  last  fragment in the NR Message.  Zero, if           fragmentation is not used. 
  2207.  
  2208.      IP Source Network 
  2209.  
  2210.           Each  gateway  mentioned  in  the  NR  message  will have an           interface on the network that is in the  IP  source  network           field. 
  2211.  
  2212.      # of Interior Gateways 
  2213.  
  2214.           The  number  of interior gateways that are mentioned in this           message. 
  2215.  
  2216.      # of Exterior Gateways 
  2217.  
  2218.           The  number  of exterior gateways that are mentioned in this           message. 
  2219.  
  2220.      # of Networks 
  2221.  
  2222.           The  number  of  networks  for  which  the  gateway whose IP           address immediately follows is the appropriate first hop. 
  2223.  
  2224.      Gateway IP address 
  2225.  
  2226.           1, 2 or 3 bytes of Gateway IP address (without network #). 
  2227.  
  2228.      Network address 
  2229.  
  2230.           1, 2,  or 3 bytes of network address of network which can be           reached via the preceding gateway. 
  2231.  
  2232.      Distance 
  2233.  
  2234.          1 byte of distance in # of hops. 
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.                                    - 42 - 
  2247.  
  2248.  
  2249.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2250.  
  2251.  
  2252.  
  2253.                               EGP ERROR MESSAGE 
  2254.  
  2255.       0                   1                   2                   3       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      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! EGP Version # !    Type       !     Code      !    Unused     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !    Checksum                   !       Autonomous System #     !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ! Error Type    !  Error Code   !    Id. # of Erroneous Msg.    !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      !       Sequence #              !      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  2256.  
  2257.      Description: 
  2258.  
  2259.          An  EGP  Error  Message is sent in response to an EGP Message          that has a bad checksum or has an incorrect value in  one  of          its fields. 
  2260.  
  2261.      EGP Version # 
  2262.  
  2263.          1 
  2264.  
  2265.      Type 
  2266.  
  2267.          8 
  2268.  
  2269.      Code 
  2270.  
  2271.          0 
  2272.  
  2273.      Checksum 
  2274.  
  2275.           The EGP checksum is the 16-bit one's complement of the one's           complement  sum  of  the  EGP  message starting with the EGP           version number  field.   For  computing  the  checksum,  the           checksum field should be zero. 
  2276.  
  2277.      Autonomous System # 
  2278.  
  2279.          This   16-bit   number   identifies   the  autonomous  system          containing the gateway which is the source of this message. 
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.                                   - 43 - 
  2288.  
  2289.  
  2290.       RFC 827                              Bolt Beranek and Newman Inc.                                                          Eric C. Rosen 
  2291.  
  2292.  
  2293.  
  2294.      Sequence Number 
  2295.  
  2296.           A  sequence number assigned by the gateway sending the error           message. 
  2297.  
  2298.      Error Type 
  2299.  
  2300.           The Type of the EGP message that was in error. 
  2301.  
  2302.      Error Code 
  2303.  
  2304.           The Code of the EGP message that was in error. 
  2305.  
  2306.      Identification number of erroneous message 
  2307.  
  2308.           The Sequence number of the EGP message that was in error. 
  2309.  
  2310.      Reason 
  2311.  
  2312.           The reason that the EGP message was in error.  The following reasons           are defined: 
  2313.  
  2314.           0  -  unspecified           1  -  Bad EGP checksum           2  -  Bad IP Source address in NR Poll or Response           3  -  Undefined EGP Type or Code           4  -  Received poll from non-neighbor           5  -  Received excess unsolicted NR message           6  -  Received excess poll           7  -  Erroneous counts in received NR message           8  -  No response received to NR poll           9  -  Not all fragments of NR message received 
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.                                    - 44 - 
  2333.  
  2334.  
  2335.  
  2336.