Finding Black Hole Routers
Black hole routers may dump packets above a certain size when you are trying
to traverse a path to a server. Here's a method for looking for a black hole
router, and figuring out the size of the "bottleneck".
- Try a normal ping of the server; this sends a "minimal" packet of 32
bytes.
- If the remote system drops all ping requests (possible for some secured
systems), do a traceroute, and start your ping with the next-to-last system.
Make sure you have a "plain" ping working.
- Now try pinging with fixed-size packets that are set to not fragment.
Normally the largest size possible is 1472 bytes. This is done like this:
ping -l
-n
For example, to ping 169.3.65.254 with a packetsize of 1472, do this:
ping -l 1472 -n 169.3.65.254
- If the largest packet is rejected, determine size by bisection; drop to
about 736; if that works, try about 1100 or so, until you find about the
largest size that will work.
- If this does indeed work, you have two possible resolutions. One is
to try finding the black hole and getting the administrators of the system to
fix it. This requires doing a traceroute to the Terminal Server and then
checking the intervening systems for fragmentation as we did here. More
realistically, you may want to set the Terminal Server to use packets small
enough to get through.
Note that you should not use the Microsoft Windows 2000 TCP/IP
Protocols and Services Technical Reference to set the MTU key
location - it's wrong. Instead, see the appropriate article before and
look up "MTU" in it.
TCP/IP and NBT
Configuration Parameters for Windows 2000 or Windows NT
TCP/IP and NBT
Configuration Parameters for Windows XP