Saturday, October 19, 2024

CST311 - Week 8

 

CST311 – Intro to Computer Networks 

This is the last week of this essential and informative course. I have learned a lot from the network from the provided materials and labs. Under the operational security topic, we reviewed the firewall function, VLANs, IPsec VPN tunnels, wireless security, and Intrusion Detection Systems (IDS). Organizations implement firewalls to control the inbound and outbound network traffic, restricting access to services by local security policies. We reviewed three types of firewalls: traditional packet filters, stateful packet filters, and application gateways.

Intrusion detection systems are great for deep packet inspection and analyzing traffic for suspicious activities. An IDS usually limits the traffic analysis to alert only, and an IPS or intrusion prevention system drops packets by taken action. The IDS sensors use packet inspection by comparing inbound and outbound packets to a significant amount of security signatures. This may challenge the IDS's performance. To distribute the workload, organizations may elect to deploy multiple IDS within the same network.

That is the end of a great learning experience. The labs for this course are real-world scenarios, and they definitely cover the fundamental aspects of a typical work environment.


Tuesday, October 15, 2024

CST311 - Week 7

 

CST311 – Intro to Computer Networks 

This week, we are learning about the Link layer as an intermediate layer between the Network and physical layer. In layer 2, offers nodes are communicated without any layer 3 devices with a direct physical connection. The network datagram is received and inserted into the frame structure before transmission. The frame structure format depends on the link layer protocol, which encapsulates the datagram. One of the most important services a layer link layer offers is error detection and correction without retransmission. Unlike the checksum in the transport layer and network layer, the robust bit error detection and correction mechanisms are implemented in hardware.

This layer is implemented in both hardware and software, acting as a bridge that delivers frames across nodes using both physical and many software protocols. For example, Link layer services, such as framing, link access, and error corrections, are implemented in the network interface controller (NIC) or the network adapter.

The network multiple access problem occurs when multiple devices share the same transmission link and compete over the communication channel. While there are two links designed for link access, point-to-point link, and broadcast link, the latter is most common in Link layer LAN architecture.  The point-to-point link allows one sender and one receiver, while the broadcast link has several nodes. Since shared link medium like shared wireless or shared wired permits nodes to transmit frames at the same time, transmission collisions will occur at the receiver, resulting in lost frames. Hence, channel partitioning protocols, random access protocols, and taking-turns protocols were designed to manage transmissions and ensure efficient data transmission.

TDM and FDM are two divisions techniques of multiplexing used in channel partitioning to eliminate collision and divide bandwidth among nodes. ALOHA is a fully decentralized protocol type of random access designed to retransmit frames fully first by allowing collision, then retransmit collided frames again with probability p. Carrier sense multiple access (CSMA) and CSMA with collision detection (CSMA/CD) protocols are designed to listen for idle channel before transmitting.

The module introduces the MAC address or link-layer addresses, which are often fixed addresses of network adapters (excluding L2 devices). Another important protocol is the Address Resolution Protocol (ARP), designed to translate IP addresses into MAC addresses. We also reviewed link-layer switches and compared their functions to those of layer 3 routers.

 

Tuesday, October 8, 2024

CST311 - Week 6

 

CST311 – Intro to Computer Networks 

We continue the course by reviewing the second plane of the Network layer this week, particularly the control plane. The routing function encompasses path selection, updating routing tables, and executing the appropriate protocol within a system. Routing algorithms come into play to compute the best paths or routes from the source to the destination. In Link-state LS, the links cost are known among all nodes. A protocol that uses LS is OSPF or Open Short Path First. Another type of decentralized algorithm that bases its calculation on the least cost path is the DV or Distance-Vector algorithm. The cost of a path is only available to neighboring nodes; however, information learned from estimated paths is exchanged among nodes to calculate the path with the lowest overall cost. DV is used with protocols like BGP and RIP.

The module introduces an important graph algorithm called Dijkstra’s algorithm, which is an efficient centralized algorithm for finding the least cost path for all source vertexes. The Big O time complexity of Dijkstra’s algorithm depends on how many nodes are searched overall; this happens to be n(n+1)/2, this complexity of O(n^2). Overall, the DV algorithm converges changes to direct neighbors only slowly, while the LS algorithm converges faster to all nodes.



We also viewed the autonomous systems (AS), which consist of a number of routers within an ISP. In the same AS, the protocol that runs the routing algorithm is the intra-autonomous system routing protocol - OSPF LS algorithm between the routers, allowing multiple path costs if found and ways to authenticate the exchanged information between routers AS systems communicate with each other by advertising on gateway router located at the edge of each AS. BGP is used for external connection (eBGP) or within the internal AS (iBGP) to exchange routing information. AS routing policy is used to facilitate desired traffic across inter-AS routing.

The module ends with a brief overview of SDN in the control plane and an introduction to the ICMP protocol, or Internet Control Message Protocol.


Tuesday, October 1, 2024

CST311 - Week 5

 

CST311 – Intro to Computer Networks 

The network layer is the central topic for this week. We are moving down from the top application layer to the transport layer and now to the network layer with its two components, the data plane and the control plane. The primary role of this layer is to hand over the data packets from the sender to the receiver through the forwarding and routing mechanisms. In the data plane, forwarding is implemented to process packets by the router and send (or block) to the next router in the path. On the other hand, Routing utilizes routing algorithms in the control plane to determine the end-to-end path for a packet to reach the final destination.

This week's module also covered the basic components of a router: input ports, switching fabric, routing processor, and output ports. Each component has its own function that handles arriving packets as they enter the input ports. Packets are routed to the corresponding output ports determined by the forwarding table. The switching fabric connects the input and output ports and executes link layer and physical layer functions using the longest prefix matching rule. In the data plane, switching could be done via memory, bus, and an interconnection network. The latter offers faster switching through 2N buses for every N port, allowing other packets to forward simultaneously. Packets that reach the output ports are queued accordingly for transmission to the outgoing link.

The equation above calculate the buffer needed for N TCP flowing through a link with Capacity C.

We also examined the IPv4 and IPv6 datagram format and the key fields associated with each version. Where the IPv4 is formatted in dotted-decimal notation, 32 bits long, divided into 4 groups of 8 bits each. For example, the IPv4 address 192.168.1.1 is written in dotted-decimal notation, where each part corresponds to an 8-bit binary value. The IPv6, on the other hand, is 128 bits long divided into 8 groups of 16 bits written in hexadecimal. A Dynamic Host Configuration Protocol (DHCP) automatically assigns a unique IP address from a pool to the requesting host.

NAT or network address translation, offers a way to efficiently manage IPs allocations in a network. For example, a NAT-enabled router translates multiple devices (IP addresses) in a home network to face the public Internet as only one IP address.

In this week, we also covered software-defined networking (SDN), where software-based networking interactively calculates the values of forwarding tables for routing.

CST462S - Final Week

Service Learning Journal Reflections This marks the final week of our Service Learning experience. Our team successfully completed the final...