目的节点序列距离矢量(DSDV)协议

上网找了好久,没有发现比较详细的讲DSDV基本原理的中文文章,不知道是因为大家都会了还是怎么着。。。于是找了一篇英文的讲DSDV的论文~

-----------------------------------------------------------分割线--------------------------------------------------------------

摘要(Abstract)

An ad hoc network is a collection of mobile nodesforming an instant network without fixed topology. Insuch a network, each node acts as both router and hostsimultaneously, and can move out or join in the networkfreely. The instantly created network does not have anybase infrastructures as used in the conventionalnetworks, but it is compatible with the conventionalnetworks. DSDV is a modification of the conventionalBellman-Ford routing algorithm. It addresses thedrawbacks related to the poor looping properties of RIPin the face of broken links. The modification adapted inDSDV makes it a more suitable routing protocol for adhoc networks. This paper reviews the DSDV protocol,and analyzes the properties of DSDV when it is used forad hoc networks routing.

Ad hoc网络是一系列可移动节点的集合,它们形成了一个没有固定拓扑结构的瞬间网络。在这样一个网络里,每一个节点同时扮演着路由器和主机的角色,并且可以自由地入驻或离开这个网络。这个即时创建的网络没有传统网络那样的底层结构,但是却可以和传统的网络兼容。而DSDV是对传统的BF路由算法的一种修正,它着重解决了RIP面对断开的链接时发生的死循环现象,使之成为一种对于ad hoc网络更合适的路由协议。这篇论文就是回顾DSDV协议,并且分析了用于ad hoc网络路由时DSDV协议的性质。

1.介绍(Introduction)

Ad hoc networks differ significantly from conventionalnetworks in the dynamic topology of interconnectionsand automatic administration for setting up the network.From a graph theory point of view, an ad hoc network isa graph G(N, E(t)), which composes of a set of nodes N,and a set of edges E(t). Each mobile host can be a nodeof the graph. Each edge of the set E(t) is formed by twonodes within the service range, it can be unidirectional orbi-directional. E(t) changes with time as the mobilenodes in the ad hoc network freely move around. Thetopology of the ad hoc can be arbitrary at any time. Withthe change of the topology of an ad hoc network, thenodes in the network have to update their routinginformation automatically and instantly. Routingprotocols in packet switched networks traditionally useeither distance-vector or link-state routing algorithm.Both of them allow a host to find the next hop to reachthe destination via the “shortest path”. The metric of theshortest path might be number of hops, time delay inmilliseconds, total number of packets queued along thepath, or something similar. Such shortest path protocolshave been successfully used in many dynamic packetswitched networks. In principle, any such protocol canalso be used in ad hoc networks. The main drawbacks ofboth link-state and distance-vector protocol are that theytake too long to converge and have a high messagecomplexity. Because of the limited bandwidth ofwireless links in an ad hoc network, message complexitymust be kept low. In addition, the rapidly changingtopology requires that the routing protocols can findroutes quickly. So new routing protocols have to bedeveloped to fulfill this basic philosophy. Thedestination sequenced distance vector (DSDV) protocol[7] is an adaptation of the classical Bellman-Ford [11]routing protocols. It is specifically targeted for the adhoc networks. It addresses the long-lived loops andcounting to infinity problems of the conventionaldistance-vector routing protocols.

Ad hoc网络是从传统网络演变而来的,它的不同之处在于相互连接的动态拓扑结构以及设置网络的自动管理。从图论的角度来看,ad hoc网络是由一个节点集合N,一个边的集合E(t)构成的图G(N, E(t))。E(t)中的每条边由两个节点构成,并在一定服务范围之内,它既可以是单向的也可以是双向的。当可移动节点在ad hoc网络中自由移动时,E(t)随着时间发生变化。同时,ad hoc的拓扑结构在任意时间是不定的。由于ad hoc网络拓扑结构的变化性,网络中的节点不得不总是自动更新它们的路由信息。以往,分组交换网络中的路由协议使用的是DV(distance-vector)或LS(link-state)路由算法。它们都允许一个主机通过“最短路径”到达目的节点时的下一跳。它们最短路径的形式可能是跳数、延迟时间(以ms为单位)、路径中排队的包的数量或其他类似的信息。这种最短路径协议在许多动态的分组交换网络中被成功应用。原则上,任何一个这样的协议也可以被用于ad hoc网络。而DV和LS协议的主要不足之处在于,他们花费了太长的时间去会聚,以及高度复杂的信息。而由于ad hoc网络中无线连接的带宽限制,信息的复杂性一定要被控制在一个较低的程度。另外,快速变化的拓扑结构需要路由协议快速找到相应的路由器。因此,新的路由协议需要满足这样一个基本的哲学体系。DSDV协议是对传统的BF路由协议的变形,它专注于ad hoc网络,解决了传统的DV路由协议中长期存在的循环和无限技术的问题。

2.路由协议概述(Overview of Routing Protocols)

The most popular packet routing protocols inconventional networks are primarily categorized as linkstateand distance-vector.

在传统网络中,最有名的路由协议当属LS(linkstate)和DV协议(distance-vector)。

Link State Routing Protocol [7, 11] keeps a routingtable for complete topology, which is built up finding theshortest path of link cost. The information of link cost istransmitted periodically by all nodes using floodingtechnique. Each node updates its routing table using newlink cost information gathered. Link cost informationmay be inconsistent because of dynamic behavior oftopology or wireless medium, such as instantaneouslyincorrect long propagation delays etc. This may result inshort-lived long routing loops, which disappear on linkupdates.

连接状态选路协议为整个拓扑结构保持了一张路由表(routingtable),通过这张表来找到拥有最少连接消耗的路径。所有的节点使用floodingtechnique定期地发送连接消耗的信息。每一个节点使用收集的新的连接消耗信息来更新自己的路由表。由于拓扑结构的动态行为或无线媒介,连接消耗信息可能是不一致的,例如突如其来的不正确的传播时延。这可能造成在连接更新时发生短暂的路由循环。

Distance Vector Routing Protocol [7, 11] operates byhaving each node i maintains a table, which contains aset of distance or cost {dij(x)}, where j is a neighbor of i.Node i treats the neighbor k as the next hop for a datapacket destined for node x, if d min j{d (x)} ik ij = ∀j{dij(x)} .The routing table gives the best distance to eachdestination and which route to get there. To keep thedistance set in the table up to date, each router exchangesinformation with all its neighbors periodically. If, as aresult, a minimum distance to any neighbor of a nodechanges, this process will be repeated until all the nodeshave updated the routing information. However, distancevector routing algorithm can cause both short-lived andlong-lived loops due to updating the routing table withstale information. Though the looping problem can beeliminated using inter-nodal coordination method, whichrequires the routers to coordinate themselves mutuallyby confirmation messages in relatively stableenvironment. However, ad hoc networks are rapidly changing mobile environments. This inter-nodal coordination mechanism is difficult to be used in the ad hoc networks.

距离向量路由协议通过使得每个节点i保持一张含有距离或耗费集合{dij(x)}的表来进行操作,其中节点j是节点i的相邻节点。在将数据包发给目的节点x时,如果节点i的相邻节点k是i的所有相邻节点中的最小值,则将节点k当做是节点i的下一跳。这张路由表给出了每个目的节点的最佳距离以及哪个路由可以到达。为了保持最新的距离结合,每个路由器与它所有的相邻节点定期交换信息。如果交换结束后,一个节点 到任何一个相邻节点的最短距离将发生变化,这个过程经一直重复知道所有的节点完成路由表的更新。但是,由于旧的的信息,在更新路由表时,DV路由算法可能引起短暂的或长期的循环。

The well-known implementation of distance vector routing, routing information protocol (RIP) [11], has been successfully used within local networks. However, it introduces counting to infinity problem due to network topology changes such as link or router failures. To improve the convergence of RIP, triggered updates, split horizon, poison reverse and path hold-down mechanisms [10, 11] have been integrated into different RIP implementations. Unfortunately, they solve some problems and introduce others at the same time. The usefulness of RIP to ad hoc environments is restricted due to the rapid topology change.尽管这种循环问题可以通过使用内部协调节点的方法来解决,这需要路由器在相对稳定的环境中利用证明信息互相协调。但是不幸的是,ad hoc网络是个变化非常迅速的移动环境。这种内部协调节点机制是很难用于ad hoc网络的。

For the reasons mentioned above, both conventional link state and distance vector routing algorithms are not suitable for ad hoc network routing. The drawbacks of these protocols have to be fixed. DSDV is one of the proposed routing protocols for ad hoc networks. It aims to overcome the looping problem of RIP and retain the simplicity of RIP.

由于以上的各种原因,传统的LS和DV路由协议都不能合适地应用于ad hoc网络路由中。这些协议的缺点需要被修正,而DSDV就是这些协议中的一种。它旨在克服RIP中的循环问题并且保持了RIP的简洁性。

3.DSDV协议(DSDV Protocol)

Destination sequenced distance vector routing (DSDV)is adapted from the conventional Routing InformationProtocol (RIP) to ad hoc networks routing. It adds a newattribute, sequence number, to each route table entry ofthe conventional RIP. Using the newly added sequencenumber, the mobile nodes can distinguish stale routeinformation from the new and thus prevent the formation
of routing loops.


(前面省略……)DSDV增加了一个新的特性,那就是为传统的RIP路由表中的每一条目增加了一个序列号码。利用这个新增的序列号码,可移动的结点可以区分新旧路径信息,因此防止了路径循环的发生。

Packet Routing and Routing Table Management [7]In DSDV, each mobile node of an ad hoc networkmaintains a routing table, which lists all availabledestinations, the metric and next hop to each destinationand a sequence number generated by the destinationnode. Using such routing table stored in each mobilenode, the packets are transmitted between the nodes ofan ad hoc network. Each node of the ad hoc networkupdates the routing table with advertisement periodicallyor when significant new information is available tomaintain the consistency of the routing table with thedynamically changing topology of the ad hoc network.

分组路由和路由表管理在DSDV中,ad hoc网络中的每个可移动节点保持着一张路由表,它列出了所有有效的目的节点,metric值、到达目的节点的下一跳节点以及由目的节点产生的一个序列号码。利用这样一张存储在每一个可移动节点中的路由表,包得以在ad hoc网络的节点之间传送。Ad hoc网络中的每个节点利用定期的广告或当新的重要的信息有效时更新各自的路由表,来保持动态变化的拓扑结构下路由表的一致性。

Periodically or immediately when network topologychanges are detected, each mobile node advertisesrouting information using broadcasting or multicasting arouting table update packet. The update packet starts outwith a metric of one to direct connected nodes. Thisindicates that each receiving neighbor is one metric(hop) away from the node. It is different from that of theconventional routing algorithms. After receiving theupdate packet, the neighbors update their routing tablewith incrementing the metric by one and retransmit theupdate packet to the corresponding neighbors of each ofthem. The process will be repeated until all the nodes inthe ad hoc network have received a copy of the updatepacket with a corresponding metric. The update data isalso kept for a while to wait for the arrival of the bestroute for each particular destination node in each nodebefore updating its routing table and retransmitting theupdate packet. If a node receives multiple update packetsfor a same destination during the waiting time period, theroutes with more recent sequence numbers are alwayspreferred as the basis for packet forwarding decisions,but the routing information is not necessarily advertisedimmediately, if only the sequence numbers have beenchanged. If the update packets have the same sequencenumber with the same node, the update packet with thesmallest metric will be used and the existing route willbe discarded or stored as a less preferable route. In thiscase, the update packet will be propagated with thesequence number to all mobile nodes in the ad hocnetwork. The advertisement of routes that are about tochange may be delayed until the best routes have beenfound. Delaying the advertisement of possibly unstableroute can damp the fluctuations of the routing table andreduce the number of rebroadcasts of possible routeentries that arrive with the same sequence number.

当定期的或瞬时的网络拓扑发生变化并被检测到时,每一个可移动的节点利用广播或多点广播一个路由表更新包来广播路由信息。这个更新包由某一个直接相连的结点开始。这表明,每一个接收的相邻节点与这个发生变化的节点之间相距一跳。这与传统的路由算法不同。在接收到更新包后,这些邻居们更新它们的路由表,将序列号加一然后再将这些更新包发给它们对应的邻居们。这个过程将一直重复,直到ad hoc网络中所有的节点接收到更新包对应的一个序列号的复制品。在更新它的路由表并且转发更新包之前,每个节点将保留这些更新信息一段时间,以等待对于每一个目的节点的最佳路由器的到达(凌乱了……)。如果在等待的时间里,一个节点对于同一个目的节点收到了多个更新包,那么拥有更大的序列号码的路由器将被作为前推包的选择,但是如果只是序列号发生变化的话,路由信息将不必立即被广播。如果对于同一个节点,更新包有相同的序列号,那么具有更小metric值的更新包将被使用,而且已存在的路线将被舍弃或者作为一个备选路径。在这种情况下,有着该序列号的更新包被发送给网络中的所有可移动节点。将要被改变的路径的广播可能会被延迟直到最优的路径已经被找到了。可能不稳定的路径的延迟广播可以减少路由表的波动,并且减少到达时路由相同序列号码的可能路径条目的再广播数目。(ohmygod,翻死我了……)

The elements in the routing table of each mobile nodechange dynamically to keep consistency withdynamically changing topology of an ad hoc network.To reach this consistency, the routing informationadvertisement must be frequent or quick enough toensure that each mobile node can almost always locateall the other mobile nodes in the dynamic ad hocnetwork. Upon the updated routing information, eachnode has to relay data packet to other nodes upon requestin the dynamically created ad hoc network.

每个可移动节点的路由表元素不断变化来保持ad hoc网络中变化的拓扑结构的一致性。为了达到这种一致性,路由信息广播一定要频繁或足够快速来保证每个可移动节点几乎总是可以定位动态ad hoc网络中的其他所有节点。基于更新路由信息,每个节点不得不向其他节点转播数据包来满足动态变化的ad hoc网络中产生的各种需求。

Figure 1 shows an example of an ad hoc network beforeand after the movement of the mobile nodes. Table 1 isthe routing table of the node H6 at the moment beforethe movement of the nodes. The Install time field in therouting table helps to determine when to delete staleroutes.

Figure 1展示了一个ad hoc网络在可移动节点发生移动前后的例子。Table 1是节点H6在节点移动前、当前时刻的路由表。其中,Install区域帮助决定何时去探测陈旧的路径。

Figure 2 shows an example of packet routing procedurein DSDV. Node H4 wants to send a packet to the nodeH5 as shown in Figure 1. The node H4 checks its routingtable and locates that the next hop for routing the packetis node H6. Then H4 sends the packet to H6 as shown inFigure 2a. Node H6 looks up the next hop for thedestination node H5 in its routing table when it receives
the packet (Figure 2b). Node H6 then forwards thepacket to the next hop H7 as specified in the routingtable as shown in Figure 2c. The routing procedurerepeated along the path until the packet finally arrives itsdestination H5.

图2展示了利用DSDV的分组路由过程的例子。在图1中,节点H4想要向节点H5发送一个包。节点H4检查它的路由表,进行定位后发现路径的下一跳是节点H6,。然后像图2a中显示的一样,H4向H6发送包。在收到这个包后(图2b),节点H6在它的路由表里查找到底H5的下一跳。然后节点H6将包前推到路由表中指明的下一跳H7(图2c)。这样的路由过程在路径中一直重复,知道包最终到达它的目的地H5。

In the routing information updating process, the originalnode tags each update packet with a sequence number todistinguish stale updates from the new one. Thesequence number is a monotonically increasing numberthat uniquely identifies each update from a given node.As a result, if a node receives an update from anothernode, the sequence number must be equal or greater thanthe sequence number of the corresponding node alreadyin the routing table, or else the newly received routinginformation in the update packet is stale and should bediscarded. If the sequence number of one node in thenewly received routing information update packet issame as the corresponding sequence number in therouting table, then the metric will be compared and theroute with the smallest metric will be used.

在路由信息更新的过程中,原始的节点给每个更新包添加了一个序列号码用于辨别更新包的新旧之分。这个序列号码是一个单调递增的数字,唯一地识别从特定节点发出每个更新。这样的结果是,如果一个节点从另一个节点收到了一个更新,这个序列号码一定大于等于路由表中相应的节点的序列号码,或者在更新包中收到的最新路由信息是陈旧的并应该被舍弃。如果最新接收的一个节点的序列号码与路由表中对应节点的号码相同,那么将比较相对路径的远近,而最近的路径将被使用。

In addition to the sequence number and the metric foreach entry of the update packet, the update routeinformation contains also both the address of the finaldestination and the address of the next hop. There aretwo types of update packets, one is called full dump,which carries all of the available routing information.The other is called incremental, which carries only therouting information changed since the last full dump.Figure 3 shows an example that a node handles anincremental update packet.

除了更新包中的每个条目的序列号码和metric值,更新信息中同样包含了目的节点的地址和下一跳的地址。有两种类型的更新包,一种被称为完全转存(full dump),这种类型将携带所有有效的路由信息。另一种被称为可增加的,它仅仅携带了自从上一次完全转存后的路由信息。图3展示了一个节点操纵一个可增长的更新包的例子。

Figure 3 indicates that the node H7 in Figure 1 advertisesits routing information with broadcasting the updatepacket to its neighbors. When the node H6 receives theupdate packet, it will check the routing information ofeach item contained in both the update packet and the itsrouting table and update the routing table. The entrieswith higher sequence numbers are always entered into
the routing table (e.g., the entry H1 has newer sequencenumber - S516H1 in the update packet in Figure 3a. Thissequence number is entered into the updated routingtable Figure 3c after the routing update.), regardless ofwhether each of them have a higher metric or not. If anentry has the same sequence number, the route withsmaller metric is entered into the routing table (e.g., the
entry H5 has the same sequence number – S502_H5 inboth the update packet in Figure 3a and the currentrouting table in Figure 3b, but the entry H5 in the currentrouting table in Figure 3b has lower metric, so it entersthe updated routing table in Figure 3c.). The items withold sequence numbers in the update packet are alwaysignored (e.g., H2 and H8 have old sequence number
respectively in the update packet in Figure 3a, both ofthem are ignored in the updated routing table in Figure3c.).

图3表明,图1中的节点H7将它的路由信息通过更新包广播给了它的邻居们。当节点H6接收到更新包后,它将检查更新包和它自己的路由表中的每一个条目,然后更新路由表。具有更高序列号的条目将总是被加到路由表中(例如,在图3a中,条目H1在更新包中具有更新的序列号码S516H1。这个序列号码在路径更新后被加到路由表图3c中),无论它们是否具有更高的metric值。如果一个条目具有相同的序列号码,具有更小的metric值的路径将被加到路由表中(例如,条目H5在更新包(图3a)和当前的路由表(图3b)中具有相同的序列号码S502_H5,但是当前路由表中的条目H5具有更小的metric值,因此在图3c中它被加到了更新的路由表中)。更新包中具有陈旧的序列号码的条目总是被忽略(例如,在更新包(图3a)中,H2和H6的序列号已经很陈旧了,它们都会再更新后的路由表中被忽略(图3c)。)。

Each node in an ad hoc network must periodicallytransmit its entire routing table (full dump) to itsneighbors most likely using multiple network protocoldata units (NPDUs) [7]. The full dumps of the nodes canbe transmitted relatively infrequently when littlemovement of mobile nodes is occurring. Incrementalupdate packets are transmitted between the full dumpsfor partial changes of the routing table such as receivingnew sequence numbers and fewer significant routechanges (as shown in Figure 3a). The incrementalrouting update should be fitted in one NPDU. Themobile nodes are expected to determine the significanceof the routing information changes to be sent out witheach incremental advertisement. As shown in Figure 3a,the significant route change of H1 has to be includedfirst, then the others with sequence number changes.When the significant changes increase with frequentvarying of the network topology and the size of anincremental approaches the maximum size of a NPDU, afull dump is scheduled to make the next incrementalbecome smaller.

Responding to Topology Changes Links can be broken when the mobile nodes move fromplace to place or have been shut down etc. The brokenlink may be detected by the communication hardware orbe inferred if no broadcasts have been received for awhile from a former neighbor. The metric of a brokenlink is assigned infinity. When a link to next hop hasbroken, any route through that next hop is immediately
assigned an infinity metric and an updated sequencenumber. Because link broken qualifies as a significantroute change, the detecting node will immediatelybroadcast an update packet and disclose the modified
routes.

响应拓扑变化 当节点移动或被关闭时,连接也会断开。断开的连接可以被用于沟通联系的硬件发现,或者由之前一个邻居发来的广播一直无人接手可推测而来。断开的连接之间的metirc值会赋为无穷大。当到达下一跳的连接断开时,任何一个通过这一跳的路径会立即被赋值为无限大距离和一个更新后的序列号码、因为连接的断开被当做一个重大的路径改变,则发现这一变化的节点将立即广播一个更新包,并且告知修改后的路径。

To describe the broken links, any mobile node other thanthe destination node generates a sequence number, whichis greater than the last sequence number received fromthe destination. This newly generated sequence numberand a metric of infinity will be packed in an updatemessage and flushed over the network. To avoid nodesthemselves and their neighbors generating conflictingsequence numbers when the network topology changes,nodes only generate even sequence numbers forthemselves, and neighbors only generate odd sequencenumbers for the nodes responding to the link changes.

为了描述断开的连接,除了目的节点,任何一个可移动节点都生成一个序列号码,这个号码比上一个从目的节点接收到的序列号码要大。这个生成的序列号码和无穷大的metric值将被封装到一个更新信息里,然后在网络中传播开来。为了防止节点自己和他们的邻居们在拓扑变化时生成冲突的序列号码,节点仅仅为他们自己生成偶数的序列号码,而邻居们仅仅为它们生成奇数的序列号码来响应连接的变化。

Figure 4 illustrates an example of link broken. Weassume the link between the node H1 and H7 is brokenin Figure 1. Node H7 detects the link broken andbroadcasts an update packet (Figure 4a) to node H6.
Node H6 updates its routing table with the newlyreceived routing information (odd sequence number –S517_H1 and ∞ metric) of entry H1 (Figure 4c). Itmeans that the link to node H1 is broken. If any other
nodes send route update information of node H1 witheven sequence number generated by node H1 previously,it is smaller than the current sequence number -S517_H1 in Figure 4c, to node H6, which knows that theroute information is stale, thus routing loop is prevented.If other nodes generate a newer odd sequence numberwith an infinity metric for node H1 and it is sent to nodeH6, which knows that the link to node H1 is broken viathe odd sequence number and infinity metric.

图4列出了一个连接断开的例子。我们假设图1中的节点H1和节点H7之间的连接断开了。节点H7检测到连接断开并且向节点H6广播了一个更新包(图4a)。节点H6利用刚刚接收的路径信息更新了它的路由表中的H1项(奇数序列号码S517_H1和无穷大metric值)。这意味着,通向节点H1的连接断开了。如果任何一个其他节点利用节点H1之前生成的偶数序列号码发送节点H1的路径更新信息,它将比当前的序列号码S517_H1(图4c)小,这告诉节点这个路径信息已经过时了,因此路径循环就被成功阻止了。如果任何一个其他节点利用H1的无穷大metric值生成一个更新的奇数序列号码,并且将它发送给节点H6,奇数的序列号码和无穷metric值将告知通往H1的连接已经断开。

The routes to a lost node will be re-established when thelost node comes back to the network and broadcasts itsnext update message with an equal or later sequencenumber and a finite metric. The update message will bedisseminated over the whole network to indicate that thebroken links have come back into service again. In anycase, the entry containing a finite metric and an equal orlater sequence number will supersede the correspondingentry with a metric of infinity in the routing table of anode.

当丢失的节点重新回到网络中时,连接它的路径将被重新建立,并广播它的更新信息,包括一个大于等于的序列号码和一个有限的metric值。这个更新信息将在整个网络中散步,来表明断开的连接已经重新上线了。在任何情况下,一个包含了有限metric值和一个大于登录序列号码的项将取代路由表中一个节点对应的metricz值。

DSDV also contains substantially more procedures forhandling layer-2 and layer-3 routing and for dealing withthe extension of base station coverage. The details ofthese procedures are referred to [7].


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值