CS 3527 Coding Project Ethernet Switching: 150 Points Due Ap
Cs 3527 Coding Projectethernet Switching150 Pointsdue April 7thdemo
CS 3/527 Coding Project Ethernet Switching 150 points Due: April 7th Demo in class Source code in PDF to Blackboard 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 : % 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, “12ad3d46789c” is the source MAC address, and “2378e67d9fc4” is the destination MAC address. and display the outgoing port# in forwarding a frame d. Quit the application % 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.
Paper For Above instruction
Ethernet switching technology is fundamental to the operation of modern local area networks (LANs), enabling efficient data transfer among connected devices. Emulating an Ethernet switch involves creating a program that can dynamically learn source MAC addresses, maintain a forwarding table, and make forwarding decisions based on MAC address lookups. This paper explores the design and implementation of a simplified Ethernet switch simulation in software, focusing on source address learning, forwarding table management, and frame forwarding logic in a 24-port environment.
The core functionality of the Emulated Ethernet Switch includes three primary operations: clearing the forwarding table, displaying its current contents, and processing incoming frames. Clearing the table resets the learned MAC address mappings, which simulate the switch’s memory refresh or initialization process. Displaying the table allows users to verify the current MAC address-to-port mappings, critical for understanding switch behavior and troubleshooting network configurations.
Receiving incoming frames is the central feature, requiring the application to accept inputs with specific formatting: the port number, source MAC address, and destination MAC address. The switch leverages source address learning by associating MAC addresses with incoming ports, updating its forwarding table dynamically as frames are processed. When a frame arrives, the switch looks up the destination MAC address in its table; if a match exists, the frame is forwarded to the corresponding port. If not, a broadcast decision or a default behavior can be implemented, such as forwarding to all ports except the incoming one, mimicking real-world switch operation.
Error checking is essential in ensuring robust operation. The port number must be within the range supported by the switch (1-24). MAC addresses must exactly be 6 bytes (12 hexadecimal characters), adhering to standard Ethernet address length. Additionally, each frame must contain at least source and destination MAC addresses, avoiding incomplete or malformed frame inputs. These validations prevent runtime errors and ensure network simulation accuracy.
Implementing such a switch simulation presents several challenges, including managing the forwarding table efficiently, handling dynamic updates, and ensuring correct forwarding logic. The forwarding table can be implemented using data structures such as hash tables or dictionaries for rapid lookups. The simulation must accurately emulate the behavior of real Ethernet switches, including learning, aging, and forwarding decisions, although aging may be simplified or omitted in basic implementations.
This project contributes to understanding underlying network switching mechanisms, offering practical experience with the concepts of MAC address learning, table management, and frame forwarding logic. It also emphasizes the importance of error handling and user interaction within network simulation tools. The implementation, ideally in a programming language such as Python, Java, or C++, provides a foundation for advanced network simulation and educational demonstrations of Ethernet switching technology.
References
- Tanenbaum, A. S., & Wetherall, D. J. (2011). Computer Networks (5th ed.). Pearson.
- Kurose, J. F., & Ross, K. W. (2017). Computer Networking: A Top-Down Approach (7th ed.). Pearson.
- Odom, W. (2012). CCNA Routing and Switching 200-120 Official Cert Guide. Cisco Press.
- D. Comer, "Internetworking with TCP/IP," Volume 1, Pearson, 2013.
- Stallings, W. (2017). Data and Computer Communications (10th ed.). Pearson.
- IEEE Standard 802.3 for Ethernet. (2018). IEEE
- William Stallings, "The Networking and Telecommunications Illustrated Dictionary," Elsevier, 2008.
- Levinson, N. (2014). Ethernet Switches. IEEE Communications Magazine, 52(3), 64-70.
- Peterson, L. L., & Davie, B. S. (2018). Computer Networks: A Systems Approach (5th ed.). Morgan Kaufmann.
- Sarwate, K. K., & Ghasemi, M. (2020). Simulation of Ethernet Network Switch for Education. Journal of Network and Computer Applications, 162, 102638.