[Planetlab-users] sendto: operation not permitted
Neil Spring
nspring at cs.umd.edu
Thu Nov 9 10:20:18 EST 2006
Patrick,
PlanetLab's vnet works on the assumption that you can send tcp
packets so long as the source port is one your slice "owns" via
opening a socket and calling bind, and that you can only receive tcp
packets to a destination port that you "own" in the same way.
We send gobs of tcp packets, without EPERM on sendto. If it's
letting a packet through after 100,000 retries, that sounds like a bug.
Planetlab rate limiting has been found to delay packets by 30 seconds
(I'm as surprised as anyone, but I heard this from a reputable source
on sunday). I'd guess that if you were really blowing the queue,
you'd get ENOBUFF rather than EPERM.
I'm pretty sure Mark wrote a vnet faq, or at least the documentation
should get you pointed in the right direction.
-neil
On Nov 9, 2006, at 2:58 AM, Patrick Verkaik wrote:
>
> Hi,
>
> I have a question about the following sendto() behaviour that I
> don't quite understand.
>
> We're sending raw TCP packets using sendto() but getting
> intermittent EPERM errors. We've found that repeatedly retrying the
> sendto() (with exactly the same packet) until it no longer gives
> EPERM eventually gets the packet through. During a short connection
> (perhaps lasting 10 seconds and sending across less than 100 bytes
> of data) we sometimes see about 100,000 failed sendto() attempts
> (with a usleep(1) separating the attempts roughly 20,000 attempts).
>
> Another curious fact is that we only see this behaviour when we're
> tunneling the reverse TCP traffic into the sending host. The host
> therefore doesn't see e.g. SYN/ACK packets coming back in response
> to outgoing SYNs.
>
> Can anyone explain this? Is this how Planetlab implements rate
> limiting or prevents SYN-flooding attacks being launched from
> Planetlab?
>
> (Btw: we're running as root and using the node's IP address as
> source IP address.)
>
> Thanks,
>
> Patrick Verkaik
> Barath Raghavan
>
> _______________________________________________
> Users mailing list: Users at lists.planet-lab.org
> https://lists.planet-lab.org/mailman/listinfo/users
More information about the Users
mailing list