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.
Thread is a lighter version of a process. One process can have multiple running threads.
Client - Server Architecture
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 cablesSONET
Through optical fibre cables, large distances.Frame Relay
Connect LAN to WAN.Bus Topology
Ring Topology
Star Topology
Tree Topology
Mesh Topology
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