Chapter 3: Computer Networks

studied byStudied by 2 people
0.0(0)
Get a hint
Hint

Data Link Layer

1 / 261

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

262 Terms

1

Data Link Layer

The second layer in the communication model that deals with reliable and efficient communication of frames between two adjacent machines.

New cards
2

Frames

Whole units of information that are communicated between machines in the data link layer.

New cards
3

Communication Channel

The connection between two machines that acts conceptually like a wire, delivering bits in the same order they are sent.

New cards
4

Errors

Occasional mistakes or disruptions in communication channels that can affect the efficiency of data transfer.

New cards
5

Protocols

Sets of rules and algorithms used for communication that take into consideration errors, data rate, and propagation delay.

New cards
6
New cards
7
New cards
8
New cards
9
New cards
10

Reliable Communication

Ensuring that frames are delivered correctly and in the right order.

New cards
11

Efficient Communication

Maximizing the speed and effectiveness of data transfer.

New cards
12

Services Provided to the Network Layer

Functions of the data link layer including providing a well-defined service interface, framing sequences of bytes, detecting and correcting transmission errors, and regulating data flow.

New cards
13

Byte Count

A framing method that uses a field in the header to specify the number of bytes in a frame.

New cards
14

Flag Bytes with Byte Stuffing

A framing method that uses special bytes as delimiters to indicate the start and end of frames.

New cards
15

Flag Bits with Bit Stuffing

A framing method that uses special bits as delimiters to indicate the start and end of frames.

New cards
16

Physical Layer Coding Violations

A framing method that uses violations of physical layer coding rules to indicate the start and end of frames.

New cards
17

Byte stuffing

A technique used in data link layer design to solve the problem of flag bytes occurring in the data by inserting a special escape byte (ESC) before each accidental flag byte.

New cards
18

Escape byte

A special byte inserted before a flag byte in the data to distinguish it from a framing flag byte.

New cards
19

Bit stuffing

A method of framing at the bit level where frames can contain an arbitrary number of bits made up of units of any size, and five consecutive 1s in the data are automatically stuffed with a 0 bit.

New cards
20

Frame boundary

The boundary between two frames that can be unambiguously recognized by the flag pattern in bit stuffing.

New cards
21

Preamble

A well-defined pattern at the beginning of a frame used to prepare the receiver for an incoming packet.

New cards
22

Positive acknowledgement

A special control frame sent by the receiver to indicate that a frame has arrived safely.

New cards
23

Negative acknowledgement

A special control frame sent by the receiver to indicate that something has gone wrong and the frame must be retransmitted.

New cards
24

Timer

A mechanism used in the data link layer to set an interval for the frame to reach the destination and have the acknowledgement propagate back to the sender.

New cards
25

Sequence numbers

Numbers assigned to outgoing frames to distinguish retransmissions from originals and ensure each frame is passed to the network layer exactly once.

New cards
26

Feedback-based flow control

An approach to flow control where the receiver sends back information to the sender, giving it permission to send more data or informing the sender about its status.

New cards
27

Rate-based flow control

An approach to flow control where the protocol has a built-in mechanism that limits the rate at which senders may transmit data without using feedback from the receiver.

New cards
28

Error-detecting codes

Redundant information added to the data to allow the receiver to deduce that an error has occurred and request retransmission.

New cards
29

Error-correcting codes

Redundant information added to the data to enable the receiver to deduce what the transmitted data must have been.

New cards
30

Error-detecting code

A code used on channels with high reliability, such as fiber, that adds redundancy to each block to allow the receiver to figure out the originally transmitted block.

New cards
31

Error-correcting code

A code used on channels with many errors, such as wireless links, that uses error-detecting codes and retransmissions to correct errors.

New cards
32

Burst errors

Errors that occur in bursts rather than singly

—> often caused by physical processes like deep fades on wireless channels or transient electrical interference on wired channels.

New cards
33

Erasure channel

A channel where the location of an error is known, making it easier to correct errors compared to channels that flip bits.

New cards
34

Hamming distance

The number of bit positions in which two codewords differ, used to determine the error-correcting capability of a code.

New cards
35

Block code

A code where the check bits are computed solely as a function of the data bits they are associated with, often using XOR or modulo 2 addition.

New cards
36

Systematic code

A code where the data bits are sent directly along with the check bits, without being encoded themselves before transmission.

New cards
37

Code rate

The fraction of the codeword that carries information that is not redundant, represented as m/n.

New cards
38

Syndrome

The check results obtained by the receiver when redoing the check bit computations on the received codeword.

New cards
39

Hamming code

An error-correcting code that uses check bits to correct single errors or detect double errors, with a Hamming distance of 3.

New cards
40

Error Syndrome

The set of check results that indicates the presence and location of an error in a code.

New cards
41

Convolutional Code

A type of error-correcting code that processes a sequence of input bits and generates a sequence of output bits based on the current and previous input bits.

New cards
42

Constraint Length

The number of previous bits on which the output of a convolutional code depends.

New cards
43

Reed-Solomon Code

A linear block code that operates on m-bit symbols and uses redundancy to correct errors.

New cards
44

LDPC Code

Low-Density Parity Check code, a linear block code with a low density of 1s in its matrix representation, known for its excellent error-correction abilities.

New cards
45

Parity

A simple error-detecting code that appends a single parity bit to the data, ensuring that the number of 1 bits in the codeword is even or odd.

New cards
46

Checksums

Error-detecting codes that compute a sum or checksum of the data bits and include it in the transmission to detect errors.

New cards
47

Cyclic Redundancy Checks (CRCs)

Error-detecting codes that use polynomial division to compute a remainder, which is appended to the data and checked at the receiver to detect errors.

New cards
48

Interleaving

A technique used to improve protection against burst errors by computing parity bits over the data in a different order than the order in which the data bits are transmitted.

New cards
49

Interleaving

A technique used to convert a code that detects or corrects isolated errors into a code that detects or corrects burst errors.

New cards
50

Burst error

A type of error in which multiple bits in a sequence are affected, typically characterized by at least the first and last bits being wrong.

New cards
51

Parity bits

Additional bits added to a data sequence to detect errors, particularly burst errors. In the context of interleaving, parity bits on different columns can detect errors in the presence of burst errors.

New cards
52

Checksum

A group of check bits associated with a message, used to detect errors. It can be calculated using various methods, such as parity or a running sum of the data bits.

—> 1. divide the data into equally sized segments
—> 2. use 1s complement = sum of these segments

—> 3. calculate the sum - sent to the receiver. Ig sum = 0 the no error detected

New cards
53

Internet checksum

A 16-bit checksum used in the IP protocol to detect errors in Internet packets. It operates on words rather than bits, providing better error detection capabilities.

New cards
54

Cyclic Redundancy Check (CRC)

A type of error-detecting code widely used at the link layer. It treats bit strings as polynomials and uses polynomial arithmetic to compute a checksum that can detect errors.

New cards
55

Generator polynomial

A polynomial agreed upon by the sender and receiver in CRC-based error detection. The CRC is computed by dividing the frame by the generator polynomial, and if there is a remainder, a transmission error is detected.

New cards
56

Burst Length

The number of bits in a burst.

New cards
57

G(x)

The polynomial used for division in the CRC calculation.

New cards
58

Probability of Valid Frame

The likelihood of a frame being accepted as valid.

New cards
59

Error Burst

A burst of bits that contains an error.

New cards
60

Probability of Undetected Bad Frame

The likelihood of a bad frame going unnoticed.

New cards
61

CRC-32

The CRC polynomial used in the IEEE 802 standard.

New cards
62

Hamming Distance

The number of bit positions at which two CRC polynomials differ.

New cards
63

Shift Register Circuits

Hardware used to compute and verify CRCs.

New cards
64

Elementary Data Link Protocols

Protocols of increasing complexity used in data link layer communication.

New cards
65

Independent Processes

The assumption that the physical layer, data link layer, and network layer are separate processes.

New cards
66

Unidirectional Communication

The assumption that machine A wants to send data to machine B.

New cards
67

Reliable Machines and Processes

The assumption that machines do not crash.

New cards
68

Frame

A unit of data consisting of a packet, control information, and a checksum.

New cards
69

Frame Header

The control information fields in a frame.

New cards
70

Packet

The unit of information exchanged between the network layer and the data link layer.

New cards
71

Boolean

An enumerated type that can take on the values true and false.

New cards
72

Seq Nr

A small integer used to number frames for identification.

New cards
73

Frame Kind

An enumeration defining the type of frame (data, ack, or nak).

New cards
74

Wait for Event

A procedure that waits for an event to happen and returns its type.

New cards
75

From Network Layer

A procedure that fetches a packet from the network layer for transmission.

New cards
76

To Network Layer

A procedure that delivers information from an inbound frame to the network layer.

New cards
77

From Physical Layer

A procedure that retrieves an inbound frame from the physical layer.

New cards
78

To Physical Layer

A procedure that passes a frame to the physical layer for transmission.

New cards
79

Start Timer

A procedure that starts the clock running and enables the timeout event.

New cards
80

Stop Timer

A procedure that stops the clock and disables the timeout event.

New cards
81

Start Ack Timer

A procedure that starts an auxiliary timer and enables the ack timeout event.

New cards
82

Stop Ack Timer

A procedure that stops the auxiliary timer and disables the ack timeout event.

New cards
83

Enable Network Layer

A procedure that allows the network layer to cause a network layer ready event.

New cards
84

Disable Network Layer

A procedure that forbids the network layer from causing a network layer ready event.

New cards
85

Inc

A macro that increments a value circularly.

New cards
86

Network Layer Enable/Disable

Procedures used in sophisticated protocols to control the network layer's ability to interrupt and send packets.

New cards
87

Event = Network Layer Ready

An indication that the network layer is enabled and ready to send a packet.

New cards
88

Frame Sequence Numbers

Numbers assigned to frames in the range 0 to MAX SEQ (inclusive) to keep track of their order.

New cards
89

Inc

A macro that increments a sequence number by 1 circularly, wrapping around from MAX SEQ to 0.

New cards
90

Protocol Declarations

Declarations of variables and types used in the protocols, typically included in a header file.

New cards
91

Simplex Link-Layer Protocols

Basic protocols that handle one-directional data transmission.

New cards
92

Utopia Protocol

A simple protocol that assumes an error-free communication channel and infinite buffer space.

New cards
93

Sender1

Procedure in the Utopia protocol that continuously sends data packets from the network layer.

New cards
94

Receiver1

Procedure in the Utopia protocol that receives frames and passes the data to the network layer.

New cards
95

Stop-and-Wait

A flow control protocol where the sender waits for an acknowledgement before sending the next frame.

New cards
96

Sender2

Procedure in the Stop-and-Wait protocol that sends frames and waits for acknowledgements.

New cards
97

Receiver2

Procedure in the Stop-and-Wait protocol that receives frames, passes the data to the network layer, and sends acknowledgements.

New cards
98

Error Correction

The addition of sequence numbers and Automatic Repeat reQuest (ARQ) to handle errors in communication channels.

New cards
99

Sequence Numbers

Numbers added to frame headers to distinguish between new frames and duplicates.

New cards
100

Sequence Number

A field in the header of a data link protocol that identifies the order of frames being sent or received.

New cards

Explore top notes

note Note
studied byStudied by 5 people
... ago
5.0(1)
note Note
studied byStudied by 637 people
... ago
5.0(1)
note Note
studied byStudied by 9 people
... ago
5.0(1)
note Note
studied byStudied by 4637 people
... ago
5.0(1)
note Note
studied byStudied by 82 people
... ago
5.0(2)
note Note
studied byStudied by 92 people
... ago
5.0(1)
note Note
studied byStudied by 109 people
... ago
5.0(3)
note Note
studied byStudied by 635 people
... ago
5.0(3)

Explore top flashcards

flashcards Flashcard (65)
studied byStudied by 59 people
... ago
5.0(2)
flashcards Flashcard (206)
studied byStudied by 11 people
... ago
5.0(1)
flashcards Flashcard (120)
studied byStudied by 16 people
... ago
5.0(1)
flashcards Flashcard (87)
studied byStudied by 74 people
... ago
4.5(2)
flashcards Flashcard (57)
studied byStudied by 70 people
... ago
5.0(1)
flashcards Flashcard (102)
studied byStudied by 7 people
... ago
5.0(1)
flashcards Flashcard (24)
studied byStudied by 23 people
... ago
4.9(8)
flashcards Flashcard (51)
studied byStudied by 2 people
... ago
5.0(1)
robot