> I am sufficiently lazy to ask (rather than try to calculate) what the > difference in compression ratio is and if there are other changes in > encoding that would make it better under various use cases.
It depends very much on the nature of the network. > (I was impressed by the bmx7 encodings) Yes, Alex has done a good job. However, he's using inter-packet state, which gives rise to a whole set of tradeoffs. In Babel, we only keep parser state within a single packet, and that's not likely to change. With the current encoding, only the destination address gets compressed, and source-specific contributes no compression state, which avoids confusing non-source-specific abwabel: So if you're announcing 2001:db8:1234:5678::/64 2001:db8:1234:5678:dead:beef:f00:ba4/128 2001:db8:1234:5678::/64 src 2001:db8:1234::/48 2001:db8:1234:5678::/64 src 2001:db8:5678::/48 ::/0 src 2001:db8:5678::/48 you only encode 2001:db8:1234:5678::/64 (compressed):dead:beef:f00:ba4/128 (compressed)::/64 src 2001:db8:5678::/48 (compressed)::/64 src 2001:db8:5678::/48 ::/0 src 2001:db8:5678::/48 Note how destination prefixes get compressed away, but there's no compression for the source prefixes. What Markus and I have in mind is an encoding in which there are separate compression states for non-specific and source-specific AEs. So the above will compress as 2001:db8:1234:5678::/64 (compressed):dead:beef:f00:ba4/128 2001:db8:1234:5678::/64 src 2001:db8:1234::/48 (compressed)::/64 src (compressed):5678::/48 ::/0 src (compressed)::/48 Note how both destination and source prefixes get compressed, but the compression state needs to be reestablished for the first source-specific update (2001:db8:1234:5678 is explicitly encoded twice, once for non-source-specific and once for source-specific). The alternative would be to have some unidirectional leaking between non-source-specific and source-specific, so as to get 2001:db8:1234:5678::/64 (compressed):dead:beef:f00:ba4/128 (compressed)::/64 src 2001:db8:1234::/48 (compressed)::/64 src (compressed):5678::/48 ::/0 src (compressed)::/48 This is likely to gain up to 8 octets for each non-default source-specific route, but at the cost of a much more complex implementation and specification, and bad compositionality with further extensions (TOS-specific is likely to happen). Note that if all source-specific routes are default routes, the gain is nil. -- Juliusz _______________________________________________ Babel-users mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users

