Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

PROGRAMMING ASSIGNMENT #4

Date: June 17, 2023

TEAM 2 MEMBERS:
Brandon Hazelton, Jasper Dolar, Kevin Helm, YiOnni Redmon

TEAM MEMBER RESPONSIBILITIES:

All team members were equally responsible for managing group work and evenly contributed to the
success of group assignment 4.

TEAMWORK:
1. One team member will be team lead for the programming assignment.
Programming Assignment #4
Team Lead: Brandon Hazelton

2. Team lead coordinated between all team members in conducting team meetings 3 times before
the deadline of the programming assignment. Team lead took minutes of the meeting and
attendance during all meetings and shared with all team members.

3. Team members discussed the project on our group chat on Discord.


MEETING MINUTES

Team Meeting 1:

Date: June 3, 2023 / Time: 5:30 PM

Attendance: Brandon Hazelton, Jasper Dolar, Kevin Helm, YiOnni Redmon

AGENDA: Discussed how the team will evenly divide the team project. Team Lead
Brandon assigned our tasks. The team agreed to evenly divide the tasks as required by
grading objectives. Team members also agreed to check on each other’s work before
the project is submitted to make sure it meets requirements.

Meeting adjourned: 5:50 PM


Team Meeting 2:

Date: June 10, 2023 / Time: 7:20 PM

Attendance: Brandon Hazelton, Jasper Dolar, Kevin Helm, YiOnni Redmon

AGENDA: We all checked each other on the progress of our assignment and agreed to
attempt to complete the project by 8 PM on June 15th.

Meeting adjourned: 7:40 PM

Team Meeting 3:

Date: June 15, 2023 / Time: 8:00 PM

Attendance: Brandon Hazelton, Jasper Dolar, Kevin Helm, YiOnni Redmon

AGENDA: The team re-assessed each other’s work and found some challenges that are
difficult to resolve. The team decided to try to solve the issues on the group project by
afternoon of June 17th.

Meeting adjourned: 9:20 PM

Team Meeting 4:

Date: June 17, 2023 / Time: 4:30 PM

Attendance: Brandon Hazelton, Jasper Dolar, Kevin Helm, YiOnni Redmon

AGENDA: The team tried to solve the issues of the project. The team agreed that best
efforts are all we could do and to turn in what we could.

Meeting Adjourned: 9:30 PM

4. What to hand in:


a. Your working legacy_network.py code.
b. 1 PDF document with deliverables of tasks 1 through 7
c. TLS chat server and TLS chat client scripts
d. Minutes of the 3 meetings
e. Script that issues server certificates for web server and chat server
i. Can either be bash or python
GRADING OBJECTIVES:
1. Correct Network design that follows the IP addressing rules for this assignment, listed above, and
allows all the hosts to successfully ping each other. Draw and submit the network design in pdf
format with all interfaces labelled with interface names (e.g., s1-eth1) and interface IP addresses.

2. Screen capture of the program that runs with no Python errors.


3. Screen capture of successful pingall at the mininet > prompt

3. A list of lines that were changed and why


- Import statements were modified and simplified
- The IP addresses assigned to hosts have been modified to use different subnets (10.0.1.0/24
and 10.0.2.0/24) instead of the same subnet (10.0.0.0/24)
- Hosts h3 and h4 were added
- Additional parameters have been added to addlink() method calls to specify interface names
and IP addresses for specific links between switches and hosts
- Links between s1 and r3, r3 and r4, & r4 and r5 has additional parameters to specify interface
names and IP addresses
- Static route configurations have been added for the routers r3, r4, and r5.

5. Answers to these questions:


- What were any interesting findings and lessons learned?
What we found interesting is that there are multiple hosts in the subnet. So, what we needed
was to find the true main IP address and that was 0.0.0.0
- Why didn’t the original program forward packets between the hosts?
Certificates were needed to run them.
- Is the line ‘ r3.cmd('sysctl -w net.ipv4.ip_forward=1') ’ required?
Yes
- Intentionally break your working program, e.g.: change a subnet length, IP address, or
default route for a host. Explain why your change caused the network to break
We intentionally broke our working server program to see if the network (i.e. the port and the
server host names work)
6. Screen capture of a successful chat session between the two chat clients
Screen capture of a Wireshark trace of the communication between a chat client and the chat
server.

7. Screen capture of the successful wget (or curl) of the web server index file

8. Screenshot of both decrypted server (web and chat) certificates.

9. Your modified legacy_network.py program as a separate python file.

Individual Work:
Team members individually completed peer evaluation form on Canvas.

You might also like