IP/Network |
||
Directing IP packet to a specific NIC (Network Interface Card)
When we have multiple Network Card on the PC, there would be some cases where we want to flow to a specific network card that you want. The surest way would be to remove the whole routing table on your PC and add only one specific Network Card to the table, but this would be the most risky thing as well unless you know for sure on how to recover the original table. Otherwise, you would lose all the critical connection (like internet etc).
Directing Packets by Metric value
So, in this tutorial I would show you how to direct a data flow to a specific network card by changing Metric value of the network card.
Step 1 : Figure out and remember the ip address and interface ID of each of your network Card
C:\>ipconfig
Windows IP Configuration
Tunnel adapter Local Area Connection 3:
Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : fd3a:255f:a321:6985:63b1:16f9:7569:a608 Link-local IPv6 Address . . . . . : fe80::751a:739b:86c3:f2c8%24 Autoconfiguration IPv4 Address. . : 169.254.242.200 Subnet Mask . . . . . . . . . . . : 255.255.0.0 Default Gateway . . . . . . . . . :
Wireless LAN adapter Wireless Network Connection:
Connection-specific DNS Suffix . : us.anritsu.com Link-local IPv6 Address . . . . . : fe80::2c3e:aabf:6ffa:8145%12 <-- Interface ID IPv4 Address. . . . . . . . . . . : 172.25.228.101 Subnet Mask . . . . . . . . . . . : 255.255.254.0 Default Gateway . . . . . . . . . :
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : us.anritsu.com Link-local IPv6 Address . . . . . : fe80::206c:68b4:2d2a:2f00%11 <-- Interface ID IPv4 Address. . . . . . . . . . . : 172.25.228.103 Subnet Mask . . . . . . . . . . . : 255.255.254.0 Default Gateway . . . . . . . . . : 172.25.228.1
Step 2 : Check current route table and check metrics for each network card (lower Metric value means higher priority to be used).
C:\>route -4 PRINT // I used option '-4' to check only IPv4 info. But depending on your network, // you may need to get all the network info. In that case, just remove '-4' =========================================================================== Interface List 24...02 f0 95 b2 10 01 ......BlackBerry Virtual Private Network 12...3c a9 f4 45 dd 58 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN 11...f0 1f af 28 8d 92 ......Intel(R) 82579LM Gigabit Network Connection 1...........................Software Loopback Interface 1 23...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter 35...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2 25...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3 34...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface ===========================================================================
// You would notice that Wired Lan Card has higher priority than WiFi in this PC IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 172.25.228.1 172.25.228.101 125 <-- WiFi 0.0.0.0 0.0.0.0 172.25.228.1 172.25.228.103 21 <-- Wired 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 169.254.0.0 255.255.0.0 On-link 169.254.84.211 261 169.254.84.211 255.255.255.255 On-link 169.254.84.211 261 169.254.255.255 255.255.255.255 On-link 169.254.84.211 261 172.25.228.0 255.255.254.0 On-link 172.25.228.103 276 172.25.228.0 255.255.254.0 On-link 172.25.228.101 281 172.25.228.103 255.255.255.255 On-link 172.25.228.103 276 172.25.229.255 255.255.255.255 On-link 172.25.228.103 276 172.25.229.255 255.255.255.255 On-link 172.25.228.101 281 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 172.25.228.103 276 224.0.0.0 240.0.0.0 On-link 169.254.84.211 261 224.0.0.0 240.0.0.0 On-link 172.25.228.101 281 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 172.25.228.103 276 255.255.255.255 255.255.255.255 On-link 169.254.84.211 9999 255.255.255.255 255.255.255.255 On-link 172.25.228.101 281 =========================================================================== Persistent Routes: None
Step 3 : Verify data flows as shown in the routing table shown above. Run Windows Task Manager and select 'Network' tab. And then browser or download file or youTube.. check the data flows via the network card with lowest Matric would flow the most data.
Step 4 : Change the Metric of WLAN Card and Wired Card. In this example, I allocate large metric value to Wired Card and lower metric value to WLAN Card.
// '11' is interface ID for Wired Card in this PC. You may have different number in your PC. Confirm it with ipconfig C:\>route change 0.0.0.0 MASK 0.0.0.0 172.25.228.1 metric 100 if 11 OK!
// '12' is interface ID for WLAN Card in this PC. You may have different number in your PC. Confirm it with ipconfig C:\>route change 0.0.0.0 MASK 0.0.0.0 172.25.228.1 metric 1 if 12 OK!
// Confirm that Metric Value of the interface card has been changed. It seems that in Windows 7, the value '20' is added to the metric value you specified C:\>route -4 PRINT =========================================================================== Interface List 24...02 f0 95 b2 10 01 ......BlackBerry Virtual Private Network 12...3c a9 f4 45 dd 58 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN 11...f0 1f af 28 8d 92 ......Intel(R) 82579LM Gigabit Network Connection 1...........................Software Loopback Interface 1 23...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter 35...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2 25...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3 34...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface ===========================================================================
IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 172.25.228.1 172.25.228.103 120 <-- Wired 0.0.0.0 0.0.0.0 172.25.228.1 172.25.228.101 21 <-- WiFi 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 169.254.0.0 255.255.0.0 On-link 169.254.84.211 261 169.254.84.211 255.255.255.255 On-link 169.254.84.211 261 169.254.255.255 255.255.255.255 On-link 169.254.84.211 261 172.25.228.0 255.255.254.0 On-link 172.25.228.103 276 172.25.228.0 255.255.254.0 On-link 172.25.228.101 276 172.25.228.103 255.255.255.255 On-link 172.25.228.103 276 172.25.229.255 255.255.255.255 On-link 172.25.228.103 276 172.25.229.255 255.255.255.255 On-link 172.25.228.101 276 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 172.25.228.103 276 224.0.0.0 240.0.0.0 On-link 169.254.84.211 261 224.0.0.0 240.0.0.0 On-link 172.25.228.101 276 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 172.25.228.103 276 255.255.255.255 255.255.255.255 On-link 169.254.84.211 9999 255.255.255.255 255.255.255.255 On-link 172.25.228.101 276 =========================================================================== Persistent Routes: None
Step 5 : Verify data flows as shown in the routing table shown above. Run Windows Task Manager and select 'Network' tab. And then browser or download file or youTube.. check the data flows via the network card with lowest Matric would flow the most data.
Would all the IP packets goes through NIC with the lowest metric value ?
No, not necessarily. The metric value is used by the routing algorithm to determine the best route for a given IP packet, but it is not the only factor that is taken into account. The routing algorithm also considers the network topology, link speed, congestion, and other factors when selecting the best route.
When you have multiple NICs, you can use the metric value to influence the routing decision, but it is not a guarantee that all IP packets will go through the NIC with the lowest metric value. The routing algorithm may choose a different route based on the other factors.
In addition, some applications may bind to a specific NIC or IP address, which can override the routing algorithm's decision. Therefore, it is important to test the routing configuration and ensure that the IP packets are being directed to the desired NIC.
Is there any way to distribute IP traffics among multiple NIC ?
There are different methods for distributing IP traffic among multiple NICs to increase network performance and availability. Here are a few common techniques:
These methods can be used separately or in combination, depending on your network requirements and infrastructure. It's important to test and monitor the network performance to ensure that the traffic is being distributed effectively and evenly.
|
||