Concepts: IP addressing, visual interfaces, storage
Skills: HTML, CSS, Javascript
Background Information:
We discussed in class various models of IP addressing. In particular, the 32-bit IPv4 and 128-bit IPv6 schemes. IPv4 was further divided into five classes A, B, C, D, E, which differ both function as well as division between prefix and suffix, as well as a classless model which has an arbitrary boundary (specified by a mask) between prefix and suffix.
We will assume these are all public addresses that need to be globally unique at least in conjunction with the network mask as opposed to the private addresses which were separately discussed.
Description of Assignment:
The goal of this assignment is to provide an interface for assigning and managing IP addresses for the various types described above. There are several prices of information that will need to be entered by the user:
You will probably use either a radio buttons or a dropdown to allow the user to make these choices
If the user chooses Class E, simply indicate that such addresses are reserved and no further action is required.
It is recommended when displaying the addresses whether as bits (0s and 1s), dotted decimal notation for (IPv4), or colon-hex for IPv6 that Courier font be used as it is fixed length. You should use a class (in the HTML/CSS sense of the word) within the HTML and corresponding CSS to handle that styling.
While you may assume that you are the sole authority on assigning IP addresses, you need to ensure that you dont reassign address that have already been used. To this end you will need some kind of persistent storage. You can use a text or xml file, a database if you are so inclined, of for the purposes of this assignment, it is probably adequate to use the store available within the users browser. (See https://www.w3schools.com/html/html5_webstorage.asp)