A look at IP-multicasting - PowerPoint PPT Presentation

About This Presentation
Title:

A look at IP-multicasting

Description:

The remaining 28-bits of an IP multicast address are used to identify the 'group' ... With IP-broadcasting, a datagram whose destination-address is equal ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 13
Provided by: cru6
Learn more at: https://www.cs.usfca.edu
Category:
Tags: address | current | ip | is | look | multicasting | my | what

less

Transcript and Presenter's Notes

Title: A look at IP-multicasting


1
A look at IP-multicasting
  • We propose a programming project to acquaint
    ourselves with TCP/IP multicast capabilities

2
Multicast IP addresses
32-bits
Address Range
Class A address
0
0.0.0.0 - 127.255.255.255
Class B address
1
0
128.0.0.0 - 191.255.255.255
Class C address
1
1
0
192.0.0.0 - 223.255.255.255
MULTICAST address
1
1
0
1
224.0.0.0 - 239.255.255.255
Reserved
1
1
0
1
1
240.0.0.0 - 247.255.255.255
The range of IPv4 Network-Layer Addresses is
subdivided into classes based on the
high-order bits in these 32-bit addresses, with
those which begin with 1110 (the Class D
addresses) being allocated to multicasting
3
Multicast Groups
  • The remaining 28-bits of an IP multicast address
    are used to identify the group that a datagram
    should be delivered to
  • There are some special multicast groups whose
    addresses you should avoid using
  • 224.0.0.1 (the all-hosts group)
  • 224.0.0.2 (the all-routers group)
  • 224.0.0.3 (address-purpose is unassigned)
  • 224.0.0.x (for local administration purpose)

4
Our multicast group
  • Multicast applications should not use any
    multicast-addresses in the special range (i.e.,
    224.0.0.0 224.0.0.255) designated for use by
    utilities devoted to maintenance and
    administration of the local network
  • So our example-programs define a group whose
    IP-address lies outside this range, namely
    224.3.3.6 (easily remembered?)

5
The multicast concept
Host A
Host B
Host C
Host D
Host E
Local Area Network
With IP-broadcasting, a datagram whose
destination-address is equal to 255.255.255.255
will be received by every host on the local
network
Host A
Host B
Host C
Host D
Host E
Local Area Network
With IP-multicasting, a datagram whose
destination-address is equal to 224.3.3.6 would
be received only by those hosts on the local
network that have chosen to become members of
this specific multicast-group
6
Routers
Host A
Host I
Modern routers do not forward broadcast
datagrams, but they can be configured to
forward any multicast datagrams
Host B
Host J
Host C
Host K
Host D
Host L
Router X
Router Y
Host E
Host M
Host F
Host N
Host G
Host O
Host H
Host P
(Older routers can use tunneling)
7
The socket API
  • Programming languages that support the sockets
    interface can allow you to write
    client-and-server multicast applications

server
client
client
client
client
But obviously the TCP connection-based protocol
is NOT used in multicasting!
8
A Python example
  • We put up a very simple client-and-server
    multicast application on our class website,
    written in Python (for brevity)
  • multisend.py (the server program)
  • multirecv.py (the client program)
  • The server just sends a Hello message to
    current group-members once each second
  • The client can be run on multiple hosts

9
Project 2
  • Write a multicast server-program (named
    deadline.cpp) that periodically sends out
    reminder-messages about upcoming due-dates for
    course-assignments or exams
  • Write the multicast client-program (named
    timeleft.cpp) that a student who desires to
    receive reminders can use to join the servers
    multicast-group

10
The C versions
  • Your programs are required to be written in the
    C language, so we have put the rewritten
    versions of our multisend and multirecv
    application-programs on the class website as
    demonstration examples

11
Organization
multirecv.cpp
socket()
setsockopt( REUSEADDR )
multisend.cpp
socket()
bind()
setsockopt( ADDMEMBERSHIP )
sleep( 1 )
sendto()
recv()
puts()
12
Unique group-address
  • For developing your own application, you will be
    sharing our local USF networks as the hardware
    testbed for your C code
  • Youll be annoyed if everyones messages arrive
    and get displayed on your screen!
  • So we need a different IP-multicast group address
    for each classmember

224.3.36.xxx
xxx equals 100 plus your number on the
Instructors class-list (you can find it
handwritten on your Midterm Exam)
Write a Comment
User Comments (0)
About PowerShow.com