Computer Networking: Difference between revisions

 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
Notes on computer networking
Computer networking theory


==OSI Model==
==Reference Models==
===OSI Model===
{{main | Wikipedia: OSI model}}
{{main | Wikipedia: OSI model}}
The OSI model presents the network stack using multiple layers.
The OSI model presents the network stack using multiple layers.
Line 7: Line 8:


The layers are:
The layers are:
<ol style="transform: rotate(180deg);">
<ol reversed>
<li style="transform: rotate(-180deg);">Physical layer</li>
<li>Application layer</li>
<li style="transform: rotate(-180deg);">Data link layer</li>
<li>Presentation layer</li>
<li style="transform: rotate(-180deg);">Network layer</li>
<li>Session layer</li>
<li style="transform: rotate(-180deg);">Physical layer</li>
<li>Transport layer</li>
<li style="transform: rotate(-180deg);">Transport layer</li>
<li>Physical layer</li>
<li style="transform: rotate(-180deg);">Session layer</li>
<li>Network layer</li>
<li style="transform: rotate(-180deg);">Presentation layer</li>
<li>Data link layer</li>
<li style="transform: rotate(-180deg);">Application layer</li>
<li>Physical layer</li>
</ol>
</ol>


Line 26: Line 27:
Finally, the application layer is what highest-level, whatever service is being provided to the user.
Finally, the application layer is what highest-level, whatever service is being provided to the user.


==TCP/IP==
===TCP/IP===
{{main | Wikipedia: Internet protocol suite}}
{{main | Wikipedia: Internet protocol suite}}
TCP/IP has five layers:
TCP/IP has four layers:
<ol style="transform: rotate(180deg);">
<ol reversed>
<li style="transform: rotate(-180deg);">Link layer</li>
<li>Application layer</li>
<li style="transform: rotate(-180deg);">Internet layer</li>
<li>Transport layer</li>
<li style="transform: rotate(-180deg);">Transport layer</li>
<li>Internet layer</li>
<li style="transform: rotate(-180deg);">Application layer</li>
<li>Link layer</li>
</ol>
</ol>


==Routing==
==Link Layer==
===Distance Vector===
===Hardware===
* Hub - A hub connects multiple devices and will pass around data frames to every single connection. It has no logic and is equivalent to wiring all the cables together.
* Repeater - A repeater is used to boost signals. It will read the pattern (e.g. voltage representing bits) and repeat it on another wire.
* Bridge or Switch - A switch connects multiple devices and does routing at this layer using mac addresses.
* Router - Routers work at the network layer to route packets across different networks (e.g. across VLANS or LAN to WAN).
 
==Network Layer==
===Routing===
 
====Distance Vector====
In Distance Vector routing, or Bell-ford Algorithm, each node incrementally builds up it's own routing table to identify the next hop to reach each destination.
In Distance Vector routing, or Bell-ford Algorithm, each node incrementally builds up it's own routing table to identify the next hop to reach each destination.


==Networking Hardware==
===Internet===
 
====BGP====
 
==Physical Layer==
There are several protocols at the physical layer such as ethernet, LTE, and DOCSIS.
 
===Multiplexing===
Multiplexing is used to send or receive multiple signals along the same wire. Note that, sending and receiving count as two separate signals.
 
Duplex means that the upstream and downstream are the the same speed. Full duplex (FDX) means the up and down can operate at the same time.
 
* Time-division Multiplexing/Duplex (TDD) - if you don't have enough frequencies, you spend some time sending and some time receiving the signal. This is inherently not full duplex.
* Frequency-division Multiplexing/Duplex (FDD) - with multiple frequencies, you can send and receive at the same time on separate frequencies. If the frequencies are evenly divided, you will have full duplex.
* Echo Cancellation - by sending and receiving on the same frequencies at the same time, you can get full duplex. This is more complicated than the other options.
 
===Terminology===
 
* US/DS - Upstream and downstream
* OOB - out of band, additional signals on a separate frequency or wire