Disclaimer: Its a collection from lots of other site(s) and few of my notes. I would also like to declare that I am not owning lots of its content. Please feel free to contact me directly if you want me to remove any of your content, that you don't want to share to other through this blog.
computer science, a linked list is a data structure that consists of a
sequence of data records such that in each record there is a field that
contains a reference (i.e., a link) to the next record in the sequence.
traceroute is a computer network tool used to show the route taken by packets across an IP network.
works by increasing the "time-to-live" value of each successive batch
of packets sent. The first three packets sent have a time-to-live (TTL)
value of one (implying that they are not forwarded by the next router
and make only a single hop). The next three packets have a TTL value of
2, and so on. When a packet passes through a host, normally the host
decrements the TTL value by one, and forwards the packet to the next
host. When a packet with a TTL of one reaches a host, the host discards
the packet and sends an ICMP time exceeded (type 11) packet to the
sender. The traceroute utility uses these returning packets to produce a
list of hosts that the packets have traversed in transit to the
destination. The three timestamp values returned for each host along the
path are the delay (aka latency) values typically in milliseconds (ms)
for each packet in the batch.
If a packet does not return within
the expected timeout window, a star (asterisk) is traditionally printed.
On modern Unix-like operating systems, the traceroute utility by
default uses UDP datagrams with destination ports numbering from 33434
to 33534. Traceroute is often used for network troubleshooting. By
showing a list of routers traversed, it allows the user to identify the
path taken to reach a particular destination on the network. This can
help identify routing problems or firewalls that may be blocking ICMP
traffic, or high port UDP in UNIX ping, to a site.
Internet Control Message Protocol (ICMP) is one of the core protocols
of the Internet Protocol Suite. It is chiefly used by networked
computers' operating systems to send error messages—indicating, for
instance, that a requested service is not available or that a host or
router could not be reached.
* Type - ICMP type as specified below.
* Code - further specification of the ICMP type; e.g. : an ICMP
Destination Unreachable might have this field set to 1 through 15 each
bearing different meaning.
* Checksum - This field contains error
checking data calculated from the ICMP header+data, with value 0 for
this field. The algorithm is the same as the header checksum for IPv4.
* ID - This field contains an ID value, should be returned in case of ECHO REPLY.
* Sequence - This field contains a sequence value, should be returned in case of ECHO REPLY.
ARP/InARP · NDP · OSPF · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, DSL, ISDN, FDDI) ...
*) TCP [ protocol operation ]:
1. LISTEN : In case of a server, waiting for a connection request from any remote client.
2. SYN-SENT : waiting for the remote peer to send back a TCP segment
with the SYN and ACK flags set. (usually set by TCP clients)
SYN-RECEIVED : waiting for the remote peer to send back an
acknowledgment after having sent back a connection acknowledgment to the
remote peer. (usually set by TCP servers)
4. ESTABLISHED : the port is ready to receive/send data from/to the remote peer.
10. TIME-WAIT : represents waiting for enough time to pass to be sure
the remote peer received the acknowledgment of its connection
termination request. According to RFC 793 a connection can stay in
TIME-WAIT for a maximum of four minutes.