CST311 - Week 33
- YZ

- Sep 15, 2020
- 2 min read

We completed week 2 and have covered a lot of information! The readings introduced the topic of the client-server and P2P architectures and how processes on different end systems communicate by sending messages to each other through sockets. Two transport protocols provided by the Internet are UDP, which is lightweight but does not provide reliable data transfer, and TCP, which includes "handshaking" with TCP connections but does guarantee reliable data transfer. We learned about the web and HTTP: the formats of HTTP request and response messages, persistent and non-persistent connections, and web caching. Next, we looked into email systems, which are composed of user agents, mail servers, and SMTP. DNS is the internets directory service that maps domain names to IP addresses using a hierarchical, distributed database consisting of root servers, TDL servers, and authoritative servers. The next chapter discussed some more details of P2P file distribution including an overview of BitTorrent, how the tracker keeps track of participating peers and the different ways peers determine which chunks to request first and to which peers to send requested chunks. Next, the textbook discussed video streaming and content distribution networks. When using HTTP streaming, DASH is available to dynamically switch between different quality levels according to the amount of available bandwidth. Major video streaming companies have CDNs, clusters of servers to distribute content. The last section covered socket programming and provided Python code for client and server for both UDP and TCP. My team ran these programs and tested them as part of the programming assignment. Additionally, in Lab 2 we analyzed Wireshark HTTP traces. For Lab 3, we were able to demonstrate capturing HTTP packets between Mininet hosts, as well as create a simple chat service over TCP.




Comments