TCP/IP Protocol Suite 1 Chapter 10 Upon completion you will be able to: Internet Group Management Protocol Know the purpose of IGMP Know the types of IGMP.

Slides:



Advertisements
Similar presentations
1April 16, 2002 Layer 3 Multicast Addressing IP group addresses – “Class D” addresses = high order bits of “1110” Special reserved.
Advertisements

,< 資 管 Lee 附錄 A0 IGMP vs Multicast Listener Discovery.
Computer Networks21-1 Chapter 21. Network Layer: Address Mapping, Error Reporting, and Multicasting 21.1 Address Mapping 21.2 ICMP 21.3 IGMP 21.4 ICMPv6.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 13 Introduction to the Transport.
UNIT 07 Process – to – Process Delivery: UDP,TCP and SCTP
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 8 Address Resolution Protocol.
TCP/IP Protocol Suite 1 Chapter 7 Upon completion you will be able to: ARP and RARP Understand the need for ARP Understand the cases in which ARP is used.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public BSCI Module 7 Lesson 2 1 IP Multicasting: IGMP and Layer 2 Issues.
Chapter 14 User Datagram Program (UDP)
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
Ch 23 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007 Ameera Almasoud.
TCP/IP Protocol Suite 1 Chapter 6 Upon completion you will be able to: Delivery, Forwarding, and Routing of IP Packets Understand the different types of.
Process-to-Process Delivery:
Process-to-Process Delivery:
TCP/IP Protocol Suite 1 Chapter 6 Upon completion you will be able to: Delivery, Forwarding, and Routing of IP Packets Understand the different types of.
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
Covering ICMP (Ch 9) and IGMP (Section 12.3)
Chapter 11 User Datagram Protocol (UDP)
Hyung-Min Lee©Networking Lab., 2001 Chapter 11 User Datagram Protocol (UDP)
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 9 Internet Group Management Protocol (IGMP)
TCP/IP Essentials A Lab-Based Approach Shivendra Panwar, Shiwen Mao Jeong-dong Ryoo, and Yihan Li Chapter 5 UDP and Its Applications.
1 CMPT 471 Networking II IGMP (IPv4) and MLD (IPv6) © Janice Regan,
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Dr. John P. Abraham Professor UTPA
23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
TCP/IP Protocol Suite 1 Chapter 8 Upon completion you will be able to: Internet Protocol Understand the format and fields of a datagram Understand the.
TCP/IP Protocol Suite 1 Chapter 10 Upon completion you will be able to: Internet Group Management Protocol Know the purpose of IGMP Know the types of IGMP.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 8 Address Resolution Protocol.
Institute of Technology Sligo - Dept of Computing Chapter 12 The Transport Layer.
TCP/IP Protocol Suite 1 Chapter 8 Upon completion you will be able to: Internet Protocol Understand the format and fields of a datagram Understand the.
1 Kyung Hee University Chapter 8 ARP(Address Resolution Protocol)
Information and Communication engineering (ICE) MUT ITEC4610 Network Switching and Routing ดร. ประวิทย์ ชุมชู หัวหน้าสาขาวิชาวิศวกรรมสารสนเทศและการสื่อสาร.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 10 Internet Group Management Protocol (IGMP)
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Network Layer: Address Mapping, Error Reporting, and Multicasting
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 11 User Datagram Protocol (UDP)
1 Kyung Hee University Chapter 11 User Datagram Protocol.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Chapter 14 User Datagram Protocol (UDP) Introduction  Responsibilities of Transport Layer to create a process-to-process communication l using.
Network Layer Protocols COMP 3270 Computer Networks Computing Science Thompson Rivers University.
Process-to-Process Delivery:
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
Chapter 11 User Datagram Protocol
ICMP The IP provides unreliable and connectionless datagram delivery. The IP protocol has no error-reporting or error-correcting mechanism. The IP protocol.
Chapter 8 ARP(Address Resolution Protocol)
Process-to-Process Delivery, TCP and UDP protocols
ARP and RARP Objectives Chapter 7 Upon completion you will be able to:
Chapter 14 User Datagram Program (UDP)
TCP Transport layer Er. Vikram Dhiman LPU.
User Datagram Protocol (UDP)
Chapter 14 User Datagram Protocol (UDP)
Dr. John P. Abraham Professor UTPA
Process-to-Process Delivery:
Dr. John P. Abraham Professor UTRGV, EDINBURG, TX
Chapter 10 IGMP Prof. Choong Seon HONG.
Dr. John P. Abraham Professor UTPA
1 ADDRESS RESOLUTION PROTOCOL (ARP) & REVERSE ADDRESS RESOLUTION PROTOCOL ( RARP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University,
Chapter 14 User Datagram Program (UDP)
Internet Control Message Protocol
Process-to-Process Delivery: UDP, TCP
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

TCP/IP Protocol Suite 1 Chapter 10 Upon completion you will be able to: Internet Group Management Protocol Know the purpose of IGMP Know the types of IGMP messages Understand how a member joins a group and leaves a group Understand membership monitoring Understand how an IGMP message is encapsulated Understand the interactions of the modules of an IGMP package Objectives

TCP/IP Protocol Suite 2 Figure 10.1 Position of IGMP in the network layer

TCP/IP Protocol Suite 3 Unicast Traffic Unicast applications send one copy of each packet to every client unicast address

TCP/IP Protocol Suite 4 Unicast Traffic

TCP/IP Protocol Suite 5 Unicast Traffic

TCP/IP Protocol Suite 6 Broadcast Traffic Hosts not using a multimedia application must still process the broadcast traffic

TCP/IP Protocol Suite 7 Multicast Traffic A multicast server sends out a single data stream to multiple clients using a special multicast address.

TCP/IP Protocol Suite 8 \IP Multicast Characteristics Transmits to a host group Delivers with “best effort” reliability Supports dynamic membership Supports diverse numbers and locations Supports membership in more than one group

TCP/IP Protocol Suite 9 IP Multicast Group Membership

TCP/IP Protocol Suite 10 Group Membership Multicast uses query and report messages to establish and maintain group membership

TCP/IP Protocol Suite 11 IGMP: Internet Group Management Protocol How hosts tell routers about group membership Routers solicit group membership from directly connected hosts RFC 1112 specifies first version of IGMP RFC 2236 specifies version 2 of IGMP RFC 3376 specifies version 3 of IGMP Supported on UNIX systems, PCs, and MACs IGMP messages not forwarded by routers IGMP is a group management protocol. It helps a multicast router create and update a list of loyal members related to each router interface.

TCP/IP Protocol Suite 12 IGMPv1 RFC 1112— “Host extensions for IP Multicasting” – Membership Queries Querier sends IGMP query messages to with ttl = 1, determining what group addresses have members on that subnet One router on LAN is designated/elected to send queries, but all routers listen to the replies/reports Query interval 60–120 seconds – Membership Reports IGMP report sent by one host suppresses sending by others; sending based on random timer per group Restrict to one report per group per LAN Unsolicited reports sent by host, when it first joins the group

TCP/IP Protocol Suite 13 IGMPv1—Packet Format

TCP/IP Protocol Suite 14 IGMPv1—Joining a Group Joining member sends report to immediately upon joining

TCP/IP Protocol Suite 15 IGMPv1—General Queries General Query to IGMPv1 Multicast Router H3H1H2 The router periodically sends general queries to to determine memberships

TCP/IP Protocol Suite 16 IGMPv1—Maintaining a Group IGMPv #2 X #3 H3H1H2 Query to #1 Report Suppressed#1 Router sends periodic queries #2 One member per group per subnet report #3 Other members suppress reports

TCP/IP Protocol Suite 17 IGMPv1—Leaving a Group Router sends periodic queries Hosts silently leave group Router continues sending periodic queries No reports for group received by router Group times out

TCP/IP Protocol Suite 18 IGMPv2 RFC 2236 –Leave Group message –Host sends leave message if it leaves the group and is the last member (reduces leave latency in comparison to v1); sent to (all routers) – Group-specific query –After Host sends Leave Group message, Router sends Group- specific queries to make sure there are no members present before stopping to forward data for the group for that subnet

TCP/IP Protocol Suite 19 IGMPv2 – Querier election mechanism On multiaccess networks, an IGMP Querier router is elected based on lowest IP address. Only the Querier router sends Querys. – Query-Interval Response Time General Queries specify “Max. Response Time” which inform hosts of the maximum time within which a host must respond to General Query. (Improves burstiness of the responses.) – Backward compatible with IGMPv1

TCP/IP Protocol Suite 20 IGMPv2—Joining a Group Report H RTR141 H3 H2 Joining member sends report to immediately upon joining (same as IGMPv1)

TCP/IP Protocol Suite 21 Figure 10.5 Membership report In IGMPv2, a membership report is sent twice, one after the other. If first one is lost or damage, the second one replaces it.

TCP/IP Protocol Suite 22 IGMPv2—Querier Election IGMPv2 H1 H2H3 Query IGMP Querier IGMP Non-Querier Intially all routers send out a query Router with lowest IP address “elected” querier Other routers become non-queriers

TCP/IP Protocol Suite 23 IGMPv2—Maintaining a Group Query IGMPv Report Suppressed X H2 H H1 Router sends periodic queries One member per group per subnet report (delayed response : 1 – 10 s) Other members suppress reports The general query message does not define a particular group.

TCP/IP Protocol Suite 24 Figure 10.7 General query message

TCP/IP Protocol Suite 25 IGMPv2—Leaving a Group H1 H2 H3 H2 Leave to #1 Group Specific Query to #2 Report to #3 RTR H2 leaves group; sends leave message Router sends group-specific query A remaining member host sends report; group remains active#1 #2 #3

TCP/IP Protocol Suite 26 IGMPv2—Leaving a Group (Cont.) Last host leaves group; sends Leave message H1 H3 Leave to #1 Router sends group-specific query; Group-specific Query to #2 no report is received, group times out H2#1 #2 RTR

TCP/IP Protocol Suite 27 Figure 10.6 Leave report

TCP/IP Protocol Suite 28 Figure 10.2 IGMP message types

TCP/IP Protocol Suite 29 IGMPv2—Packet Format Multiple message types Max. Resp. Time – Max. time before sending a responding report in 1/10 secs (default = 10 secs) Group Address: – Multicast group address ( for general queries)

TCP/IP Protocol Suite 30 Table 10.1 IGMP type field

TCP/IP Protocol Suite 31 Imagine there are three hosts in a network as shown in Figure Example 1 A query message was received at time 0; the random delay time (in tenths of seconds) for each group is shown next to the group address. Show the sequence of report messages.

TCP/IP Protocol Suite 32 Solution The events occur in this sequence: Example 1 (Continued) a. Time 12: The timer for in host A expires and a membership report is sent, which is received by the router and every host including host B which cancels its timer for b. Time 30: The timer for in host A expires and a membership report is sent, which is received by the router and every host including host C which cancels its timer for c. Time 50: The timer for in host B expires and a membership report is sent, which is received by the router and every host. d. Time 70: The timer for in host C expires and a membership report is sent, which is received by the router and every host including host A which cancels its timer for

TCP/IP Protocol Suite ENCAPSULATION The IGMP message is encapsulated in an IP datagram, which is itself encapsulated in a frame. The topics discussed in this section include: IP Layer Data Link Layer Netstat Utility

TCP/IP Protocol Suite 34 Figure 10.9 Encapsulation of IGMP packet

TCP/IP Protocol Suite 35 The IP packet that carries an IGMP packet has a value of 2 in its protocol field. Note: The IP packet that carries an IGMP packet has a value of 1 in its TTL field.

TCP/IP Protocol Suite 36 Multicast IP Address Structure A Class D address consists of 1110 as the high-order bits in the first octet, followed by a 28-bit group address. Class D addresses range from through The high-order bits in the first octet identify this 224-base address.

TCP/IP Protocol Suite 37 Table 10.2 Destination IP addresses

TCP/IP Protocol Suite 38 Figure Mapping class D to Ethernet physical address

TCP/IP Protocol Suite 39 Figure Mapping class D to Ethernet physical address : Example 1

TCP/IP Protocol Suite 40 Figure Mapping class D to Ethernet physical address : Example 2

TCP/IP Protocol Suite 41 An Ethernet multicast physical address is in the range 01:00:5E:00:00:00 to 01:00:5E:7F:FF:FF. Note:

TCP/IP Protocol Suite 42 Change the multicast IP address to an Ethernet multicast physical Example 2 Solution We can do this in two steps: a. We write the rightmost 23 bits of the IP address in hexadecimal. This can be done by changing the rightmost 3 bytes to hexadecimal and then subtracting 8 from the leftmost digit if it is greater than or equal to 8. In our example, the result is 2B:0E:07. b. We add the result of part a to the starting Ethernet multicast address, which is (01:00:5E:00:00:00). The result is 01:00:5E:2B:0E:07

TCP/IP Protocol Suite 43 Change the multicast IP address to an Ethernet multicast address. Example 3 Solution a. The right-most three bytes in hexadecimal are D4:18:09. We need to subtract 8 from the leftmost digit, resulting in 54:18:09.. b. We add the result of part a to the Ethernet multicast starting address. The result is 01:00:5E:54:18:09

TCP/IP Protocol Suite 44 Multicast Tunneling Problem Not all routers are multicast capable Want to connect domains with non-multicast routers between them Solution Encapsulate multicast packets in unicast packet Tunnel multicast traffic across non-multicast routers Internet MBONE Multicast capable virtual subnet of Internet Native multicast regions connection with tunnels

TCP/IP Protocol Suite 45 Figure Tunneling

TCP/IP Protocol Suite 46 Figure Tunneling UR1UR2 Multicast Router 1 Multicast Router 2 Sender 1 Encapsulated Data Packet Unicast Routers Multicast Router 1 encapsulates multicast packets for groups that have receivers outside of network 1. It encapsulates them as unicast IP- in-IP packets. Network 1 Receiver Network 2 Multicast Router 2 decapsulates IP- in-IP packets. It then forwards them using Reverse Path Multicast.

TCP/IP Protocol Suite 47 Mbone (1994) Experimental Multicast Backbone on the Internet Based on the virtual connection between multicast routers

TCP/IP Protocol Suite 48 Mbone (1996)

TCP/IP Protocol Suite 49 We use netstat with three options, -n, -r, and -a. The -n option gives the numeric versions of IP addresses, the -r option gives the routing table, and the -a option gives all addresses (unicast and multicast). Note that we show only the fields relative to our discussion. Example 4 $ netstat -nra Kernel IP routing table Destination Gateway Mask Flags Iface U eth U eth U lo U eth UG eth0 Any packet with a multicast address from to is masked and delivered to the Ethernet interface.

TCP/IP Protocol Suite 50 Result of route print in Windows XP. Example 4

TCP/IP Protocol Suite IGMP PACKAGE We can show how IGMP can handle the sending and receiving of IGMP packets through our simplified version of an IGMP package. In our design an IGMP package involves a group table, a set of timers, and four software modules. The topics discussed in this section include: Group Table Timers Group-Joining Module Group-Leaving Module Input Module Output Module

TCP/IP Protocol Suite 52 Figure IGMP package

TCP/IP Protocol Suite 53 Figure Group table

TCP/IP Protocol Suite 54 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know the format of a UDP user datagram Be able to calculate a UDP checksum Understand the operation of UDP Know when it is appropriate to use UDP Understand the modules in a UDP package Objectives

TCP/IP Protocol Suite 55 Figure 11.1 Position of UDP in the TCP/IP protocol suite

TCP/IP Protocol Suite 56 User Datagram Protocol UDP is supports unreliable transmissions of datagrams UDP merely extends the host-to-to-host delivery service of IP datagram to an application-to-application service The only thing that UDP adds is multiplexing and demultiplexing

TCP/IP Protocol Suite PROCESS-TO-PROCESS COMMUNICATION Before we examine UDP, we must first understand host-to-host communication and process-to-process communication and the difference between them. The topics discussed in this section include: Port Numbers Socket Addresses

TCP/IP Protocol Suite 58 Figure 11.2 UDP versus IP

TCP/IP Protocol Suite 59 Figure 11.3 Port numbers

TCP/IP Protocol Suite 60 Figure 11.4 IP addresses versus port numbers

TCP/IP Protocol Suite 61 Figure 11.5 ICANN ranges The well-known port numbers are less than 1024.

TCP/IP Protocol Suite 62 Table 11.1 Well-known ports used with UDP

TCP/IP Protocol Suite 63 In UNIX, the well-known ports are stored in a file called /etc/services. Each line in this file gives the name of the server and the well-known port number. We can use the grep utility to extract the line corresponding to the desired application. The following shows the port for TFTP. Note TFTP can use port 69 on either UDP or TCP. Example 1 See Next Slide $ grep tftp /etc/services tftp 69/tcp tftp 69/udp

TCP/IP Protocol Suite 64 SNMP uses two port numbers (161 and 162), each for a different purpose, as we will see in Chapter 21. Example 1 (Continued) $ grep snmp /etc/services snmp 161/tcp #Simple Net Mgmt Proto snmp 161/udp #Simple Net Mgmt Proto snmptrap 162/udp #Traps for SNMP Windows : system_path\windows\system32\drivers\etc\services

TCP/IP Protocol Suite 65 Figure 11.6 Socket address

TCP/IP Protocol Suite USER DATAGRAM UDP packets are called user datagrams and have a fixed-size header of 8 bytes.

TCP/IP Protocol Suite 67 Figure 11.7 User datagram format UDP length = IP length − IP header’s length

TCP/IP Protocol Suite CHECKSUM UDP checksum calculation is different from the one for IP and ICMP. Here the checksum includes three sections: a pseudoheader, the UDP header, and the data coming from the application layer. The topics discussed in this section include: Checksum Calculation at Sender Checksum Calculation at Receiver Optional Use of the Checksum

TCP/IP Protocol Suite 69 Figure 11.8 Pseudoheader for checksum calculation

TCP/IP Protocol Suite 70 Figure 11.9 Checksum calculation of a simple UDP user datagram

TCP/IP Protocol Suite UDP OPERATION UDP uses concepts common to the transport layer. These concepts will be discussed here briefly, and then expanded in the next chapter on the TCP protocol. The topics discussed in this section include: Connectionless Services Flow and Error Control Encapsulation and Decapsulation Queuing Multiplexing and Demultiplexing

TCP/IP Protocol Suite 72 Figure Encapsulation and decapsulation

TCP/IP Protocol Suite 73 Figure Queues in UDP

TCP/IP Protocol Suite 74 Figure Multiplexing and demultiplexing

TCP/IP Protocol Suite USE OF UDP We discuss some uses of the UDP protocol in this section.

TCP/IP Protocol Suite UDP PACKAGE To show how UDP handles the sending and receiving of UDP packets, we present a simple version of the UDP package. The UDP package involves five components: a control-block table, input queues, a control-block module, an input module, and an output module. The topics discussed in this section include: Control-Block Table Input Queues Control-Block Module Input Module Output Module

TCP/IP Protocol Suite 77 Figure UDP design

TCP/IP Protocol Suite 78 Table 11.2 The control-block table at the beginning of examples

TCP/IP Protocol Suite 79 The first activity is the arrival of a user datagram with destination port number 52,012. The input module searches for this port number and finds it. Queue number 38 has been assigned to this port, which means that the port has been previously used. The input module sends the data to queue 38. The control-block table does not change. Example 2

TCP/IP Protocol Suite 80 After a few seconds, a process starts. It asks the operating system for a port number and is granted port number 52,014. Now the process sends its ID (4,978) and the port number to the control-block module to create an entry in the table. The module takes the first FREE entry and inserts the information received. The module does not allocate a queue at this moment because no user datagrams have arrived for this destination (see Table 11.3). Example 3 Table 11.3 Control-block table after Example 3

TCP/IP Protocol Suite 81 A user datagram now arrives for port 52,011. The input module checks the table and finds that no queue has been allocated for this destination since this is the first time a user datagram has arrived for this destination. The module creates a queue and gives it a number (43). See Table Example 4 Table 11.4 Control-block after Example 4

TCP/IP Protocol Suite 82 After a few seconds, a user datagram arrives for port 52,222. The input module checks the table and cannot find an entry for this destination. The user datagram is dropped and a request is made to ICMP to send an “unreachable port” message to the source. Example 5