In reference to your question, “what’s the difference between 255.255.255.255 broadcast address and directed broadcast address, that is 192.168.1.255 aren’t they the same broadcast?
Some clarification on directed broadcast and local broadcast. The answer is yes and no. The 255.255.255.255 broadcast is also known as the local broadcast address, whereas the 192.168.1.255 is a directed broadcast. Routers will forward the “directed” broadcast addresses but not the “local” broadcast address. The local broadcast is never converted to the directed broadcast, but rather the directed broadcast is converted to the local broadcast. As Scott explained in his post.
How about this scenario:
LAN-1 (10.10.10.1/24) –> R1 — R2 — R3 — (220.127.116.11/24) LAN-3
When a host on LAN-1 (say 10.10.10.50) pings the directed broadcast on LAN-3 (18.104.22.168) the packet will get forwarded by R1 to R2 and on to R3. Once R3 receives this ping for the destination directed broadcast, since 22.214.171.124 is “local” to R3, it converts the 126.96.36.199 –> 255.255.255.255 address as you saw in Scott’s output.
You can disable “directed” broadcasts on routers by issuing the “no ip directed-broadcast” command on the interface. I believe as of Cisco IOS 12.0 and above, the “ip directed-broadcast” is disabled by default. Prior to IOS 12.0 it was enabled.
So, in short, the directed broadcast “can be” forwarded (disabled by default) and the local broadcast is never forwarded.