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

📄 rfc1075.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 4 页
字号:
RFC 1075       Distance Vector Multicast Routing Protocol  November 1988   tunnel.  The routing messages should be sent as unicast datagrams   directly to the remote tunnel end-point; they should not use an IP   loose source route.   Justification for using the loose source route and record option for   tunneling:      We considered defining our own IP option to handle tunneling, but      we are worried that intermediate gateways do not transparently      pass IP options that are unknown to them.  Datagrams using a new      option would not traverse the Internet.  It would be better for us      if we could create a new IP option, but it won't work presently.      Recall that this is a transition design to allow us to experiment      in the current environment.      The tunneled packet containing the LSRR option has the following      features:                      Field            Value                      -----            --------------------                      src address    = src gateway address                      dst address    = dst gateway address                      LSRR pointer   = points to LSRR address 2                      LSRR address 1 = src host                      LSRR address 2 = multicast destination      Two questions raised about using the LSRR option for tunnels are      "Can intermediate gateways ignore the option?", and "Can the      destination gateway properly detect that the LSRR is used for a      tunnel?".      When an intermediate gateway receives a datagram, it examines the      destination address.  For a tunneled datagram, the destination      address will not match an address of the receiving gateway.      Therefore, the LSRR option will not be examined, and the      intermediate gateway will forward the datagram on to its next hop      for the destination address.      When the destination gateway receives a datagram, it notes that      the datagram destination address matches one of its own address.      It will then look at the next LSRR option address, since the      source route is not exhausted.  That address is a multicast      address.  Since hosts are forbidden from putting multicast      addresses into source routes, the gateway can infer that the LSRR      is for tunneling.  The weakness here is that perhaps there is some      other meaning for the multicast address in the LSRR.  No other      meaning is currently defined.Waitzman, Partridge & Deering                                  [Page 13]RFC 1075       Distance Vector Multicast Routing Protocol  November 1988      If a tunneled datagram is by error addressed to a destination      gateway that does not support multicasting, then the destination      gateway will try to find a route to the multicast address.  This      will fail, and an ICMP destination unreachable error message will      be sent to the tunneled datagram's source.  Since the source      address in the tunneled datagram has been adjusted to be the      address of the source multicast gateway, the ICMP errors will not      go to the originating host, which has no knowledge of tunnels.5. Routing Algorithm   This section provides a terse description of the distance-vector   routing algorithm.  See [1] for more information.   While DVMRP can express routes to individual hosts, the forwarding   and routing algorithms only support network and subnetwork routing.   In the discussion below, the term "virtual interface" is used to   refer to a physical interface or a tunnel local end-point.  A   physical interface is a network interface, for instance, an Ethernet   card.  A route to a destination will be through a virtual interface.   The term "virtual network" is used to refer to a physical network or   a tunnel, with the qualification that routes only reference physical   networks.   The TRPB algorithm forwards multicast datagrams by computing the   shortest (reverse) path tree from the source (physical) network to   all possible recipients of the datagram.  Each multicast router must   determine its place in the tree, relative to the particular source,   and then determine which of its virtual interfaces are in the   shortest path tree.  The datagram is forwarded out these virtual   interfaces.  The process of excluding virtual interfaces not in the   shortest path tree is called "pruning."   Consider a virtual network.  Using Deering's terminology [3], a   router is called the "parent" of the virtual network if that router   is responsible for forwarding datagrams onto that virtual network   through its connecting virtual interface.  The virtual network can   also be considered a "child" virtual network of the router.  Using   the child information, routers can do Reverse Path Broadcasting   (RPB).   Unnecessary datagrams may still be sent onto some networks, because   there might not be any recipients for those datagrams on the   networks.  There are two kinds of recipients: hosts that are members   of a particular multicast group, and multicast routers.  If no   multicast routers on a virtual network consider that virtual network   uptree to a given source, then that virtual network is a "leaf"Waitzman, Partridge & Deering                                  [Page 14]RFC 1075       Distance Vector Multicast Routing Protocol  November 1988   network.  If a network is a leaf for a given source, and there are no   members of a particular group on the network, then there are no   recipients for datagrams from the source to the group on that   network.  That network's parent router can forgo sending those   datagrams on that network, or "truncate" the shortest path tree.  The   algorithm that tracks and uses this information is the Truncated   Reverse Path Broadcasting (TRPB) algorithm.   Determining which virtual networks are leaves is not simple.  If any   neighboring router considers a given virtual network in the path to a   given destination, then the virtual network is not a leaf.   Otherwise, it is a leaf.  This is a voting function.  If a route,   with a metric poisoned by split horizon processing, is sent by some   router, then that router uses that virtual network as the uptree path   for that route (i.e.  that router votes that the virtual network is   not a leaf relative to the route's destination).  Since the number of   routers on a virtual network is dynamic, and since all received   routing updates are not kept by routers, a heuristic is needed to   determine when a network is a leaf.  DVMRP samples the routing   updates on a virtual interface while a hold down timer is running,   which is for a time period of LEAF_TIMEOUT seconds.  There is one   hold down timer per virtual interface.  If a route is received with a   metric poisoned by split horizon processing while the hold down timer   is running, or at any other time, then the appropriate virtual   interface for that route is "spoiled"-- it is not a leaf.  For every   route, any virtual interface that was not spoiled by the time the   hold down timer expires is considered a leaf.   For a description of an even better forwarding algorithm, the Reverse   Path Multicasting algorithm, see [3].   A route entry should have the following in it:           - Destination address (a source of multicast datagrams) *           - Subnet mask of the destination address                *           - Next-hop router to the destination address           - Virtual interface to the next-hop router              *           - List of child virtual interfaces                      *           - List of leaf virtual interfaces                       *           - A dominant router address for each virtual interface           - A subordinate router address for each virtual interface           - Timer           - Set of flags that indicate the state of the entry           - Metric           - Infinity   The lines that are marked with '*' indicate fields that are directly   used by the forwarding algorithm.Waitzman, Partridge & Deering                                  [Page 15]RFC 1075       Distance Vector Multicast Routing Protocol  November 1988   The lists of child and leaf interfaces can be implemented as bitmaps.5.1 Sending Routing Messages   DVMRP routing messages can be used for three basic purposes: to   periodically supply all routing information, to gratuitously supply   routing information for recently changed routes, or supply some or   all routes in response to a request.   Routing messages sent to physical interfaces should have an IP TTL of   1.   A number of timeouts and rates are used by the routing and forwarding   algorithms.  See section 6 for their values.   Rules for when to send routing messages:      - Every FULL_UPDATE_RATE seconds a router should send out        DVMRP messages with all of its routing information to all of its        virtual interfaces.  To prevent routers from synchronizing when        they send updates, a real-time timer must be used.      - Whenever a route is changed, a routing update should be sent        for that route.  Some delay must occur between triggered        updates to avoid flooding the network with triggered updates;        intervals of TRIGGERED_UPDATE_RATE seconds is suggested.      - A request for all routes should be sent on all virtual        interfaces when an DVMRP router is restarted.      - If possible, when a DVMRP router is about to terminate        execution, it should send out DVMRP messages with metrics        equal to infinity for all of its routes, on all virtual        interfaces.   When sending to routers connected via networks that support   multicasting, the messages should be multicast to address 224.0.0.4.   Therefore, routers must listen to multicast address 224.0.0.4 on   every physical interface that supports multicasting.  If multicasting   isn't supported, broadcasting can be used.  As already mentioned,   routing updates to tunnels should be sent as unicast datagrams to the   remote end-point of the tunnel.   When sending routing messages, except in response to a specific route   request (via RDA command with a non-zero count), poisoned split   horizon processing must be done.  This means that given a route that   uses network X, routing updates sent to network X must include that   route with the metric equal to the infinity and should include theWaitzman, Partridge & Deering                                  [Page 16]RFC 1075       Distance Vector Multicast Routing Protocol  November 1988   appropriate flag set in a FLAGS0 command.   Poisoned split horizon is one way to reduce the likelihood of routing   loops.  Another method, not available in RIP, is to choose a better   infinity in a route.  For routes propagated in a small, but well   connected, network an infinity smaller than 16 might be better.  The   smaller the infinity, the less time a counting-to-infinity event will   take.  In traversing a wide internet, an infinity of 16 might be too   small.  At the cost of a longer counting-to-infinity event, the   infinity can be increased.   One concept in Internet Multicasting is to use "thresholds" to   restrict which multicast datagrams exit a network.  Multicast routers   on the edge of a subnetted network or autonomous system may require a   datagram to have large TTL to exit a network.  This mechanism keeps   most multicast datagrams within the network, reducing external   traffic.  An application that wants to multicast outside of its   network would need to give its multicast datagrams at least a TTL of   the sum of the threshold and the distance to the edge of the network   (assuming TTL is used as a hop count within the network).  A   configuration option should allow specifying the threshold for both   physical interfaces and tunnels.   When a router is started, it must send out a request for all routes   on each of its virtual interfaces.  The request is a message that has   an RDA command with a count equal to 0 in it.5.2 Receiving Routing Messages   A router must know the virtual interface that a routing message   arrived on.  Because the routing message may be addressed to the   all-multicast-routers IP address, and because of tunnels, the   incoming interface can not be identified merely by examining the   message's IP destination address   For each route expressed in a routing message, the following must   occur:   IF a metric was given for the route:   THEN    add in the metric of the virtual interface that the message           arrived on.   Lookup the route's destination address in the routing tables.   IF the route doesn't exist in the tables:   THEN    try to find a route to the same network in the routing           tables.           IF that route exists in the tables:Waitzman, Partridge & Deering                                  [Page 17]RFC 1075       Distance Vector Multicast Routing Protocol  November 1988           THEN    IF this route came from the same router as the router                   that the found route came from:                   THEN    CONTINUE with next route.           IF route doesn't have a metric of infinity:                   THEN    add the route to the routing tables.           CONTINUE with next route.   IF this route came from the same router as the router that the found      route came from:   THEN    clear the route timer.           IF a metric was received, and it is different than the found           route's metric:           THEN    change the found route to use the new metric and                   infinity.                   IF the metric is equal to the infinity:                   THEN    set the route timer to the                           EXPIRATION_TIMEOUT.                   CONTINUE with next route.           IF the received infinity does not equal the found route's           infinity:           THEN    change the found route's infinity to be the received                   infinity.                   change the found route's metric to be the minimum of                   the received infinity and the found route's metric.   ELSE    IF a metric was received, and (it is less than the found           route's metric or (the route timer is at least halfway to the           EXPIRATION_TIMEOUT and the found route's metric equals the           received metric, and the metric is less than the received           infinity)):           THEN    change the routing tables to use the received route.                   clear the route timer.   CONTINUE with next route.5.3 Neighbors   A list should be kept of the neighboring multicast routers on every   attached network.  The information can be derived by the DVMRP   routing messages that are received.  A neighbor that has not been   heard from in NEIGHBOR_TIMEOUT seconds should be considered to be   down.5.4 Local Group Memberships   As required by [2], a multicast router must keep track of group   memberships on the multicast-capable networks attached to it.  Every   QUERY_RATE seconds an IGMP membership request should be sent to the   All Hosts multicast address (224.0.0.1) on each network by a   designated router on that network.  The IGMP membership request willWaitzman, Partridge & Deering                                  [Page 18]

⌨️ 快捷键说明

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