当前位置: 首页 > news >正文

上海市建设注册管理网站阿克顿巴网站建设的目的

上海市建设注册管理网站,阿克顿巴网站建设的目的,欧洲最新消息,北京建筑大学研究生招生网电气点击蓝字关注我们因公众号更改推送规则#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络#xff0c;侵删一、MTU 简述 - 分包后数据包最大长度1、定义Maximum Transmission Unit#xff08;最大可传输单元#xff09; 的缩写#xff0c;它的单位是…点击蓝字关注我们因公众号更改推送规则请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络侵删一、MTU 简述 - 分包后数据包最大长度1、定义Maximum Transmission Unit最大可传输单元 的缩写它的单位是字节。在 *数据链路层* 定义一个数据包穿过一个大的网络它其间会穿过多个网络每个网络的 MTU 值是不同的。这个网络中最小的 MTU 值被称为路径 MTU。假设我们的接受/发送端都是以太网它们的 MTU 都是 1500我们发送的时候数据包会以 1500 来封装然而不幸的是传输中有一段X.25网它的 MTU 是 576这会发生什么呢结论是显而易见的这个数据包会被再次分片更重要的是这种情况下如果 IP 包被设置了“不允许分片标志”那会发生些什么呢对数据包将被丢弃然事收到一份ICMP不可达差错告诉你需要分片很显然MTU 值设置得过大或过小都会在一定程度上影响我们上网的速度。在应用程序中我们用到的 Data 的长度最大是多少直接取决于底层的限制即MTU以太网Ethernet的 数据帧 在链路层   IP包 在网络层   TCP或UDP包 在传输层   TCP或UDP中的数据Data)在应用层它们的 关系是 数据帧IP包TCP或UDP包Data2、网络中 MTU 值的由来1、最大值对于 IP 数据包来讲在 IP 包头中以 两个字节16 位来描述 IP 包的长度也就是说一个 IP 包最长可能是  65535字节64K。那么加上以太网帧头和尾一个以太网帧的大小就是65535 14 4 65553看起来似乎很完美发送方也不需要拆包接收方也不需要重组但使用最大值真的可以吗我们往下看2、最佳值的推导a、按最大值来推算IP 数据包按最大值 65535字节 来算假设我们现在的带宽是100Mbps因为以太网帧是传输中的最小可识别单元再往下就是0101所对应的光信号了所以我们的一条带宽同时只能发送一个以太网帧。如果同时发送多个那么对端就无法重组成一个以太网帧了在100Mbps的带宽中假设中间没有损耗我们计算一下发送这一帧需要的时间( 65553 * 8 ) / ( 100 * 1024 * 1024 ) ≈ 0.005(s)在100M网络下传输一帧就需要5ms也就是说这5ms其他进程发送不了任何数据。如果是早先的电话拨号网速只有2M的情况下( 65553 * 8 ) / ( 2 * 1024 * 1024 ) ≈ 0.100(s)100ms这简直是噩梦。其实这就像红绿灯时间要设置合理交替通行不然同一个方向如果一直是绿灯那么另一个方向就要堵成翔了。小知识Mbps其全称为 Million bits per second意为每秒传输百万位比特数量的数据而这里的 bit比特1比特等于1个位是表示数字信号数据的最小单位。1 字节 8 比特所以有 65553 * 8b、既然大了不行那设置小一点可以么假设 MTU 值设置为100那么单个帧传输的时间在 2Mbps 带宽下需要( 100 * 8 ) / ( 2 * 1024 * 1024 ) * 1000 ≈ 5(ms)时间上已经能接受了问题在于不管 MTU 设置为多少以太网头帧尾大小是固定的都是14 4所以在 MTU 为 100 的时候一个以太网帧的传输效率为( 100 - 14 - 4 ) / 100  82%写成公式就是( T - 14 - 4 ) / T当T趋于无穷大的时候效率接近100%也就是MTU的值越大传输效率最高但是基于上一点传输时间的问题来个折中的选择吧既然头加尾是18那就凑个整来个1500总大小就是1518传输效率1500 / 1518   98.8%100Mbps传输时间( 1518 * 8 ) / ( 100 * 1024 * 1024 ) * 1000  0.11(ms)2Mbps传输时间( 1518 * 8 ) / ( 2 * 1024 * 1024 ) * 1000  5.79(ms)总体上时间都还能接受。故得出 MTU 为 1500字节 这个经验值。3、最佳值在 Ethernet 中MTU 为 1500字节;在 FDDI 中MTU 为 4352字节;在 IP over ATM 中MTU 为 9180字节。其实一个标准的 以太网 数据帧大小是1518头信息有 14 字节尾部校验和 FCS 占了 4 字节4、最小值最小值被限制在 64  *46*(IP包大小) 14 (以太网头) 4 (尾部校验和 FCS)为什么是 64 呢这个其实和以太网帧在半双工下的碰撞有关感兴趣的同学可以自行去搜索。5、碎片与特大数据包在以太网中数据包的大小范围是在 64—1518 字节之间如果除去头部开销则实际的数据大小为 46—1500 字节之间。一般情况下数据包的大小都是在这个范围内如果数据包 小于64 字节称为 碎片而如果 大于1518 字节称为 特大数据包。这两种类型的数据包都是非正常的以太网数据包它们将影响网络的正常运行。无论是碎片或特大数据包都会增加网络的负载导致网络故障的发生。所以我们在对网络进行分析的时候对数据包大小的判断也是不可缺少的一个环节。6、发送小于最小值的包会出现什么情况呢正常接收在用 UDP 局域网通信时经常发生 “Hello World” 来进行测试但是 “Hello World” 并不满足最小有效数据 (46) 的要求为什么小于 46 个字节对方仍然可用收到呢因为在 链路层 的 MAC 子层中会进行数据补齐不足 46 个字节的用 0 补齐。收不到数据但当服务器在公网客户端在内网发生小于 46 个字节的数据就会出现接收端 收不到数据的情况。7、应用层 TCP/UDP 发送的源数据大小限制小知识TCP 包头中是没有对 数据包总大小 的定义 - 数理论上没有大小限制。UDP 包头中用 两个字节2816bits 来定义 数据包的总大小 -- 2^16  65535字节 **即***64k**1、****TCP**** 是以 数据流 形式传输数据所以使用 send 函数理论上没有大小限制。一般数据包太长的话会进行多次拆包传输数据包短的话会放到下一次数据传输时发送。2、UDP 协议发送时用 sendto 函数最大能发送数据的长度为65535- IP头(20) - UDP头(8)65507字节。用 sendt o函数发送数据时如果发送数据长度大于该值则函数会返回错误3、UDP 协议分成若干个包发送会发送整个数据丢失问题如果数据小于 65507字节 则按照 MTU 的值进行分包分成若干个包然后发送出去而 接收方 IP 层就需要进行数据报的重组。当 IP 层组包发生错误那么包就会被丢弃。接收方无法重组数据报将导致丢弃整个 IP 数据报。3、OSI 七层结构OSI模型功能主要协议单位应用层文件传输电子邮件文件服务虚拟终端Telnet、FTPHTTP(S)SNMPTFTPSMTPDNS数据流表示层数据格式化代码转换数据加密CSS、GIF、HTML、JSON、XML数据流会话层解除或建立与别的接点的联系FTP、SSH、TLS、HTTP(S)、SQL数据流传输层提供端对端的接口TCPUDP数据段网络层为数据包选择路由IPICMPRIPOSPFBGPIGMP数据包数据链路层传输有地址的帧以及错误检测功能MTU、SLIPCSLIPPPPARPRARP802.2、HDLC帧物理层以二进制数据形式在物理媒体上传输数据ISO2110IEEE802IEEE802.2V.35EIA/TIA-232比特流img网络中的数据传输过程**在 **传输层**切割成 *数据段***在 **网络层**打成 IP 包 *数据包***在 **数据链路层**切割成 *数据帧*。**在 **物理层**转变成 *比特流*。二、计算 udp 或 tcp 包的最佳大小img从上图可知本地 MTU 值 1500那么UDP 包的大小: 1500 - IP头(20) - UDP头(8) 1472(Bytes)TCP 包的大小: 1500 - IP头(20) - TCP头(20) 1460 (Bytes)三、MTU 对 UDP、TCP 的影响1、MTU 对 UDP 的影响一旦 UDP 携带的数据 超过14721500-20IP首部-8UDP首部那么 UDP 数据就会在网络层被分成多个 IP 数据报既发送方 IP 层就需要将数据包分成若干片而接收方 IP 层就需要进行数据报的重组。更严重的是如果使用 UDP 协议当 IP 层组包发生错误那么包就会被丢弃。接收方无法重组数据报将导致丢弃整个 IP 数据报。UDP不保证可靠传输但是 TCP发生组包错误时该包会被重传保证可靠传输。2、MTU 对 TCP 的影响TCP 的一个数据报也不可能无限大还是受制于 MTUTCP 单个数据报的最大消息长度称为 MSSTCP 在建立连接的过程中双方会进行 MSS 协商最理想的情况下MSS 的值正好是在 IP 不会被分片处理的最大长度这个长度受限于数据链路层的 MTU双方在发送 SYN 的时候会在 TCP 的头部写入字节能支持的 MSS 值然后双方得知对方的 MSS 值之后选择较小的作为最终 MSSMMS 的值就在 TCP 首部的 40 字节变长选项中kind2MTU 通过限制 MSS单个数据报的最大消息长度 的取值来限制单个 TCP 包的长度3、MTU 和 MSS的关系MTU最大传输单元由不同的数据链路层对应物理层产生的硬件规定以太网的MTU1500MSS最大分节大小为 TCP 数据包每次传输的最大数据分段大小MSS 的取值受限于 MTU四、如何测出当前网络最佳MTU值1、首先我们必须明白什么才是最佳的 MTU 值。1当本地 MTU 值 网络 MTU 值网络会进行拆包这样一来数据包数量增多二来也增加了拆包组包的时间2当本地 MTU 值 网络 MTU 值虽然可以直接传输但是却没有完全利用网络的性能没有发挥出最大传输能力因此设置最合适的本地 MTU 值就是要让本地 MTU 值 网络 MTU 值。2、小知识如果 MTU 过大在碰到路由器时会被拒绝转发因为它不能处理过大的包。如果太小因为协议一定要在包(或帧)上加上包头那实际传送的数据量就会过小这样也划不来。大部分操作系统会提供给用户一个默认值该值一般对用户是比较合适的。3、怎样才能知道自己的当前网络环境的 MTU 值是多少呢下面便来介绍测试方法。步骤一打开命令提示符窗口输入以下命令建议直接复制以免误将小写字母 l 写为数字 1回车。ping -l 1480 -f www.baidu.com这条命令的意思是向 www.baidu.com百度主页发送一个探测请求请求将一个不允许分割的 1480 字节的数据包发送出去。步骤二若是出现传输失败提示需要拆分数据包的情况则说明当前网络的 MTU 值要比指定的 1480 小因此我们就适当调小数据包的大小再发送一条类似的命令若是出现传输成功则说明当前网络的 MTU 值比 输入的 要大。于是我们需要稍微调大数值以便求得最为精确的网络 MTU 值步骤三如此这般通过不断修正数据包的大小我们可以最终得到当前网络的 MTU 值。img4、ping 命令使用的是 ICMP 协议ping 命令使用的既不是 tcp 报文也不是 udp 报文它用的是 ICMP 协议与 IP 协议同级属于 网络层位于 tcp、udp传输层的下一层。【应用层、传输层、网络层、数据链路层、物理层】5、计算结果分析最后测试得出最大数据传输为 1472 字节的数据包则MTU  1472 20字节 IP 首部 8字节 ICMP 首部  1500 字节如果你年满18周岁以上又觉得学【C语言】太难想尝试其他编程语言那么我推荐你学Python现有价值499元Python零基础课程限时免费领取限10个名额▲扫描二维码-免费领取戳“阅读原文”我们一起进步
http://www.yutouwan.com/news/288885/

相关文章:

  • 网上书城网站开发的结论和不足百度seo排名原理
  • 网站拒绝了您的访问网页价格表
  • 网站运营建设的培训班wordpress教程主题
  • asp.net 网站开发项目化教程微信建站网站
  • 爱站网关键词查询网上做任务网站有哪些
  • 做网站如何寻找客源彩票网站为啥链接做两次跳转
  • 网站服务器上的跳转选择怎么做做营养的网站
  • 网站推广怎么样临沂网站建设设计公司
  • 酒类营销网站广州高端网站建设定制
  • 手机网站开发方式广州全网推广
  • 珍爱网建设网站的目的芝罘区网
  • 网站建设研究背景wordpress百度移动落地页
  • joomla 网站建设教程wordpress系统和插件下载
  • 做展厅 参考什么网站汉字域名注册
  • 惠州网站建设培训网站关键词排名快速提升
  • 官网整站优化90设计网站免费素材
  • 网站网络投票建设步骤展会设计公司简介
  • 北京专业做网站设计公司淘宝网站建设方式
  • 自动做微网站深圳app开发怎么选
  • h5网站建设文章广州外贸soho建站
  • 南京企业网站设计建设洛阳网站建设lyland
  • 初中做语文题的网站做啥网站好
  • 中国建筑装饰集团有限公司优化模型的推广
  • 做返利网站怎麼网红营销套路
  • 广州网站建设 企业制作公司app
  • 网站功能模块表格长治做网站
  • 常德做网站报价一级造价工程师考试时间
  • 做折线图网站推广计划英文
  • 网站创作思路wordpress静态加速
  • 万建站南昌环球贸易网站