Tuesday, September 26, 2023

CST 311 - Week 4

 In this week's readings we learned about what is network security. I found while reading these sections of chapter 8 I was highly interested in what I was learning.

The main components of having a desirable secure communication are as follows:

1) Confidentiality. Messages need to be encrypted.

2) Message Integrity: Make sure content of communication is not altered, maliciously or by accident.

3)End-point Authentication: Confirm the identities. 

4)Operational Security: Security for operations. Firewalls, intrusion detection systems etc are used for this.

The textbook likes to bring up scenarios of Alice, Bob, and Trudy where Alice and Bob are the communicators and Trudy, the inTruder. Haha, get it? 

It talks about the principles of cryptography, symmetric key cryptography, polyalphabetic encryption, block ciphers, cipher-block chaining, public key encryption, RSA algorithm, session keys, digital signatures, cryptographic hash functions, message authentication code, public key certification, authentication protocol, securing Email, PGP, TLS, and much much more!

What's more to say about TLS is that it's supported by some big names such as Gmail, Amazon, eBay and more. Hundreds of billions of dollars are spent over TLS every year. You can identify if TLS is being used in your browser by the https rather than http. 

What peaked my interest most in these readings was when I learned about the RSA algorithm. Learning how complex the modulo-n arithmetic can be for a hacker to decipher was a great perspective on how mathematics can greatly benefit computer security, and computer science/engineering overall. 

Overall, this week was smooth and I had a good experience with the lab as well and how it incorporated TLS. Seeing it work in live action is super cool and I enjoy using the virtual machine along with MobaXTerm to see what's happening behind the scenes. 

Until next time!

Tuesday, September 19, 2023

CST 311 ---- Week 3

This week we learned about the Transport Layer. This layer resides between the application layer and the network layer. A transport layer provides for logical communication between application processes running on different hosts. With this logical communication, it can seem as if the hosts running the processes were directly connected. However, the hosts could be on opposing ends of the Earth as we know it. The transport layer converts the application-layer messages it receives from a sending application process into transport-layer packets known as transport-layer segments, which we observed in the labs of this week. 

There are two major protocols that can be used. UDP, which provides an unreliable, connectionless service to the invoking application. And there is TCP, the transmission control protocol, which provides a reliable, connection-oriented service to the invoking application. 

I also learned that extending host-to-host delivery to process-to-process delivery is called transport-layer multiplexing and demultiplexing. Tcp provides reliable data transfer and this is a major factor that ensures the data is delivered from the sending process to the receiving process.


 Above is a picture demonstrating transport-layer multiplexing and demultiplexing.


I learned so much more in the textbook, I could write much more because I truly do enjoy reading about networking, it makes me want to consider going off in that direction in my studies, because I am just so fascinated by it. It is a subject that doesn't feel heavy for me to read about, in all honesty. Through the labs of this week I learned about congestion control and did some calculations that involved RTT and MSS, and everything went fine! I also thoroughly enjoy doing the labs and they coincide with the textbook so well! I look forward to the next week of studies and beyond. 

Sunday, September 10, 2023

CST 311 Week 2 - 2.1 - 2.5, 2.8

This week I learned a lot about the Application Layer in the textbook. I learned that an application developer will usually choose one of the two: Client-server architecture, or peer-to-peer architecture. They both have advantages. An example of client-server architecture is the Web, FTP, Email. An example of P2P is BitTorrent. Here is a picture showing the differences between the 2:

In 2.1.2, I learned that it's not programs that communicate, but processes. 
For example, with the Web, a browser is a client process and a Web server is a server process.
A process sends messages into, and receives messages from, the network through a software interface called a socket. If the process is like the house then the socket would be like the door. 
In 2.1.3 I learned that the transport layer protocol services are classified amongst four dimensions: reliable data transfer, throughput, timing, and security. These were all discussed in detail.
In 2.1.4 I learned about TCP services and UDP services. 
In 2.1.5 I learned about application-layer protocols. These define how an application's processes, running on different end systems, pass messages to each other. 
2.2 talked about the Web and HTTP. I learned an overview about http, non-persistent and persistent connections, HTTP message format, HTTP response message, cookies, and web caching.
2.3 was about electronic mail in the internet. There are 3 major components: user agents, mail servers, and the Simple Mail Transfer Protocol (SMTP). I also learned about DNS, the internet's directory service (and this was exemplified in great detail in this week's lab). 
There was much more discussed, but this is a brief overview.

My thoughts on this week's learning: I actually am really enjoying learning all the ins and outs of the Internet and how it works under the surface. The labs are very hands-on and the reading is engaging. Another week of success, and I look forward to enjoying this class even more in the future! 







Sunday, September 3, 2023

CST 311 --- Week 1, Computer Networks

There was much that I have learned in this first week of class in CST 311.

We started off with downloading the network emulator Mininet, VirtualBox, MobaXTerm, and WireShark. It was cool getting to know these programs and how they work, I was able to successfully run all of them. 

Some basics of the concept reading I learned were concepts such as the Internet Protocol Stack: Application, Transport, Network, Link, and the Physical. Examples of each are: Applications: FTP, SMTP, HTTP, Transport: TCP, UDP, Network: Routing of datagrams from source to destination, IP routing protocols, Link: Data transfer between neighboring network elements: Ethernet, Wifi, PPP Physical: Bits "on the wire". 

I also learned the difference between Transmission Delay and Propagation Delay. Transmission Delay is "the amount of time for a router to push out a packet, which depends on the packet length and how big the packet is in bits and the transmission length of the link" Whereas Propagation Delay is: "the time it takes for the bit to propagate from the router to the destination and is based on the distance between the router and the next destination, nothing to do with packet length nor the transmission rate of the  delay."

Furthermore, I learned the extreme importance of making sure your networks, data, etc are secured. We delved a bit into Security and Cyber Security topics. In security there are three main topics: Confidentiality, Integrity, and Availability. I was able to learn what each of these mean in terms of when an attacker could access your information. Also, in Cyber Security, there were the topics of Authentication and Nonrepudiation. Firewalls, Antivirus Software etc are *not* security in and of themselves but are a means to an end, meaning they reach the goals of security. 

There was much more that I learned but these are some topics that stood out to me. Overall and so far, I find the course extremely interesting, even moreso than previous topics. I have a feeling I will greatly enjoy this course and everything I learn here! Off to a good start in Week 1, looking to continue that streak in the weeks to follow. 

CST 462S - Service Learning

Overall, my experience working as a volunteer for NTS was great and I wouldn't have changed it any way! What went well?  I'd say ove...