Physical and Data Link layer simulator in Python.
Implemented NRZ-line encoding scheme, CRC protocol for error detection & variable size framing with bit-stuffing.
/*Author Umair Anis B17CS035 Kamal Sharma B17CS028 */
- Multiple clients connected with single architecture.
- All clients can connect simultaneously with threading in server.
- Limit on number of connections is implemented.
- Physical Layer & Data-Link Layer is implemented separately , Sender & Receiver inheriting their properties.
- Physical Layer has Error Maker( produces error), Line Encoding (Bi-Polar NRZ)
- Data-Link Layer is used to form frames ( variable size frames with bit-stuffing)
- Error- detection is done through CRC ( at Data-Link Layer)
- First the string is converted to it's ASCII code, appended then encoding is applied . At receiver's decoding happens in opposite sequence.
Running File (Requires Python 3.x)
- Run Server.py
- Run client.py
- Send message through client.
- User will be prompted to add error, if added it will be detected at data-link layer at receiver's end.