zoukankan      html  css  js  c++  java
  • TCP/IP详解之:UDP协议

    第11章 UDP协议

     UDP首部

    UDP的检验和是可选的,而TCP的检验和是必须的;

    UDP的检验和是端到端的检验和。由发送端计算,由接收端验证;

    尽管UDP的检验和是可选的,但总是推荐被使用

    IP分片

    解释几个术语

      IP数据报:指IP层端到端的传输单元(在分片之前和重新组装之后)

      IP分组: 指在IP层和链路层之间传送的数据单元(也即IP分片后的每一个片)。一个分组可以是一个完整的IP数据报,也可以是IP数据报的一个分片

    IP把MTU与数据报长度进行对比,若需要则进行分片。分片可以发生在原始发送端主机上,也可以发生在中间路由器上;

    IP数据报分片以后,只有到达目的地才进行重新组装。重新组装的任务由目的端的IP层来完成。分片和重新组装过程对运输层是透明的;

    当IP数据报被分片后,每一片都成为一个分组,具有自己的IP首部,并在选择路由时与其他分组独立;

    IP分片后,传输过程中即使只丢失一片数据也要重传整个数据报

    ICMP不可达差错(需要分片)

    发生ICMP不可达差错的另一个情况是:当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特!

    UDP和ARP之间的交互作用

    在大多数的ARP实现中,在等待一个ARP应答时,只将最后一个报文发送给特定目的主机

    最大UDP数据报长度

    理论上IP数据报的最大长度是65535字节,这是由IP首部16比特总长度字段决定的。去除20字节IP首部和8字节UDP首部,UDP数据报中用户数据的最大长度为65507字节。但大多实际实现所提供的长度比这个最大值小。

    ICMP源站抑制差错

    当系统接受IP数据报的速率超过这些数据报被处理的速率时,系统可能发送ICMP源站抑制差错报文。使用UDP时很容易产生这样的ICMP差错。

  • 相关阅读:
    golang 识别redis key在哪个codis的slot上
    QAT SSL加速卡安装及使用
    dereferencing pointer to incomplete type错误的解决办法
    golang topN算法
    golang日志框架zap简洁配置
    golang 读取文件
    Django学习目录
    go练习:循环与函数
    全站搜索实战应用(Lucene.Net+盘古分词)
    (原创)将Datatable数据按照Excel模板格式导出
  • 原文地址:https://www.cnblogs.com/hansonwang99/p/5011691.html
Copyright © 2011-2022 走看看