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

📄 rfc823.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
     3.6  Header Rebuild          The datagram (or the fragments of the original  datagram  if     fragmentation  was  needed)  is  next  passed  to  a routine that     rebuilds  the  Internet  header.  The  Time  to  Live  field   is     decremented by one and the IP checksum is recomputed.          The  local  network  header  is  now   built.    Using   the     information  obtained  from  its  routing  procedure, the gateway     chooses the network interface it considers  proper  to  send  the     datagram  and  to  build  the  destination  address  in the local     network header.     3.7  Output          The datagram is now enqueued on an output queue for delivery     towards  its destination.  A limit is enforced on the size of the     output queue for each network interface so that  a  slow  network                                   -10-     DARPA Internet Gateway                             September 1982     RFC 823     does  not  unfairly  use  up  all of the gateway's buffers.  If a     datagram cannot be enqueued due to the limit on the output  queue     length, it is dropped and an HMP trap is sent to the INOC.  These     traps, and others of a similar nature, are  used  by  operational     personnel to monitor the operations of the gateways.                                   -11-     DARPA Internet Gateway                             September 1982     RFC 823     4  PROTOCOLS SUPPORTED BY THE GATEWAY          A number of  protocols  are  supported  by  the  gateway  to     provide   dynamic   routing,  monitoring,  debugging,  and  error     reporting.  These protocols are described below.     4.1  Cross-Net Debugging Protocol          The Cross-Net Debugging Protocol (XNET) [8] is used to  load     the  gateway  and  to  examine  and  deposit  data.   The gateway     supports the following XNET op-codes:          o  NOP          o  Debug          o  End Debug          o  Deposit          o  Examine          o  Create Process     4.2  Host Monitoring Protocol          The Host Monitoring Protocol (HMP) [6] is  used  to  collect     measurements   and   status   information   from   the  gateways.     Exceptional conditions in the gateways are reported in HMP traps.     The status of a gateway's interfaces, neighbors, and the networks     which it can reach are reported in the HMP status message.                                   -12-     DARPA Internet Gateway                             September 1982     RFC 823          Two types of gateway statistics, the Host Traffic Matrix and     the  gateway  throughput,  are currently defined by the HMP.  The     Host Traffic Matrix records the number  of  datagrams  that  pass     through  the  gateway  with  a  given IP source, destination, and     protocol number.   The  gateway  throughput  message  collects  a     number  of  important counters that are kept by the gateway.  The     current gateway reports the following values:          o  Datagrams dropped because destination net unreachable          o  Datagrams dropped because destination host unreachable          o  Per Interface:                  Datagrams received with IP errors                  Datagrams received for this gateway                  Datagrams received to be forwarded                  Datagrams looped                  Bytes received                  Datagrams sent, originating at this gateway                  Datagrams sent to destination hosts                  Datagrams dropped due to flow control limitations                  Datagrams dropped due to full queue                  Bytes sent          o  Per Neighbor:                  Routing updates sent to                  Routing updates received from                  Datagrams sent, originating here                  Datagrams forwarded to                  Datagrams dropped due to flow control limitations                  Datagrams dropped due to full queue                  Bytes sent                                   -13-     DARPA Internet Gateway                             September 1982     RFC 823     4.3  ICMP          The gateway will generate the following ICMP messages  under     appropriate  circumstances  as  defined by the ICMP specification     [4]:          o  Echo Reply          o  Destination Unreachable          o  Source Quench          o  Redirect          o  Time Exceeded          o  Parameter Problem          o  Information Reply     4.4  Gateway-to-Gateway Protocol          The gateway uses the Gateway-to-Gateway  Protocol  (GGP)  to     determine  connectivity  to networks and neighbor gateways; it is     also used in  the  implementation  of  a  dynamic,  shortest-path     routing  algorithm.  The current GGP message formats (for release     1003 of the gateway software) are presented in Appendix A.     4.4.1  Determining Connectivity to Networks          When a gateway  starts  running  it  assumes  that  all  its     neighbor  gateways  are  "down,"  that  it  is  disconnected from                                   -14-     DARPA Internet Gateway                             September 1982     RFC 823     networks to which it is attached, and that the distance  reported     in  routing  updates  from  each  neighbor  to  each  network  is     "infinity."          The gateway first determines the state of  its  connectivity     to  networks  to  which it is physically attached.  The gateway's     connection to a network is declared up if it can send and receive     internet  datagrams  on its interface to that network.  Note that     the method that the gateway uses to determine its connectivity to     a  network  is network-dependent.  In some networks, the host-to-     network protocol determines whether or not datagrams can be  sent     and  received  on  the  host  interface.   In these networks, the     gateway simply checks-status information provided by the protocol     in order to determine if it can communicate with the network.  In     other networks, where  the  host-to-network  protocols  are  less     sophisticated,  it  may  be  necessary  for  the  gateway to send     datagrams to itself to determine if it can communicate  with  the     network.   In  these networks, the gateways periodically poll the     network using GGP network interface status messages [Appendix  A]     to determine if the network interface is operational.          The gateway has two rules relevant to computing distances to     networks:   1) if the gateway can send and receive traffic on its                                   -15-     DARPA Internet Gateway                             September 1982     RFC 823     network interface, its distance to the network is zero;  2) if it     cannot send and receive traffic on the interface, its distance to     the network is "infinity."  Note  that  if  a  gateway's  network     interface is not working, it may still be able to send traffic to     the network on  an  alternate  route  via  one  of  its  neighbor     gateways.     4.4.2  Determining Connectivity to Neighbors          The gateway determines connectivity to neighbors using a  "K     out  of  N"  algorithm.   Every 15 seconds, the gateway sends GGP     Echo messages  [Appendix  A]  to  each  of  its  neighbors.   The     neighbors  respond  by  sending GGP echo replies.  If there is no     reply to K out of  N  (current  values  are  K=3  and  N=4)  echo     messages sent to a neighbor, the neighbor is declared down.  If a     neighbor is down and J out of M (current values are J=2 and  M=4)     echo  replies  are  received,  the neighbor is declared to be up.     The values of J,K,M,N  and  the  time  interval  are  operational     parameters which can be adjusted as required.                                   -16-     DARPA Internet Gateway                             September 1982     RFC 823     4.4.3  Exchanging Routing Information          The gateway sends routing information in GGP Routing  Update     messages.  The gateway receives and transmits routing information     reliably using sequence-numbered messages  and  a  retransmission     and acknowledgment scheme as explained below.  For each neighbor,     the gateway remembers the Receive Sequence  Number,  R,  that  it     received  in  the  most recent routing update from that neighbor.     This value is initialized with the sequence number in  the  first     Routing  Update  received  from  a neighbor after that neighbor's     status is set to "up."  On receipt of a  routing  update  from  a     neighbor,  the  gateway subtracts the Receive Sequence Number, R,     from the sequence number in the routing update, S. If this  value     (S-R)  is greater than or equal to zero, then the gateway accepts     the routing update, sends an acknowledgment (see Appendix  A)  to     the  neighbor  containing the sequence number S, and replaces the     Receive Sequence Number, R, with S. If this value (S-R)  is  less     than  zero,  the  gateway  rejects the routing update and sends a     negative  acknowledgment  [Appendix  A]  to  the  neighbor   with     sequence number R.          The gateway has a  Send  Sequence  Number,  N,  for  sending     routing  updates  to  all of its neighbors.  This sequence number                                   -17-     DARPA Internet Gateway                             September 1982     RFC 823     can be initialized to any value.  The  Send  Sequence  Number  is     incremented  each  time  a  new  routing  update  is created.  On     receiving an acknowledgment for a  routing  update,  the  gateway     subtracts  the  sequence  number  acknowledged,  A, from the Send     Sequence Number, N.  If the value (N-A) is non-zero, then an  old     routing  update  is being acknowledged.  The gateway continues to     retransmit the most recent routing update to  the  neighbor  that     sent  the  acknowledgment.   If (N-A) is zero, the routing update     has been acknowledged.  Note that only the  most  recent  routing     update  must  be  acknowledged;  if  a  second  routing update is     generated before the first routing update is  acknowledged,  only     the second routing update must be acknowledged.          If  a  negative  acknowledgment  is  received,  the  gateway     subtracts  the  sequence  number negatively acknowledged, A, from     its Send Sequence Number, N.  If this value (N-A)  is  less  than     zero, then the gateway replaces its Send Sequence Number, N, with     the sequence number negatively acknowledged plus  one,  A+1,  and     retransmits the routing update to all of its neighbors.  If (N-A)     is greater than or equal to zero, then the gateway  continues  to     retransmit  the routing update using sequence number N.  In order     to maintain the correct sequence numbers at all gateways, routing     updates  must  be  retransmitted  to  all  neighbors  if the Send                                   -18-     DARPA Internet Gateway                             September 1982     RFC 823     Sequence Number changes, even if the routing information does not     change.          The gateway retransmits routing updates  periodically  until     they  are  acknowledged  and  whenever  its  Send Sequence Number     changes.  The gateway sends routing  updates  only  to  neighbors     that are in the "up" state.     4.4.4  Computing Routes          A routing update  contains  a  list  of  networks  that  are     reachable  through  this  gateway, and the distance in "number of     hops"  to  each  network  mentioned.   The  routing  update  only     contains information about a network if the gateway believes that     it is as close or closer to that network then the neighbor  which     is  to receive the routing update.  The network address may be an     internet class A, B, or C address.          The information inside a  routing  update  is  processed  as     follows.   The gateway contains an N x K distance matrix, where N     is the number of  networks  and  K  is  the  number  of  neighbor     gateways.   An  entry  in this matrix, represented as dm(I,J), is     the distance to network I from neighbor J as reported in the most                                   -19-     DARPA Internet Gateway                             September 1982     RFC 823     recent routing update from neighbor J.  The gateway also contains     a vector indicating  the  connectivity  between  itself  and  its     neighbor  gateways.   The  values  in this vector are computed as     discussed above (see Section 4.4.2, Determining  Connectivity  to     Neighbors).   The value of the Jth entry of this vector, which is     the connectivity between the gateway and  the  Jth  neighbor,  is     represented as d(J).          The gateway copies the routing update received from the  Jth     neighbor  into  the  appropriate row of the distance matrix, then     updates its routes as follows.  The gateway calculates a  minimum     distance  vector  which  contains  the  minimum  distance to each     network  from  the  gateway.   The  Ith  entry  of  this  vector,     represented as MinD(I) is:       MinD(I) = minimum over all neighbors of d(J) + dm(I,J)     where d(J) is the  distance  between  the  gateway  and  the  Jth     neighbor,  and  dm(I,J)  is the distance from the Jth neighbor to     the Ith network.  If the Ith network is attached to  the  gateway     and  the  gateway  can  send  and  receive traffic on its network     interface (see Section 4.4.2), then  the  gateway  sets  the  Ith     entry of the minimum distance vector to zero.                                   -20-     DARPA Internet Gateway                             September 1982     RFC 823          Using the minimum distance vector, the  gateway  computes  a     list  of  neighbor gateways through which to send traffic to each     network.  The entry for a  given  network  contains  one  of  the     neighbors that is the minimum distance away from that network.          After updating its  routes  to  the  networks,  the  gateway     computes  the  new  routing  updates to be sent to its neighbors.     The gateway reports a network to a neighbor  only  if  it  is  as     close  to  or closer to that network than its neighbor.  For each     network I, the routing update contains the address of the network     and the minimum distance to that network which is MinD(I).          Finally, the gateway must determine whether it  should  send

⌨️ 快捷键说明

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