31 May 2016

CST311 Week 5

This week we continued to cover the Transport Layer including TCP segment structure, reliable data transfer, TCP flow control and TCP congestion control.
TCP segment structure. Transmission Control Protocol accepts data from a data stream, divides it into chunks, and adds a TCP header creating a TCP segment. The TCP segment is then encapsulated into an Internet Protocol (IP) datagram, and exchanged with peers.

For connection-oriented service provided by TCP, it is necessary to have a reliable data transfer (RDT) protocol to ensure delivery of all packets and to enable the receiver to deliver the packets in order to its application layer. A simple alternating bit RDT protocol can be designed using some basic tools.

TCP uses an end-to-end flow control protocol to avoid having the sender send data too fast for the TCP receiver to receive and process it reliably. Having a mechanism for flow control is essential in an environment where machines of diverse network speeds communicate. For example, if a PC sends data to a smartphone that is slowly processing received data, the smartphone must regulate the data flow so as not to be overwhelmed.

TCP uses a multi-faceted congestion-control strategy. For each connection, TCP maintains a congestion window, limiting the total number of unacknowledged packets that may be in transit end-to-end. TCP uses a mechanism called slow start to increase the congestion window after a connection is initialized and after a timeout. It starts with a window of two times the maximum segment size (MSS). Although the initial rate is low, the rate of increase is very rapid: for every packet acknowledged, the congestion window increases by 1 MSS so that the congestion window effectively doubles for every round-trip time (RTT). When the congestion window exceeds the ssthresh threshold, the algorithm enters a new state, called congestion avoidance.

24 May 2016

CST311 Week 4

This week we began covering the transport layer. This was a light week since homework, quiz and lab were due after just 2 days (due to midterm).

Multiplexing:


UDP:

17 May 2016

CST311 Week 3

This week we covered more of the application layer.

SMTP:


DNS:


Caching:

10 May 2016

CST311 Week 2

This week we we covered protocol layers, history and the application layer.

HTTP:


Cookies:


FTP:

03 May 2016

CST311 Week 1

We covered a lot this week, including what is the Internet, the network core vs edge, packet switching vs circuit switching, throughput and delay. Reminds me of the OSI model:


We really only covered parts of this briefly, but this is the basis of network communications - so I'm sure there's a lot more of it to come. About a year ago I took a good quality refresher video course that covered the same materials from Engineering Mentor.