# todo
Check the current implementation of the modem module. I need you to help me to improve it by adding this stuff:
inside the define_layer_struct macro also add the following:
-
## Data Link Layer
- Frame
- DHCP Frame
- ARP Frame
- Ethernet Frame
- PPP Frame
- BSC or BISYNC Frame
- Error Detection
- VRC * LRC = CRC
- Checksum
- Parity Bit
- Flow Control
- Stop-and-Wait (+ARQ)
- Sliding Window
- Go-Back-N (+ARQ)
- Selective Repeat (+ARQ)
- Multiple Access Protocols
- ALOHA
- Slotted ALOHA
- CSMA (Carrier Sense Multiple Access)
- Controlled Access
- Polling
- Token Passing
- Reservation
- Channelization
- Ethernet
- VLAN
- STP (Spanning Tree Protocol)
### Logical Addressing & Subnetting
## Network Layer
- Packet
- ARP Packet (involves MAC address (from Data Link Layer))
- DHCP (Dynamic Host Configuration Protocol)
- ICMP (Internet Control Message Protocol)
- v4
- v6
### Routing
-
## Transport Layer
- Segment
- TCP (Transmission Control Protocol)
- UDP (User Datagram Protocol)
## Application Layer
- Message
- DNS (Domain Name System)
- SNMP (Simple Network Management Protocol)
- HTTP (HyperText Transfer Protocol)
- FTP (File Transfer Protocol)
- SMTP (Simple Mail Transfer Protocol)
# Network Security...
- Cryptography