diff --git a/cst311/lec/lec1.md b/cst311/lec/lec1.md index 9d1d4aa..7cb3492 100644 --- a/cst311/lec/lec1.md +++ b/cst311/lec/lec1.md @@ -1,15 +1,17 @@ # lec1 \ First we'll define some terminology. -> Hosts \ +> Hosts + End systems - typically don't bother with routing data through a network -> Comm Links \ -Typically the actual systems that connect things together. \ +> Communication Links + +Typically the actual systems that connect things together. ## Network edges -Can be subdivided clients & servers and sometimes both at the same time. \ +Can be subdivided clients & servers and sometimes both at the same time. ## Access network: cable network @@ -17,8 +19,18 @@ Typically when have to share one line we can change the frequency of the signal ### Home Network -Starting with the modem. All it does it take some signla and convert it to the proper IEEE data format(citation needed). -Typically we then pipe that data to a router which then just goes around the house in whatever configuration you may need. -Typically, especially for small businesses, star topology is common where there is some switch in the middle for traffic to be forwarded from the router/modem setup to the individual nodes on the outside of the star. +Let's start with the modem. All it does it take some signla and convert it to the proper IEEE data format(citation needed). + +Typically we would then pipe that data to a router which, given a scenario for most houses, would forward that input data to whichever machines requested the data. + +If you recall back to your discrete mathematics coursework various graph topologies were covered and you likely noted that _star_ topologies were common for businesses since it makes it easist to send data from one outside node on the star to another. +In practice this would just mean having the router/modem setup be one of the apendages of the star and switch be in the middle so that the data only has to make two hops to get anywhere in the network. + +> Doesn't that mean theres one node that could bring the whole network down at any time? + +Absolutely, which is why if you have a _very_ small network with a couple devices it's not really a problem but if you have an office full of employees all with their own machines and wireless, printers, servers, etc. then it's a huge problem. +That's why typically a small business or shop might be more inclined to use such a setup because: +* It's easy to setup +* It's cheap to maintain diff --git a/cst311/lec/lec2.md b/cst311/lec/lec2.md index 83c9155..be3f59b 100644 --- a/cst311/lec/lec2.md +++ b/cst311/lec/lec2.md @@ -1,21 +1,27 @@ # lec2 > Packets + When we send data(messages) we'll typically split the data into chunks or __packets__ -## Network \ -> packet switching\ +## Network + +> packet switching + Hosts break app-layer msgs into packets. These packets are moved along the same path like a train from router to router. Each of these moves from router to router we call __hops__. -## Store and Forward \ +## Store and Forward + We first store the entirety of the packet before sending it off. Usually we keep this in some kind of buffer where we can read what kind of packet we are dealing with through some simple parsing. This is done so that we know how large the packet is going to be since the header of that packet will tell us crucial information about it and others like it. -## Packet Switching: Queueing delay, loss \ +## Packet Switching: Queueing delay, loss + Since the routers store the packets in memory before sending them off, they store them in some queue which can sometimes fill up. For that reason if the buffer fills the router drops the packets and keeps going. Packet loss at the network layer is expected which is why we usually have packet loss recovery at each end. -## Two key network-core functions \ +## Two key network-core functions + Packet headers usually tell us where the packet is trying to go and if where the other packets which stitch to them are supposed to go as well. \ This information is usually kept in the header of the packet file. @@ -30,21 +36,26 @@ It is important that we keep some relativity in the stream of packets. ### Circuit Switching FDM v TDM [Frequency Division Multiplexing] [Time Divisiono Multiple] -> FDM \ + +> FDM + Multiple frequencies which remain static over time we can use for different connections. -> TDM \ +> TDM + We use the same channel but this time we use slices of time allocated to different connections. -## Packet switching v Circuit Switching \ +## Packet switching v Circuit Switching + _Packet switching let's more users on a network at once over circuit switching_ The reason boils down to user behavior on a network. -Packet switching advantages: \ -* great for burst data \ +Packet switching advantages: +* great for burst data * easy to setup typically -Disadvantages: \ +Disadvantages: + * Packet delay and loss * congestion does happen * you need to implement some kind of protocol for data loss recovery diff --git a/cst311/lec/lec3.md b/cst311/lec/lec3.md index 99513e5..5973638 100644 --- a/cst311/lec/lec3.md +++ b/cst311/lec/lec3.md @@ -26,21 +26,32 @@ It's not uncommon to have to links connected which have different throughput rat ## Layering Network Protocols +_Naming a few layers of the network stack_ + ### Application Layer + Software that usually manipulates data the most on a particular machine. + > FTP, SMTP, HTTP ### Transport + Protocols here setup for what kind of data we have and essentially package the data to be ready to be sent. + > TCP UDP ### Network + Here we are actually sending things around from machine ot machine along some physical network, be it wirelessly or in a wired fashion. + > IP routing protocols ### Link + Data transfer bewtween machines in a physical network. + > Ethernet, 802.11x ### Physical + Wires yo diff --git a/cst337/lec/lec4.md b/cst311/lec/lec4.md similarity index 100% rename from cst337/lec/lec4.md rename to cst311/lec/lec4.md diff --git a/cst311/readme.md b/cst311/readme.md index 1abda4c..a3711d9 100644 --- a/cst311/readme.md +++ b/cst311/readme.md @@ -1,3 +1,13 @@ # Henlo -Repo for all my notes in CS 311 : An introduction to Networking +Here you should find all the material for the Introduction to networking course. + +## Lec/ + +Mostly conceptual lecture notes; material should be set mostly. +Accuracy errors will be corrected as time goes on however don't expect a brand new lecture page to be totally accurate since I am _rushing_ someimtes to write does something the professor was saying. +Typically it will take a few commits for a lecture before it's essentially "_done_". + +## Excersises/ + +_TBA_: While doesn't exist yet it will as soon as some decent problems get made up over time.