Linux内核修改(转载)

来源:互联网 发布:部落冲突法师数据 编辑:程序博客网 时间:2024/05/29 09:39

Linux内核修改(重学习) 收藏

1.Linux的基本体系结构

2.Linux/kernel文件目录

   asm.s:处理系统硬件异常造成的终端。

   exit.c:处理进程终止的系统调用。

   fork.c:创建进程。

   mktime.c:计算程序开机时间,仅在系统初始化时被调用一次。

   sys.c:系统调用函数。

   system_call.s:实现Linux调用相应C函数

3. TCP/IP协议栈的数据格式说明

  SOCK_STREAM:可靠双向字节流(TCP)

  SOCK_DGAM:不可靠的数据报(UDP)

  SOCK_RAW:不可靠的网络层数据报(ICMP, IGMP, IP raw)

               ------包含在protosw结构中

4.IP层处理流程

5.协议栈源代码组织

         插口层            BSD Socket             /net/socket.c

                                                             /net/protocol.c

                              INET Socket            /ipv4/protocl.c

                                                             /ipv4/af_inet.c

                                                             /net/ipv4/core/sock.c

         协议层            TCP/UDP                 /net/ipv4/udp.c datagram.c tcp_input.c tcp_output.c tcp.c...

                              IP                            /net/ipv4/ip_forward.c ip_input.c ip_output.c

         接口层            Ethernet

6.重要源文件:

    Af_inet.c:主要是数据包处理和协议的初始化

7.重要结构体说明:

   sk_buff:网络包保存在这个结构中,协议栈的各个层的头部信息、用户数据信息(有效载荷)和其他辅助信息都保存在这个结构中。

   socket:用户接口中的socket接口

   sock:socket接口的具体实现

8.滑动窗口算法解析

   ->加性增,剩性减

   ->慢启动

 

原创粉丝点击