[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMRG] Requirements for IMP



Hi Jon,
the scheme you propose is probably the one that gives the maximum flexibility with the minimum number of bits in the header (3).
However, in case you're intrested in measuring what happens on a set of X routers close to each other (i.e. on a sequence of next hops), AND these routers are far from the source (or on the reverse path) AND you have a IPMP packet constrained in size, you may have (in the worse case) to use X packets to let each of these X routers fill the packet (playing with the TTL as you showed). Beyond having to spend X packets, you'll never be able to have in the same packet the timestamps of all these X neighbouring routers, which may be a limitation.
An example (numbers are only for the sake of clarifying what I mean): suppose your IPMP pkt can only contain 10 records and you're interested in measuring routers at "position" 21,22,23 along the path. Even if 3 path records would all fit in one IPMP message, with your mechanism you cannot specify N=0 (measure each hop), Neither N=1 (measure each two hops) as places for path records would be exhausted at router 10 (N=0) or at router 19 or 20 (N=1, depending if you set the initial TTL even or odd). To "reach" hop 21 you have to set N=2 (measure each 4 hops), but then no matters how to play with the TTL you'll only have simultaneously, into the IPMP pkt, only one of the records you're interested in.
To select a range of routers I see no other way than spending 2 bytes (16 bits) in the header, with an explicit start and end index.
With 19 bits (start and end index + the 3 bits you suggested) we have probably all the flexibility we need.
I'm not pushing right now for one schema or the other, just wanted to point out that nothing comes for free...
Maurizio
jon bennett wrote:

Maurizio,

when discussing measuring a sampling of routers you said

or using a very few bits (an IPMP can write a paket only if the TLL ends with the same bit pattern).

to do this you would need two things, you would need a mask of the bit pattern, and a mask (or a count which would wind up being used by the router to make a mask) of which bits out of the 8 in the TTL you wanted to match against the pattern.

in the interests of simplicity, would it suffice to have the packet be stamped only if the TTL was some even multiple of 2? In other words there would be for example the IMP packet would have a 3 bit field (N) and only if the last N bits of the TTL were 1 (or 0?) would the packet be stamped. this would let you test every 2nd, 4th, 8th, 16th, etc router. By altering the initial TTL value you would be able to change where the series started. for example if you had set N to 2 then a packet sent with TTL=255 would measure

TTL stamp router
255=11111111 NO 1
254=11111110 NO 2
253=11111101 NO 3
252=11111100 YES 4
251=11111011 NO 5
250=11111010 NO 6
249=11111001 NO 7
248=11111000 YES 8
etc
yielding stamps by routers
4,8,12,16,20,etc

but if instead you sent it with a TTL=253 you would get

TTL stamp router
253=11111101 NO 1
252=11111100 YES 2
251=11111011 NO 3
250=11111010 NO 4
249=11111001 NO 5
248=11111000 YES 6
247=11110111 NO 7
246=11110110 NO 8
etc
yielding stamps by routers
2,6,10,14,18,etc





_______________________________________________
IMRG mailing list
IMRG@ietf.org
https://www1.ietf.org/mailman/listinfo/imrg