2 - More on General Networking Terms

A cool technology is CDNs, which essentially just caches recent traffic. This helps speedup commonly-used requests amongst communities (ex: Canvas will likely be stored on one of these).

Review from Last Time

We call this one-to-one, or 1:1, a device connects with another with internet paths in-between.

This is a one-to-many, but not necessarily all (see Broadcast Connection). This is harder to do since you have to filter who gets the data over the line.

This is one-to-all, or 1:all. Typically done only on WAN.

There's three steps to make a connection work:

  1. Setup
  2. Use
  3. Teardown

For example, telephone operators did this back in the day. This is more reliable than Connection-Less (Protocol).

This is a communication method that allows data to be sent between two devices without establishing a connection between them first.

This is useful where it's okay to have a little bits of loss. For example, a phone call over the internet.

Note

There really is no way to have a connection-less Client Server protocol. There may be an example but not really for this course.

Client/Server's is a connect type where all clients must connect to a central server.

Typically this uses a Handshake Protocol (Connection Oriented)

This is the physical wiring of the network (ie: the ethernet connections, WIFI connections, etc.). There's also a logic topology where we dictate what happens logically when there are tears in the topology.

Bus

A common wire that everyone can see when many devices talk on the same wire:

This forces only one device to be able to talk at a time on the network. Notice this happens in WiFi between cell towers.

Ring

Some benefits of this is that:

  • Redundancy (having multiple vertices to travel along allows for multiple viable paths)

Star

A device with many connections specifically to it. For example, a router follows a star topology.

Tree/Hierarchical

The benefit is that you can address requests pretty easy (the path is pretty clear). However, adjacent nodes in the tree (in-order traversal) may have to take considerably longer.

What does ethernet do? The network we physically wire is a tree structure with loops near the bottom, using a Spanning Tree Protocol to logically take links down such that we get that tree structure back:

This helps get us the advantage of loops (see that section) when we need it.

Ad-hoc

Whenever any topology isn't conforming to one of the above, then it is ad-hoc. For example, the added connection in the figure above makes it an ad-hoc connection.

Considerations

We have many things to consider (see Dordal 1.2, 1.7, 1.8):

Written in bytes per second (or other magnitudes), which is the amount of data passing through the medium per second. Typically on networks we use bits rather than bytes, just because they started like that.

K means a 1000 or 1024? In networks we only care about base 10, but in computers themselves (ie: OS's) they use powers of 2.

K: 103
M: 106
G: 109
...

What is a Network Protocol?

A protocol is a set of rules (specifically an industry standard) that formats all the data that goes over the network (ie: header, endianness, byte size, ...)

"A networking protocol defines the format of the information and rules needed for two devices to communicate."

Back in the day ...

The problem back in the day was that IBM, HP, ... all had different protocols that couldn't talk with one another. In the 70s and 80s we made these standards so that pieces of equipment between companies would work.

We want to do:

  • Error detection
  • Encryption
  • Error Correction

See also Protocol.

Part of the protocol will be the physical layer (fiber, copper). The protocol does everything, as it is specified. The problem is what if your boss wants to use fiber now? You would normally have to replace the whole protocol! To solve this problem they broke the larger protocol into smaller parts (ie: the physical layer) into layers.

This is very similar to the OS stack layers we talked about in Lecture 5 - Process Management. The nice thing here is that if you swap that layer (layer 1 in the figure above) then that doesn't change the whole protocol.

Notice that the layers themselves need to agree. If TCP on PC1 is sent, then TCP needs to be handled as that on PC2.

See Protocol Layers:

Let's visualize this with an example. Consider sending an email. It's going to:

  1. Pass that down to TCP (highest layer) to create a TCP level 4 PDU (essentially, it's a packet at that level)
  2. Then this is passed to IP (next lowest layer) to create an IP level 3 PDU
  3. Then this gets passed to Ethernet (... and the process continues)

All of these are just headers and then payloads:

Really the header at the left tells you what struct to load for the next higher level header, until you've run out of levels. When a lower level considers the payload of the higher level, that's called encapsulation.

Pasted image 20250109155857.png

Pasted image 20250109160545.png

See Protocol Layers:

The Open System Interconnection (OSI) Standard uses the following layers:

  1. Physical Layer (layer 1)
    1. Defines what high-low means (for 0 or 1)
  2. Data Link Layer (layer 2)
    1. Responsible for getting the data across one hop
    2. Error detection, error correction, flow control, and framing (grouping the data plus the layer 2 header)
  3. Network Layer (layer 3)
    1. Routes (picks the path across the network (depends on the network), picks the outgoing link)
  4. Transport Layer (layer 4)
    1. Operates end-to-end (considering the whole network)
    2. Handshake Protocol (Connection Oriented)
    3. Error Detection, error correction, flow control (so it does it at the very end, once we've reached the device we needed to)
    4. Reliable connection
  5. Session Layer (layer 5) (supports user connections, authentication)
  6. Presentation Layer (layer 6) (provides general solutions to common requests, like encryption, compression)
  7. Application Layer (layer 7) (provides access for users and applications)

Pasted image 20250109162212.png

Tips on P1