Chapter 3: Computer Networks

0.0(0)
studied byStudied by 2 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/261

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

262 Terms

1
New cards

Data Link Layer

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

2
New cards

Frames

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

3
New cards

Communication Channel

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

4
New cards

Errors

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

5
New cards

Protocols

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

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

Reliable Communication

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

11
New cards

Efficient Communication

Maximizing the speed and effectiveness of data transfer.

12
New cards

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.

13
New cards

Byte Count

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

14
New cards

Flag Bytes with Byte Stuffing

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

15
New cards

Flag Bits with Bit Stuffing

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

16
New cards

Physical Layer Coding Violations

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

17
New cards

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.

18
New cards

Escape byte

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

19
New cards

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.

20
New cards

Frame boundary

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

21
New cards

Preamble

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

22
New cards

Positive acknowledgement

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

23
New cards

Negative acknowledgement

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

24
New cards

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.

25
New cards

Sequence numbers

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

26
New cards

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.

27
New cards

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.

28
New cards

Error-detecting codes

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

29
New cards

Error-correcting codes

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

30
New cards

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.

31
New cards

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.

32
New cards

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.

33
New cards

Erasure channel

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

34
New cards

Hamming distance

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

35
New cards

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.

36
New cards

Systematic code

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

37
New cards

Code rate

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

38
New cards

Syndrome

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

39
New cards

Hamming code

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

40
New cards

Error Syndrome

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

41
New cards

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.

42
New cards

Constraint Length

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

43
New cards

Reed-Solomon Code

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

44
New cards

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.

45
New cards

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.

46
New cards

Checksums

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

47
New cards

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.

48
New cards

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.

49
New cards

Interleaving

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

50
New cards

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.

51
New cards

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.

52
New cards

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

53
New cards

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.

54
New cards

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.

55
New cards

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.

56
New cards

Burst Length

The number of bits in a burst.

57
New cards

G(x)

The polynomial used for division in the CRC calculation.

58
New cards

Probability of Valid Frame

The likelihood of a frame being accepted as valid.

59
New cards

Error Burst

A burst of bits that contains an error.

60
New cards

Probability of Undetected Bad Frame

The likelihood of a bad frame going unnoticed.

61
New cards

CRC-32

The CRC polynomial used in the IEEE 802 standard.

62
New cards

Hamming Distance

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

63
New cards

Shift Register Circuits

Hardware used to compute and verify CRCs.

64
New cards

Elementary Data Link Protocols

Protocols of increasing complexity used in data link layer communication.

65
New cards

Independent Processes

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

66
New cards

Unidirectional Communication

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

67
New cards

Reliable Machines and Processes

The assumption that machines do not crash.

68
New cards

Frame

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

69
New cards

Frame Header

The control information fields in a frame.

70
New cards

Packet

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

71
New cards

Boolean

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

72
New cards

Seq Nr

A small integer used to number frames for identification.

73
New cards

Frame Kind

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

74
New cards

Wait for Event

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

75
New cards

From Network Layer

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

76
New cards

To Network Layer

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

77
New cards

From Physical Layer

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

78
New cards

To Physical Layer

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

79
New cards

Start Timer

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

80
New cards

Stop Timer

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

81
New cards

Start Ack Timer

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

82
New cards

Stop Ack Timer

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

83
New cards

Enable Network Layer

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

84
New cards

Disable Network Layer

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

85
New cards

Inc

A macro that increments a value circularly.

86
New cards

Network Layer Enable/Disable

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

87
New cards

Event = Network Layer Ready

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

88
New cards

Frame Sequence Numbers

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

89
New cards

Inc

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

90
New cards

Protocol Declarations

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

91
New cards

Simplex Link-Layer Protocols

Basic protocols that handle one-directional data transmission.

92
New cards

Utopia Protocol

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

93
New cards

Sender1

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

94
New cards

Receiver1

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

95
New cards

Stop-and-Wait

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

96
New cards

Sender2

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

97
New cards

Receiver2

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

98
New cards

Error Correction

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

99
New cards

Sequence Numbers

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

100
New cards

Sequence Number

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