Network Architecture Overview
Network Topologies
We have different topologies when it comes to networking architecture.
A network topology is simply a term used to describe how different devices on the network are connected together [logically].
Some common topology types are:
-
Bus
-
Star
-
Ring
-
Mesh
We also have hybrid networks [which are typically seen as a combination of 2 or more topologies] like
-
Star-ring Hybrid
-
Star-bus Hybrid
They are meant to import reliability, scalability and flexibility by taking advantage of each topology's strength and limiting their weaknesses.
Bandwidth vs Latency
Bandwidth is the amount of data we can send over a network in an interval of time.
If your internet connection is advertised as 100Mbps download, it simply means that your internet should theoretically be able to transfer 100Mb every second. [We all know this is not always the case lmao]
Latency is a measure of the time that passes between sending a network resource request and receiving a response. It can simply be understood at the delay that's experienced when you -- for instance, click on a button on the internet.
So in essence, high bandwidth does not necessarily mean fast internet, latency is what is responsible for this. You generally always want to have low latency (low delay time, fast internet speed)
There are multiple ways to reduce latency, and consequently improve user experience while building network applications.
-
You can try reducing the distance and the number of hops between the users and your service by using a content delivery network (CDN), or
-
You could use a cloud infrastructure located close to your users.
-
You could implement concurrency to minimize server-side blocking of response.
For info on what server-side blocking is click here -
etc...
The Open Systems Interconnection (OSI) Reference Model
When computer networks began to get increasingly complex, some dudes and ladies (researchers) created the OSI model to standardize how data is sent over networks. Now the OSI servers as a framework for development and communication of protocols.
The Hierarchical Layers of the OSI Reference Model
There are 7 layers in the OSI model...
Layers basic functionalities
- Layer 7 -- The Application Layer: Just your basic network applications; web browsers, Skype etc
- Layer 6 -- The Presentation Layer: This layer preps data fro the network layer, it's basically in-charge of data encryption, decryption etc
- Layer 5 -- The Session Layer: This layer is basically in-charge of the connection life cycle between nodes on a network. It's responsible for establishing network connections, managing time-outs, terminating connections and doing everything in between (hehe)
- Layer 4 -- The Transport Layer: The transport layer controls and coordinates the transfer of data between nodes. So stuffs like Maintaining reliability of data, correcting error, controlling data transfer speed, data segmentation acknowledging the received data ... etc ... etc -- are handled on this layer.
- Layer 3 -- The Network Layer: Transmit data between nodes on the network basically. As a result of this layer, you can send data to nodes you do not have a direct point-to-point connection with. So stuffs like routing, traffic control, addressing etc... are handled in this layer.
- Layer 2 -- The Data-Link Layer: This one handles transfers between 2 directly connected nodes. The protocols here tries to correct errors on the physical layer. So stuffs like resolving bit errors, on different connection types [eg. Ethernet, Wireless etc... -- TBH i don't think there are more connection types, but ohh well]
- Layer 1 -- The Physical Layer: This is where the sorcery happens [as far as I'm concerned lmao anywaysss] This layer converts bits to signals, either electric, optic, or radio, depending on the underlying physical medium. and from signals to bits. This layer controls bit rate.
The TCP/IP Model
Honorary mention.
: )