In this project, we are going to emulate the Ethernet switching that can support 24 ports, with two focuses:

1.      Using source address (backward) learning to populate its switching (or forwarding) table;

2.      Forwarding a frame to proper port(s) by looking up the switching table.

 

Requirement:

1)      (85% points) Your application accepts at least the inputs to:

a.       Clear the switching table

b.      Show the switching table content

c.       Accept an incoming frame with the format consisting of two portions: incoming port#, a frame with at least two fields in the beginning: source MAC and destination MAC

e.g.  5, 12ad3d46789c2378e67d9fc4; where “5” is the incoming port, “12ad3d46789c2378e67d9fc4” is the frame with “12ad3d46789c” being the source MAC address and “2378e67d9fc4” being the destination MAC address.

and display the outgoing port# in forwarding a frame

d.      Quit the application

2)      (15% points) Your application is supposed to have error checking:

a.       The port# of the input should be no larger than that can be supported by the switch

b.      The MAC address should be exact of 6 bytes.

 

c.       The incoming frame has at least source and destination MAC addresses.

  • 10 years ago