zoukankan      html  css  js  c++  java
  • 硬件校验和

    有些硬件可以计算校验和,硬件计算校验和可以计算L4层的头和数据,常见的是TCP和UDP,为什么计算L4校验和不计算L3校验和呢?因为IP层只校验IP的头部,数据量最多只有四十个字节,不需要为这点工作量专门在硬件中做文章,L4就不一样了,L4中的数据量较大,用硬件计算校验和可以提高速度。

    硬件计算校验和的时候在L2层,此时如果发现数据帧已经损坏,此时,设备驱动程序是可以直接丢弃该数据帧的,但是有些设备会把dev->ip_summed 设置成CHECKSUM_NONE(表示dev->csum 中的校验和无效),然后继续向上层传输,当上层接收到该数据包,经过计算校验和发现该包已经损坏,则丢弃数据包。为什么不直接在L2层就把数据包丢弃呢?其实这么做是可以的,只不过有些遇阻代庖的味道在里面,本来不是L2层能看的东西(L4层的数据),不仅看了,而且看了之后还要扔了,这就有些不太好了。所以有些实现就让L4层来丢弃这种损坏的数据包。

  • 相关阅读:
    springboot初始篇(一)
    SpringBoot使用数据库JdbcTemplate(三)
    java实现分页查询
    设计模式之单例模式
    ❤️考研数学公式❤️
    ❤️图的遍历❤️
    图的存储
    图的基本概念
    森林与二叉树的应用
    树相关的代码题
  • 原文地址:https://www.cnblogs.com/cdwodm/p/4865250.html
Copyright © 2011-2022 走看看