csnet
|
In SCION the source address of a sending host needs to be known in order to be able to send a packet. The easiest way to achieve this is to explicitly bind a socket to an address other than the wildcard address with scion_bind()
. The wildcard address is the IPv4 address 0.0.0.0
or the IPv6 address ::
.
In cases where a socket is implicitly or explicitly bound to the wildcard address the library tries to automatically determine the source address with different methods. This automatic source address determination makes the following assumption:
in the network (AS) all communication partners (hosts and border routers) can reach the host running csnet with one and the same address
The source address of a socket is determined as follows:
Note that it is possible for the automatic source address determination to fail (sending will result with a SCION_ERR_SRC_ADDR_UNKNOWN
error). In such cases, a non-wildcard address has to be bound explicitly.