发布时间:2012-12-28 17:08:55
网络报文从应用程序产生,通过网卡发送,在另一端的网卡接收数据并传递给应用程序。这个过程网络报文在内核中调用了一系列的函数。下面把这些函数列举出来,方便我们了解网络报文的流程。 发送流程: write |sys_write |sock_sendmsg |inet_sendmsg |tcp_sendmsg |tcp_push_one |tcp_transmit_skb |ip_queue_xmit |ip_route_output |ip_queue_xmit |ip_que......【阅读全文】
发布时间:2012-12-28 10:23:19
Linux网络编程API函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作。 1、socket(family,type,protocol) 当我们在开发网络应用程序时,使用该系统调用来创建一个套接字。该API所做的工作如下所示: 该系统调用主要完成两个任务:“创建套接字”和“为套接......【阅读全文】
发布时间:2012-12-27 10:37:41
内核中的UDP socket流程(5)——inet_create作者:gfree.wind@gmail.com原文:http://blog.chinaunix.net/space.php?uid=23629988&do=blog&id=85911进入函数inet_create static int inet_create(struct net *net, struct socket *sock, int protocol, int kern......【阅读全文】
发布时间:2012-12-27 10:30:49
内核中的UDP socket流程(4)——sock_create作者:gfree.wind@gmail.com原文:http://blog.chinaunix.net/space.php?uid=23629988&do=blog&id=85910又懒了2天,继续sock_create /* Compatibility. This uglymoron is moved from INET layer to here to avoid &nbs......【阅读全文】