TCP/IP
Example of the logic inside a single router
$L$: Data Link Address (mac addresses), each router has a local and a public address. $N$: IP of the sender and final receiver of a packet.
Transport Layer
See slides.
Segment = Packet, in TCP
Data Link Layer
See slides.
Sublayers
- Data Link Control (DLC) : this layer takes care of all the issues common to both point-to-point and broadcast links.
- Media Access Control (MAC) : Only deals with the issues specific to broadcast links.
Addressing
See slides.
Each router uses a Forwarding Table to determine where to relay the packet.
Types of addressing
- Unicast Addressing: Sender and receiver are known
- Multicast Addressing: One to many communication within local network
- Broadcast Addressing: One to all
Errors
See slides.
Error detection is of cause easier than error correction.
Burst Error: Two or more bits are flipped
Block Coding
Message is divided into blocks (“datawords”), and add redundant bits to each packet to create “codewords”.
![Pasted image 20230919130937.png](../../images/pasted-image-20230919130937.png)
The sender makes sure that the codeword is a correct codeword. Determining if a codeword is current, requires a table for validating the codeword, which is shared by sender and receiver.
The minimum Hamming Distance between valid codewords should be $2$, to make sure a bit-flip does not result in another valid codeword. This is the case in Parity-Check Code.
Linear Block Coding
You can $\text{XOR}$ two valid codewords to get another valid codeword. $$A ,, \text{XOR} ,, B= C $$ Where $A$, $B$ and $C$ are all valid.
Hamming Codes
Cyclic Coding
Se slides.
The redundant bit “rotate” for each dataword.
$$s(x) = e(x) ,,\text{mod} ,, g(x)$$ $x$: Dataword $s(x)$: Syndrome - should be $0$ in a valid codeword $e(x)$: The error $g(x)$: The generated codeword
Generators with a factor of $(x+1)$ can detect all odd number of bit-flips.