Posts

Showing posts from May, 2024

Intro To Computer Networks Week 5

      This week I reviewed lectures and completed labs relating to the network layer. While reviewing these materials one of the topics that I found more interesting was subnets. Subnets allow network isolation in which networks may be assigned a range of IP addresses depending on their subnet mask. Some subnet masks may allow a network to have only 254 host on a network, such as in the subnet mask "255.255.255.0". While other subnet masks may allow for a massive amount of hosts on a network, such as with subnet mask "255.0.0.0" allowing for 16 million host on a network, they will only allow for 127 networks.       When working with IP addressing, an important notation is the Classless InterDomain Routing (CIDR). In this format we can identify the subnet and host portions of a network. For example if we had a network prefix of 10.5.5.0 and we wanted to allow for 254 hosts on our network, we could write this CIDR as "10.5.5.0/24". In this case, 10....

Intro To Computer Networks Week 4

 This week I learned more about cryptography, such as symmetric and asymmetric encryption, transport layer security, and message integrity. Something I found most important, which I also work with to this day as a full stack programmer, is transport layer security (TLS). It is imperative, especially when developing a web application requiring the transfer of user credentials, that the messages between the client and server are secure. With TLS, confidentiality, integrity and authentication is provided allowing communication between two parties to be secure when on the web. To use TLS, parties can complete a handshake, where the server is authenticated, a cryptographic algorithm is agreed on between the parties, encryption keys are recognized, and if necessary the client can also be authenticated.

Intro To Computer Networks Week 3

        This week I learned more about the network transport layer, more specifically about the available protocols, how headers are assigned to data to assist in their transportation, transfer reliability, congestion, and flow control. Something I found particularly interesting about this week's material was the concept of multiplexing and de-multiplexing. With multiplexing we can assign a header in the transport layer, and compile data from various applications into a message. That message can then be received at the message's destination, where the header is read and stripped, and the data is sent to the various intended applications. I found reading about this process to be pretty interesting due to it's somewhat intricate nature, and its method to pack various data into a single message

Intro to Computer Networks Week 2

      This week I learned more about the application layer, especially about HTTP, DNS, P2P and Client-Server applications. Something interesting that I learned more about which I found particularly interesting was Web Caching, or the use of proxy servers. Using proxy servers is a great way to reduce traffic across access links. Requested objects which exist in the cache can be gathered, rather than requesting the same object from its origin server, increasing response time. Having recently installed a DNS server, I gained some knowledge on it features and how important they are. Though it was eye opening to see the distributed nature of DNS servers on the internet and how they interact. I also learned about host aliasing which I previously had not been fully aware of. I've been aware of peer-to-peer applications since I've used BitTorrent in the past, though it was once again interesting to read more about it and truly understand it's self-scaling nature. It makes sense ...