first commit

This commit is contained in:
Boris
2024-01-15 20:14:10 +00:00
commit 8c81ee28b7
3106 changed files with 474415 additions and 0 deletions

View File

@@ -0,0 +1,93 @@
## Lecture 1 (12:00)
### Flow Control
If sender sends data faster than recipient can consume it, the recipient must store the data in a buffer until it is ready - in RAM or storage.
If this happens for a sustained period, the buffer gets full, and any excess data is discarded.
Flow Control is the mechanism that ensures the sender stops transmitting before the buffer is full to prevent wasted bandwidth.
- Full Duplex (Two way negotiation)
- Destination has received all frames sent so far
- Destination is ready to receive more data.
- Data and control info can flow simultaneously
- Simplex (one way) transmission system, we cant have two-way negotiation
### Packets
- Frame / Packet is a chunk of data with a fixed or max size.
- May stand alone or be fragments of larger items
- Dividing data gives us chance to send management info between frames.
- Extra overhead = Slight loss of efficiency.
- Propagation Time vs Transmission Time
- Propagation Time is the amount of time it takes for one particular signal to get from one point to another.
- Transmission Time is the total amount of data that can be sent from one place to another in a given period of time.
#### Sliding Windows Flow Control
- Every packet is numbered in sequence.
- **Window Size** defines the number of packets that can be sent by the sender without needing an acknowledgement from the recipient
- Amount of space recipient reserves for buffer space to be used for conversations with this particular sender.
- Recipient will periodically tell the sender the start of the window
- This way , the sender can send packets up to (windowStart + windowSize - 1)
- Used in the TCP protocol on the internet.
![](Pasted%20image%2020231030122822.png)
![](Pasted%20image%2020231030122739.png)
### Error Correction
- Fix the Error (FEC)
- Ask for the frame containing the error to be re-transmitted - Automatic Repeat ReQuest / Query (ARQ)
- Throw away the frame containing the error
- Usual, and ARQ requires it
- Ignore the error
- Useful for low quality streaming multimedia data
- Dangerous in networking, as it often matters where the error is.
#### Forward Error Correction (FEC)
- Represent something using more bits than needed. An error results in an invalid value that can be rounded to the nearest valid one.
- The more extra bits, the better redundancy gained.
- Simple ex.
- Majority Voting:
- Transmit each bit 3+ times (000, 111)
- For the recipient, 001/010/100 are rounded to 0
- 110/101/011 are rounded to 1
#### Re-transmission
- If we cannot fix the error, ask for retransmission
- We need a return channel to ask, so we cannot do this over simplex channels ( ex. TV )
- Must be unicast ( cannot be performed over broadcast / multicast data )
- Data must be time independent ( cannot be used for realtime data such as multimedia )
#### Go-Back-N ARQ
- Pairs with Sliding Windows Flow Control.
- Recipient discards a packet if it contains an error
- You notice you have discarded the packet when you receive the next packet with an out of sequence number.
- When noticed, discard packet and request sender to backpedal to last correct packet.
- Sender re-transmits all packets started from missing packet.
- Sender polls for a response if no acknowledgement is received (assumed lost)
- Recipient re-sends last acknowledgement.
## Lecture 2 (15:00)
### Sliding Windows Flow Control
#### Parameters of Communication
- **A** will send 8 packets to **B**
- Transmission time (time to put on network) for a packet is 1 "time unit"
- Transmission time for acknowledgement is 0 "time units"
- Propagation Time (time to travel through network) is 2 "time units"
- **B**'s packet processing time is 1 "time unit" (then acknowledges)
- Initial **Window Size** is 3
#### Legend
- Thick border (yellow bg) = Sliding Window
- Black number = in process of send
- Red number = sent but no acknowledge
- Green number = sent and acknowledged
![](Pasted%20image%2020231030152517.png)