IP Broadcast & Multicast

 

3 kinds of IP addresses

- Unicast

- Broadcast

- Multicast

 

TCP=connection-oriented = one host IP to one host IP = broadcast or multicast does not apply to TCP

 

Only applies to UDP

 

ARP & RARP also use broadcasts

What is the difference?

 

Unicast--To only one IP -->To only one NIC

 

Packet filtering on Multicast and broadcast messages

 

(1) NIC filtering

 

-NIC sees every frame and filters and passes only error-free frames addressed to it or multicasted or broadcased frames

 

- A NIC can be forced into “promiscuous mode” to receive all frames on the net--Network Analyzers(e.g. Sniffer) work in this mode to capture all packets and analyze them for trouble shooting a network.

 

- Most NICs can also be configured to receive multicast or broadcast

 

- On Ethernet,  multicast(=IP multicast--there is no Ethernet(link level) multicast) is recognized by hardware address 01:00:00:00:00:00

 

- Ethernet broadcast address is ff:ff:ff:ff:ff:ff -- Where are the Ethernet broadcasts used?

 

(2) Device Driver filtering

- The frame type must belong to a protocol that is supported(IP, ARP, RARP)

 

- Multicast filtering--Do I belong to the multicast group?

 

(3) IP Layer filtering

- Filters based on source & destination address(unicast or multicast) and also based on Protocol field(IP, ICMP, UDP, TCP, …)

 

- Passes to higher layer(TCP or UDP, …)

 

(4) UDP filtering(TCP is similar)

- Filters based on Destination port number--if no process is currently attached to the number, then generate ICMP port unreachable message

 

- Also checks UDP header checksum--if error, then “silently discard”  the packet

 

Broadcasting

- 4 kinds

            Limited,

            Net-directed,

            Subnet-directed,

            All-subnets-directed

 

(1) Limited Broadcast

- Broadcasted only to the local cable(local subnet)

 

- Address is 255.255.255.255

 

- Never forwarded by routers

           

- Try “ping 255.255.255.255”

           

(2) Net-directed Broadcast

- Broadcast to entire network(for a given class of network)

- Address = all 1’s on hostid

 

- ex. Class B net-directed address = 132.241.255.255

 

- Try “ping 132.241.255.255”

 

- A router will forward it if the service is enabled--usually turned off

 

(3) Subnet-directed Broadcast

- Address= all 1’s on hostid

 

- Broadcasts to a subnet within a given class network

 

- Ex. Try “ping 132.241.3.255”

(One way to find out how many stations are attached to a subnet(and their IP addresses))

 

(4) All-subnets-directed Broadcast

- Broadcasts to all subnets within a network

 

- Both subnetid and hostid should be all 1’s

 

- Ex. To broadcast to all subnets within IBM Networks Lab(132.241.158.0)

ping 132.241.158.255

But this service is often disabled on routers

 

Multicasting

Provides 2 services

1. Delivery of packets to multiple destinations(to a group)--Interactive conferencing or News to multiple recipients, ….

2. Solicitation of servers by clients--ex. a diskless workstation locates a bootstrap server

 

Multicast Group Address

Class D  1110 + Group ID(28 bits)

 

Assigned by IANA(Internet Assigned Numbers Authority)

 

Range--224.0.0.0 to 239.255.255.255

 

Well-known numbers:

224.0.0.1= “all systems on this subnet”

224.0.1.1=Network Time Protocol

List of assigned numbers is available on most recent Assigned Numbers RFC (RFC 1340)

 

IGMP(Internet Group Management Protocol)

A network layer protocol designed for Multicasting-- http://www.csl.sony.co.jp/cgi-bin/hyperrfc?rfc1301.txt

Type of messages

                       

                                    Report

------------------------------>

 Host                                                               Router

                        <----------------------------   

                                    Query

 

Operation of IGMP on a single network

 

--------------------------------------------------------------------- Multicast Router

            |           |                       |                       |           List of group addresses:

            |           |                       |                       |           225.70.8.20,

        Host     Host                 Host                Host           231.24.60.9,

                                                                                    …….

 

Joining a group--When a host(a process on a host) wants to join a group, it sends a Report message(with Group address in the message) to the Multicast router--Router remembers the group address

 

Monitoring Group Membership--A multicast router is responsible for monitoring all of the hosts in a LAN to see if they want to continue their membership in a group. The router periodically sends a Query to the multicast address 224.0.0.0(all systems on a LAN) and expects an answer for each group(only one host needs to respond). A group is discarded if there is no response.

 

Leaving a group--A host is not interested in a group anymore, it simply does not respond to the Query from the router--The group will be dropped by the router

 

When a message is sent(by a member host), the multicast router will encapsulate the packet in a frame with Physical Multicast Address(Ethernet has a block of preassigned multicast addresses). All the hosts belonging to the group will receive the message.

 

Operation of IGMP in an Internet

 

Suppose we have the following setup:

 

R1 ------------ R2 ------------ R3

 

R1 receives a Report of a multicast group, R1 enters the group address.

R1 sends(acting as a host) a Report to R2 to register the multicast group, R2 remembers the group address.

When a host on R1 network sends a multicast message, R1 forwards the message to its subnet as above and also forwards the message to R2.

R2 forwards the message to R3 if R3’s hosts joined to the particular group beforehand.