Skip to content

Commit 80fbf3a

Browse files
committed
vault backup: 2025-12-31 15:35:50
1 parent 7bc4615 commit 80fbf3a

4 files changed

Lines changed: 57 additions & 27 deletions

File tree

notes/.obsidian/community-plugins.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@
88
"sheets",
99
"img-caption",
1010
"dark-mode-images",
11-
"execute-python"
11+
"execute-python",
12+
"bibliography"
1213
]

notes/Computer Networks/Link layer.md

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
- Backbone
66
- LAN
77

8-
98
## Framing
109

1110
- A **frame**
1211

1312
#### Point-to-Point Protocol (PPP)
1413

15-
Byte-Oriented
14+
- PPP is a byte-oriented protocol
1615

1716
<table>
1817
<tr>
@@ -44,25 +43,43 @@ Byte-Oriented
4443

4544

4645
- Link Control Protocol (LCP)
46+
- "A PPP protocol responsible for establishing, maintaining, configuring, and terminating links" [@Forouzan, 2012]
4747

4848
#### High-Level Data Link Control (HDLC)
4949

50-
bit-oriented
50+
- **High-Level Data Link Control** (**HDLC**)
51+
- HDLC is a bit-oriented protocol
5152

5253
## Error detection and correction
5354

5455

55-
56-
- A **message** (סיביות מידע, מילת מידע) $M$ of length $m$.
57-
- **Redundant bits** (סיביות ביקורת) $R=f(M)$ of length $r$ (where $r \ll m$).
58-
- The sender transmits the **codeword** (מילת קוד) $P = (M,R)$ of length $n=m+r$.
59-
- The receiver receives $(M',R')$ and checks if $R' = f(M')$, if yes, assume no error with high probability, else, error detected.
56+
- **error detection and correction** (**EDAC**) (or **error control**)
57+
- "The handling of errors in data transmission." [@Forouzan, 2012]
58+
- Error-detection codes
59+
- **forward error correction** (FEC)
60+
- "The process that enables a receiver, upon detecting an error in the arriving data, to correct the error without further information from the transmitter." [@West, 2021]
61+
- "Correction of errors at the receiver without retransmission." [@Forouzan, 2012]
62+
- **error-correction codes** (or **error-correcting codes**) (ECC)
63+
64+
- **data bits** (or **dataword** or **message** or **(data) block**) (סיביות מידע, מילת מידע)
65+
- $M$ of length $m$.
66+
- **redundant bits** (or **redundancy**) (סיביות ביקורת)
67+
- $R=f(M)$ of length $r$ (where $r \ll m$).
68+
- sender:
69+
- transmits the **codeword** (מילת קוד) $P = (M,R)$ of length $n=m+r$.
70+
- receiver:
71+
- receives $(M',R')$
72+
- checks if $R' = f(M')$,
73+
- if yes, assume no error with high probability,
74+
- else, error detected.
75+
- There can be $2^m$ possible datawords, and $2^n$ possible codewords.
76+
- Thus, there are $2^{n}-2^{m}$ **invalid** codewords that can be used to detect errors.
6077
- (**code rate**) $R_{c}=\frac{m}{n}$
6178
- (**overhead**, תקורה) $\frac{r}{n}$
62-
- (**redundancy**) $\frac{r}{m}$
79+
- (**redundancy**, יתירות) $\frac{r}{m}$
6380

6481
- A **bit error** is when a bit is received incorrectly (0 instead of 1 or vice versa)
65-
- A **burst error** is when a sequence of bits is received incorrectly
82+
- A **burst error** (or **error burst**) is when a sequence of bits is received incorrectly
6683
- (**bit error ratio**) $\displaystyle\text{BER} = \frac{\text{\# bit errors}}{\text{Total transmitted bits}}$
6784
- (**bit error probability**) $p_{e}=\mathrm{E}[\text{BER}]$
6885

@@ -77,7 +94,7 @@ bit-oriented
7794
- $\displaystyle s = d_{\min} - 1$
7895
- The **minimum Hamming distance** of a code $\mathcal{C}$ is $\displaystyle d_{\min} = \min_{c_1 \neq c_2 \in \mathcal{C}} d(c_1,c_2)$.
7996

80-
נצילות השידור
97+
8198
### parity checks
8299

83100

@@ -118,11 +135,12 @@ bit-oriented
118135

119136

120137

121-
122-
123138
## Error control
124139
### Stop-and-wait ARQ
125140

141+
- **stop-and-wait**
142+
- "A protocol in which the sender sends one frame, stops until it receives confirmation from the receiver, and then sends the next frame" [@Forouzan, 2012]
143+
126144

127145
```
128146
sender:
@@ -174,8 +192,8 @@ receiver:
174192
- invariant:
175193
- $\textsf{LAF} - \textsf{LFR} \leq \textsf{RWS}$
176194

177-
178-
- $\textsf{SWS} < \frac{1}{2} \times (\text{MaxSeqNum}+1)$
195+
- to fully utilize the link the SWS must be at least the bandwidth-delay product (in frames)
196+
- $2\times \textsf{SWS} < (\text{MaxSeqNum}+1)$
179197

180198

181199
- negative acknowledgment

notes/Computer Networks/Performance.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
$$\text{Latency} = t_{\text{prop}} + t_{\text{tx}} + t_\text{queue}$$
1515
- **latency**
1616
- the amount of time it takes for a packet of data to travel between two points across a network connection
17-
- "_The delay between the transmission of a signal and its receipt_" [^1]
17+
- "_The delay between the transmission of a signal and its receipt_" [@West, 2021]
1818
-
1919
- latency (also called delay (?) #todo) is the time it takes for data to pass from one point on a network to another
2020
- (**Propagation delay**) $t_{\text{prop}} = \frac{d}{v}$
@@ -43,7 +43,11 @@ $$\text{Latency} = t_{\text{prop}} + t_{\text{tx}} + t_\text{queue}$$
4343

4444
#### Bandwidth-delay product
4545

46-
- The **bandwidth-delay product**, $\text{RTT} \times \text{bandwidth}$, in bits, is the amount of data that can be in transit in the network at any given time
46+
- **bandwidth-delay product** (in bits)
47+
- $\text{RTT}\times\text{bandwidth}$
48+
- the amount of data that can be in transit in the network at any given time
49+
- "The bandwidth-delay product defines the number of bits that can fill the link." [@Forouzan, 2012]
50+
- link utilization = $\displaystyle\frac{\text{data in flight}}{\text{bandwidth-delay product}}$
4751

4852

4953

@@ -72,4 +76,3 @@ $$\text{Latency} = t_{\text{prop}} + t_{\text{tx}} + t_\text{queue}$$
7276

7377
- (**Channel utilization**) $U=\frac{\text{throughput}}{R}$
7478

75-
[^1]: West, J. (2021). _Data communication and computer networks: A Business User’s Approach_. Course Technology.

notes/Computer Networks/intro.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@
5656

5757

5858
- **protocol data unit (PDU)**
59-
- _"The combination of data from the next higher layer and control information"_ [^1]
60-
- _"Another name for a packet or frame"_. [^2]
61-
- _"A PDU at layer $N$ is a message sent between protocols at layer $N$. It consists of layer $N$ header information and an encapsulated message from layer $N+1$, which is called both the layer $N$ SDU and the layer $N+1$ PDU"_. [^3]
59+
- _"The combination of data from the next higher layer and control information"_ [@Stallings, 2013]
60+
- _"Another name for a packet or frame"_. [@Peterson, 2020]
61+
- _"A PDU at layer $N$ is a message sent between protocols at layer $N$. It consists of layer $N$ header information and an encapsulated message from layer $N+1$, which is called both the layer $N$ SDU and the layer $N+1$ PDU"_. [@Kozierok, 2005]
6262
- **service data unit (SDU)**
6363
- (**packet**)
6464
- (1) _a generic term used to describe unit of data at all levels of the protocol stack_. ([RFC 1594](https://www.rfc-editor.org/rfc/rfc1594.html))
@@ -67,6 +67,8 @@
6767
- a synonym with _packet_
6868
- connectionless communication, packet-switched network
6969
- _"A self-contained, independent entity of data carrying sufficient information to be routed from the source to the destination computer without reliance on earlier exchanges between this source and destination computer and the transporting network"_. ([RFC 1594](https://www.rfc-editor.org/rfc/rfc1594.html))
70+
- (**frame**)
71+
- "A packet at the data-link layer is normally called a _frame_." [@Forouzan, 2012]
7072

7173

7274
- **Best-effort service**
@@ -83,13 +85,19 @@
8385
- **Connectionless-mode Network Service** (**CLNS**) (or simply **Connectionless Network Service**)
8486

8587

88+
- **bit stuffing**
89+
- "A technique used to distinguish control sequences and data on the bit level." [@Peterson, 2020]
90+
- "In a bit-oriented protocol, the process of adding an extra bit in the data section of a frame to prevent a sequence of bits from looking like a flag." [@Forouzan, 2012]
91+
- **byte stuffing**
92+
- "The process of adding one extra byte whenever there is a flag or escape character in the text." [@Forouzan, 2012]
93+
- "In a byte-oriented protocol, the process of adding an extra byte in the data section of a frame to prevent a byte from looking like a flag." [@Forouzan, 2012]
94+
- **bit-oriented protocol**
95+
- "A protocol in which the data frame is interpreted as a sequence of bits" [@Forouzan, 2012]
96+
- **byte-oriented protocol**
97+
- "A protocol in which the data section of the frame is interpreted as a sequence of bytes (characters)." [@Forouzan, 2012]
98+
8699

87-
[[Transport layer]]
88-
# Internet layer
89100

90101

91-
[^1]: Stallings, W. (2013). _Data and computer communications_.
92102

93-
[^2]: Peterson, L. L., & Davie, B. (2020). _Computer networks: A Systems Approach_. Morgan Kaufmann Publishers.
94103

95-
[^3]: Kozierok, C. M. (2005). _The TCP/IP guide: A Comprehensive, Illustrated Internet Protocols Reference_. No Starch Press.

0 commit comments

Comments
 (0)