Lesson 1: Introduction, Internet History and Architecture


Why Study Computer Networks?

The Internet has grown in leaps and bounds in the past 2 years and it is expected that it will only continue to do so. Continued advancements in network designs will lead to greater societal advancements. Advancing internet research involves facinating multi-disciplinary problems. This, in turn, would lead to high-impact research opportunities.

Internet Architecture

Network Protocols provide structure to the network architecture by organizing the protocols into layers. Each layer offers different services.

Main takeaway. Internet protocols are layered, layers allow each part to be compartmentalized giving the advantages of scalability, modularity, and flexibility

Disadvantages are:

The International Organization for Standardization (ISO) proposed the 7 layered Open Systems Interconnection (OSI) model the internet is built on. The Internet architecture combined the application, presentation and session layers to create a model with 5 layers that it uses:

  1. Application Layer a. Protocols: HTTP (web), SMTP (e-mail), FTP (file transfer), DNS (translate domain name -> IP Address) b. Information Packet: Message c. Services of this layer dependent on the design of the application

  2. Presentation Layer a. Formats info Session Layer <-> Application Layer b. e.g. video stream from raw data to codec readable, ints from big endian to little endian

  3. Session Layer a. Manages transport streams of data and syncs them if necessary b. e.g. ties together audio and video streams

  4. Transport Layer a. Protocols: TCP, UDP b. Information Packet: Segment c. TCP

    1. Connection oriented service to apps on above layers
    2. Guaranteed delivery of messages
    3. Flow control to match speeds of senders/receivers
    4. Congestion-control mechanisms when the network is congested

    d. UDP

    1. Best effort service, not reliable
  5. Network layer a. Protocols: IP, Routing b. Information Packet: Datagram c. Delivers Segments from the transport layer on the local host to the transport layer on the destination host

  6. Data Link Layer a. Protocols: Ethernet, PPP, Wifi b. Information Packet: Frame c. Responsible to move frames from one node (host or router) to the next node d. At each node the Network layer passes the datagram to the data link layer for delivery where the data link layer at that node passes it up to the network layer

  7. Physical Layer a. Protocols: Many, for ethernet: twisted-pair copper wire, coaxial cable, single-mode fiber optics b. Transfers bits within a frame between two nodes that are connected

Layers Encapsulation

Message (M) is sent to Transport layer. Transport layer appends transport layer header information (Ht). Both M + Ht is called a segment. This continues with the network layer adding it’s header information (Hn). Hn + Ht + M is called a datagram. This continues to the data link layer adding header info (Hl) to make a frame. At the receiving end the opposite happens where each step involves stripping off the headers at each layer. This is called de-encapsulation.

Intermediate devices between hosts may have layer-2 (switches) or layer-3 (routers) devices.

End-to-end principle

“The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the endpoints of the communications system. Therefore, providing that questioned function as a feature of the communications systems itself is not possible.” - End-to-End Arguments in System Design”, Saltzer, Reed, and Clark

Keep the middle simple so that advancements are not costly. Also, all resources needed for most layer research/advancements are available on hosts and do not require much special access. Main reasoning is that all applications don’t need the same features and network functions to support them. Thus the choice to use those functions are kept at the ends of networks design.

Violations of the e2e principal: Firewalls and traffic filters. These violate the principle because they can drop end host communication. Network Address Translation (NAT) boxes are required to fix a shortage of IP addresses, but also violate the ideals of e2e. IP addresses are distributed to devices on a subnet, while the NAT box has it’s own outward facing IP address accessed by other hosts. It acts as a translation tool to any packets entering or leaving the LAN. It is a violation of e2e because hosts cannot create a direct link to hosts behind the NAT device.

Interesting workarounds:

The Hourglass Shape of Internet Architecture

Internet protocol stack is an hourglass shape with IP addresses in the middle. Lots of innovation/change/research done to improve the top and bottom layers while the middle hasn’t seen many advancements in recent years. How do we seek out improvements to all layers?

Evolutionary Architecture Model (EvoArch)

Researchers have suggested this model to help study layered architectures, and their evolution in a quantitative manner.

Copied from lecture:

Summary: EvoArch is a method to emulate the possibilities of new protocols successes/failures. It is done in a step-by-step fashion adding nodes and conntecting them to see if they could be successful. And if a node has been made obsolete by another, better performing node (as in, it services more nodes on other layers.)