⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc911.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 4 页
字号:
routes  should  not  be updated. In the current implementation alternate routesare not used.2.1.1 Incoming UpdatesEGP Updates are used to update  the  exterior  routing  table  if  one  of  thefollowing is satisfied:   - No  routing  table  entry  exists for the destination network and the     metric indicates the route is reachable (< 255).   - The advised gateway is the same as the current route.   - The advised distance metric is less than the current metric.   - The current route is older (plus a  margin)  than  the  maximum  poll     interval  for  all  acquired  EGP  neighbors.  That is, the route was     omitted from the last Update.If any exterior route entry, except the default route, is not  updated  by  EGPwithin  4  minutes  or  3  times  the  maximum  poll interval, whichever is thegreater, it is deleted.If there is more than one acquired EGP neighbor, the Update  messages  receivedfrom each are treated the same way in the order they are received.In  the worst case, when a route is changed to a longer route and the old routeis not first notified as unreachable, it  could  take  two  poll  intervals  toupdate  a  route. With the current poll interval this could be 4 minutes. UnderUnix 4.2  BSD  TCP  connections  (Transmission  Control  Protocol)  are  closedautomatically  after  they  are idle for 6 minutes. So this worst case will notresult in the automatic closure of TCP connections.2.1.2 Outgoing UpdatesOutgoing Updates include the direct  and  static  networks  from  the  interiorrouting table, except for the network shared with the EGP neighbor.The  networks  that  are  allowed  to be advised in Updates may be specified atinitialization in EGPINITFILE. This allows particular  routes  to  be  excludedfrom  exterior updates in cases where routing loops could be a problem. Anothercase where this option is necessary, is when there  is  a  non-routing  gatewaybelonging  to  a different AS which has not implemented EGP yet. Its routes mayneed to be included in the kernel routing table but they are not allowed to  beadvised in outgoing updates.If  the  interior routing table includes other interior gateways on the networkshared with the EGP neighbor they are include in  Updates  as  the  appropriateRFC 911                                                                       6first hop to their attached networks.The  distance to networks is set as in the interior routing table except if theroute is marked down in which case the distance  is  set  to  255.  At  presentroutes are only marked down if the outgoing interface is down. The state of allinterfaces  is  checked  prior  to  preparing  each  outgoing  Update using theSIOCGIFFLAGS ioctl system call.Unsolicited Updates are not sent.2.2 Neighbor AcquisitionEGPINITFILE lists the addresses of trusted EGP  neighbor  gateways,  which  areread  at  initialization.  These  will  usually  be  core gateways as only coregateways provide full internet routing information.  At  the  time  of  writingthere  were  three  core  gateways  on  ARPANET which support EGP, CSS-GATEWAY,ISI-GATEWAY and PURDUE-CS-GW, and two on MILNET, BBN-MINET-A-GW and AERONET-GW.EGPINITFILE also includes the maximum number of these gateways that  should  beacquired  at  any  one  time.  This is usually expected to be just one. If thisgateway is declared down another gateway on the  list  will  then  be  acquiredautomatically  in  sufficient  time  to  ensure that the current routes are nottimed out.The gateway will only accept acquisitions from neighbors on  the  trusted  listand  will  not  accept  them if it already has acquired its maximum quota. Thisprevents Updates being accepted from possibly unreliable sources.The ability to acquire core gateways that are not on the trusted list but  havebeen  learned of indirectly via Update messages is not included because not allcore gateways run EGP.New acquisition Requests are sent to neighbors in  the  order  they  appear  inEGPINITFILE.  No  more new Requests than the maximum number of neighbors yet tobe  acquired  are  sent  at  once.  Any  number  of  outstanding  Requests  areretransmitted at 32 second intervals up to 5 retransmissions each at which timethe  acquisition  retransmission  interval  is increased to 4 minutes. Once themaximum number of  neighbors  has  been  acquired,  unacquired  neighbors  withoutstanding  Requests  are  sent  Ceases.  This  approach provides a compromisebetween fast response when neighbors do not initially respond and a  desire  tominimize  the  chance that a neighbor may be Ceased after it has sent a Confirmbut before it has been received.  If the specified maximum number of  neighborscannot  be  acquired, Requests are retransmitted indefinitely to all unacquiredneighbors.2.3 Hello and Poll IntervalsThe Request and Confirm messages include minimum  values  for  Hello  and  Pollintervals.  The advised minimums by this and the core gateways are currently 30and 120 seconds respectively.RFC 911                                                                       7The  received  intervals  are  checked  against  upper  bounds to guard againstnonsense values. The upper bounds are currently set  at  120  and  480  secondsrespectively.  If,  they are exceeded the particular neighbor is considered badand not sent further Requests for one hour. This allows  the  situation  to  becorrected  at  the  other  gateway and normal operation to automatically resumefrom this gateway without an excess of unnecessary network traffic.The actual Hello and Poll intervals are chosen by first selecting  the  maximumof  the  intervals  advised  by this gateway and its peer. A 2 second margin isthen added to the Hello interval to take  account  of  possible  network  delayvariations  and the Poll interval is increased to the next integer ratio of theHello interval. This results in 32 second Hello and 128 second Poll intervals.If an Update is not received in response to a Poll, at most  one  repoll  (samesequence number) is sent instead of the next scheduled Hello.2.4 Neighbor CeaseIf  the EGP process is sent a SIGTERM signal via the Kill command, all acquiredneighbors are sent Cease(going down) commands.  Ceases are retransmitted at thehello interval at most 3 times.  Once all have either responded with Cease-acksor been sent three retransmitted Ceases the process is terminated.2.5 Neighbor ReachabilityOnly  active  reachability  determination  is  implemented.  It  is   done   asrecommended in [Mills 84a] with a minor variation noted below.A  shift  register  of responses is maintained.  For each Poll or Hello commandsent a zero is shifted into the shift register.  If a response  (I-H-U,  Updateor  Error) is received with the correct sequence number the zero is replaced bya one.  Before each new command is  sent  the  reachability  is  determined  byexamining  the  last  four  entries  of  the shift register. If the neighbor isreachable  and  <=  1  response  was  received  the  neighbor   is   consideredunreachable.  If the neighbor is considered unreachable and >= 3 responses werereceived it is now considered reachable.A neighbor is considered reachable immediately after acquisition  so  that  thefirst  poll  received  from  a  core  gateway  (once  it considers this gatewayreachable) will be responded to with an Update. Polls are  not  sent  unless  aneighbor  is considered reachable and it has not advised that it considers thisgateway unreachable in its last Hello, I-H-U or Poll message.    This  preventsthe first Poll being discarded after a down/up transition. This is important asthe  Polls  are  used  for reachability determination. Following acquisition atleast one message must be received before the first Poll is sent.  This  is  todetermine  that  the  peer  does  not  consider this gateway down. This usuallyrequires at least one Hello to be sent prior to the first poll. The  discussionof  this  paragraph  differs  from  [Mills 84a] which recommends that a peer beconsidered down following acquisition and Polls may be sent as soon as the peeris  considered  up.  This  is  the  only   significant   departure   from   theRFC 911                                                                       8recommendations in [Mills 84a].Polls  received  by  peers  that  are  considered unreachable are sent an Errorresponse which allows their reachability determination to  progress  correctly.This action is an option within [Mills 84a].When  a  neighbor  becomes  unreachable  all  routes  using it as a gateway aredeleted from the routing table. If there are  known  unacquired  neighbors  theunreachable gateway is ceased and an attempt is made to acquire a new neighbor.If all known neighbors are acquired the reachability determination is continuedfor  30  minutes  ([Mills  84a]  suggests  60  minutes)  after  which  time theunreachable neighbor is ceased and reacquisition  attempted  every  4  minutes.This is aimed at reducing unnecessary network traffic.If  valid  Update  responses  are  not  received for three successive polls theneighbor is ceased and an alternative acquired or reacquisition is attempted in4 minutes. This provision is provided in case erroneous Update data formats arebeing sent by the neighbor. This situation did occur  on  one  occasion  duringtesting.2.6 Sequence NumbersSequence  numbers  are  managed  as recommended in [Mills 84a]. Single send andreceive sequence numbers are maintained for each neighbor.  The  send  sequencenumber  is  initialized  to  zero  and is incremented before each new Poll (notrepoll) is sent and at no other time. The send sequence number is used  in  allcommands.  The  receive  sequence  number is maintained by copying the sequencenumber of the last Request, Hello, or Poll command received  from  a  neighbor.This  sequence  number  is  used  in outgoing Updates. All responses (includingError responses) return the sequence number of the message just received.2.7 Treatment of Excess CommandsIf more than 20 commands are received from a neighbor in any  8  minute  periodthe  neighbor  is  considered  bad,  Ceased and reacquisition prevented for onehour.At most one repoll (same sequence number) received before the poll interval hasexpired (less a 4 second margin for network delay variability) is responded  towith  an  Update,  others are sent an Error response. When an Update is sent inresponse to a repoll the unsolicited bit is not set,  which  differs  from  therecommendation in [Mills 84a].2.8 Inappropriate MessagesIf  a Confirm, Hello, I-H-U, Poll or Update is received from any gateway (knownor unknown) that is in the unacquired state, synchronization has probably  beenlost  for  some  reason. A Cease(protocol violation) message is sent to try andreduce unnecessary network traffic. This action is an option in [Mills 84a].RFC 911                                                                       92.9 Default GatewayA  default gateway may be specified in EGPINITFILE. The default route (net 0 inUnix 4.2 BSD) is used by the kernel packet forwarder if there  is  no  specificroute for the destination network. This provides a final level of backup if allknown EGP neighbors are unreachable. This is especially useful if there is onlyone available EGP neighbor, as in the ISI case, Section 5.2.2.The  default route is installed at initialization and deleted after a valid EGPUpdate message is received. It  is  reinstalled  if  all  known  neighbors  areacquired  but  none  are  reachable,  if routes time out while there are no EGPneighbors that are acquired and reachable, and prior to process termination.It is deleted after a valid EGP Update message is received because the  defaultgateway will not know any more routing information than learned via EGP.  If itwere  not deleted, all traffic to unreachable nets would be sent to the defaultgateway under Unix 4.2 forwarding strategy.The default gateway should normally be set to a full-routing core gateway otherthan the known EGP neighbor gateways to give another backup in case all of  theEGP gateways are down simultaneously.RFC 911                                                                      103. TESTINGA few interesting cases that occurred during testing are briefly described.The   use   of  sequence  numbers  was  interpreted  differently  by  differentimplementers. Consequently some implementations  rejected  messages  as  havingincorrect  sequence numbers, resulting in the peer gateway being declared down.The main problem was that the specification was solely in narrative form  whichis  prone  to  inconsistencies, ambiguities and incompleteness. The more formalspecification of [Mills 84a] has eliminated these ambiguities.When testing  the  response  to  packets  addressed  to  a  neighbor  gateway'sinterface  that  was  not  on  the  shared net a loop resulted as both gatewaysrepeatedly exchanged  error  messages  indicating  an  invalid  interface.  Theproblem  was that both gateways were sending Error responses after checking theaddresses but before the EGP message type was checked.  This was  rectified  bynot  sending  an  Error response unless it was certain that the message was notitself an Error response.On one occasion a core gateway had some  form  of  data  error  in  the  Updatemessages  which  caused  them to be rejected even though reachability was beingsatisfactorily conducted. This resulted in all routes being  timed  out.    Thesolution  was  to  count  the  number of successive Polls that do not result invalid Updates being received and if this number reaches  3  to  Cease  EGP  andattempt to acquire an alternative gateway.Another  interesting idiosyncrasy, reported by Mike Karels at Berkeley, resultsfrom having multiple gateways between MILNET and ARPANET. Each ARPANET host hasan assigned gateway to use for access to MILNET. In cases where the EGP gatewayis a host as well as  a  gateway,  the  EGP  Update  messages  may  indicate  adifferent  MILNET/ARPANET  gateway from the assigned one. When the host/gatewayoriginates a packet that is routed  via  the  EGP  reported  gateway,  it  willreceive  a  redirect to its assigned gateway.  Thus the MILNET gateway can keep

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -