What Is IP Forwarding And How does It Work [June 2022]

IP Forwarding is a phenomena where you change IP address of your system to make it work as a “Router” replacing the combo gadget provided by the ISP.

What Is IP Forwarding

Internet forwarding, also known as IP routing, is a method for determining which route a packet or datagram may be sent across. The technique makes decisions based on routing information and is designed to send a packet via multiple paths. Routers are used to keep networks separate from one another.

The size of each packet, the type of service specified in the header, as well as characteristics of the network’s existing links, such as link capacity, usage rate, and maximum datagram size that can be supported on the link are all factored into IP forwarding methods.

In general, most routing tools employ a shortest-path approach to find a route. However, other routing protocols may use different criteria for selecting the best path. Each path has an associated cost based on the metrics required and available at each link. When choosing the next hop, the routing algorithm attempts to minimize cost.

Routers use routing protocols to communicate and exchange information about the network’s topology and each router’s capabilities. As a result, it fulfills network-wide requirements that govern how traffic is routed within and across networks utilizing several protocols. Various protocols are frequently utilized in different topologies or application areas.

For instance, The Border Gateway Protocol (BGP) is used on a global scale, and the Open Shortest Path First (OSPF) protocol is commonly utilized for routing packets between subnetworks in a network.

The Process Of IP Forwarding

This is the process of IP forwarding, although that it’s point-to-point. However, doing so in detail would take a long time and will be complicated enough to understand.

  • Look for the Frame and search for the correct sequence in the received Frame.
  • Make sure the Ethernet (which is layer 2) header is correct.
  • Eradicate the information of Layer 2.
  • Make sure the IP header checksum is correct.
  • Lookup, the destination IP address
  • Lookup, table of IP routing.
  • Collect the required data for New Layer 2 Header
  • Modify the value of TTL and IP Header Checksum
  • Generate New Layer 2 Header & Trailer and
  • Forward the Frame

What Are the Two Ways Of IP Forwarding ?

A router or host may forward packets in two ways: directly and indirectly. When direct forwarding takes place, the destination IPv4 address is on a network connected to the router or host.

Direct IP Forwarding

Direct IP Forwarding

When a packet is delivered directly, the ultimate destination of the data is a host connected to the same physical network as the deliverer. When the source and destination of a packet are on the same physical network, or when delivery travels through the last router to reach the destination host, direct delivery occurs.

The sender can quickly identify whether the delivery is immediate. It may verify the network address of the final destination (using the mask) against the addresses of the networks to which it is linked. The delivery is direct if a match is discovered.

Indirect IP Forwarding

Indirect Forwarding

If the receiver isn’t on the same network as the deliverer, the packet is sent via a third party. Indirect delivery entails sending from router to router until it reaches one that is connected to the same physical network as its ultimate destination.

Why IP Forwarding Is Used ?

Internet redirection is the process of determining which route a packet or datagram can be sent. The method uses routing data to make decisions and is meant to send a packet via many networks. Routers are used to separate networks from one another.

It is indeed used for

  • Determination of route of data packet towards its right destination
  • To keep the unwanted traffic off the route.

In Windows 10, how do I enable TCP IP Forwarding ?

Try to locate the registry key.

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters, To enable IP forwarding, use the following settings: Set the value for “IPEnableRouter” to 1.
  • If unbale to locate the above mentioned registry key then create a new REG_DWORD value named “IPEnableRouter.” Set IPEnableRouter value to 1 and restart your computer. Packet forwarding should now be enabled.

How to Set Up IP Forwarding on Linux ?

  • Check to see whether IP forwarding is enabled. To check whether or not forwarding is enabled, we need to query the kernel mode sysctl value net.ipv4.ip_forward: Using sysctl.
  • On the fly, enable IP forwarding.
  • This command is used to permanently change the system configuration using /etc/sysctl.
  • The distribution-specific init scripts may be used to execute a command at the time of configuration.

What is the best way to enable IP forwarding On Ubuntu ?

In Ubuntu, you can enable IP forwarding by following this steps. This is required if you want your system to function as a router.

  • By default, IP forwarding is disabled in the kernel. Set the option for IP forwarding to 1 with this command: $ sudo sysctl net.ipv4.ip_forward=1.
  • To make these modifications durable after reboots, launch the method from scratch.

On a Mac, how do I enable IP forwarding ?

  • To begin, you must enable forwarding on your Mac computer with the following commands: sudo sysctl -w net.inet.ip.forwarding=1
  • create a pfctl rule if you want to utilize capabilities of NAT

Setting up IP forwarding on my Router.

From the Management Console, go into the Configuration menu and select the Network option. Select Gateways from the drop-down menu to reveal this option.


When your PC is set to Port Forwarding, it will act as a router and allow packets to flow through it in addition to the source-to-destination link.

IP forwarding gives you the choice to make your computer work as a router when you don’t want to use the router provided by the ISP.