0% found this document useful (0 votes)
5 views4 pages

Semester Project Lab Report

The document describes a semester project focused on creating a DNS resolver program that efficiently matches URLs with their corresponding IP addresses using a hash table. The program allows users to search, add, or delete URL/IP pairs while modifying the original data file, though it faces issues with file formatting that can cause crashes. The author reflects on the successful implementation of features and plans to improve the user interface and expand functionality in future iterations.

Uploaded by

e.song200
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views4 pages

Semester Project Lab Report

The document describes a semester project focused on creating a DNS resolver program that efficiently matches URLs with their corresponding IP addresses using a hash table. The program allows users to search, add, or delete URL/IP pairs while modifying the original data file, though it faces issues with file formatting that can cause crashes. The author reflects on the successful implementation of features and plans to improve the user interface and expand functionality in future iterations.

Uploaded by

e.song200
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Ethan Song

COMSC-210

10 May 2020

Semester Project: DNS Resolver

Assignment/Problem Description: In this assignment, we were tasked to find a problem that

can be resolved with the implementation of a computer program. In this case, I picked the

problem of coordinating and matching internet URLs with their respective IP addresses quickly

and efficiently.

Discussion:

• Solution/Program Description: This program replicates the function of a DNS-resolver,

or a device that takes in a URL and then returns the corresponding IP address, in all using

a hash table for fast and efficient access. The program loads a list of 250,000 URLs with

their corresponding IP address, and allows the user to search for, add, or delete URL/IP

pairs while modifying the original URL/IP file.


• Flowchart/Diagram: IPAddress
- network: int
- subnet: int
URL - subnet2: int
- url: string - host: int
+ URL(string) - ipStr: string
+ toString(): string + IPAddress(string)
+ urlCompare(URL): int + toString(): string
+ ipCompare(IPAddress): int

DNS_Resolver
+ loadAddresses(string): map<URL,
IPAddress>
+ eraseFileLine(string, string): void
+ main(): int
+ operator<(URL, URL): bool

• Major Implementation Issues: The greatest difficulty was implementing the add and

delete features of the DNS file, since it involved not only searching and deleting from a

hash table, but also modifying a file’s information at the same time.

s
Screenshot:

Known Bugs/Errors:

• In regard to the data file (containing all the URL/IP pairs), the file needs to be formatted

consistently. If there is an empty line, for example, the program will crash. Furthermore,

if there are too many spaces between each pair, then the program will also crash.
Lessons Learned:

• What went well: The program runs very successfully with all described features

functioning properly. The program uses a simple yet effective user interface for data

entry and data retrieval, and effectively utilizes the functionality of a hash table for quick

information access/modification

• What will be done differently next time: Next time, I will keep trying to improve the

seamlessness of the user interface to make it more practical and easier to use.

Furthermore, I will expand the functionality of it to have it be usable by an actual

browser.

You might also like