当前位置: 技术问答>linux和unix
看内核网络部分源代码从哪个文件看起好?
来源: 互联网 发布时间:2014-12-22
本文导语: 好多文件,毫无头绪 | 网络部分源代码位于/usr/src/linux/net下. 并按所支持的各种协议而分别编写,如802,appletalk,x.25,core,ethernet,ipv4 ,ipx 在core 子目录下,包括了与协议无关的例程如下: datagram.c:负...
好多文件,毫无头绪
|
网络部分源代码位于/usr/src/linux/net下.
并按所支持的各种协议而分别编写,如802,appletalk,x.25,core,ethernet,ipv4 ,ipx
在core 子目录下,包括了与协议无关的例程如下:
datagram.c:负责数据报处理.
dev.c: 支持各种外围设备
dev_mcast.c:多重链表维护
skbuff.c:sk_buff操作
sock.c支持套接字操作
在ipv4子目录下包含与tcp/ip相关的多种协议源代码,如ARP(arp.c),ip(ip.c),icmp(icmp.c)
此外,ipv4子目录下还包含如下源代码:
route.c: 负责ip路由处理;
utils.c: 负责将ip地址转化为可读形式,也负责将ASCII码字符串格式转化为二进制格式;
protocol.c:处理协议表.每个被ip协议压缩的协议(如tcp,ipip等)在内核中以inet_protocol结构
表示.该结构构成一个链表并由内核变量inet_protocol_base作为链表头指针.
timer.c: 负责ip软件计时操作.
proc.c:该例程负责网络信息在proc文件系统中可用;
packet.c:负责发送和接收SOCK_PACKET包.
ip_fw.c:IP防火墙实现源代码.
ipip.c:处理IPIP.包括ipip_rcv(),ip_forward();
af_inet.c:负责处理AF_INET系列的套接字
devinet.c:IP设备支持例程.
希望以上解释能让你有个清晰的概念.
并按所支持的各种协议而分别编写,如802,appletalk,x.25,core,ethernet,ipv4 ,ipx
在core 子目录下,包括了与协议无关的例程如下:
datagram.c:负责数据报处理.
dev.c: 支持各种外围设备
dev_mcast.c:多重链表维护
skbuff.c:sk_buff操作
sock.c支持套接字操作
在ipv4子目录下包含与tcp/ip相关的多种协议源代码,如ARP(arp.c),ip(ip.c),icmp(icmp.c)
此外,ipv4子目录下还包含如下源代码:
route.c: 负责ip路由处理;
utils.c: 负责将ip地址转化为可读形式,也负责将ASCII码字符串格式转化为二进制格式;
protocol.c:处理协议表.每个被ip协议压缩的协议(如tcp,ipip等)在内核中以inet_protocol结构
表示.该结构构成一个链表并由内核变量inet_protocol_base作为链表头指针.
timer.c: 负责ip软件计时操作.
proc.c:该例程负责网络信息在proc文件系统中可用;
packet.c:负责发送和接收SOCK_PACKET包.
ip_fw.c:IP防火墙实现源代码.
ipip.c:处理IPIP.包括ipip_rcv(),ip_forward();
af_inet.c:负责处理AF_INET系列的套接字
devinet.c:IP设备支持例程.
希望以上解释能让你有个清晰的概念.
|
http://joyfire.net/jln/kernel/5.htm
这里有一篇step by step导读
http://joyfire.net/kernelsrc/
这里是浏览源代码的工具
希望对你有用
这里有一篇step by step导读
http://joyfire.net/kernelsrc/
这里是浏览源代码的工具
希望对你有用