Posts

Showing posts from September, 2024

CST 311 - Intro to Computer Networks - Week 5

Image
  This week in CST-311, we learned about the network layer and its essential functions. I learned that the network layer is responsible for transporting segments from the sending host to the receiving host by encapsulating these segments into datagrams. The network layer operates both at the data plane, which handles forwarding data locally at each router, and at the control plane, which manages the routing decisions across the entire network. It is interesting how routers examine the datagram headers to determine the next forwarding step, ensuring that the data moves efficiently through the network. Also, we learned about multiple aspects of routers, such as the distinction between hardware and software operations, and the importance of different switching fabrics, like memory and bus-based switching. We also covered IPv4 addressing, including fragmentation and reassembly, and the differences between IPv4 and IPv6, particularly how IPv6 was designed to improve security and efficiency.

CST 311 - Intro to Computer Networks - Week 4

Image
  This week in CST-311, I learned about network security and it is applied to protect data during transmission. The first section this week covered the basic idea of network security, which focuses on protecting data from unauthorized access, misuse, and attacks. The main focus was on cryptography, the science of encoding information to ensure confidentiality and integrity. I learned about the two main types of cryptographic systems: symmetric key encryption, where both sender and receiver share a single key for encryption and decryption, and public key encryption, which uses separate keys for encryption and decryption. Public key encryption provides enhanced security by not requiring the sender and receiver to share a secret key beforehand, making it ideal for secure communications over the internet. Also, I learned about message integrity and authentication, which are important for verifying that a message has not been tampered with and that it comes from a legitimate source. This wa

CST 311 - Intro to Computer Networks - Week 3

Image
  This week in CST-311, I learned about the transport layer and its functions, which ensures that the data is transmitted reliably across networks. The transport layer provides logical communication between processes, building on top of the network layer, which is responsible for communication between hosts. One of the key concepts we covered was the difference between UDP (User Datagram Protocol) and TCP (Transmission Control Protocol). UDP is connectionless, meaning it does not require handshaking before communication, resulting in faster transmission but without guarantees of reliability. On the other hand, TCP is connection-oriented, providing reliable, in-order data transmission through a handshake process, flow control, and congestion control mechanisms.  We also learned about the mechanisms of multiplexing and demultiplexing, where the transport layer directs segments to the appropriate socket based on IP addresses and port numbers. This ensures that data is correctly delivered

CST 311 - Intro to Computer Networks - Week 2

Image
This week in CST 311, I learned more about how the internet operates from both a technical and service perspective. I learned about the structure of the internet, where billions of computing devices are connected through communication links such as fiber, copper, and satellite. One important concept for this week is the role of protocols like TCP, IP, and HTTP in controlling how messages are sent and received between these devices. I also found it interesting how packet switching allows messages to be broken into smaller packets for more efficient transmission, even though it may result in packet loss or delay if the network becomes congested.  Also, we learned about the importance of network protocols and the five layers of the internet protocol stack: application, transport, network, link, and physical. The application layer, for example, includes protocols like HTTP, which is important for web browsing, while the transport layer is responsible for process-to-process data transfer. T