THIS IS A TEST INSTANCE. Feel free to ask and answer questions, but take care to avoid triggering too many notifications.

Revision history  [back]

Generally: ICMP acts on top of IP, so ICMP packets don't contain their own(!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram used TCP, its TCP header will be present ICMP packet. It is not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so ICMP packets don't contain their own(!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram used TCP, its it's TCP header will be present ICMP packet. It is not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so ICMP packets don't contain their own(!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram used TCP, it's TCP header will be present ICMP packet. It is It's not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so ICMP packets don't contain their own(!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram used TCP, it's TCP header will be present ICMP packet. It's not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so ICMP packets don't contain their own(!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram used TCP, it's TCP header will be present ICMP packet. It's not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so ICMP packets don't contain their own(!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram used was TCP, it's header will be present ICMP packet. It's not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so ICMP packets don't it doesn't contain their it's own(!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram was TCP, it's header will be present ICMP packet. It's not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so it doesn't contain it's own(!) own (!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram was TCP, it's header will be present ICMP packet. It's not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so it doesn't does'nt contain it's own (!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram was TCP, it's header will be present ICMP packet. It's not used for transport purposes though, but only for diagnostics purposes.

Generally: ICMP acts on top of IP, so it does'nt contain it's own (!) TCP header.

BUT the question is tricky in a sense that ICMP packets of some types (those ones reporting different problems, like in your trace - TTL exceeded, Destination unreachable etc.) according to RFC792 must contain some chunk of ORIGINAL datagram causing a problem.

In this case if original datagram was TCP, it's header will be present ICMP packet. It's not used for transport purposes though, but only for diagnostics purposes.