Data Link Layer and Network Concepts: A Comprehensive Guide
Complete Definitions
Data Link Layer Concepts
Link Layer Address
The address used to identify a device on a local network.
Data Link Control (DLC)
Responsible for flow control and error control in the data link layer.
Media Access Control (MAC)
The lower sublayer of the data link layer, defined by the IEEE 802 project. It defines access methods and control in different local area network protocols.
Packet at Data Link Layer (Frame)
A group of bits representing a block of data, also known as a frame.
Error Types
- Single-bit Errors: An error in a data unit where only one bit has been altered.
- Burst Errors: An error in a data unit where two or more bits have been altered.
Datawords and Codewords
- Datawords: The smallest block of data in block coding.
- Codewords: The encoded datawords.
Hamming Distance
The number of differences between corresponding bits in two codewords.
Parity-Check
An error-detection method using a parity bit. (More details to be added)
Linear Block Codes
A block code where adding two codewords creates another codeword. (More details to be added)
Cyclic Codes
A linear code where cyclic shifting (rotation) of each codeword creates another codeword.
Checksum
A value used for error detection, formed by adding data units using one’s complement arithmetic and then complementing the result.
Forward Error Correction (FEC)
Correction of errors at the receiver without retransmission.
Chunk Interleaving
(Definition to be added)
Bit Stuffing and Byte Stuffing
In a bit/byte-oriented protocol, the process of adding an extra bit/byte in the data section of a frame to prevent a sequence of bits from looking like a flag.
Character-Oriented Protocol
A protocol where the data section of the frame is interpreted as a sequence of bytes (characters).
Simple Protocol, Stop-and-Wait, Go-Back-N (GBN)
(Definitions to be added)
Piggybacking
The inclusion of acknowledgment on a data frame.
Cyclic Redundancy Check (CRC)
A highly accurate error-detection method based on interpreting a pattern of bits as a polynomial.
Point-to-Point Protocol (PPP)
A protocol for data transfer across a serial line.
Password Authentication Protocol (PAP) and Challenge Handshake Authentication Protocol (CHAP)
- PAP: A simple two-step authentication protocol used in PPP (not secure).
- CHAP: A three-way handshaking protocol used for authentication in PPP (more secure).
Sockets
An endpoint for a process; two sockets are needed for communication. May need an address.
Packetizing
The process of grouping data together and encapsulating them as a packet.
Network Address Translation (NAT)
Allows a private network to use private addresses for internal communication and global Internet addresses for external communication.
Ping and Traceroute
- Ping: Used to check if a host is alive and responding. Uses echo-request messages.
- Traceroute: Traces a packet from source to destination to identify any problems with a node. Maximum of 30 hops.
SYN, SYN+ACK, ACK, FIN
- SYN: Starts connection, sent from client to server.
- SYN+ACK: Acknowledgment of SYN, sent by the server to the client.
- ACK: Sent from client to acknowledge connection.
- FIN: (Definition to be added)
Silly Window Syndrome
A situation where a small window size is advertised by the receiver and a small segment is sent by the sender.
Network Allocation Vector (NAV) in CSMA/CA
(Definition to be added)
Concepts
Hamming Distance Example
If codeword 00000 is sent and 01101 is received, 3 bits are in error, so the Hamming distance is 3.
Parity-Check Code in Relation to Errors
(Explanation to be added)
Connection-Oriented vs. Connectionless Communication
(Explanation to be added)
Cyclic Redundancy Check (CRC)
(Explanation to be added)
Point-to-Point Protocol (PPP)
(Explanation to be added)
High-Level Data Link Control (HDLC)
A bit-oriented protocol for communication over point-to-point and multiport links. It is the basis for PPP and Ethernet.
Calculating Subnet Addresses
First and Last Addresses in a Subnet (Including Network and Broadcast)
(Explanation to be added)
First and Last Usable Host Addresses in a Subnet
(Explanation to be added)
Broadcast and Network Address Calculation
(Explanation to be added)
Classless Inter-Domain Routing (CIDR) Notation and Relationship to Mask
CIDR notation uses slash notation. Example: 12.24.76.8/8
Pushing/Pulling at the Transport Layer
(Explanation to be added)
Internet Corporation for Assigned Names and Numbers (ICANN) Port Ranges
- Well-Known Ports: 0-1023
- Registered Ports: 1024-49151 (for applications)
- Dynamic/Private Ports: 49152 and above
Error Control and Sequence Number Relationship
(Explanation to be added)
Delays in a Network
(Explanation to be added)
Network Congestion
Causes: Too many datagrams.
Prevention/Avoidance: Use congestion control, which uses throughput and delay to fix the issue.
User Datagram Protocol (UDP) Datagram Packet Format (Understanding Hex)
(Explanation to be added)
UDP Error Control
(Explanation to be added)
SYN Flooding
A denial-of-service (DoS) attack where a large number of SYN segments are sent to a server with fake IP addresses. The server sends SYN+ACK segments and wastes resources waiting for responses that will never come.
Transmission Control Protocol (TCP) Buffers
(Explanation to be added)
Go-Back-N and Selective Repeat
(Comparison of similarities, differences, advantages, and disadvantages to be added)
Transport Layer Packet Handling
(Explanation of how the transport layer sends packets, handles lost packets, and handles duplicated packets to be added)
Relationship of Timer and Duplicate Acknowledgments (ACKs)
(Explanation to be added)
Difference in Sequence Number and Acknowledgment Number in TCP
(Explanation to be added)
TCP and UDP Relationship
A computer can run both TCP and UDP simultaneously. If a program requests services from one protocol while the other is running, the computer can still handle the request.
Client-Server Relationship
(Explanation to be added)
Relationship of Protocols at the Application Layer to Protocols at Other Layers
(Explanation to be added)
Difference in Communication at the Network Layer and Data Link Layer
(Explanation to be added)
Framing
Definition: The process of dividing data into smaller units called frames for transmission.
Necessity: Framing is necessary for error detection, flow control, and synchronization between sender and receiver.
Flow Control vs. Error Control
(Explanation to be added)
Collisions in Random Access and Channelization
(Explanation to be added)
Carrier Sense Multiple Access with Collision Detection (CSMA/CD) – Collision Avoidance
(Explanation to be added)
MAC in Wired vs. Wireless LANs (Physical Address Differences)
(Explanation to be added)