相关文章  
  • 网络写作年稿酬最高150万一天写3万字
  • 上海外企HR加班与高薪同在
  • 面试中识别谎言的技巧
  • 当前大学生就业难主要“难”在哪里?
  • 浅谈Linux操作系统KDE桌面上的改进
  • 在Debian操作系统中网卡的设置步骤
  • Linux操作系统下的软中断问题分析
  • Liunx操作系统编程之Const使用详解
  • 调薪时刻如何沟通
  • 3000元月薪如何理财?
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    Linux操作系统内核ARP的设计实现概述2

    TEXT-INDENT: 2em">(1) 当系统初始化时,调用arp_init来初始化ARP缓存(arp_tbl),并且注册ARP协议的接收函数。

    (2) 当网卡驱动程序收到一个网络包(packet)的时候,会分配一个sk_buff(skb),将数据拷贝进这个缓冲区,然后调用netif_rx把skb放入等待队列(input_pkt_queue)中,并且产生一个软中断。当系统处理这个软中断的时候,会调用net_rx_action,它根据网络包的类型,调用相应的接收函数来处理。如果是ARP包,则调用arp_rcv。

    (3)arp_rcv判断这个arp请求是不是询问本机或者本机代理的硬件地址,如果是的话,调用arp_send发回arp应答。另外arp_rcv还尽量保留对方机器的mac addres。

    (4) arp_send分配一个sk_buff(skb),填好arp包的类型,

    页码:[1] [2] [3] [4] [5]2页、共5页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved