Posts

Showing posts from September, 2024

CST 311 - Module 4

 Week 4 This week's material was focused on network security! There are many ways people can try to intercept and replay data packets being sent to and from network edges. This is not something that can cause damage in the real world and be very costly as well. Some topics included cryptography, more specifically symmetric key and public key encryption. Symmetric key means that both clients (or client and server) use the same key to encrypt and decrypt data being sent to each other. Public key encryption is quite different as it uses a public key known to all who can see the packets. However, to decrypt, the receiver must use their private key known only to them in combination with the public key. However, if data can be replayed or in other words clients can impersonate each other, then how does any of the encryption/decryption method benefit us. Well, there are a couple of key aspects to this. One being digital signatures, where the sender uses their own private key to encrypt a

CST 311 - Module 3

 Week 3 This week's material was very more focused on the transport layer. One topic was multiplexing and demultiplexing. To sum the topic up, this is how data is handled from multiple sockets using a transport header. The multiplexing occurs at the sender, using the transport header containing the source and destination port number, then demultiplexing occurs at the receiver, which allows the receiver to deliver the received segments to the correct socket. There are also two variants of these, connectionless demux and connection-oriented demux.  More on the topic of connection and connectionless transport, connectionless refers to the UDP protocol and is considered bare bones, there is no handshaking and each UDP segment is handled independently. What makes it bare bones is the fact that there is no effort in flow control, delivering data in order, reliable data transfer. However, it can be implemented at the application layer. On the other hand, with connection transport (using T

CST 311 - Module 2

 Week 2 This week's material covered more information about the application layer of protocols such as HTTP, SMTP, and DNS. The reason for these different application layer protocols is to define certain rules, syntax, and what messages are exchanged. This can correlate to how certain applications communicate with servers and clients, for example, email uses the application layer protocol SMTP, the web uses HTTP, and file transferring uses FTP. Additionally, one must consider what transport protocol service you need when sending data to and from clients or servers. For instance, can the app tolerate small amounts of data loss (audio) or timing (video games). Using TCP allows for reliable transport, flow control, congestion control, but does not offer security. UDP is unreliable and does not provide many of what is offered in TCP. Other aspects of the networks that we learned about involve persistent and non-persistent HTTP connections, which essentially determines if a single TCP c

CST 311 - Module 1

 Week 1, We begin yet another course, only this time the topic is about computer networks. I am generally excited about to learn more about computer networks and the internet. Everything is connected to the internet these days and now I get to learn how to utilize and understand it. Like what is stated above, this is the first week, so the material is aimed at getting us students to become familiar with the software being used in the course, such as using multiple virtual machines, Python, and Wireshark to "sniff packets" being sent to and from the selected VM or host computer. Besides the software, we were also given textbook material to read ("Computer Networking" by James F. Kurose; Keith Ross) which introduced us to the basics of how the internet functions. Some notable takeaways from chapter one is that the network edge consists of hosts (basically clients and servers), access networks such as DSL, FTTH, etc., and the network core which is a mesh of interconnec