Netwoking concept for Python(Part: 1)

Netwoking concept for Python(Part: 1)

what is Networking?

Networking is the connection of two or more devices to share data and resources. Networks can be local (LAN), wide area (WAN), or the internet. It enables communication between devices like computers, servers, smartphones, and more.

IP address and Subnetting

They are used to identify as well as organize devices on different networks.

IP address

An IP address is a unique identifier for a device on a network. It is made up of four sets of numbers, separated by periods. Each set of numbers can be from 0 to 255.
In short, it is a unique numerical label assign to each device that is connected to a computer network.

IP address is basically used for different purpose:-
1. Identifying a device.
2. Locating a device.

Type of IP address:-

  1. IPv4 Address:

    • IPv4 addresses are 32-bit numerical labels represented in four sets of numbers separated by periods (dots). Each set can range from 0 to 255. For example, 192.168.0.1.

    • IPv4 addresses have a limited address space, and with the growth of the internet, IPv4 address exhaustion has become a concern.

  2. IPv6 Address:

    • IPv6 addresses are 128-bit numerical labels represented in eight sets of hexadecimal digits separated by colons. For example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

    • IPv6 was introduced to overcome the limitation of IPv4 and provide an almost unlimited number of unique addresses.

Subnetting

It is a logical sub-division of the IP network. It allows the IP administrator to divide larger IP address space into smaller manageable segments, essential for network management.

Subnetting is the process of dividing a network into smaller subnetworks. This is done by splitting the IP address into two parts: the network address and the subnet address. The network address identifies the subnet, and the subnet address identifies the individual device on the subnet.

There are two components of subnetting:-
Subnet masking:- It is used to determine the network portion and any host portion of an IP address.
Subnet IP:-It is a port of IP address that represented the network within the subnet.

MAC address

A MAC (Media Access Control) address is a hardware address assigned to a network interface card. It's unique to each device and is used for communication within a local network. It is a 12-digit hexadecimal number, separated by colons.

What is Protocol?

Protocols are sets of rules that govern how data is transmitted over a network. There are many different protocols, each with its own specific purpose. Their are so many protocols like:- TCP\IP which is used for connecting hosts on the Internet. HTTPS/HTTP protocol which is used to transfer data over the Internet. FTP/SFTP protocol which is used to transfer files over the internet. SMTP/POP3/IMAP protocol which is used for receiving emails.

PORTS

They are endpoints used for communication between different processes on a network. They allow a single device to host multiple services. Ports ranging from 0 to 1023 are reserved for well-known services like HTTP (80), HTTPS (443), FTP (21), etc.

Firewall

It is a security device that filters incoming and outgoing network traffic based on a defined set of security rules. It helps protect a network from unauthorized access.

Routers

It is a networking device that forwards data packets between computer networks. It acts as a central hub for data traffic in a network.

DNS(Domain name system)

DNS translates human-readable domain names (e.g., www.Google.com) into IP addresses that are used by network devices to locate each other on the internet.

OSI Model

It is a model that describes how data is communicated over a network. It is made up of seven layers, each having a specific function.

  • Physical layer: Transmits raw bits over a physical medium, such as a copper cable or fiber optic cable.

  • Data link layer: Provides error-free transmission of data frames between devices on the same network segment.

  • Network layer: Routes packets between different networks.

  • Transport layer: Provides reliable end-to-end communication between applications.

  • Session layer: Establishes, manages, and terminates sessions between applications.

  • Presentation layer: Translates data into a format that can be understood by the receiving application.

  • Application layer: Provides services to applications, such as file transfer, email, and web browsing.

Conclusion

Before learning Python for DevOps, everyone should have a basic understanding of this networking concept. After this part, the second part is based on practical hands-on Python networking.

Happy learning!