in Computer Networks
816 views
1 vote
1 vote

When a packet is discarded or lost at some node, we know that network layer will send an ICMP packet.

This ICMP packet is able to give the following information,

1) Which node has discarded the pkt/datagram by inserting it's IP address.

2) Why the pkt has been discarded by filling with appropriate message like TTL exceed/ Source quench etc.

3) Which pkt has been discarded?

The 3rd info is placed in a ICMP packet by inserting Header of Datagram of the discarded pkt along with additional 8 bytes of data? Why we have to keep data bits? Header is only sufficient i think.
Following is the structure of above ICMP packet,

Correct me if iam wrong.
Please explain .

in Computer Networks
816 views

1 Answer

0 votes
0 votes
You can answer this yourself!

 

Packet encapsulates what??

      Packet = IP header + TCP/UDP segment;

 

TCP/UDP segment encapsulates what??

      Segment = TCP Header/UDP header + Application layer data;

 

So,       IP header + first 8 bytes of data inside a packet = IP header + portion of TCP/UDP header.

 

Here's a task for you:

                                   a) See what's stored inside the first 8 bytes of TCP as well as UDP header.

                                    b) Think how this information is beneficial.
by

2 Comments

Is this correct?

1st byte of TCP header - ( both Source Port number and Destination Port number)

2nd Byte is the sequence number of a byte. So by adding 8-byte data of TCP header ( 4 + 4), we get the byte of a segment which has been lost?
0
0

https://tools.ietf.org/html/rfc792                      (Original Intentions)

   Internet Header + 64 bits of Data Datagram

      The internet header plus the first 64 bits of the original
      datagram's data.  This data is used by the host to match
      the message to the appropriate process.  If a higher
      level protocol uses port numbers, they are assumed to be
      in the first 64 data bits of the original datagram's data.

https://tools.ietf.org/html/rfc1812#section-4.3.2.3  (Updates introduced)

   Historically, every ICMP error message has included the
Internet header and at least the first 8 data bytes of the
datagram that triggered the error.  This is no longer adequate,
due to the use of IP-in-IP tunneling and other technologies. 
Therefore, the ICMP datagram SHOULD contain as much of the
original datagram as possible without the length of the ICMP
datagram exceeding 576 bytes.  
The returned IP header (and user data) MUST be identical to
that which was received, except that the router is not required
to undo any modifications to the IP header that are normally
performed in forwarding that were performed before the error
was detected (e.g.,decrementing the TTL, or updating options). 
0
0

Related questions