Data Communication
===
###### tags: `Course`
## Course Materials
- [CSC0056 Data Communication 資料通訊 (Fall 2020)](https://wangc86.github.io/csc0056/)
- Textbook - [Data Networks (2nd Edition)
by Dimitri P. Bertsekas and Robert G. Gallager](https://web.mit.edu/dimitrib/www/datanets.html)
## LaTeX
- [大家來學 LaTeX](https://www.cs.pu.edu.tw/~wckuo/doc/latex123/node1.html)
- 加入新package
```
mv polydiv.sty /home/abby/texmf/tex/latex
texhash
```
## Theory and models
- Data communication as a network of flows (a graph)
- Network flow algorithm, shortest-path algorithm, etc.
- [The Maximum flow and the Minimum cut](http://pisces.ck.tp.edu.tw/~peng/index.php?action=showfile&file=f3cec71910d4a0106624e839f2891b17198ef58be)
- Little’s theorem, Queueing theory, Markov chains, Poisson process
- Scheduling for timely data delivery and/or data-loss tolerance
## Protocols and systems
- Real-time communication
- Fault-tolerant communication
- Data retransmission and/or Passive replication
- [CAP Theorem](https://medium.com/%E5%BE%8C%E7%AB%AF%E6%96%B0%E6%89%8B%E6%9D%91/cap%E5%AE%9A%E7%90%86101-3fdd10e0b9a)
- Flow controls
- Data communication as a network of flows
- ARQ at the data-link layer vs. Window flow control at the transport layer
- Layered Networks
- 
- Circuit switching vs. packet switching
- Point-to-point communication vs. end-to-end communication
- Multiplexing - [TDM vs. FDM](http://www.tsnien.idv.tw/Network_WebBook/chap2/2-11%20%E5%82%B3%E8%BC%B8%E5%AA%92%E4%BB%8B%E7%9A%84%E5%A4%9A%E5%B7%A5%E6%8A%80%E8%A1%93.html)
- Error detection vs. error correction vs. retransmission
In the DLC layer, error detection and correction.
- [Parity Check](https://www.slideshare.net/ImeshaPerera/parity-checkerror-detecting-codes)
- [CRC](http://www.sunshine2k.de/articles/coding/crc/understanding_crc.html#ch2)
- [DATA INTEGRITY 資料完整性](http://blog.pulipuli.info/2006/04/942.html)
- [Hamming Weight and the Nearest Neighbor Rule Theorem](http://www.cs.toronto.edu/~radford/csc310/week11.pdf)
- [Linear Code](http://apwcs2014.nsysu.edu.tw/course/pdfdownload/93_2/%E9%8C%AF%E8%AA%A4%E6%9B%B4%E6%AD%A3%E7%A2%BC/CC-3-LinearBlockCodes.pdf)
- Free-for-all multiaccess vs. Perfectly-scheduled multiaccess
- CAN, Aloha, TDMA and its extension to improve throughput
- [Slotted ALOHA](http://web.mit.edu/modiano/www/6.263/lec10.pdf)
- [CAN Bus Arbitration](https://www.linkedin.com/pulse/bus-arbitration-can-controller-area-network-abdul-rehman-anwer)
- Time synchronization
## Mosquitto
- [MQTT QoS](https://blog.csdn.net/Com_ma/article/details/89486760)
- Useful Data Structures for Refining Mosquitto Architecture
- Hash Table
- [Hash Table: Intro](http://alrightchiu.github.io/SecondRound/hash-tableintrojian-jie.html)
- [Hash Table: Chaining](http://alrightchiu.github.io/SecondRound/hash-tablechaining.html)
- [Hash Table: Open Addressing](http://alrightchiu.github.io/SecondRound/hash-tableopen-addressing.html)
- Binary Search Tree
- [AVL Tree](https://josephjsf2.github.io/data/structure/and/algorithm/2019/06/22/avl-tree.html)
- Red Black Tree
- [Red Black Tree 紅黑樹 part 1](https://josephjsf2.github.io/data/structure/and/algorithm/2020/04/28/red-black-tree-part-1.html)
- [Red Black Tree 紅黑樹 part 2](https://josephjsf2.github.io/data/structure/and/algorithm/2020/04/28/red-black-tree-part-2.html)