CST311 – Intro to Computer Networks
In the second week of the introduction to computer networks,
we reviewed the application concept as the top layer. As we learned from week 1,
routers and switches handle the packet transfers by forwarding and routing
across the network. The core network deals with the lower layers; therefore,
the creation of network applications does not require programming the network
devices. We also reviewed the HTTP or the Hypertext Transfer Protocol by
examining the request and response behavior. The two types of HTTP connections
are non-persistent, where requests and responses are sent over separate TCP.
On the other hand, the persistent connection is developed to send the
requests along with the corresponding responses on the one open TCP connection.
The Wireshark lab was very helpful and important in diving
into the details of an HTTP GET and the HTTP response message with status code
and phrase. Although HTTP messages are written in ASCII text, the examples
provided in the labs require careful attention to examine header, request, and
status lines.
Another important application-layer protocol is the SMTP or
the Simple Mail Transfer. TCP over port 25 provides reliable and error-checked
delivery of messages between servers, which is necessary for ensuring that
emails are delivered accurately. Internet Mail Access Protocol (IMAP) or POP3,
and http provides users access to email via mail clients. Sending and receiving
emails is implemented in the client-server model – the sender server is the
client, and the receiver server is the server.
DNS or Domain Name System provides an essential service to
network users and devices that allows the translation from IP addresses to
names and vice versa. The protocol mainly uses UDP port 53 for sending and
receiving and TCP for exceptional cases. DNS requests are queried using a
distributed database hierarchy of different types of servers, such as Root DNS
servers, Top-Level Domain servers, and Authoritative DNS servers.
Finally, we reviewed the difference between client-server
and P2P architecture and briefly reviewed BitTorrent methods of distributing
data among peers.