linux内核网络栈代码的准备知识(1)Linux认证考试
文章作者 100test 发表时间 2010:03:07 14:55:41
来源 100Test.Com百考试题网
    
	
  一.linux内核网络栈代码的准备知识
  1. linux内核ipv4网络部分分层结构:
  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通信所走过的函数列表
  ^
  |