XCAST6_WhiteBoard
Download
Report
Transcript XCAST6_WhiteBoard
WHITEBOARD: A DISTRIBUTED
APPLICATION OVER XCAST
Justinus Andjarwirawan
[email protected]
Committee:
Prof. Kanchana Kanchanasut
Dr. Yasuo Tsuchimoto
Dr. Sumanta Guha
AI3 research presentation - 2006.04.20
Contents
1. Introduction
• Whiteboard overview and background
• Problem statement
2. Underlying Protocols
3. Implementation
4. Evaluation
5. Conclusion
2
1. Introduction
Whiteboard: a computer software application
that simulates actual whiteboards, allowing one
or more people to write or draw images on a
simulated canvas.
This is a common feature of many virtual meeting, collaboration,
and instant messaging applications.
(from: wikipedia)
3
Existing Whiteboards
MSN Messenger
Whiteboard
Coccinella
MBONE Whiteboard
4
Methods used by existing Whiteboards
The two methods widely used by those existing
whiteboards:
•Unicast: information is sent from one point to another point.
A whiteboard having many destinations means sending
multiple similar packets!
•Multicast: information is sent from one point to a set of
other points (one packet sent to a group of destinations at
one time), but with the need of additional routing protocols
(an overhead).
5
Problem Statement
• Whiteboards normally involved a small number of
users, hence Multicast will be wasteful.
What to do with this problem:
• Develop a whiteboard over an alternative protocol
6
What Network Protocol to Use?
Based on the problem statement:
•Unicast is wasteful for numbers of users because it is
sending similar packets to multiple destinations.
•Multicast is wasteful for small groups communication
because of the routing mechanism.
Another protocol that may solve this? XCAST
7
XCAST
XCAST (eXplicit Unicast): a multi-destination delivery
system in the network. Information is sent from one
point to a set of other points, with multiple destination
addresses in each single packet.
(a regular IP packet contains only one source address
and one destination address)
8
Why XCAST?
1. XCAST works on routers with existing Unicast
routing information. There is no need for additional
routing protocol like Multicast which can lead to a
delivery time overhead.
2. Participants are unique and identified clearly by
individual IP addresses, therefore individual access
lists, policies and accounting can be implemented.
9
But …
XCAST has some disadvantages and limitations:
•Overhead in packet header size, because of the multidestination entries
•More header processing on the fly
•Limited number of destinations (logically maximum 9
for IPv4, 127 for IPv6)
•XCAST packets cannot be fragmented into smaller
MTUs (Maximum Transmission Units).
10
XCAST6 Limitations
• XCAST packets cannot be fragmented, meaning
each packet must not exceed MTU (Maximum
Transmission Unit) size.
• MTU = the largest possible packet size that a
network can transmit at a time (in this case Ethernet
= 1500 bytes). If exceeds then MTU on the network
will divide into smaller packets. But this is not
possible for XCAST because of its header structure.
11
XCAST Packet
MTU 1500 bytes
40
bytes
header
header
dest. add.
dest. add.
data
data
The more # of destinations the less data space
12
What to do with MTU limit
• Total size of maximum 1500 includes: XCAST packet
header, destination addresses in the extension
header and data payload.
• Longer data payload is split into smaller chunks at
the application level implementation, before forming
to packets.
• Small chunks’ size must also reserve space for
destination addresses.
13
2. Implementation
• The latest version of MBONE’s Multicast whiteboard
program has many bugs and the libraries used in the
source code are outdated. Originally works on IPv4.
• The implementation of XCAST Whiteboard still follow
the MBONE’s whiteboard mechanisms and routines.
• Development under C language. Operating system:
Linux
14
The Program’s Flow
incoming draw
commands from
remote users
receiving socket
(listening)
The Network
(LAN / Internet)
canvas drawing
outgoing draw
commands to
remote users
sending socket
15
Combining Tcl/Tk and C
Tcl/Tk canvas
code
(Tcl/Tk script)
XCAST6 socket
(C code)
single C code
C compiler
XCAST6 whiteboard
executable binary
xwbd.c & xwbd.h
gcc –o xwbd xwbd.c
./xwbd
16
Whiteboard Data Format
whiteboard command
ID - sequence number
timestamp
17
Whiteboard tools & canvas
18
Whiteboard in action
19
20
3. Evaluation
1. Distinguish response time of XCAST6
Whiteboard and MBONE Multicast Whiteboard
2. Router’s forwarding time between XCAST6 and
Multicast
3. Bandwidth consumption
21
Evaluation Process
• Design a network for the test.
• Collect byte sizes of all whiteboard commands.
• Determine maximum number of destinations.
• RTT (Round Trip Time) method to obtain response
time between sender and receiver(s).
• Obtain router’s forwarding time with Ethereal
• Bandwidth measurement
22
Network for the Test
SUBNET 1
ROUTER 1
ROUTER 2
SUBNET 2
SUBNET 4
SUBNET 3
23
Data Sizes of Whiteboard Commands
Commands
Sizes
Line
51 – 66 bytes
Arrow
95 – 98 bytes
Rectangle
66 – 67 bytes
Oval
66 – 67 bytes
Delete
18 – 19 bytes
Move
22 – 23 bytes
Fill
33 – 35 bytes
24
Possible number of destinations
MTU 1500 bytes
40
bytes
header
destination addresses
95 bytes data
Up to 78 destination addresses
In this remaining space
25
Response Time
• Response time = the time taken by a sender to send a
whiteboard command to a receiver.
• Previously NTP (Network Time Protocol) method was
used but it did not give good accuracy as response
time in the testbed is in a matter of milliseconds.
• RTT (Round Trip Time) value divided by 2 is the best
known value for the response time assuming the
symmetric route path.
26
Average Response Time
average response time (ms.)
9
8
7
6
5
XCAST6
4
Multicast
3
2
1
0
1
5 10 15 20 25 30 35 40 45 50 55 60 65 70
number of destinations
27
Router’s forwarding time
Running two instances of
Ethereal to monitor eth0
and eth1
eth0
eth1
Forward time = teth1 – teth0
28
Router’s Forwarding Time
router forwarding time
(microseconds)
90
80
70
60
50
XCAST6
40
Multicast
30
20
10
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
number of destinations
29
Bandwidth Consumption
12
bandwidth (kbps)
10
8
XCAST6
6
Multicast
4
2
0
1 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75
number of destinations
30
Conclusion
1. XCAST6 whiteboard is effective for a group of 20 or less in
terms of response time, regardless the amount of bandwidth.
An XCAST6 group of 5 or less will consume less bandwidth
than Multicast.
2. Router’s forwarding time between XCAST6 and Multicast
differs by microseconds. No significant overhead cost
difference in the router.
3. Whiteboard packets are infrequently transmitted. A more
frequent transmission of XCAST6 applications such as video
and audio stream may show significant difference.
31
Thank You
Q&A
32