The Community for Technology Leaders
Subscribe
Issue No.06 - June (1998 vol.47)
pp: 693-699
ABSTRACT
<p><b>Abstract</b>—In a computer network that consists of <it>M</it> subnetworks, the <it>L</it>-bit address of a machine consists of two parts: A prefix <it>s</it><sub><it>i</it></sub> that contains the address of the subnetwork to which the machine belongs, and a suffix (of length <it>L</it><tmath>$-$</tmath> |<it>s</it><sub><it>i</it></sub>|) containing the address of that particular machine within its subnetwork. In fixed-length subnetwork addressing, |<it>s</it><sub><it>i</it></sub>| is independent of <it>i</it>, whereas, in variable-length subnetwork addressing, |<it>s</it><sub><it>i</it></sub>| varies from one subnetwork to another. To avoid ambiguity when decoding addresses, there is a requirement that no <it>s</it><sub><it>i</it></sub> be a prefix of another <it>s</it><sub><it>j</it></sub>. The practical problem is how to find a suitable set of <it>s</it><sub><it>i</it></sub>s in order to maximize the total number of addressable machines, when the <it>i</it>th subnetwork contains <it>n</it><sub><it>i</it></sub> machines. Not all of the <it>n</it><sub><it>i</it></sub> machines of a subnetwork <it>i</it> need be addressable in a solution: If <tmath>$n_i > 2^{L-|s_i|},$</tmath> then only <tmath>$2^{L-|s_i|}$</tmath> machines of that subnetwork are addressable (none is addressable if the solution assigns no address <it>s</it><sub><it>i</it></sub> to that subnetwork). The abstract problem implied by this formulation is: Given an integer <it>L</it>, and given <it>M</it> (not necessarily distinct) positive integers <tmath>$n_1, \cdots, n_M,$</tmath> find <it>M</it> binary strings <tmath>$s_1, \cdots, s_M$</tmath> (some of which may be empty) such that 1) no nonempty string <it>s</it><sub><it>i</it></sub> is prefix of another string <it>s</it><sub><it>j</it></sub>, 2) no <it>s</it><sub><it>i</it></sub> is more than <it>L</it> bits long, and 3) the quantity <tmath>$\sum \nolimits _{|s_k|\ne0} \min \left\{ n_k, 2^{L-|s_k|} \right\}$</tmath> is maximized. We generalize the algorithm to the case where each <it>n</it><sub><it>i</it></sub> also has a priority <it>p</it><sub><it>i</it></sub> associated with it and there is an additional constraint involving priorities: Some subnetworks are then more important than others and are treated preferentially when assigning addresses. The algorithms can be used to solve the case when <it>L</it> itself is a variable; that is, when the input no longer specifies <it>L</it> but, rather, gives a target integer γ for the number of addressable machines, and the goal is to find the smallest <it>L</it> whose corresponding optimal solution results in at least γ addressable machines.</p>
INDEX TERMS
Addressing, algorithms, computer networks, prefix codes.
CITATION
Mikhail J. Atallah, Douglas E. Comer, "Algorithms for Variable Length Subnet Address Assignment", IEEE Transactions on Computers, vol.47, no. 6, pp. 693-699, June 1998, doi:10.1109/12.689648
FULL ARTICLE
17 ms
(Ver 2.0)

Marketing Automation Platform