19 ms·
> they use raw sockets! Raw sockets are different than normal sockets: they bypass iptables, and they are not buffered! Can someone elaborate on the above stat
by itsmemattchung 6y ago
> they use raw sockets! Raw sockets are different than normal sockets: they bypass iptables, and they are not buffered!
Can someone elaborate on the above statement from the article? Does this imply that raw sockets have unbounded buffer?
- jeffbee 6y agoClearly not, but raw is raw. For the purposes of this article, it's enough to say that raw sockets, being raw, don't traverse the flawed block of code, which is in net/ipv4/udp.c
- foota 6y agoProbably the opposite, they send without waiting for any bytes to build up.
- user5994461 6y agoIn short, raw sockets can push bytes into the network card. Whereas the commonly used socket functions recv/send construct the required headers for TCP, UDP and whatnot, they handle encapsulation/buffering/connection/etc so they're easy to use for developers, just read and write application data. By nature raw sockets skip TCP/UDP libraries and a good chunk of the network kernel code. Including the place where the bug was located.