Tuesday, September 24, 2024

CST 311 - Week 4

 Most of my week 4 was spent studying for the midterm. I knew I was struggling with computing the transmission times, so I focused on that. Luckily it paid off and I did better than anticipated on the exam. Unfortunately, two of the questions I missed were errors concerning JEDEC standard vs SI. I thought that I had considered that in my calculations, but I will be sure to double check for the next exam.

We also began work on the network security section of our text. I'm excited to start this section as I was obsessed with code-breaking as a kid so I'm hoping that interest will translate to understanding. So far, the different encryption algorithms are a little over my head, but I know they play an important role in modern-day security, so I am hoping as this section continues I will develop a better comprehension of them.

Monday, September 16, 2024

CST 311 - Week 3

 This week's reading concerned the transport layer, the services it offers (multiplexing, demultiplexing, reliable data transfer, and flow/congestion control), and the protocols involved (UDP, TCP). In comparison to the network layer, which is the logical communication between hosts, the transport layer works as the logical communication between processes and relies on the network layer. The two transport layer protocols are TCP and UDP. UDP is a connectionless protocol that is unreliable and unordered, whereas TCP  is connection-oriented, reliable, and offers flow and congestion control. While it seems unlikely that anyone would choose to utilize UDP over TCP, we learned of a few circumstances where UDP is the better option. We looked at the idea of multiplexing/demultiplexing, which involves funneling and distributing data. The metaphor of entering/exiting a freeway really helped me to understand this concept. Next, we learned about the principles of reliable data transfer and the strategies TCP uses to guarantee this. 

 Outside of lecture, we completed the team programming assignment which had us creating our own version of a UDP Ping service and a UDP Heartbeat. There were also two individual labs to complete which dealt with traffic and congestion control. These were more of a struggle to me as I'm still trying to wrap my head around calculating delays and such. In addition, the Mininet graphical interface wasn't cooperating as well as I'd hoped, but I got it sorted out in the end.

Wednesday, September 11, 2024

CST 311 - Week 2

Chapter 2 covered the application layer and HTTP, which is the application layer protocol. This chapter helped us to get a better understanding of how data is transferred over the web and the key differences between non-persistent and persistent HTTP. The chapter also covered SMTP, the protocol concerning e-mail and DNS, or the web's domain name system. This was especially interesting to me to see how a computer handles web site information needing to be both computer and human-readable.

We also dove more into Wireshark and how to expand the query and response messages in order to get information. Worksheet 4 helped us to identify IP addresses, version number, headers and values and the URL in question. Worksheet 5 helped us practice calculating response time and determining the differences between PSP and Client-Server architecture. In general, these worksheets have been very helpful for me to practice the concepts explained in the text.


Tuesday, September 3, 2024

CST 311 - Week 1

 This week we read over Chapter 1: Computer Networks and the Internet. This chapter covered what makes up the internet from two perspectives: nuts-and-bolts and  as a service. The nuts-and-bolts description of the internet considers the actual hardware and software that makes up the internet, where the alternative considers the internet as a network infrastructure that provides services to applications. We took a brief look at protocols, which define the order and format of messages exchanged between two communicating entities. Between the reading and the problem set, we looked at delays and throughputs and how to calculate them. The equations are simple enough, but remembering how things are related is something I need to look over again. For the lab, we got our virtual machine environment set up and began learning how to set up a simple "network" of our own. We also were introduced to Wireshark, which is a network protocol analyzer that lets you look at traffic in real-time. This was especially interesting to me as you don't really think about how much is going on on your computer at any given time.