Tuesday, September 24, 2019

Week 4: CST 311 Intro to Computer Networks


This week, we mostly prepared for the midterm. In the future, I will try harder to watch the course overview video at the beginning of the week to avoid missing deadlines.
We learned about the UDP transport protocol which is a connectionless/streamlined protocol. When a host receives a UDP segment, they will check the destination port number and direct it to the socket with that port number so IP datagrams with the same destination port number but different source IP addresses or source port numbers are directed to the same socket at the destination. In general, UDP or the User Datagram Protocol is a basic internet transport protocol used mostly for streaming, DNS, and SNMP. There is no handshaking between the UDP sender and receiver, and each segment is handled independently of the others. The segments can be lost or delivered out of order, but reliable transfer can be added at the application layer.
The UDP segment header is 32 bits long and includes the source port number, the destination port number, length, and checksum. The rest is the application data or payload. UDPs good parts are there is no connection establishment, its simple, has a small header size, and has no congestion control. Its checksum is to check for errors in the transmitted segment. The segment is treated as a sequence of 16-bit integers and uses one’s complement of the contents, inserts it into the header. The receiver then computes the segment checksum and checks if the computed checksum equals the checksum field value.
In the lab, we learned how to find UDP packets, what content is in the header, what information the length contains, the maximum number of bytes in a UDP payload, the largest source port number, and the protocol number for UDP.

Tuesday, September 17, 2019

Week 3 CST 311: Intro to Computer Networks

This week, we learned about multiplexing and demultiplexing, UDP, TCP segment structure, reliable data transfer, and TCP flow control.

Muliplexing is when data is used at multiple sockets and the transport header is added. Demultiplexing is located at the receiver and the header from the multiplexer is used to deliver the segments to its socket. UDP is connectionless transport although it is unordered and unreliable. The TCP segment structure contains a source/dest port number, other header fields, then the application data. Reliable data transfer is important in the application, transport, and link layers.

Tuesday, September 10, 2019

Week 2 CST 311: Introduction to Computer Networks


In week 2, we learned about the principles of network applications, web and HTTP, DNS, peer-to-peer, and video streaming and content distribution networks. 

Network apps are services like email, web, text messaging, and P2P file sharing on the internet. They run on different end systems (phones, tvs, tablets) over a network. There are two application architectures: client-server, and peer-to-peer. In the client-server architecture, the server is a host who is always on, has a permanent IP address, and is usually located in a data center. The client communicates with the server, may be connected, have dynamic IP addresses, and usually do not communicate with one another. In P2P architecture, there is no server because the end systems/peers directly communicate by requesting services from other peers who also have dynamic IPs. For this, it scales with more users.

HTTP is the hypertext transfer protocol using the client-server model where the client initiates a TCP connection to the server, is accepted by the server, HTTP messages are exchanged between the client and server, and then the TCP connection is closed.

DNS is the Domain Name System or a distributed database of name servers that provides hostname to IP address translation, host aliasing, mail server aliasing, and load distribution. For example, if a client wants the IP for a website, the client queries the root server to find the “com” DNS server, then the “.com” DNS server to get the website DNS server. It will then query the website DNS server to get the IP address for the website.

In video streaming and content distribution networks, many users are involved. In video streaming, Dynamic Adaptive Streaming over HTTP (DASH) is used by the server to divide the video into encoded chunks, and the client measures the bandwidth and requests one chunk at a time based on the bandwidth. The CDN stores multiple copies of videos at geographically distributed sites and will either enter deep by pushing CDN servers to many access networks or bring home by having larger clusters in POPs near the access networks. The CDN stores copies of content at the nodes, a subscriber requests content, and then receives content from the nearby copy.

cst 499 week 8

This week, we finished writing the paper in order to do the best job possible even if it was a little bit late. Now that everything is done,...