Initialize project with clean ignore rules
This commit is contained in:
245
content/projects/Networking/index.md
Normal file
245
content/projects/Networking/index.md
Normal file
@@ -0,0 +1,245 @@
|
||||
---
|
||||
title: networking
|
||||
description: DHCP, DNS, PROXY
|
||||
author: wompmacho
|
||||
date: 2024-04-27T23:53:26.059Z
|
||||
lastmod: 2025-02-08
|
||||
editor: markdown
|
||||
---
|
||||
|
||||
## IP Address
|
||||
|
||||
An Internet Protocol address (IP) address is a numerical label assigned to each
|
||||
device connected to a computer network that uses the Internet Protocol for
|
||||
communication. Think of it like a street address for your computer on the
|
||||
internet. It's how devices find each other and exchange information.
|
||||
|
||||
Here's a breakdown:
|
||||
|
||||
* **Numerical Identifier:** An IP address is a set of numbers, typically
|
||||
represented in dotted decimal notation (e.g., 192.168.1.1). There are two
|
||||
main versions: IPv4 (the older version) and IPv6 (the newer version, which
|
||||
uses a different format to accommodate more addresses).
|
||||
* **Device Identification:** Every device that connects to a network (computers,
|
||||
smartphones, tablets, servers, etc.) needs a unique IP address to be
|
||||
identified and communicate.
|
||||
* **Location Information:** While not precise, parts of an IP address can
|
||||
provide some general information about the device's location.
|
||||
* **Routing:** IP addresses are used by routers to direct network traffic to the
|
||||
correct destination. When you send data over the internet, routers use IP
|
||||
addresses to figure out where to send it.
|
||||
|
||||
In short, an IP address is a crucial element of networking. It's the unique
|
||||
identifier that allows devices to communicate with each other over a network,
|
||||
whether it's a local network or the vast expanse of the internet.
|
||||
|
||||
---
|
||||
|
||||
## IPv4 & IPv6
|
||||
|
||||
IPv4 and IPv6 are two versions of the Internet Protocol (IP), which is the
|
||||
fundamental protocol that enables devices to communicate over the internet.
|
||||
They are essentially addressing systems that allow devices to be uniquely
|
||||
identified and located on a network.
|
||||
|
||||
Here's a breakdown:
|
||||
|
||||
* **IPv4 (Internet Protocol version 4):** This is the original version of IP,
|
||||
using 32-bit addresses represented in dotted decimal notation (e.g.,
|
||||
192.168.1.1). It offers roughly 4.3 billion unique addresses. Due to the
|
||||
explosive growth of the internet, IPv4 addresses are now largely exhausted.
|
||||
|
||||
* **IPv6 (Internet Protocol version 6):** This is the newer version of IP,
|
||||
designed to address the limitations of IPv4. It uses 128-bit addresses
|
||||
represented in hexadecimal notation (e.g.,
|
||||
2001:0db8:85a3:0000:0000:8a2e:0370:7334). IPv6 offers a vastly larger address
|
||||
space, virtually eliminating the problem of address exhaustion.
|
||||
|
||||
Key Differences and Why IPv6 is Needed:
|
||||
|
||||
* **Address Space:** IPv4 has a limited number of addresses, while IPv6 offers a
|
||||
practically unlimited number.
|
||||
* **Address Format:** IPv4 uses dotted decimal notation, while IPv6 uses
|
||||
hexadecimal notation.
|
||||
* **Automatic Configuration:** IPv6 supports more advanced automatic
|
||||
configuration features, simplifying network management.
|
||||
* **Security:** IPv6 includes built-in security features, such as IPSec, which
|
||||
enhances network security.
|
||||
|
||||
In short, IPv4 is the older, widely used addressing system that is now facing
|
||||
address exhaustion. IPv6 is the newer, more robust addressing system designed to
|
||||
replace IPv4 and provide the necessary address space for the continued growth of
|
||||
the internet. The transition to IPv6 is ongoing.
|
||||
|
||||
---
|
||||
|
||||
## DHCP
|
||||
|
||||
Dynamic Host Configuration Protocol (DHCP) is a network management protocol that
|
||||
automates the process of assigning IP addresses and other network configuration
|
||||
parameters to devices on a network. Think of it as a way to automatically give
|
||||
each device on your network its own "address" so it can communicate with other
|
||||
devices and the internet.
|
||||
|
||||
Here's a breakdown:
|
||||
|
||||
* **Automatic IP Assignment:** DHCP eliminates the need to manually configure IP
|
||||
addresses for each device on a network. This is especially useful in large
|
||||
networks where it would be tedious to assign addresses manually.
|
||||
* **Lease-Based System:** DHCP uses a "lease" system, where IP addresses are
|
||||
assigned to devices for a specific period of time. When the lease expires, the
|
||||
device must renew it or the IP address becomes available for other devices.
|
||||
This helps ensure that IP addresses are used efficiently.
|
||||
* **Centralized Management:** DHCP allows network administrators to manage IP
|
||||
addresses from a central server. This simplifies network administration and
|
||||
makes it easier to track which devices have which IP addresses.
|
||||
* **Other Configuration Parameters:** In addition to IP addresses, DHCP can also
|
||||
provide other network configuration parameters, such as subnet mask, default
|
||||
gateway, and DNS server addresses.
|
||||
|
||||
Why someone might use DHCP:
|
||||
|
||||
* **Simplified Network Administration:** DHCP makes it much easier to manage IP
|
||||
addresses in a network, especially in large networks.
|
||||
* **Reduced Configuration Errors:** Manual IP address configuration can lead to
|
||||
errors, such as duplicate IP addresses, which can cause network conflicts.
|
||||
DHCP helps prevent these errors.
|
||||
* **Efficient IP Address Usage:** The lease-based system ensures that IP
|
||||
addresses are used efficiently and that addresses that are no longer in use
|
||||
are reclaimed.
|
||||
* **Plug-and-Play Networking:** DHCP allows devices to connect to a network and
|
||||
automatically receive the necessary network configuration, making it easier to
|
||||
add new devices to the network.
|
||||
|
||||
In short, DHCP is a valuable tool for network administrators that simplifies IP
|
||||
address management and makes networks more efficient and reliable.
|
||||
|
||||
---
|
||||
|
||||
## Static IP
|
||||
|
||||
A static IP address is a manually assigned IP address that remains constant for
|
||||
a specific device on a network. Unlike a dynamic IP address (assigned by DHCP),
|
||||
a static IP doesn't change. This makes it useful for devices that need a
|
||||
consistent and predictable address, such as servers, printers, or network
|
||||
devices. However, it requires manual configuration and careful management to
|
||||
avoid IP address conflicts.
|
||||
|
||||
---
|
||||
|
||||
## DNS
|
||||
|
||||
Domain Name System (DNS) is essentially the phone book of the internet. It
|
||||
translates human-readable domain names (like **google.com**) into the numerical
|
||||
IP addresses (like 172.217.160.142) that computers use to communicate with each
|
||||
other.
|
||||
|
||||
Here's a breakdown:
|
||||
|
||||
* **Human-Friendly to Machine-Friendly:** We remember names like "google.com"
|
||||
easily, but computers communicate using IP addresses. DNS bridges this gap by
|
||||
converting domain names into their corresponding IP addresses.
|
||||
* **Distributed Database:** DNS is a massive, distributed database. It's not
|
||||
stored in one single location, but rather spread across a network of servers
|
||||
around the world. This makes it robust and efficient.
|
||||
* **Hierarchical Structure:** DNS is organized in a hierarchical structure, like
|
||||
a tree. This structure helps to manage the vast number of domain names and IP
|
||||
addresses.
|
||||
* **Resolution Process:** When you type a domain name into your browser, your
|
||||
computer initiates a DNS resolution process. It queries various DNS servers to
|
||||
find the IP address associated with that domain name.
|
||||
|
||||
Why someone might use DNS:
|
||||
|
||||
* **Easy Access to Websites:** DNS allows us to access websites by using
|
||||
easy-to-remember domain names instead of complex IP addresses.
|
||||
* **Email Delivery:** DNS is also used to route email to the correct mail
|
||||
servers.
|
||||
* **Internet Functionality:** DNS is a fundamental component of the internet,
|
||||
without which we wouldn't be able to easily browse the web or send emails.
|
||||
|
||||
In short, DNS is a critical part of the internet infrastructure. It's the system
|
||||
that allows us to use domain names to access websites and other internet
|
||||
resources, making the internet user-friendly and accessible.
|
||||
|
||||
---
|
||||
|
||||
## PROXY
|
||||
|
||||
A proxy acts as an intermediary between a client (like your computer) and a
|
||||
server (like a website). Instead of your computer directly connecting to the
|
||||
server, it connects to the proxy server, which then forwards the request to the
|
||||
server. The server's response comes back to the proxy, which then forwards it to
|
||||
your computer. Think of it like a middleman.
|
||||
|
||||
Here's a breakdown:
|
||||
|
||||
* **Intermediary:** The core function of a proxy is to act as a go-between for
|
||||
client and server.
|
||||
* **Hiding IP Address:** One common use of a proxy is to mask the client's IP
|
||||
address. The server sees the proxy's IP address, not the client's, providing a
|
||||
degree of anonymity.
|
||||
* **Caching:** Proxies often cache frequently accessed content. If a client
|
||||
requests something that's already in the cache, the proxy can serve it
|
||||
directly, speeding up access.
|
||||
* **Filtering and Security:** Proxies can be used to filter content, block
|
||||
access to certain websites, or scan for malware. This is common in corporate
|
||||
environments.
|
||||
* **Load Balancing:** In some situations, proxies can distribute traffic across
|
||||
multiple servers, helping to balance the load and improve performance.
|
||||
|
||||
In short, a proxy server provides a layer of separation between clients and
|
||||
servers, offering a variety of benefits related to privacy, security,
|
||||
performance, and network management.
|
||||
|
||||
---
|
||||
|
||||
## Reverse Proxy
|
||||
|
||||
A reverse proxy sits in front of one or more backend servers, intercepting
|
||||
client requests and forwarding them to the appropriate server. It acts as a
|
||||
gateway, but unlike a regular proxy (which protects clients), a reverse proxy
|
||||
protects the servers. Clients connect to the reverse proxy, which then handles
|
||||
the connection to the actual servers.
|
||||
|
||||
Here's a breakdown:
|
||||
|
||||
* **Server Protection:** Reverse proxies shield backend servers from direct
|
||||
exposure to the internet, enhancing security by preventing direct attacks.
|
||||
* **Load Balancing:** They can distribute client traffic across multiple
|
||||
servers, preventing any single server from becoming overloaded.
|
||||
* **Caching:** Reverse proxies can cache content, reducing the load on backend
|
||||
servers and speeding up response times for clients.
|
||||
* **SSL Termination:** They can handle SSL encryption and decryption, offloading
|
||||
this task from the backend servers.
|
||||
* **URL Rewriting:** Reverse proxies can modify URLs, making them more
|
||||
user-friendly or hiding the internal structure of the backend servers.
|
||||
|
||||
In short, a reverse proxy acts as a gatekeeper for backend servers, providing a
|
||||
range of benefits related to security, performance, scalability, and
|
||||
flexibility. It's a common component in modern web architectures.
|
||||
|
||||
## SSL
|
||||
|
||||
Secure Sockets Layer (SSL) is a security protocol that creates an encrypted
|
||||
connection between a web server and a web browser. This ensures that any data
|
||||
exchanged between them remains private and secure. Think of it as a secret
|
||||
tunnel that prevents eavesdropping and tampering.
|
||||
|
||||
Here's a breakdown:
|
||||
|
||||
* **Encryption:** SSL encrypts the data transmitted between the browser and the
|
||||
server, making it unreadable to anyone who might try to intercept it. This
|
||||
protects sensitive information like passwords, credit card numbers, and
|
||||
personal details.
|
||||
* **Authentication:** SSL verifies the identity of the website, assuring users
|
||||
that they are connecting to the legitimate website and not a fake one. This
|
||||
helps prevent phishing attacks.
|
||||
* **Data Integrity:** SSL ensures that the data transmitted between the browser
|
||||
and the server is not altered or corrupted during transit. This guarantees
|
||||
that the information received is exactly what was sent.
|
||||
|
||||
In short, SSL is a crucial security technology that protects online
|
||||
communication and helps build trust between websites and their users. It's the
|
||||
foundation of secure online transactions and a vital component of a safe
|
||||
internet experience.
|
||||
Reference in New Issue
Block a user