CST 311 Week 2 Journal Entry


 Application Layer

This week, we learned about the network application layer. To create a network, programs need to run on different end systems and communicate over a network with network core devices, such as a router. Two possible application architectures are client-server and peer-to-peer (P2P). 

In a client-server architecture, the server is always on and has a permanent IP address. Clients communicate with the server but do not directly communicate with each other. The servers may also have data centers to help scale the amount of users using the network. As opposed to servers, clients may have a dynamic IP address. 

In a P2P architecture, there is no server that is always one, and end systems directly communicate with each other, which means that applications have both a client and server process. Peers request and provide services for each other, thus creating a self-scaling environment. The more peers contribute, the more services can be provided when a peer requests a service.  

In both architectures, data is sent through sockets. For data to be delivered, each process needs an identifier, which includes an IP address and a port number. Protocols are defined for when a request is made or a response is needed. Some protocols used are Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP). Messages sent have their own syntax and semantics and can vary depending on the result of the server or client's request or response. In order for data to be sent, the application needs to transport services that protect data integrity, are timely, secure, and allow a throughput that is respective to the application's needs. 

There are two internet transport protocol services in which data can be sent from client to server and vice versa: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP). TCP is reliable, has flow and congestion control, and is connection-oriented. This protocol is best when we can not allow for data loss. Examples of when TCP can be used are sending/receiving emails, web browsing, and file transfers. UDP is unreliable and lacks flow and congestion control. This protocol is best used when data can be lost, such as during video streaming or using services such as Skype.


Comments

Popular posts from this blog

CST 300 - Week 8

CST 300 - Week 5

CST 300 - Week 4