Error Reporting and Multicasting
Internetworking Technology
1
Outline
• ICMP
• IGMP
• ICMPv6
22.2
ICMPv4
• The IPv4 has no error-reporting or error-correcting
mechanism.
• The IP protocol also lacks a mechanism for host and
management queries.
• The Internet Control Message Protocol version 4
(ICMPv4) has been designed to compensate for the
above two deficiencies.
22.3
ICMPv4 MESSAGES
• ICMP messages are divided into two broad categories:
o error-reporting messages and
o query messages.
• The error-reporting messages report problems that a
router or a host (destination) may encounter when it
processes an IP packet.
• ICMP always reports error messages to the original
source.
• The query messages, which occur in pairs, help a host
or a network manager get specific information from a
router or another host.
22.4
19.5
General format of ICMP messages
Error-reporting messages
Data section
Code ChecksumType
8 bits 8 bits 16 bits
Rest of the header
Query messages
Data section
Code ChecksumType
8 bits 8 bits 16 bits
Identifier Sequence number
Code : specifies the reason for a particular message type (eg. sub-types of destination
unreachable)
Rest of the header : specific for each message type (eg. reason why the error
occurred)
Data section: carries information for finding the original packet which caused the
error. In query messages, data section carries extra information based on the type of
query.
ICMP Header Types
• Destination unreachable – IP datagram could not be
forwarded.
• Source quench – indication that congestion is being
encountered.
• Redirection – information regarding an alternate route,
results in routing-table update.
• Time exceeded – TTL has become zero.
• Parameter problem –problem in the IP header/options.
• Echo – to ascertain reachability of a host/router. Usually
implemented using PING.
• Timestamp – to ascertain single or round trip time (RTT).
18.6
19.7
Contents of data field for the error messages
The following shows how we send a ping message to the auniversity.edu site. We
set the identifier field in the echo request and reply message and start the
sequence number from 0; this number is incremented by one each time a new
message is sent. Note that ping can calculate the round-trip time. It inserts the
sending time in the data section of the message. When the packet arrives, it subtracts
the arrival time from the departure time to get the round-trip time (rtt).
Example of PING using Echo
19.822.8
IGMP
• The protocol that is used today for collecting
information about group membership is the Internet
Group Management Protocol (IGMP).
• It is not a Multicast routing protocol.
• IGMP is a protocol defined at the network layer; it is
one of the auxiliary protocols, like ICMP, which is
considered part of the IP.
• IGMP messages, like ICMP messages, are encapsulated
in an IP datagram.
• Before discussing IGMP, we need to discuss some
multicasting basics:
o multicast addressing, and
o collecting information about multicast groups.
22.9
Multicasting
• In multicasting, there is one source and a group of
destinations. The relationship is one to many.
• In this type of communication, the source address is a
unicast address, but the destination address is a group
address, a group of one or more destination networks in
which there is at least one member of the group that is
interested in receiving the multicast datagram.
• The group address defines the members of the group.
22.10
21.11
Multicasting
Multicast Addresses
• In multicast communication, the sender is only one, but
the receivers are many, sometimes thousands or millions
spread all over the world.
• It should be clear that we cannot include the addresses
of all recipients in the packet. The destination address of
a packet, as described in the Internet Protocol (IP)
should be only one.
• For this reason, we need multicast addresses. A
multicast address defines a group of recipients, not a
single one.
• In other words, a multicast address is an identifier for a
group.
22.12
21.13
Need for multicast addresses
Multicast Addresses
• Multicast group address is identified by 1110 as the first
four bits.
• Remember that
o a receiving host has its IP address.
o multicast address identifies a multicast.
o multicast address G is not a destination address, though it is
placed in DA field.
o a host interested in multicast G configures its interface to
accept the multicast G.
1 1 1 0 Group address
Address range : 11100000 00000000 00000000 00000000 = 224.0.0.0
11101111 11111111 11111111 11111111 = 239.255.255.255
22.14
Collecting Information
• Creation of forwarding tables in both unicast and
multicast routing involves two steps:
1. A router needs to know to which destinations it is
connected.
2. Each router needs to propagate information obtained
in the first step to all other routers so that each router
knows to which destination each other router is
connected.
22.15
21.16
Unicast versus multicast advertisement
Multicast Forwarding
• Another important issue in multicasting is the decision a
router needs to make to forward a multicast packet.
Forwarding in unicast and multicast communication is
different.
22.17
21.18
Forwarding depends on the destination and the source
IGMP Messages
• There are only two types of messages in IGMP, query and
report messages.
• A query message is periodically sent by a router to all hosts
attached to it to ask them to report their interests about
membership in groups.
• A report message is sent by a host as a response to a query
message.
• IGMP operation:
22.19
IGMP Message Types
Membership
query
22.20
IGMP Message Format
22.21
IGMP Encapsulation
22.22
IGMP Router
22.23
ICMPv6
• Another protocol that has been modified in version 6 of
the TCP/IP protocol suite is ICMP.
• This new version, ICMPv6, follows the same strategy
and purposes of version 4.
• ICMPv6, however, is more complicated than ICMPv4:
o some protocols that were independent in version 4 are
now part of ICMPv6 and
o some new messages have been added to make it more
useful.
22.24
22.25
Comparison of network layer in version 4 and version 6
22.26
Categories of ICMPv6 messages
Error-Reporting Messages
• As we saw in our discussion of version 4, one of the
main responsibilities of ICMPv6 is to report errors.
• Five types of errors are handled: destination
unreachable, packet too big, time exceeded, parameter
problems, and redirection.
• Note that the source-quench message, which is used to
control congestion in version 4, is eliminated in this
version because the priority and flow label fields in
IPv6 are supposed to take care of congestion.
• Also, packet too big, is added in this version.
22.27
21.28
Comparison of error-reporting messages in ICMPv4 and ICMPv6
Informational Messages
• Two of the ICMPv6 messages can be categorized as
informational messages: echo request and echo reply
messages.
• The echo-request and echo-reply messages are designed
to check whether two devices in the Internet can
communicate with each other.
• A host or router can send an echo-request message to
another host; the receiving computer or router can reply
using the echo-reply message.
22.29
Neighbor-Discovery Messages
• Several messages in ICMPv4 have been redefined in
ICMPv6 to handle the issue of neighbor discovery.
• Some new messages have also been added to provide
extension.
• The most important issue is the definition of two new
protocols that clearly define the functionality of these
group messages:
o the Neighbor-Discovery (ND) protocol and
o the Inverse-Neighbor-Discovery (IND) protocol.
22.30
Group Membership Messages
• The management of multicast delivery handling in IPv4
is given to the IGMPv3 protocol. In IPv6, this
responsibility is given to the Multicast Listener
Delivery protocol. MLDv1 is the counterpart to
IGMPv2; MLDv2 is the counterpart to IGMPv3.
• The idea is the same as discussed in IGMPv3, but the
sizes and formats of the messages have been changed to
fit the larger multicast address size in IPv6.
• Like IGMPv3, MLDv2 has two types of messages:
membership-query message and membership-report
message.
22.31
21.32
Comparison of query messages in ICMPv4 and ICMPv6

It 3-icmp-igmp

  • 1.
    Error Reporting andMulticasting Internetworking Technology 1
  • 2.
  • 3.
    ICMPv4 • The IPv4has no error-reporting or error-correcting mechanism. • The IP protocol also lacks a mechanism for host and management queries. • The Internet Control Message Protocol version 4 (ICMPv4) has been designed to compensate for the above two deficiencies. 22.3
  • 4.
    ICMPv4 MESSAGES • ICMPmessages are divided into two broad categories: o error-reporting messages and o query messages. • The error-reporting messages report problems that a router or a host (destination) may encounter when it processes an IP packet. • ICMP always reports error messages to the original source. • The query messages, which occur in pairs, help a host or a network manager get specific information from a router or another host. 22.4
  • 5.
    19.5 General format ofICMP messages Error-reporting messages Data section Code ChecksumType 8 bits 8 bits 16 bits Rest of the header Query messages Data section Code ChecksumType 8 bits 8 bits 16 bits Identifier Sequence number Code : specifies the reason for a particular message type (eg. sub-types of destination unreachable) Rest of the header : specific for each message type (eg. reason why the error occurred) Data section: carries information for finding the original packet which caused the error. In query messages, data section carries extra information based on the type of query.
  • 6.
    ICMP Header Types •Destination unreachable – IP datagram could not be forwarded. • Source quench – indication that congestion is being encountered. • Redirection – information regarding an alternate route, results in routing-table update. • Time exceeded – TTL has become zero. • Parameter problem –problem in the IP header/options. • Echo – to ascertain reachability of a host/router. Usually implemented using PING. • Timestamp – to ascertain single or round trip time (RTT). 18.6
  • 7.
    19.7 Contents of datafield for the error messages
  • 8.
    The following showshow we send a ping message to the auniversity.edu site. We set the identifier field in the echo request and reply message and start the sequence number from 0; this number is incremented by one each time a new message is sent. Note that ping can calculate the round-trip time. It inserts the sending time in the data section of the message. When the packet arrives, it subtracts the arrival time from the departure time to get the round-trip time (rtt). Example of PING using Echo 19.822.8
  • 9.
    IGMP • The protocolthat is used today for collecting information about group membership is the Internet Group Management Protocol (IGMP). • It is not a Multicast routing protocol. • IGMP is a protocol defined at the network layer; it is one of the auxiliary protocols, like ICMP, which is considered part of the IP. • IGMP messages, like ICMP messages, are encapsulated in an IP datagram. • Before discussing IGMP, we need to discuss some multicasting basics: o multicast addressing, and o collecting information about multicast groups. 22.9
  • 10.
    Multicasting • In multicasting,there is one source and a group of destinations. The relationship is one to many. • In this type of communication, the source address is a unicast address, but the destination address is a group address, a group of one or more destination networks in which there is at least one member of the group that is interested in receiving the multicast datagram. • The group address defines the members of the group. 22.10
  • 11.
  • 12.
    Multicast Addresses • Inmulticast communication, the sender is only one, but the receivers are many, sometimes thousands or millions spread all over the world. • It should be clear that we cannot include the addresses of all recipients in the packet. The destination address of a packet, as described in the Internet Protocol (IP) should be only one. • For this reason, we need multicast addresses. A multicast address defines a group of recipients, not a single one. • In other words, a multicast address is an identifier for a group. 22.12
  • 13.
  • 14.
    Multicast Addresses • Multicastgroup address is identified by 1110 as the first four bits. • Remember that o a receiving host has its IP address. o multicast address identifies a multicast. o multicast address G is not a destination address, though it is placed in DA field. o a host interested in multicast G configures its interface to accept the multicast G. 1 1 1 0 Group address Address range : 11100000 00000000 00000000 00000000 = 224.0.0.0 11101111 11111111 11111111 11111111 = 239.255.255.255 22.14
  • 15.
    Collecting Information • Creationof forwarding tables in both unicast and multicast routing involves two steps: 1. A router needs to know to which destinations it is connected. 2. Each router needs to propagate information obtained in the first step to all other routers so that each router knows to which destination each other router is connected. 22.15
  • 16.
  • 17.
    Multicast Forwarding • Anotherimportant issue in multicasting is the decision a router needs to make to forward a multicast packet. Forwarding in unicast and multicast communication is different. 22.17
  • 18.
    21.18 Forwarding depends onthe destination and the source
  • 19.
    IGMP Messages • Thereare only two types of messages in IGMP, query and report messages. • A query message is periodically sent by a router to all hosts attached to it to ask them to report their interests about membership in groups. • A report message is sent by a host as a response to a query message. • IGMP operation: 22.19
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    ICMPv6 • Another protocolthat has been modified in version 6 of the TCP/IP protocol suite is ICMP. • This new version, ICMPv6, follows the same strategy and purposes of version 4. • ICMPv6, however, is more complicated than ICMPv4: o some protocols that were independent in version 4 are now part of ICMPv6 and o some new messages have been added to make it more useful. 22.24
  • 25.
    22.25 Comparison of networklayer in version 4 and version 6
  • 26.
  • 27.
    Error-Reporting Messages • Aswe saw in our discussion of version 4, one of the main responsibilities of ICMPv6 is to report errors. • Five types of errors are handled: destination unreachable, packet too big, time exceeded, parameter problems, and redirection. • Note that the source-quench message, which is used to control congestion in version 4, is eliminated in this version because the priority and flow label fields in IPv6 are supposed to take care of congestion. • Also, packet too big, is added in this version. 22.27
  • 28.
    21.28 Comparison of error-reportingmessages in ICMPv4 and ICMPv6
  • 29.
    Informational Messages • Twoof the ICMPv6 messages can be categorized as informational messages: echo request and echo reply messages. • The echo-request and echo-reply messages are designed to check whether two devices in the Internet can communicate with each other. • A host or router can send an echo-request message to another host; the receiving computer or router can reply using the echo-reply message. 22.29
  • 30.
    Neighbor-Discovery Messages • Severalmessages in ICMPv4 have been redefined in ICMPv6 to handle the issue of neighbor discovery. • Some new messages have also been added to provide extension. • The most important issue is the definition of two new protocols that clearly define the functionality of these group messages: o the Neighbor-Discovery (ND) protocol and o the Inverse-Neighbor-Discovery (IND) protocol. 22.30
  • 31.
    Group Membership Messages •The management of multicast delivery handling in IPv4 is given to the IGMPv3 protocol. In IPv6, this responsibility is given to the Multicast Listener Delivery protocol. MLDv1 is the counterpart to IGMPv2; MLDv2 is the counterpart to IGMPv3. • The idea is the same as discussed in IGMPv3, but the sizes and formats of the messages have been changed to fit the larger multicast address size in IPv6. • Like IGMPv3, MLDv2 has two types of messages: membership-query message and membership-report message. 22.31
  • 32.
    21.32 Comparison of querymessages in ICMPv4 and ICMPv6