SixXS Heartbeat Client/Server ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The heartbeat protocol as described in the draft uses the IANA assigned port 3740 (*1) for communication to notify a PoP of IPv4 endpoint changes and the reachability of the client. In short it sends a heartbeat every 60 seconds containing: HEARTBEAT TUNNEL 2001:db8::2 10.100.13.42 1063665852 hartslag This is md5'd, password removed, md5 added and thus the following string is transmitted to the PoP's IPv4 per UDP: HEARTBEAT TUNNEL 2001:db8::2 10.100.13.42 1063665852 da46fdc28f568bb62d29661f73758095 If there is no heartbeat for 300 seconds the PoP automatically disables the tunnel. If the IPv4 address changes, the tunnel is again automatically reconfigured to the new address. If the tunnel was down it is configured to be up on the heartbeat. All of this makes sure that traffic won't be transmitted to unsuspecting endpoints in case an endpoint is on a dialup connection or other fast-changing endpoint. Note: Keep your machine NTP synced, if the timestamp difference is bigger than 120 seconds the heartbeat will be silently dropped. Comments and questions should be directed to info@sixxs.net or the SixXS Forums for discussions. Server/PoP side of the code is closed for the time being. Jeroen Massar / SixXS Staff jeroen@sixxs.net The software can be downloaded from: http://www.sixxs.net/archive/heartbeat/ *1 = IANA port 3740 http://www.iana.org/assignments/port-numbers heartbeat 3740/tcp Heartbeat Protocol heartbeat 3740/udp Heartbeat Protocol # Jeroen Massar April 2003