Category Archives: Protocols

Basic review of the DHCP server.

DHCP server helps networks administrators and makes their work lighter!

Networks have become really complex. The amount of devices asking for connection has grown massively. Therefore, the administration and maintenance of networks’ resources are really demanding. 

What is DHCP?

DHCP is a network management protocol that automates the necessary configuration for devices to connect and communicate on IP networks. Without this configuration, devices can’t access network services like NTP or DNS. They can’t establish any communication based on TCP or UDP. DHCP means Dynamic Host Configuration Protocol. 

A DHCP server can automatically provide an IP address, default gateway address, the subnet mask, DNS settings, and other important network configuration information necessary for devices to connect and talk with other endpoints. 

DHCP architecture’s elements.

By knowing DHCP elements and their functions, you can better approach the way DHCP works.

  1. DHCP server.

It’s a machine, server, router, or whatever acting as host, with the DHCP enabled. It has the IP addresses and all the configuration information. It’s responsible for responding to IP addresses queries, supplying available IP addresses, storing them during the time their lease allows and renewing them when that time expires. It manages the communication with client devices.

  1. DHCP client.

It’s the endpoint or device asking for a connection. Therefore, it’s who gets the IP address and the rest of the configuration information from the DHCP server. A DHCP client can be a laptop, smartphone, tablet, IoT, etc. Currently, most devices are configured to get DHCP information by default.

  1. IP address pool or scope.

It’s the range of available IP addresses the DHCP server can supply to DHCP clients. 

  1. Lease.

It establishes the time a DHCP client can keep an IP address and the rest of the information. Once the lease expires, the IP address and its data must be renewed.

  1. Subnet.

For better management, networks are partitioned into pieces called subnets.

  1. DHCP relay.

It’s an agent (router or host) used to centralize DHCP servers, not to have a server on every subnet. This agent listens to clients’ messages broadcasted on the network and sends them to the configured server. This last will respond to the relay agent, which will pass the responses to the clients.

Advantages of a DHCP server.

  • It makes networks management easier while automating different tasks. 
  • It reduces the chances of human errors, like typos. IP configuration must be very accurate not have failures. When tasks are done manually, it’s easy to mistake a number, a dot, etc., while typing sequences of numbers like 102.112.135.1
  • It minimizes IP addresses conflicts. As it’s known, every device needs a unique IP address to get connected. If an IP address is duplicated, meaning assigned to two different devices, this will create a conflict. One or even both devices won’t get a connection.
  • Changes on the network can be executed without pain. If you need to change the IP address scope, addresses, endpoints, etc., you just have to configure the DHCP server, and changes will propagate to all new endpoints.

The disadvantage of a DHCP server.

DHCP protocol involves security risks. In order to make agile the process for clients joining the network fast, it doesn’t ask for authentication. This is clearly a possible entrance for malicious actors. 

Conclusion.

DHCP is a great teammate for efficiently managing networks. Knowing its details, you can use it smartly, taking the most out of it! 

UDP explained.

Networks mean communication, a non-stop exchange of different data types. Following this idea, networks strongly need solutions for transferring data from one place (source) to another (destination).

Those solutions exist, and they are called communication protocols. UDP is one of them! 

What is UDP?

The user datagram protocol or UDP is a communication protocol created in 1980 for the exchange of data between networks and machines. It’s a high-speed solution, and this feature boosted its popularity. It became ideal for DNS lookups, real-time systems, or video transmissions. This David P. Reed’s contribution really improved networking, and its utility keeps being important nowadays. 

How does it work?

Like other communication protocols, UDP divides a message (its data) into different packets or datagrams, transported all across the network and the machines that integrated it until it arrives at its destination. What makes a big difference is, user datagram protocol is connection-less. This means it doesn’t rely on having a formal and active connection to start the data transmission. This totally accelerates the process. 

After chopping messages, UDP doesn’t number the datagrams for reassembling them. When you use it, what happens is each datagram has a header that contains port numbers (from the source and the destination) useful for recognizing the different users’ requests. The user datagram protocol includes a checksum function to verify that the data got fully transferred, and it doesn’t confirm if the messages sent are properly received.

UDP’s simplicity means high speed, but working that fast opens the chance for datagrams to get lost during its transference, and there’s a risk for criminals to use this advantage as a vulnerability to enable a DDoS attack. Basically, the risk is that there’s no handshake to secure the transmission of data that exists in other protocols. The lack of such or another security mechanism makes UDP fast because it includes fewer steps, but it becomes less safe.

UDP pros – Why should you use UDP?

  • Its speed and simplicity make it an ideal solution for the following scenarios.
  • UDP is totally a choice for communication applications, like voice-over IP or real-time, and online gaming. Actually, all applications and processes that can afford datagram loss could use UDP. The decision depends on what exactly is your priority, fast speed over the accuracy of the opposite. For some, it’s easier to afford that loss than waiting for delayed datagrams.
  • It’s ideal for the streaming of audio and/or video. Remember that UDP doesn’t need an active connection between sender and receiver for the data transmission.
  • It suits the domain name system (DNS) very well because DNS requests and answers can travel on one IP datagram, and the second because DNS really needs to make the response of requests an agile process.
  • If your need is to broadcast information, UDP supports multicast. 
  • If you look for self-starting processes, popularly known as bootstrapping, you can definitely use it.

UDP cons – Why shouldn’t you use UDP?

  • If your application or processes can’t afford datagram loss, if accurate delivery is vital for you, instead of fast transmission, UDP is not your choice.
  • UDP skips the handshake as a security mechanism. It’s a reliable alternative in terms of speed, but not in security ones. 
  • Its functionality doesn’t include checking or correcting errors that can occur during the data transmission.
  • It doesn’t supply acknowledgment of the correct delivery.

Conclusion.

Now you know, if it’s about high-speed data transmission, UDP is the right solution to be in charge. When it’s more or less suitable will be defined by your priorities and network’s needs.