Next: UDP
Up: Advanced Concepts
Previous: Using multiple channels
  Contents
A transport protocol refers to the protocol at the bottom of the protocol
stack which is responsible for sending and receiving messages to/from the
network. There are a number of transport protocols in JavaGroups. They are
discussed in the following sections.
A typical protocol stack configuration using UDP is5.3:
"UDP(mcast_addr=224.0.0.35;mcast_port=45566;ip_ttl=32;" +
"mcast_send_buf_size=150000;mcast_recv_buf_size=80000):" +
"PING(timeout=2000;num_initial_members=3):" +
"MERGE2(min_interval=5000;max_interval=10000):" +
"FD_SOCK:" +
"VERIFY_SUSPECT(timeout=1500):" +
"pbcast.STABLE(desired_avg_gossip=20000):" +
"pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):" +
"UNICAST(timeout=5000;min_wait_time=2000):" +
"FRAG(frag_size=4096;down_thread=false;up_thread=false):" +
"pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;" +
"shun=false;print_local_addr=true)"
In a nutshell the properties of the protocols are:
- UDP
- Uses IP multicast for group messages and UDP packets for messages to
individual members
- PING
- Uses IP multicast (by default) to find initial members. Once found, the
current coordinator can be determined and a unicast JOIN request will
be sent to it
- MERGE2
- Will merge subgroups back into one group
- FD_SOCK
- Failure detection based on sockets (in a ring form between
members). Generates notification if a member fails
- VERIFY_SUSPECT
- Double-checks whether suspected member is really dead,
otherwise suspicion generated from protocol below is discarded
- pbcast.STABLE
- Deletes messages that have been seen by all members
(distributed message garbage collection)
- pbcast.NAKACK
- Ensures (a) message reliability and (b) FIFO. Message
reliability guarantees that a message will be received. If
not, receiver will request retransmission. FIFO guarantees
that all messages from sender P will be received in
the order P sent them
- UNICAST
- Same as NAKACK for unicast messages: messages from sender P will not
be lost (retransmission if necessary) and will be in FIFO order
(essentially the same as TCP in TCP/IP, without the flow control)
- FRAG
- Fragments large messages into smaller ones and reassembles them back at
the receiver side. For both multicast and unicast messages
- pbcast.GMS
- Membership protocol. Responsible for joining/leaving members and
installing new views.
Subsections
Next: UDP
Up: Advanced Concepts
Previous: Using multiple channels
  Contents
Bela Ban
2002-11-16