[so2] [Tema 5] sendmsg, receivemsg si bind

Dan Filimon dangeorge.filimon at gmail.com
Mon May 13 16:13:37 EEST 2013


Citind tema și aruncând un ochi pe capitolele recomandate din Understanding
Linux Kernel Networking și puțin prin codul UDP am câteva întrebări:

- bind: poate să existe cazul în care un socket ascultă pe o interfață pe
orice port? cazurile în care ascultă pe un port de pe o interfață și un
port pe orice interfață există.

- sendmsg/receivemsg: nu mi-e clar modul în care trimit și primesc mesaje.

Spre exemplu, sendmsg, a cărui sursă pentru UDP este [1].
E o funcție lungă și nu sunt lămurit cum anume trimite datele mai jos. La
final apelează udp_push_pending_frames [2] unde se apelează
ip_push_pending_frames [3] care apelează ip_local_out și pe urmă ajunge în
netfilter la hook-ul NF_INET_LOCAL_OUT.
Bănuiesc că prin netfilter ajunge datele mai jos la nivelul legătură de
date.

Sunt deci, remarcabil de nelămurit cum ar trebui trimise sau primite
pachetele din acele surse... :/
Cred că nu mă uit unde trebuie.

[1] http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L772
[2] http://lxr.linux.no/linux+v2.6.38/net/ipv4/udp.c#L709
[3] http://lxr.linux.no/linux+v2.6.38/net/ipv4/ip_output.c#L1244
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20130513/f37145f8/attachment.html>


More information about the so2 mailing list