Computer Networking Fundamentals 🌐

Garvit SinghGarvit Singh
4 min read

Introduction

This article is Part - I of my 6-article series on Computer Networking, which aims to cover many topics like OSI Model, IP Model, Networking Protocols etc. This article will help you gain knowledge about some basic concepts which you would require in further articles to understand them better.

Basic Concepts

  • Data is transferred in the form of Packets.

  • IPv4 Addresses : X - X - X - X where X ranges from 0 to 255. Denotes the location of your computer. To check IP Address of your system, use command :

hostname -i | awk '{print $1}'
  • Modem/Router converts analog signals into digital signals and vice versa. Routers have a global IP address and assign unique IP Addresses to each device connected to it.

    Router

  • Thread is a lighter version of a process. One process can have multiple running threads.

  • Client - Server Architecture

    CSA

Protocols

Protocols are nothing but how data is transferred in a computer network.

  • TCP(Transmission Control Protocol)
    Ensures data will reach its destination and will not be corrupted in the way. Connection-oriented protocol.

  • UDP(User Datagram Protocol)
    Useful in cases where you do not care if 100% data is reaching the destination or not. Stateless and Connection-less protocol. Data may be lost. Used widely in Gaming, Video Conferencing etc.

  • HTTP(Hyper Text Transfer Protocol)
    Used by World Wide Web(WWW) and web browsers.

  • HTTPS(Hyper Text Transfer Protocol Secure)
    Extension of HTTP. Used for secure communication over a computer network. Uses HSTS and TLS for encryption and authentication.

  • DHCP(Dynamic Host Configuration Protocol)
    Network management protocol used on Internet Protocol networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a client–server architecture.

  • SMTP(Simple Mail Transfer Protocol)
    Send and distribute outgoing emails.

  • POP3 & IMAC
    Receive emails.

  • SSH
    Login to a terminal of someone else's computer.

  • PPP(Point To Point Protocol)
    Create a direct connection between two communicating devices. It defines rules using which two devices will authenticate with each other and exchange information.

  • FTP(File Transfer Protocol)
    Transfer files from one system to another. Works on client-server model. When a machine requests for file transfer from another machine, FTP sets up a connection between the two and authenticates each other using ID and password.

  • SFTP(Secure File Transfer Protocol)
    Encrypts both commands and data while in transmission. Encrypts files and sends them over a shell data stream.

  • TELENET(Terminal Network)
    Used for virtual terminal service given by ISO. This enables one local machine to connect with another. The computer being connected is the remote computer and which is connecting is the local computer. TELENET operation lets us display anything being performed on the remote computer in the local computer.

Port Numbers

  • Port Numbers are 16 Bit Numbers. Denotes which application is to be communicated with in a computer. Denotes which application we are working with.

  • Total Port Number possible are 2^16 ~ 65,000.

  • Reserved Ports - 0 to 1023

  • Reserved for certain types of applications - 1024 to 49152

  • Remaining ones can be used by you.

  • Ephemeral Ports
    Application internally assigns itself random port numbers. Used internally within the computer. Ex - mutiple tabs in chrome will have different port numbers assigned to them by the browser.

  • Sockets
    Interface between a process and the internet. When you need to send messages from one system to another, sockets can be used.

Data Speeds

  • 1 mbps = 1,000,000 bits/second

  • 1 gbps = 10^9 bits/second

  • 1 kbps = 1000 bits/second

Topologies

  • Physical Connection
    Optical fibre cables, coaxial cables etc.

  • Wirless Connection
    Bluetooth, Wifi, 4G, 5G etc.

  • Local Area Network(LAN)
    Small House, Office, through Ethernet or Wifi.

  • Metropolitan Area Network(MAN)
    Across a city through phone towers.

  • Wide Area Network(WAN)
    Across countries through optical fibre cables

  • SONET
    Through optical fibre cables, large distances.

  • Frame Relay
    Connect LAN to WAN.

  • Bus Topology

    Bus

  • Ring Topology

    Ring

  • Star Topology

    Star

  • Tree Topology

    Tree

  • Mesh Topology

    Mesh

Conclusion

You can read other articles written by me through these links.

System Design Series
Introduction To Parallel Computing
Deep Dive Into Virtualization
Insights Into Distributed Computing

Cloud Computing Series
1. Cloud Service Models
2. Cloud Deployment Models
3. Cloud Security
4. Cloud Architecture
5. Cloud Storage
6. Networking In The Cloud
7. Cloud Cost Management
8. DevOps In Cloud & CI/CD
9. Serverless Computing
10. Container Orchestration
11. Cloud Migration
12. Cloud Monitoring & Management
13. Edge Computing In Cloud
14. Machine Learning In Cloud

Computer Networking Series
1. Computer Networking Fundamentals
2. OSI Model
3. TCP/IP Model : Application Layer
4. TCP/IP Model : Transport Layer
5. TCP/IP Model : Network Layer
6. TCP/IP Model : Data Link Layer

Version Control Series
1. Complete Guide to Git Commands
2. Create & Merge Pull Requests
3. Making Open Source Contributions

Linux
Complete Guide to Linux Commands

Thanks For Reading! πŸ’™
Garvit Singh

20
Subscribe to my newsletter

Read articles from Garvit Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Garvit Singh
Garvit Singh

πŸ‘‹ Hi, I'm Garvit, an IT Undergraduate. I'm passionate about expanding my knowledge in the field of Computer Science. πŸ’» Computer Science Skills and the topics I write blogs on βœ… Proficient in Linux. βœ… Git/GitHub for version control. βœ… Networking Fundamentals. βœ… Proficient in Java, C and Python. βœ… Object-Oriented Programming in Java. βœ… Data Structures & Algorithms in Java. βœ… MERN Stack Web Development. βœ… System Design. βœ… Bash scripting and automation. βœ… Python for Scripting, Mini Projects. βœ… Cyber Warfare & Ethical Hacking. βœ… Cloud Computing. βœ… Distributed Computing, Parallel Computing, Real Time Systems, Virtualization. βœ… DevOps - Docker, Kubernetes βœ… Operating Systems. βœ… Software Testing. βœ… Databases - SQL, NoSQL and more...