分离两年后谷歌Android和Linux再次联合

 BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件

  主要有:/net/socket.c /net/protocols.c etc

  INET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tcp/ip,即建立了AF_INET形式的socket时,

  还需要保留些额外的参数,于是就有了struct sock结构。文件主要

  有:/net/ipv4/protocol.c /net/ipv4/af_inet.c /net/core/sock.c etc

  TCP/UDP层:处理传输层的操作,传输层用struct inet_protocol和struct proto两个结构表示。文件主要

  有:/net/ipv4/udp.c /net/ipv4/datagram.c /net/ipv4/tcp.c /net/ipv4/tcp_input.c /net/ipv4//tcp_output.c /net/ipv4/tcp_minisocks.c /net/ipv4/tcp_output.c /net/ipv4/tcp_timer.c

  etc

  IP层:处理网络层的操作,网络层用struct packet_type结构表示。文件主要有:/net/ipv4/ip_forward.c

  ip_fragment.c ip_input.c ip_output.c etc.

  数据链路层和驱动程序:每个网络设备以struct net_device表示,通用的处理在dev.c中,驱动程序都在/driver/net目

  录下。

  2. 两台主机建立udp通信所走过的函数列表

  ^

  | sys_read fs/read_write.c

  | sock_read net/socket.c

  | sock_recvmsg net/socket.c

  | inet_recvmsg net/ipv4/af_inet.c

  | udp_recvmsg net/ipv4/udp.c

  | skb_recv_datagram net/core/datagram.c

  | -------------------------------------------

  | sock_queue_rcv_skb include/net/sock.h

  | udp_queue_rcv_skb net/ipv4/udp.c

  | udp_rcv net/ipv4/udp.c

  | ip_local_deliver_finish net/ipv4/ip_input.c

  | ip_local_deliver net/ipv4/ip_input.c

  | ip_recv net/ipv4/ip_input.c

  | net_rx_action net/dev.c

  | -------------------------------------------

  | netif_rx net/dev.c

  | el3_rx driver/net/3c309.c

  | el3_interrupt driver/net/3c309.c

  ==========================

  | sys_write fs/read_write.c

  | sock_writev net/socket.c

  | sock_sendmsg net/socket.c

  | inet_sendmsg net/ipv4/af_inet.c

  | udp_sendmsg net/ipv4/udp.c

  | ip_build_xmit net/ipv4/ip_output.c

  | output_maybe_reroute net/ipv4/ip_output.c

  | ip_output net/ipv4/ip_output.c

  | ip_finish_output net/ipv4/ip_output.c

  | dev_queue_xmit net/dev.c

  | --------------------------------------------

  | el3_start_xmit driver/net/3c309.c

  V

  3. 网络路径图、重要数据结构sk_buffer及路由介绍

  linux-net.pdf 第2.1章 第2.3章 第2.4章

  4. 从连接、发送、到接收数据包的过程

  linux-net.pdf 第4、5、6章详细阐述


原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/6/12297506.shtml