InternetC ontrol Message Protocol

The Internet Control Message Protocol (ICMP) is one of the main protocols of the Internet protocol suite. It is used by network devices, like routers, to send error messages indicating, for example, that a requested service is not available or that a host or router could not be reached. ICMP can also be used to relay query messages. It is assigned protocol number 1. ICMP differs from transport protocols such as TCP and UDP in that it is not typically used to exchange data between systems, nor is it regularly employed by end-user network applications.

Technical details

The Internet Control Message Protocol is part of the Internet Protocol Suite. ICMP messages are typically used for diagnostic or control purposes or generated in response to errors in IP operations. ICMP errors are directed to the source IP address of the originating packet.

For example, every device (such as an intermediate router) forwarding an IP datagram first decrements the time to live (TTL) field in the IP header by one. If the resulting TTL is 0, the packet is discarded and an ICMP Time To Live exceeded in transit message is sent to the datagram’s source address.

Although ICMP messages are contained within standard IP packets, ICMP messages are usually processed as a special case, distinguished from normal IP processing, rather than processed as a normal sub-protocol of IP. In many cases, it is necessary to inspect the contents of the ICMP message and deliver the appropriate error message to the application responsible for transmission of the IP packet that prompted the sending of the ICMP message.

Many commonly used network utilities are based on ICMP messages. The traceroute command can be implemented by transmitting IP datagrams with specially set IP TTL header fields, and looking for ICMP Time to live exceed in transit an “Destination unreachable” messages generated in response. The related ping utility is implemented using the ICMP “Echo request” and “Echo reply” messages.

From: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol


'Computer Science > Terminology' 카테고리의 다른 글

Uniform Resource Locator (URL)  (0) 2018.03.30
Real-time Transport Protocol (RTP)  (0) 2018.03.30
Domain  (0) 2018.03.30
Location-Based Service (LBS)  (0) 2018.03.30
Electrical grid  (0) 2018.03.30

Internet Protocol

The Internet Protocol (IP) is the principal communications protocol in the internet protocol suite for relaying datagram across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.

IP has the task of delivering packets from the source host to the destination host to the solely based on the OP addresses in the packet headers. For this purpose, IP defines packet structures that encapsulate the data to be delivered. It also defines addressing methods that are used to label the datagram with source and destination information.

Historically, IP was the connectionless datagram service in the original Transmission Control Program introduced by Vint Cerf and Bob kahn in 1974; the other being the connection-oriented Transmission Control Protocol (TCP). The Internet protocol suite is therefore often referred to as TCP/IP.

Function


The Internet Protocol is responsible for addressing hosts andfor routing datagrams (packets) from a source host to a destination host across one or more IP networks. For this purpose, the Internet Protocol defines the format of packets and provides an addressing system that has two functions: Identifying hosts and providing a logical location service.

-      Datagram construction: Each datagram has two components: a header and a payload. The IP header is tagged with the source IP address, the destination IP address, and other meta-data needed to route and deliver the datagram. The payload is the data that is transported. This method of nesting the data payload in a packet with a header is called encapsulation.

-      IP addressing and routing: IP addressing entails the assignment of IP addresses and associated parameters to host interfaces. The address space is divided into networks and subnetworks, involving the designation of network or routing prefixes. IP routing is performed by all hosts, as well as routers, whose main function is to transport packets across network boundaries. Routers communicate with one another viaspecially designed routing protocols, either interior gateway protocols or exterior gateway protocols, as needed for the topology of the network.
IP routing is also common in local networks. For example, many Ethernet switches support IP multicast operations. These switches use IP addresses and Internet Group Management Protocol to control multicast routing but use
MAC addresses for the actual routing.

Link capacity and capability

The dynamic nature of the Internet and the diversity of its components provide no guarantee that any particular path is actually capable of, or suitable for, performing the data transmission requested, even if the path is available and reliable. One of the technical constraints is the size of data packets allowed on a given link. An application must assure that it uses proper transmission characteristics. Some of this responsibility lies also in the upper layer protocols. Facilities exist to examine the maximum transmission unit(MTU) size of the local link and Path MTU Discovery can be used for the entire projected path the destination. The IPv4 internetworking layer has the capability to automatically fragment the original datagram into smaller units for transmission. In this case, IP provides re-ordering of fragments delivered out of order.

The Transmission Control Protocol (TCP) is an example of a protocol that adjusts its segment size to be smaller than the MTU. The User Datagram Protocol (UDP) and the Internet Control Message Protocol (ICMP) disregard MTU size, thereby forcing IP to fragment oversized datagrams.

From: https://en.wikipedia.org/wiki/Internet_Protocol


'Computer Science > Terminology' 카테고리의 다른 글

User Datagram Protocol (UDP)  (0) 2018.03.30
Transmission Control Protocol (TCP)  (0) 2018.03.30
Protocol  (0) 2018.03.30
Packet  (0) 2018.03.30
Security in the Internet of Things  (0) 2018.03.30

+ Recent posts