ICMP messages are transmitted as datagrams and consist of an IP header that encapsulates the ICMP data. ICMP packets are IP packets with ICMP in the IP data portion. ICMP messages also contain the entire IP header from the original message, so the end system knows which packet failed.
The ICMP header appears after the IPv4 or IPv6 packet header and is identified as IP protocol number 1. The complex protocol contains three fields:
The major type that identifies the ICMP message;
The minor code that contains more information about the type field; and
The checksum that helps detect errors introduced during transmission.
Following the three fields is the ICMP data and the original IP header to identify which packets actually failed.
ICMP has been used to execute denial-of-service attacks (also called the ping of death) by sending an IP packet larger than the number of bytes allowed by the IP protocol.
SMTP(Simple Mail Transfer Protocol):
SMTP is part of the application layer of the TCP/IP protocol. Using a process called “store and forward,” SMTP moves your email on and across networks. It works closely with something called the Mail Transfer Agent (MTA) to send your communication to the right computer and email inbox.
SMTP spells out and directs how your email moves from your computer’s MTA to an MTA on another computer, and even several computers. Using that “store and forward” feature mentioned before, the message can move in steps from your computer to its destination. At each step, Simple Mail Transfer Protocol is doing its job. Lucky for us, this all takes place behind the scenes, and we don’t need to understand or operate SMTP.
SMTP provides a set of codes that simplify the communication of email messages between email servers (the network computer that handles email coming to you and going out). It’s a kind of shorthand that allows a server to break up different parts of a message into categories the other server can understand. When you send a message out, it’s turned into strings of text that are separated by the code words (or numbers) that identify the purpose of each section.
SMTP provides those codes, and email server software is designed to understand what they mean. As each message travels towards its destination, it sometimes passes through a number of computers as well as their individual MTAs. As it does, it’s briefly stored before it moves on to the next computer in the path. Think of it as a letter going through different hands as it winds its way to the right mailbox.
SMTP is able to transfer only text—it isn’t able to handle fonts, graphics, attachments, etc.—maybe that’s why it’s called simple. Fortunately, Multipurpose Internet Mail Extensions were created to lend a hand. MIME encodes all the non-text content into plain text. In that transformed format, SMTP is coaxed into transferring the data.