[prev in list] [next in list] [prev in thread] [next in thread] 

List:       amanda-users
Subject:    Re: Where is control initiated.
From:       Joshua Baker-LePain <jlb17 () duke ! edu>
Date:       2001-11-27 21:36:30
[Download RAW message or body]

On Tue, 27 Nov 2001 at 11:29am, ian.willis@sge.net wrote

> One thing that I'm not all that sure about is how amanda goes about the 
> process of setting up and tearing down connections.

Some time with tcpdump and ethereal yields the answers...

> Amanda Server Planner sends a request to the amada client over UDP port 
> num ?
> The client produces a summary that is sent back to server over UDP/TCP? 
> port num? The client initiates the request.

The amanda server sends a UDP sendsize request from a privileged port to 
port 10080 on the client.
The client sends a UDP packet (containg an ACK) from port 10080 to the 
privileged port on the server.  It then sends another one containing the 
REP (the reply and dump estimate info).
Finally, the server sends a UDP ACK from the privileged port to port 10080 
on the client.

> For the actual dumps does the following happen?
> 
> Amanda serverside requests the client machine to initiate a dump
> The client then initiates a connection to the dumper process on the 
> server. OR
> 
> The dumper initiates a TCP connection to the client and initiates a dump 
> on the client at the appropriate level using the current control 
> connection as transport 
> 
Closer to the second.

The amanda server sends a UDP sendbackup request from a privileged port 
(not necessarily the same one as above) to port 10080 on the client.
The amanda client sends a UDP ACK from port 10080 to the originating 
privileged port on the server.  It then sends another one containing the 
numbers of three (non-privileged) TCP ports to set up the data, message, 
and index connections.
The amanda server sends a UDP ACK from the privileged port to port 10080 
on the client.
The amanda server then initiates three TCP connections on the ports 
indicated in the UDP packet from the client.  These are on unprivileged 
ports on both systems.  The dumper on the client then proceeds to start 
sending date over the TCP connections.

Please note that I am nowhere near an expert on all this, and all of the 
above is based on tcpdump output, not looking at the code.  YMMV.  Void 
where prohibited.  Not including tax, title, and transport fees.  Good 
luck!

-- 
Joshua Baker-LePain
Department of Biomedical Engineering
Duke University

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic