Question
Problem ONE: An Internet Service Provider (ISP) must, as part of its service to customers, provide a Domain Name Server (DNS). A DNS is a
Problem ONE: An Internet Service Provider (ISP) must, as part of its service to customers, provide a Domain Name Server (DNS).
A DNS is a server that maintains a database of domain names, such as www.griffith.edu.au, and their corresponding Internet Protocol Addresses (IPA), such as 132.234.243.22. A domain name has only one IPA, but an IPA may have many domain names.
Define a class that simulates a DNS. It must have:
a method for updating the DNS with a new domain name and its IPA;
a method for returning the IPA for a domain name, or None if it does not exist; and
whatever private attributes are required to support the methods.
Create a test program that allows the user to test the class, by typing in fake domain names and IPAs to update the DNS, and domain names to look up.
Problem TWO: The government now requires that DNSs should now maintain a secret blacklist of IPAs that must not be returned, even if the domain name exists.
Without changing your DNS class from problem 1, define a new class that extends your old class, adding:
a method for adding an IPA to the secret blacklist; and
a private attribute for the blacklist. Hint: it may be called a blacklist, but is a Python list the most efficient data structure to use here?
You must also override the lookup method so that it returns None for blacklisted IPA, even if they do exist. Create a test program that allows the user to test the new class
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started