| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> TCP/IP详解:用户数据报协议(UDP)和IP分片 -> 正文阅读 |
|
[网络协议]TCP/IP详解:用户数据报协议(UDP)和IP分片 |
1、UDP8字节头部 其中校验和字段是对包含了IP头部中的源和目的IP地址字段的udp伪头部计算得到的。包含IP地址的伪头部只在计算校验和的时候用到,实际传送的udp头部只有8个字节。另外,udp头部中的长度字段是冗余的,udp的长度完全可以通过ip数据报总长减去ip数据报头部长度得到。 2、udp校验和计算时覆盖的字段 要注意的是在IPv4的udp中,校验和是可选的(但是强烈建议),而在IPv6中是强制的,因为IPv6的IP层没有头部校验和。? 当一个udp的校验差错被检测到时,这个数据报会被悄无声息的丢掉,尽管会有一些统计计数被更新,但不会产生差错消息 3、一个udp/IPv4分片的例子 ?上图描述了一个3023字节的udp/IPv4数据报被分割成多个IPv4分组的情况。udp总长度3000,IP头部长度20(还有3个字节不知道是什么,书上也没说) 偏移字段表示该分片负载字节中的第一个字节在原始IPv4数据中(IP数据报负载中)的偏移量,以字节为单位。如图中便宜185,实际偏移量是185*8=1480 MF(more fragment)表示后面是否还有分片。? 任何一个分片丢失,相当于整个数据报丢失。(tcp会重传整个数据报,重传单个分片不太可能),如此看来,通常要避免分片。 4、重组超时 一个数据报的任何一个分片首先到达时,IP层就会启动一个计时器,其他分片到达时也不会重置计时器。如果没有这个计时器的话,那些不能到达的分片可能会最终导致接收方用尽缓存,留下一种攻击方式。 5、数据报截断 UDP/IP能发送和接受一个给定大小的数据报并不意味着接受应用程序就能够读取这种大小的数据报。udp编程接口允许应用程序指定每次一个网络的读操作完成时返回的最大字节数。如果接受的数据报超过这个指定大小就会发生API截断数据报,丢弃超额数据。具体操作因实现不同。Linux可以通过套接字API来查看有多少数据被截断,HP-UX通过设置一个标记为来说明有数据被截断。 6、使用多地址,端口复用 在同一个端口号开启几个不同的服务器,每个服务器使用一个不同的本地IP地址,这是可能的,然而,通常应用程序应该告诉系统允许这种端口复用。使用套接字API时,通过指定SO_REUSEADDR选项来使用。 ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:55:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |