Design and Deployment of a Reliable File Transfer Protocol over Asymmetric Satellite Networks

advertisement
Design and Deployment of a
Reliable File Transfer Protocol
over Asymmetric Satellite
Networks
Anupam Goyal
Roll no. 01329001
Guided By
Dr. Sridhar Iyer
Outline of the Talk








Why Satellite networks for reliable transfer ?
Reliable Multicast Transfer Strategies
DEP Satellite Network
The Problem and the proposed solution
RTAN
Deployment Problems
Field Experiments and results
Conclusions and Future Work
Satellite Networks


Widely used for audio-video transmissions
Major disadvantages –
• large delay
• higher bit error rates
• limited bandwidth
Satellite Networks for Reliable
Transfer

Interesting for reliable data transfer to
clients dispersed over a large area due
to
• Inherent multicast nature
• Long reach
Reliable Multicast Protocols

Types – based on error recovery responsibility
•
•
•
•

Sender-Initiated
•
•
Sender keeps track of all the clients
Sender Asks for ACKs periodically
Receiver-Initiated
•
•
Receiver detects packet loss through timers
Receiver sends NACKs to server
Tree Based
•
•
ACK Tree of receivers
Group leaders perform error recovery
Ring Based
•
•
Token site performs error recovery
Token passing
Various implementations : MFTP, RMTP, SRM, LBRM, MDP
etc.
DEP Satellite Network


Very Small Aperture Terminal (VSAT)
Network
Topology
• 512 kbps Demand Assigned Multiple
Access channel
• 16 kbps Time Division Multiple Access
channel
The DEP Network Setup
Satellite
Satellite dish
Viasat HUB
Comnet Noida
Remote Site
Remote Site
512 Kbps Simplex Carrier
Central Site - IIT Powai
16Kbps TDMA Control
Control Channel to Comnet Hub
3.8 Mtr. Ku-Band
Antenna
ODU
SKYLINX IDU
DAMA
HSCU IDU
DCU
DCU
VACANT SLOT
ROUTER
H.323
Data
Broadcast
Ethernet LAN
Camera, Mic,
Speaker
Recorded
lecture
Studio Type
VC System
The Requirement

To send any file reliably over the satellite
network to all or a particular receiving
station.
• Large files of the order of 1 GB : videotaped
•
lecture
Small files of the order of KBs : tutorials etc.
The Problem




The need to have TCP like reliability.
The need to send files of the order of 1
GB.
The 16 kbps full duplex reliable channel
is too small for sending large files in
reasonable time.
The 512 kbps DAMA channel is a
multicast channel and hence offers no
guarantee of reliable data delivery.
The Solution



Use the 512 kbps half duplex channel for
data transfer.
Use the 16 kbps full duplex channel for
control information exchange with the
receivers.
Design an application level UDP based
reliable file transfer protocol.
Logical TDMA point to point channel
Designed Protocol


Reliable Transfer over Asymmetric
Networks (RTAN)
Basic Idea of RTAN –
•
•
•
•
The overall transfer consists of many Transfer Cycles
Each Transfer cycle consists of one Data Cycle and
many Recovery Cycles
A fixed number of packets are sent per Data Cycle
to all the clients.
All the packets dropped by at least one client are
remulticast in Recovery Cycles until all the clients
have received all the packets sent in the Data Cycle.
The Protocol Sequence Graph
The Server State Transition Graph
The Client State Transition Graph
RTAN - The Basic Protocol: Server
Server side processing
 Start ConnectionAcceptorThread. Wait for Client
connections. Add connecting clients to a global
Connection List.
 Wait for file transfer request.
 Start KeepAlive thread.
 Start Transfer.
 Transmission setup cycle:
•
•
•
Mark all the clients in the connection list as in session.
Send file Transfer_Start message to all the clients on
control channel. Information like file name, file size etc.
Wait for ACKs.
RTAN - The Basic Protocol: Server


Start Transfer Cycle.
Data Cycle
•
•
•
•
Create transfer buffer and index.
• Read N data packets of size M bytes from the file.
• Buffer them in the memory.
• Creates a N bit send index, one bit for each packet.
• M,N pre-decided.
Send Data_Start message – start packet index, end
packet index
Wait for Acks from all clients.
Multicast N data packets on the DAMA channel.
RTAN - The Basic Protocol: Server

Recovery Cycle:
•
•
•
•
•


Reuest N bit index from the RS’s on the control channel from all
clients.
•
•
Send Send_Index message to all clients.
Wait for ACKs.
Perform boolean AND with the server send index.
Create recovery list from send buffer.
Remulticast the packets dropped by the clients.
Again request index from all clients.
If recovery list empty then transfer cycle ends
•
•
Send Recovery_End message to all clients.
Wait for ACKs.
If no more data to send then Transfer ends.
•
•
Send Transfer_End message to all clients.
Wait for ACKs.
RTAN - The Basic Protocol: Client
Client Side Processing
 Start the ControlProcessorThread and the
DataProcessorThread.
 Wait for Server messages.
•
•
•
•
•
If Transfer_Start message, create a session object.
If Data_Start message, create a buffer and N bit
index.
If Send_Index message, send index to the server.
If Recovery_End message, flush buffer to disk.
If Transfer_End message, delete session object.
RTAN - The Basic Protocol
• Contents of data packet:
• RTAN header
• Actual data bytes
• RTAN header is of 17 bytes:
• SessionID (4 bytes)
• FileID (4 bytes)
• Sequence Number (4 bytes)
• FileSize (4 bytes)
• Flags (1 byte)
RTAN - The Basic Protocol

Disadvantages:
• The protocol is only as fast as the maximum
•
faulting RS.
Limited by the number of RS’s that can be
accommodated on the control channel.
Deployment of RTAN on DEP
Satellite Network


Server at IIT Bombay
Client at NCST, Juhu, Mumbai.
Deployment Problems





The Router Configuration problem
•
Multicast group, multicast port added to router
The Time To Live problem
•
TTL value set to greater than 3
The Router Table Update problem
•
2-3 seconds of multicast route setup time
The Link Data rate Synchronization problem
•
The server throttled according to the link data rate
The Link Up-Down problem
•
Dummy KeepAlive packet were introduced
Field Experiments



Achievable data rates
•
•
Granularity of 10 ms
24, 30, 37.5, 49.5 and 75 Kilobytes per second
Error rate of DEP Satellite Network
•
•
Very low – 0.5% in good channel conditions
2%-3% in early morning hours
Data Packet Size
•
•
•
DEP Satellite Network MTU – 1500 bytes
Max Application data – 1440 bytes
17 byte RTAN header
Experiment 1: Transfer Time vs File Size
Experiment 2: Transfer Time vs Packets Per
Transfer
Experiment 3: Transfer Time vs Data Rate
Experiment 2: Transfer Time vs Packets Per
Transfer for different Data Rates
Conclusions Drawn from Field
Experiments



Effect of time spent on exchanging
control information on overall transfer
time is greater for small files.
Data rate is the main contributing factor
to the overall transfer time as against
packets per transfer.
Data rates closest to link capacity result
in maximum throughput.
Conclusions



A protocol for reliable transfer over
asymmetric networks (RTAN) has been
proposed.
Implementation of RTAN for writing a file
transfer utility for DEP satellite network.
RTAN Basic implementation works quite
well for the DEP Satellite Network owing
to very low error rates.
Future Work



To extract a reliable transport layer protocol for
asymmetric networks
To optimize the basic protocol implementation:
•
•
•
Version 1.1 Multiple Multicast Per cycle
Version 1.2 Ignore Unruly Client
Version 1.3 Regional Division of Clients
To adapt the protocol to changing DEP network
topology
Thank You
Download