Assignment title: Management
Question 1 (ACL Simulation)
Write a (simple) program using Java to simulate processing of a packet at a router interface with an ACL bound to that interface. Given an ACL (standard or extended) bound to a router interface, your program should accept as input a packet with a source IP address, destination IP address, source port number and destination port number, check the ACL permit and deny statements in sequence and determine if the packet gets discarded or forwarded.
In order to do this, your program should read two text files:
File no. 1 contains the ACL (for example):
access-list 1 deny 172.16.4.13 0.0.0.0
access-list 1 deny 172.16.5.0 0.0.0.255
etc.
interface EO
ip access-group 1 out
File no.2 contains a list of packets (just source and destination addresses)
172.16.4.13 172.16.3.2
172.16.5.2 172.16.3.4
etc.
Your output should be something like this:
172.16.4.13 172.16.3.2 denied
172.16.5.2 172.16.3.4 denied
etc. etc. permitted
You may also assume that the input text in the files is correct and properly formatted, so you
don't have to check for errors.
Note that the network configuration doesn't really matter, all you are doing is writing a program
that checks whether a packet is allowed or denied at the router's interface.
Demonstrate the working of your program by running it on sample IP packets using the ACLs
that we wrote in class notes. Submit source code and sample runs of your
program.