Posts

Showing posts from May, 2023

Computer Networks - Week 5

          This week in Networking Class, I learned the difference between forwarding and routing. Understanding the difference between these two concepts clarified how network devices handle packet forwarding and make routing decisions based on destination addresses. I also learned about the inner workings of a router including the algorithms employed for packet processing and forwarding.            I learned about the structure and format of IPv4 addresses, as well as subnetting techniques. I also learned about IPv6 addresses and how we are running out of available IPv4 addresses. I was also introduced to Software-defined Networking (SDN) as well as Network Address Translation (NAT) using Mininet and Wireshark.          My team also finished  our multi-threaded client-server chat program. This project combined the concepts learned so far, including socket programming, multithreading, and netw...

Computer Networks - Week 4

    This week in  Networking class, I started by learning the principles of network security, focusing on protecting data and systems from unauthorized access. Encryption was the major method as I learned about symmetric key systems and public/private key systems.       I also learned about securing the transport layer using SSL/TLS protocols, which provide encryption, authentication, and integrity. I was able to set up a Certificate Authority (CA) in Mininet, learning how about issuing digital certificates. Our team started on a programming assignment to develop a client-server chat program, which will apply the concepts we've learned. Finally, I took the Midterm Exam, assessing my knowledge of the course material.      Overall, this week covered network security topics, from encryption and email security to SSL/TLS protocols. I enjoyed this week and look forward to next week.

Computer Networks - Week 3

    This week I learned about transport layer services, including multiplexing and demultiplexing for process-to-process delivery. I learned about the principles behind reliable data transfer, flow control, and congestion control. Two significant transport layer protocols, UDP and TCP, were thoroughly discussed.      Our group programming assignment focused on developing a UDP Ping application that provided experience and demonstrated its usefulness in computing packet statistics. Using the network emulation program Mininet, we simulated the effects of distance, bandwidth, and loss on TCP traffic.      Overall, Week 3 of Computer Networks provided valuable insights into transport layer services, reliable data transfer, and the implementation of UDP and TCP protocols. The programming assignment offered practical applications and reinforced my learning for this class.

Computer Networks - Week 2

          This week in Networking class, I learned about the basic principles of network applications. I learned about the basics of three client-server application protocols: HTTP, SMTP, and DNS.  I also looked into Peer-to-Peer applications and how they differ from client-server applications. This topic was interesting as it showed how the internet can be used for more than just client-server communications.          Our group  began working on the UDP Pinger program which looks like it will be fun to complete as a team. I also examined HTTP and DNS traffic using Wireshark. This exercise provided me with knowledge of how these applications work and how to analyze network traffic.           Overall, this week in Networking class was a valuable experience for me as I learned about the principles of network applications, protocols, and peer-to-peer applications.

Computer Networks - Week 1

     In my first week of Computer Networks, I learned a lot about the components of the Internet and how they work together to create a communication network. I also learned about delay, loss, and throughput and how they can affect the performance of a network. Understanding the concept of protocol layers was also helpful as it helped to break down things into smaller, more manageable pieces.   In addition, I gained some knowledge about network security as well as the history of the Internet. It gave me an idea of how far we have come in such a short time.       I was able to install and operate a virtual machine on my system.  I also installed a network emulator (Mininet) on the virtual machine and learned to use Wireshark to examine network traffic. Finally, my team and I fixed some client-server programs in Python, which helped me better understand how data is transmitted over a network. Overall, it was a good week of learning and I look f...