Limits include
Experimental. Tools to measure performance. We would expect to see that fragmentation degrades performance and larger MTUs increase performance.
It is still observed that a MTU that is too large can simply fail due to ICMP "Fragmentation needed but DF set" being blocked.
Often traceroute is set to give up after 30 hops, so you may need to set the limit higher. Routes of more than 30 hops are common.
Geographic distance has only a weak correlation with hop count. Some routes go via ATM (or other) tunnels and this can either decrease or increase the overall hop count. It can decrease hop count by tunnelling a long distance in a single IP hop. On the other hand it can increase the count: this is particularly true for ADSL (IP over ATM over ADSL) from the home in the UK. You may find that the route from home to work (just along the road from where you live) is via your ISP which can be hundreds of miles and a dozen hops away.
Other ISPs have complicated internal routing: one route from the UK to New Zealand spins though a dozen Sprintlink routers in the USA before it crosses the Pacific.
The space to store optional headers is quite limited (by the size of the header length field). Thus useful items such as record route don't have much space to store their results.
Source routing options are/were used to debug routing in the Internet, but now better tools exist. Source routing is making a slight comeback due to mobile IP.
Security and authentication headers are rarely used: IPSec is to be preferred, but even this is taking its time in being adopted.
Give examples of applications that each are best suited to.
Multicast is pretty well supported on modern operating systems and fairly well in modern routers. There are questions of how well multicast will scale to very large numbers of sources: will routers be able to cope with the amount of information that this will require them to store?
The BBC has experimented with multicast streaming of its TV and radio stations. The result is fairly good, but there are issues of quality of service to be addressed: it is not unusual for the stream to stutter or halt temporarily due to congestion upstream.
Problems: with multicasting you don't really want to know how many hosts are listening to the multicast stream. The major advantage of multicasting is that it only requires minimal resources from the server, so adding in extra state for each client is defeating some of the purpose.
Problems: anycast should really distribute load amongst the servers, but a connection is to just one server. And the routers along the path from client to server would need to remember which host is connected to which server. Compare with multicast, where a router need only know that some host needs packets to be relayed, while anycast needs to know which hosts and where they are.
Experimental. Various operating system tools (like ifconfig and route) give information about network configurations.
Limits include
Having fewer header fields actually means fewer limitations than IPv4.
There is usually a log file somewhere that contains information about the workings of DHCP. Check your system's documentation. At a minimum, DHCP supplies IP address, netmask, DNS servers and gateway, though some installations provide more.
Somewhat open-ended. Much documentation exists on the Web.
Links. Only a few of the ICMP messages are common in practice: echo request; echo reply; destination unreachable; time exceeded.
ICMP is often blocked by paranoid systems administrators, so ping (echo request) would not work. Workarounds include sending UDP packets to unlikely ports (as in traceroute) or trying to connect to common services (such as mail or Web). Some tools allow the user to choose between a variety of probes.
Routing is often driven by political and economic requirements rather than technical ones, so often you find rather strange routes. For example, many routes from the UK to other countries pass through the USA, probably because the USA has a good Internet infrastructure and can provide good connections and cheap transit.
This might be quite difficult as most routes appear to be quite stable these days.
For example: it doesn't make sense to block "time expired" ICMPs as these are included in the IP for good reasons; on the other hand "echo request" is primarily used to determine the existence of hosts rather than essential control (but it does play a useful part in DHCP).
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License.