CST311.2 Module Two

 

CST311.2 Module Two

What I learned this week:

This week we covered the top of our network stack and examined the Application layer. Focusing primarily on network applications such as: World Wide Web, Email, Domain Name Service, Video Streaming and P2P Applications, we learned there are two standard architectures; those that are client-server and those that are peer to peer. Where client-server architecture is primarily used in most cases, P2P does have a use case, and unique aspect of being self-scalable. However when building any of these types of applications, its important to distinguish what you need from the transport layer below, TCP offers a connection oriented service, that is in fact reliable in terms of data transfer, and also maintains a congestion control mechanism. UDP offers a lightweight experience, with minimal overhead and not the need to establish a connection before communicating over the internet. This however comes with the tradeoff that it can be subject to packet loss.

When it comes to the Web, the primary protocol used is the Hypertext Transfer Protocol, consists of two programs, one for the client and one designated for the server. clients issue requests, servers issue out responses. Where a web page is a document compiled of objects, these objects are files that are addressable through URL. For each object in the primary document, a request and response must be made in order to view said object on the page. HTTP uses TCP as its underlying protocol, they also employ several mechanisms in order to decrease overall bandwidth usage, in the forms of cookies and web caching. Caching makes use of the the regular traffic and acts as a proxy server, for every website that's requested goes out and comes through this proxy server where it can be temporarily stored, in the case someone else is to visit, through the same cache, it can offload bandwidth usage and service the request itself.

Email is an asynchronous communication medium and also utilizes TCP for its reliability in data transfer, however instead of user end systems connecting to one another, mail servers act as the intermediary. where a user can connect to its mail server via user agent, if the user wished to send a message to say Bob, the users mail server would utilize Simple Mail Transfer Protocol and connect to Bob's designated Mail server, to send the message. 

DNS is important as it acts as a sort of library keeping track of hostname and IP address pairings within the internet. Several applications discussed use DNS in some form, especially when hostnames are used. DNS runs over UDP and is designated for port 53. another feature DNS provides is host aliasing and Load distribution, as in some instances say a popular site which has several duplicate servers, DNS will service requests by rotating the IP addresses associated to the site and their servers.

Video Streaming utilize Content Distribution Networks, which dedicate clusters of servers across the globe, typically close to the edge of the network. This decreases user perceived delay.

P2P was by far one of the more interesting topics covered, as it has several incentives based mechanisms which encourage being a good actor in participating. another aspect which is highlighted is that of it's self scalability, in that as more peers participates distribution time curves while most others utilizing client server architecture would project linearly.

Comments

Popular Posts