CST311.3 Module Three

 

CST311.3 Module Three

What I learned this week:

This week we moved down a layer, from the application to the transport layer, and the services in which they provide. The primary two services offered of which are TCP and UDP, where UDP provides unreliable, connectionless service to an application, and TCP provides reliable, connection-oriented service to an application. Essentially they act as a sort of middle man between application and network layers, and are capable of handling a transaction one of two ways: you can go the route of UDP and benefit from its lightweight, fast and connectionless service, or you you can take on an accountable TCP which offers reliable data transfer and congestion control. Either way, both have their trade-offs, where if UDP is utilized it offers no guarantee of: segment delivery, order, or integrity of data. TCP also suffers some setbacks that come with reliability, and that is time.

Some reasons that stand out as to why to select UDP over TCP, is that applications actually have a finer level of control over what data is sent and when, no connection establishment necessary(DNS runs through UDP), smaller packet overhead. UDP also offers error checking in the form of checksum. 

Although some drawbacks do come with the reliability of TCP, there is a lot of nuance and complexity that comes with the offer of reliable data transfer. Firstly, a connection between two hosts, is thought of as a point-to-point connection, because it is distinguishable from all other existing connection running on these end systems. This connection is established via a three-way handshake between the two. This connection provides a full-duplex service in which bidirectional data can flow. As it flows, reliability and order take the form of sequence and acknowledgments, included in headers of segments, these messages that relay between sender and receiver provide both order and also fall back method in the case data does get lost, in which said data will be retransmitted, either in the form of duplicate acknowledgments or a timeout interval. The congestion control is quite interesting, as it's one of the first times I've seen use use of a cubic function in a real world use-case, in the form of TCP Cubic. 

Comments

Popular Posts