I have noticed a distinct difference in Windows (10) between administratively disabling a network interface, and physically unplugging the connection. I am not exactly sure how to describe the difference, but I can illustrate it with two continuous pings:
First, administratively disabling the interface and then enabling it:
>ping -t 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=12ms TTL=112
Reply from 8.8.8.8: bytes=32 time=12ms TTL=112
No resources.
PING: transmit failed. General failure.
PING: transmit failed. General failure.
Reply from 8.8.8.8: bytes=32 time=11ms TTL=112
Reply from 8.8.8.8: bytes=32 time=11ms TTL=112
Physically unplugging the connection and then plugging it back in:
>ping -t 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=12ms TTL=112
Reply from 8.8.8.8: bytes=32 time=12ms TTL=112
Request timed out.
General failure.
General failure.
Request timed out.
Reply from 8.8.8.8: bytes=32 time=11ms TTL=112
Reply from 8.8.8.8: bytes=32 time=11ms TTL=112
My specific question is, can I perform some action in Windows which will have the same effect as physically unplugging the connection (preferably through the command line). Second, I would actually like to know what the difference is here, in terms of the Windows network stack implementation.
In the network engineering world, we have the concept of being physically up but administratively down, which I assume is the same here, but I would like to know how the networking stack inside of Windows propagates that situation up, so that software actually behaves differently, and can actually tell a difference between the two situations described.