One document matched: draft-jeong-umr-manet-00.txt-28039.txt
INTERNET DRAFT Jae-Hoon Jeong
Expires: July 2002 Jung-Soo Park
ETRI
June, 2002
Unicast Routing based Multicast Routing Protocol
for Mobile Ad Hoc Networks (UMR)
<draft-jeong-umr-manet-00.txt>
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026 except that the right to
produce derivative works is not granted.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in
progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This document describes a protocol for multicast in mobile ad-hoc
networks - named Unicast Routing based Multicast Routing Protocol
for Mobile Ad Hoc Networks (UMR). The protocol uses a new scheme
for mobile ad-hoc network that has dynamic topology without
managing multicast tree and depending on simple flooding. It is the
multicast routing protocol that works in use of unicast routing
protocol. Any ad-hoc unicast routing protocol can be used.
Table of Contents
Jeong, Park Expires November 2002 [Page 1]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
Status of this Memo
Abstract
1. Introduction
2. Assumptions
3. Terminology
4. UMR Overview
5. Encoding of UMR header
5.1 UMR header
5.2 UMR Messages
6. Protocol Operations
6.1 Registration of Multicast Group Member
6.2 Registration of Multicast Group Source
6.3 Leave of Multicast Group Member
6.4 Leave of Multicast Group Source
7. Implementation Considerations
8. IANA Considerations
9. Security Considerations
10. References
Authors' Addresses
1. Introduction
UMR, the protocol specified in this document is designed to provide
multicast functionality without managing multicast tree and with
the minimum control information and the routing information
provided by ad-hoc unicast routing in mobile ad-hoc networks. It
utilizes the unicast routing to update the information for
multicast routing. Any ad-hoc unicast routing that is based on
table-driven or on-demand method can be used.
It can provide the efficient multicasting in mobile ad-hoc network
that changes its network topology very frequently because of not
using multicast tree and using only unicast routing. It eliminates
the per session signaling and per session state information of
tree-based multicast schemes [MAODV]. It also maximizes the
utilization of bandwidth because it doesn't depend on simple
flooding [SIMPLE]. This allows UMR to support very large numbers of
multicast sessions in ad-hoc network.
It adopts the concept of Xcast and Xcast+ to deliver the multicast
data packet to multicast group members [XCAST, XCAST+].
2. Assumptions
We assume that all mobile nodes wishing to communicate with other
nodes within the mobile ad-hoc network are willing to participate
fully in the protocols of the network. In particular, each node
participating in the network should also be willing to forward
packets for other nodes in the network.
We also assume that all mobile nodes run the same ad-hoc unicast
Jeong, Park Expires November 2002 [Page 2]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
routing as is either table-driven or on-demand.
Packets may be lost or corrupted in transmission on the wireless
network. A node receiving a corrupted packet can detect the error
and discard the packet.
3. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in RFC 2119
[RFC2119]. New terms are defined below:
Mobile Node (MN) The mobile node that is host and plays a
role of router.
Multicast Member The table for multicasting that is used by
Table (MMT) multicast source node per multicast group.
The fields consists of group-member,
next-hop, hop-count and status.
Multicast Source The table for multicasting that is used by
Table (MST) multicast group member node per multicast
group. The fields consists of group-source,
next-hop, hop-count and status.
4. UMR Overview
In the traditional multicast model, Host Group Model, the multicast
packet is identified by a multicast address of all group members.
But, in UMR, the multicast source node keeps track of the
destinations in the multicast group that it wants to send packets
to.
The source node encodes the list of multicast group members in the
UMR header, and then sends an adjacent MN the multicast data
packet. Each intermediate MN that plays a role of router along the
way towards to all the destinations in the list of UMR header
parses the header, partitions the destinations based on each
destination's next hop, and forwards a packet with an appropriate
new UMR header to each of the next hops.
For example, let's assume that multicast source SRC_1 is trying to
send a multicast packet to all the members of multicast group G
that have already been registered in SRC_1 - from RCV_1 to RCV_6 -
in Figure 1 below:
Jeong, Park Expires November 2002 [Page 3]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
RT_3 ---- RCV_1 RCV_2
/ /
/ /
SRC_1----- RT_1 ---- RT_2 ---- RT_4 ---- RT_5 --- RCV_3
\ \
\ \
RT_6 ---- RCV_5 RCV_4
\
\
RCV_6
where SRC : Source, RT : Router & RCV : Receiver
Figure 1. Example of multicast packet delivery in UMR
The delivery of a multicast packet is accomplished as follows:
SRC_1 sends a UMR multicast packet with the list of destinations in
its UMR header to the first router, RT_1.
As we ignore the details, the multicast packet that SRC_1 sends to
RT_1 looks like this:
[src=SRC_1 | dest=RCV_1 RCV_2 RCV_3 RCV_4 RCV_5 RCV_6 | grp=G |
payload]
When RT_1 receives this packet, it needs to properly process the
UMR header. The processing that each transit MN does on receiving
the UMR multicast packet is performed as the following steps:
Step 1. Lookup of unicast routing table for determining the next
hop for each of the destinations listed in the multicast
packet.
Step 2. Partition of the set of destinations based on their next
hops.
Step 3. Copy of the multicast packet for each different next hop.
Step 4. Modification of the list of destinations in each of the
copies
so that the list in each copy includes just the
destinations
that ought to be routed through each corresponding next
hop.
Step 5. Transmission of the modified copies of the multicast
packet on
to the next hops.
By the above procedure, when RT_2 receives the multicast packet, it
will send one copy of the packet to next hop RT_3 with a UMR list
of {RCV_1}, send one copy of the packet to next hop RT_4 with a UMR
list of {RCV_2 RCV_3 RCV_4}, and send one copy of the packet to
next hop RT_6 with a UMR list of {RCV_5 RCV_6}.
Jeong, Park Expires November 2002 [Page 4]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
When RT_3 receives a UMR multicast packet destined to RCV_1, RT_3
converts the UMR multicast packet into a standard multicast packet
and multicasts the packet to multicast group G [XCAST+]. Because
RCV_1 has joined multicast group G, it can receive the packet.
With the similar way, the rest of multicast group members - RCV_2,
RCV_3, RCV_4, RCV_5 & RCV_6 - can receive the multicast packet from
SRC_1.
Note that when network topology changes, the routing for UMR
multicasting will automatically adapt to the new topology since the
path that a UMR multicast packet takes to each multicast group
member always follows the ad-hoc unicast routing for each
destination.
5. Encoding of UMR header
The source address field of the IP header contains the address of
the UMR sender. The destination address field contains the All-
UMR-Routers address that is to have a fixed value. Every UMR MN
joins this multicast group to receive any UMR multicast packet. The
protocol field contains the UMR protocol number, PROTO_UMR, that is
to have a fixed value.
The list of destinations that are multicast group members will be
encoded in a separate header. The UMR header is contained between
the IP header and the transport layer header as follows:
[IP header | UMR header | transport header | payload ]
Note that since the UMR header is included to the data portion of
the IP datagram, if the multicast source node wishes to avoid IP
fragmentation, it must take the size of the UMR header into
account.
We consider IPv4 currently.
5.1 UMR header
The UMR header is depicted in Figure 2. It consists of two parts:
a fixed part (first 16 octets) and a variable length part that is
specified by the fixed part.
Jeong, Park Expires November 2002 [Page 5]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Type | Code | Num_of_Address| Reserve |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group_Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence_Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next_Protocol | Length | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| List_of_Addresses |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2. UMR header
Version 4-bit UMR version number. This document
describes version 1.
Type 8-bit UMR message type. This field identifies
UMR packet.
Code 4-bit unsigned integer. This supplements Type
field to represent the status information or
the return value.
Num_of_Address 8-bit unsigned integer. This field indicates
the number of addresses that are contained in
the following field, List of Addresses.
Reserve 8-bit reserved field.
Group_Address 32-bit multicast group address.
Sequence_Number 32-bit unsigned integer. This field is used
to identify duplicate packet. Each MN
maintains its own squence number for this field.
Next_Protocol 8-bit unsigned integer. This field indicates
the protocol of the following header
Length 8-bit unsigned integer. This field indicates
the length of the UMR header in 4-octet words.
Checksum 16-bit checksum. This field is the checksum on
the UMR header only. This is verified and
recomputed at each point that the UMR header is
processed. The checksum field is the 16-bit
one's complement of the one's complement sum of
all the bytes in the header.
List_of_Addresses The list of addresses. Each address size is four
Jeong, Park Expires November 2002 [Page 6]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
octets.
5.2 UMR Messages
The kinds of UMR packet are two; (a) Data packet and (b) Control
packet.
UMR Data packet is the packet that contains the multicast data sent
by source node.
UMR Control packet is the packet that contains the multicast-
related control information such as join and leave.
The Type field of UMR header identifies the kind of UMR packet.
The values of Type field are as follows;
1 UMR_DATA UMR Data packet.
2 UMR_CONTROL_MEMBER_REGISTRATION UMR Control packet for
registering a multicast
group member in any
multicast group source.
3 UMR_CONTROL_MEMBER_LEAVE UMR Control packet for
informing all the
multicast
group sources of leaving
the
multicast group.
4 UMR_CONTROL_SOURCE_REGISTRATION UMR Control packet for
registering a multicast
group
source in any multicast
group
member.
5 UMR_CONTROL_SOUCE_LEAVE UMR Control packet for
informing all the
multicast
group members of the stop
of
sending multicast data.
The Code field of UMR header provides more detailed control
information. The values of Code field are as follows;
1 CODE_REQUEST UMR Control packet that
requests the operation
Jeong, Park Expires November 2002 [Page 7]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
indicated by Type field.
2 CODE_ACK UMR Control packet that
acknowledges the result
of the
requested operation.
3 ERROR UMR Control packet that
informs the other party
of the
occurrence of an error.
At this time, the field
Num_of_Address contains
the value of detailed
error.
6. Protocol Operations
UMR can work after ad-hoc unicast routing is set up.
6.1 Registration of Multicast Group Member
When a wanted multicast group member joins multicast group, it
broadcasts a UMR control packet indicating the registration of
multicast group member.
The destination field of IP header contains 255.255.255.255 for
broadcasting. The Type field of UMR header contains
UMR_CONTROL_MEMBER_REGISTRATION. The Code field of UMR header
contains CODE_REQUEST.
The control packet is distributed towards any multicast group
source. Note that any intermediate MN doesn't broadcast the packet
that has broadcast just before. Each MN identifies the duplicate
packet with the Sequence_Number field of UMR header.
When a multicast group source receives the packet, the following
procedure is performed.
Step 1. Registration of multicast group member in MMT.
The source registers the IP address of the multicast group
member in the group-member field of MMT and fills the rest
of
the fields of MMT such as next-hop, hop-count and status
with
the unicast routing table. next-hop is the next hop
towards the
group member. hop-count is the distance from source to
group
member by the number of hops. status indicates the
connectivity
status for group member in unicast routing. The connected
Jeong, Park Expires November 2002 [Page 8]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
status is represented as 1 and disconnected status is
represented as 0. Of course, by the change of unicast
routing,
the fields of MMT except group-member are changed
appropriately.
Step 2. Acknowledgement of the registration packet.
Source makes a UMR Control packet for acknowledging the
completion of the registration and sends it to the group
member
in unicast. The Type field of UMR header contains the same
as
that of the registration packet. The Code field contains
CODE_ACK. The List_of_Addresses field contains the IP
address
of the source.
When the group member receives the acknowledgement packet for
registration, it registers the IP address of the source in the
group- source field of MST. The rest fields of MST are filled
appropriately with the unicast routing table.
6.2 Registration of Multicast Group Source
Before a new multicast group sender sends multicast data packets,
it broadcasts a control packet indicating the registration of
multicast group source.
The destination field of IP header contains 255.255.255.255 for
broadcasting. The Type field of UMR header contains
UMR_CONTROL_SOURCE_REGISTRATION. The Code field of UMR header
contains CODE_REQUEST.
The control packet is distributed towards any multicast group
member.
When a multicast group member receives the packet, the following
procedure is performed.
Step 1. Registration of multicast group source in MST.
The member registers the IP address of the multicast group
source in the group-source field of MST and fills the rest
of
the fields of MST such as next-hop, hop-count and status
with
the unicast
routing table. next-hop is the next hop towards the group
member. hop-count is the distance from group member to
source
by the number of hops. status indicates the connectivity
status
for source in unicast routing. The connected status is
Jeong, Park Expires November 2002 [Page 9]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
represented as 1 and disconnected status is represented as
0.
Of course, by the change of unicast routing, the fields of
MST
except group-source are changed appropriately.
Step 2. Acknowledgement of the registration packet.
Member makes a UMR Control packet for acknowledging the
completion of the registration and sends it to the group
source
in unicast. The Type field of UMR header contains the same
as
that of the registration packet. The Code field contains
CODE_ACK. The List_of_Addresses field contains the IP
address
of the member.
When the group source receives the acknowledgement packet for
registration, it registers the IP address of the member in the
group- member field of MMT. The rest fields of MMT are filled
appropriately with the unicast routing table.
6.3 Leave of Multicast Group Member
When a multicast group member leaves multicast group, it multicasts
a control packet indicating the leave of multicast group member.
The destination field of IP header contains All-UMR-Routers address
with the list of addresses of multicast group sources in the UMR
header that are stored in MST.
The Type field of UMR header contains UMR_CONTROL_MEMBER_LEAVE.
The Code field of UMR header contains CODE_REQUEST.
When the packet arrives in the just previous MN of a multicast
group member, unlike a UMR multicast data packet of which the Type
field of UMR header contains UMR_DATA, the packet isn't converted
to a standard multicast packet and is converted to UMR unicast
packet(s) of which the destination field of IP header is the
address selected from the list of addresses contained in the
List_of_Addresses field of UMR header.
When a multicast group source receives the packet, the following
procedure is performed.
Step 1. Deletion of multicast group member in MMT.
The source deletes the entry in MMT that corresponds to
the IP
address of the group member.
Step 2. Acknowledgement of the leave packet.
Source makes a UMR Control packet for acknowledging the
Jeong, Park Expires November 2002 [Page 10]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
completion of the leave and sends it to the group member
in
unicast. The Type field of UMR header contains the same as
that
of the leave packet. The Code field contains CODE_ACK.
The List_of_Addresses field contains the IP address of the
source.
When the group member receives the acknowledgement packet for
leave, it deletes the entry in MST that corresponds to the IP
address of the source.
6.4 Leave of Multicast Group Source
When a multicast group source stops sending multicast data, it
multicasts a control packet indicating the leave of multicast group
source.
The destination field of IP header contains All-UMR-Routers address
with the list of addresses of multicast group members in the UMR
header that are stored in MMT.
The Type field of UMR header contains UMR_CONTROL_SOURCE_LEAVE.
The Code field of UMR header contains CODE_REQUEST.
When the packet arrives in the just previous MN of a multicast
group member, the packet is processed in the same way as Leave of
Multicast Group Member.
When a multicast group member receives the packet, the following
procedure is performed.
Step 1. Deletion of multicast group source in MST.
The member deletes the entry in MST that corresponds to
the IP
address of the group source.
Step 2. Acknowledgement of the leave packet.
Member makes a UMR Control packet for acknowledging the
completion of the leave and sends it to the group source
in
unicast. The Type field of UMR header contains the same as
that
of the leave packet. The Code field contains CODE_ACK.
The List_of_Addresses field contains the IP address of the
member.
When the group source receives the acknowledgement packet for
leave, it deletes the entry in MMT that corresponds to the IP
address of the member. When the source becomes to receive the
acknowledgement from all the group members in MMT, it removes MMT.
Jeong, Park Expires November 2002 [Page 11]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
7. Implementation Considerations
We should consider the checksum calculation in UDP and ICMP. We
also consider the process of IGMP messages in order to use the
current multicast applications without modification.
8. IANA Considerations
All-UMR-Routers address and UMR protocol number should be defined
by IANA.
9. Security Considerations
Security issues related to the representative ad-hoc unicast
routing protocols such as AODV and DSR apply to the protocol
described here [AODV, DSR].
10. References
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997.
[MAODV] Elizabeth M. Royer and Charles E. Perkins, "Multicast
Ad hoc On-Demand Distance Vector (MAODV) Routing",
I-D draft-ietf-manet-maodv-00, July 2000.
[SIMPLE] Jorjeta G. Jetcheva et al., "A Simple Protocol for
Multicast and Broadcast in Mobile Ad Hoc Networks",
I-D draft-ietf-manet-simple-mcast-01, July 2001.
[XCAST] R. Boivie et al., "Explicit Multicast (Xcast) Basic
Specification", I-D draft-ooms-xcast-basic-spec-02,
October 2001.
[XCAST+] Myung-Ki Shin, Yong-Jin Kim and Sang-Ha Kim, "Explicit
Multicast Extension (Xcast+) Supporting Receiver
Initiated
Join", I-D draft-shin-xcast-receiver-join-01, March 2002.
[AODV] Charles E. Perkins, Elizabeth M. Royer and Samir R. Das,
"Ad hoc On-Demand Distance Vector (AODV) Routing",
I-D draft-ietf-manet-aodv-10, January 2002.
[DSR] David B. Johnson et al., "The Dynamic Source Routing
Protocol for Mobile Ad Hoc Networks (DSR)",
I-D draft-ietf-manet-dsr-07.txt, February 2002.
Authors' Addresses
Jae-Hoon Jeong
ETRI / PEC
Jeong, Park Expires November 2002 [Page 12]
INTERNET-DRAFT Unicast Routing based Multicast Routing June 2002
161 Gajong-Dong, Yusong-Gu
Daejon 305-350
Korea
Phone: +82 42 860 1664
EMail: paul@etri.re.kr
Jung-Soo Park
ETRI / PEC
161 Gajong-Dong, Yusong-Gu
Daejon 305-350
Korea
Phone: +82 42 860 6514
EMail: pjs@etri.re.kr
Expiration date: November 2002
Jeong, Park Expires November 2002 [Page 13]
| PAFTECH AB 2003-2026 | 2026-04-23 11:48:22 |