Re: [OSPF] Database Exchange Summary List Optimization
Richard Ogier <ogier@earthlink.net> Fri, 08 September 2006 14:53 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GLhjH-00056Y-CB; Fri, 08 Sep 2006 10:53:15 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GLhjG-00056N-59 for ospf@ietf.org; Fri, 08 Sep 2006 10:53:14 -0400
Received: from pop-knobcone.atl.sa.earthlink.net ([207.69.195.64]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1GLhjE-0001gx-Pk for ospf@ietf.org; Fri, 08 Sep 2006 10:53:14 -0400
Received: from dialup-4.243.134.207.dial1.sanfrancisco1.level3.net ([4.243.134.207] helo=earthlink.net) by pop-knobcone.atl.sa.earthlink.net with esmtp (Exim 3.36 #1) id 1GLhj7-0004dE-00; Fri, 08 Sep 2006 10:53:05 -0400
Message-ID: <450183CE.4010805@earthlink.net>
Date: Fri, 08 Sep 2006 07:53:02 -0700
From: Richard Ogier <ogier@earthlink.net>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:0.9.4) Gecko/20011128 Netscape6/6.2.1 (emach0202)
X-Accept-Language: en-us
MIME-Version: 1.0
To: Erblichs <erblichs@earthlink.net>
Subject: Re: [OSPF] Database Exchange Summary List Optimization
References: <44B7E563.3000706@cisco.com> <44B7E6D0.6030304@cisco.com> <44BD1FE6.2030202@earthlink.net> <44CAAB32.4B2A546D@earthlink.net> <44DB9074.8000700@earthlink.net> <44EE1D00.50502@cisco.com> <44F724CB.50100@earthlink.net> <Pine.LNX.4.64.0609041353380.1936@sheen.jakma.org> <44FDE7DD.6E016C98@earthlink.net> <44FDF3E9.50003@cisco.com> <44FE4E2F.BEAE45EA@earthlink.net> <44FF3450.2010708@cisco.com> <44FF5762.1A02E52@earthlink.net>
Content-Type: text/plain; charset="ISO-8859-2"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.1 (/)
X-Scan-Signature: 3d7f2f6612d734db849efa86ea692407
Cc: OSPF List <ospf@ietf.org>
X-BeenThere: ospf@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: The Official IETF OSPG WG Mailing List <ospf.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ospf>, <mailto:ospf-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ospf>
List-Post: <mailto:ospf@ietf.org>
List-Help: <mailto:ospf-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ospf>, <mailto:ospf-request@ietf.org?subject=subscribe>
Errors-To: ospf-bounces@ietf.org
Erblichs wrote: > > Here is a simple example: > Master Router sends a LSA hdr with a value of 22 at the > end of the DD pkt. Its next value on its next DD pkt > will be 55. > > Slave sends the headers between 22 and 55 in its DD pkt > because it is also moving forwards. > > The Master says I don't have those LSA hdrs from the slave > thus, I need to request them. The slave then processes > the req and sends the update. > > On the other hand if option 3, C was used. > > The next set of LSA hdrs from the Master would starts its > next LSAs hdrs for the DD pkt with 55. The slave is listing > the LSAs from the reverse direction. Since the slave > was looking for holes, it says I have LSAs that fit between > 22 and 55, and sends them as LSAs within Updates. > -- Thus the listing of the LSAs that fit into any hole > is never listed as a DD hdr. It is never requested, and > that non-request is never processed. Thus, you eliminate > alot of overhead. > > This also works between suceessive LSA hdrs within each DD > pkt. Because of the greater time overhead in doing this additional > lookup, a prototype implementation does in between the > DD pkt. > > Bottom line, if the combined LSDB is equally split, maybe > 75% of all LSAs could be removed from the DD pkts. This > is MAJOR. A major performance improvement. > > How else do I explain this???? And it only works FULLY > when the two routers are approaching the LSDB space in > different directions. > > Mitchell Erblich > ----------------- > Mitchell, The particular example you gave is biased in that it gives an advantage to using reverse lex order. In the first part of your example (using the forward direction), the slave happened to send several LSA headers that the master did not have. The example could easily be changed so that the slave would send a DD packet that either indicated several missing LSAs (holes) or LSAs that are older than what the master has (in both cases the master would send these LSAs to the slave). I studied this and have come to the conclusion that your scheme works just as well if both master and slave list LSAs in the same forward order. By your scheme, I mean the idea of detecting holes and sending the LSA instead of the LSA header when the router has a newer instance than the neighbor (or the neighbor has no instance). (Note, however, that I am not saying I like the scheme, only that using reverse lex order does not help.) Let's consider a more symmetric, unbiased example. Assume that for a given LSA: The master has a newer instance than the slave (or the slave has no instance) with probability 1/3, the master has the same instance as the slave with probability 1/3, and the slave has a newer instance than the master (or the master has no instance) with probability 1/3. Now suppose the master starts by listing LSAs 1 to 30 in a DD packet. Both routers list LSAs in forward order. The slave then lists LSAs 31 to 60 in its next DD packet. The slave processes the received LSA headers 1 to 30 as follows, either before or after sending its next DD packet. (In either case, it will not include any of these LSA headers in the DD packet with the scheme we are considering.) If the neighbor's LSA is older than the database copy, or the neighbor's LSA does not exist (a hole is detected), the slave sends the LSA to the neighbor. If the neighbor LSA is the same as the database copy, the slave does nothing (e.g., does not list the LSA). If the neighbor LSA is newer than the database copy, or the database copy does not exist, the slave requests the LSA. When the master receives the DD packet that lists LSAs 31 to 60, it replies by sending a DD packet starting with LSA header 61, and processes the received DD packet as described above for the slave. The main thing to notice is that the master and slave send disjoint lists of LSA headers, even if they both list LSAs in forward order, so it makes no difference whether the master and slave list LSAs in the same order or in reverse order. This is because in the scheme we are discussing, a router never lists an LSA if the neighbor already listed it (or should have listed it but didn't have it). On average, each router will be in charge of listing each LSA with probability 1/2 (but will leave a "hole" if it doesn't have the LSA). Each LSA will be listed (in a DD packet) by at most one router (master or slave). So, for a given LSA, let's compute the probability that a router (master or slave) will list the LSA header, the probability that it will request the LSA, and the probability that it will send the LSA itself (and not the LSA header) without receiving a request. These probabilities are the *same* whether the two routers list LSAs in the same direction or in opposite directions. The probability that a router lists a given LSA header is 1/2 if the router has the LSA in its database. (The probability that the router does not have the LSA is not considered here.) A router will request an LSA only if the neighbor lists the LSA header and has a newer instance, which has probability 1/2 * 1/3 = 1/6. A router will send the LSA without receiving a request only if the neighbor lists the LSA header and has an older instance (or the neighbor should list the LSA but doesn't have it), which has probability 1/2 * 1/3 = 1/6. We could compare these probabilities to plain Option A (without the scheme that sends LSAs without receiving a request). However, the main point is that these probabilities are the same whether or not the master and slave list LSAs in the same direction or in opposite directions. Sure, using Mitchell's scheme (with either Option A or Option C) can reduce the number of LSA headers listed in DD packets and in LS request packets. But as I mentioned in a previous message, bypassing the LS request mechanism of OSPF can cause other problems. Otherwise, OSPF could have been designed to avoid requesting an LSA by having the router with the newer instance send the LSA to the router with the older instance. If one router does not have any instance of the LSA, then an ordering is needed to detect holes, and this is similar to IS-IS, which seems to be a major change to OSPF. Richard > > > > > _______________________________________________ OSPF mailing list OSPF@ietf.org https://www1.ietf.org/mailman/listinfo/ospf
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Hasmit Grover
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Paul Jakma
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Paul Jakma
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Acee Lindem
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier
- Re: [OSPF] Database Exchange Summary List Optimiz… Erblichs
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier
- Re: [OSPF] Database Exchange Summary List Optimiz… Richard Ogier