Which of the following is correct?(Mark all the appropriate choices)
- Internet Control Message Protocol (ICMP) can operate between host to host or host to router or router to router.
- ICMP is a data-link layer (or) layer-$2$ protocol.
- Internet group message protocol (IGMP) can be used between client and multicast router.
- IGMP is a network layer (or) layer -$3$ protocol.