网络包

tcp和udp的比较一直是老生常谈,udp接收方会进行组包,如果丢了一个包之后,客户端不得不重传所有包,如果是tcp只需要重传丢失的部分。

组包:MTU对数据分片,每个包里都有More fragement的标志。1表示还有分片,0表示最后一个分片可以组装了

whirshark

- statistics->summary (查看统计信息,比如平均流量)

- statistics->service Response Time->ONC-RPC->program:NFSVersion:3—>create stat(衡量服务器性能)

- analyze—>expert info composite (查看重传统计、连接的建立、重置统计等等) - statistics->tcp stream graph->tcp sequence graph (生成统计图,考虑选择时间的长度)

信息显示

  1. Tcp previous segment lost(tcp先前的分片丢失)

  2. Tcpacked lost segment(tcp应答丢失)

  3. Tcp window update(tcp窗口更新)

  4. Tcp dup ack(tcp重复应答)

  5. Tcp keep alive(tcp保持活动)

  6. Tcp retransmission(tcp重传)

  7. Tcp ACKed unseen segument (tcp看不见确认应答)

  8. TCP ZeroWindow (接收方缓冲区满了)

  9. tcp port numbers reused(tcp端口重复使用)

  10. tcp fast retransmission (tcp快速重传)

  11. TCP Previoussegment lost(发送方数据段丢失)

  12. tcp spurious retransmission(tcp伪重传)

标志位

​ • SYN:携带这个标志的包表示正在发起连接请求。因为连接是双向的,所以建立连接时,双方都要发一个SYN。

​ • FIN:携带这个标志的包表示正在请求终止连接。因为连接是双向的,所以彻底关闭一个连接时,双方都要发一个FIN。

​ • RST:用于重置一个混乱的连接,或者拒绝一个无效的请求。

TCP/UDP

UDP不像TCP一样发送时判断MTU的大小,超过MTU发送方的网络层分片,接收方收到后在组装起来。UDP没有重传机制,所以丢包由应用层处理。分片机制存在漏洞,黑客快速发送flag为1的UDP包,接收方无法组装起来,就可能内存耗尽。

MTU

因为网络对包的大小是有限制的,其最大值称为MTU,即“最大传输单元”。大多数网络的MTU是1500字节,但也有些网络启用了巨帧(Jumbo Frame),能达到9000字节

MTU在建立连接会告知对方MSS,MTU=MSS+TCP头+IP头

发送方和接收方MUT不一致时会进行切片发送

包的大小是由MTU较小的一方决定的。

包的多少

发送方的窗口,或者是接收方的的窗口,可能是是网络带宽影响。一次能发送的数据量就是TCP发送窗口

MSS(每个TCP包所能携带的最大数据量),如果在发送窗口为16000字节,MSS为1000字节,那么就需要发出16个包

seq,ack各自维护

数据段1的起始Seq号为1,长度为1448(意味着它包含了1448个字符),那么数据段2的Seq号就为1+1448=1449。数据段2的长度也是1448,所以数据段3的Seq号为1449+1448=2897

理论上接收方回复的Ack(确认号)是等于发送方下一个seq号,ACK=seq+len而下一个seq也等于seq+len数据

一个Seq号的大小是根据上一个数据段的Seq号和长度相加而来的,seq的从小到大的重排保证的tcp的有序性。接收方通过seq+len与下一个seq的差,保证的tcp的可靠性。

查看ACK往返时间

RTT服务器ack的往返时间,在transport的flag窗口中可见。tcp.analysis.ack_rtt > 0.2表示过滤ack大于0.2s

滑动窗口

即是接收窗口小于传输数据,发送方多次传输的结果,如果发送发传输数据过快,接收方来不及处理,这时显示win的值为0,导致缓存被占满,进行流量控制。超时重传对性能影响最大,快速重传对性能影响最小,没有等待时间,包的减少量更小(减至拥塞的3个包)

拥塞窗口

发送由维护,网络层可以传输数据的多少,是在数据传输过程中防止网络堵塞(网络对发送窗口的限制)

所以没有拥塞时发送窗口越大性能越好,如果经常拥塞,限制发送窗口反而能提高性能。通过限制接收窗口来减小发送窗口。

慢启动算法

刚建立连接时不知道拥塞值RFC建议是指数递增MSS,由于基数小,开始慢。到了数据大的时候类似加法递增

重传超时

从发包到重传包这段时间称为重传包。重传之后RFC建议降到一个MSS重新慢启动。可见超时重传严重影响性能,原因1是RTO阶段不能传送数据,原因之二MSS数量急剧减少。

当发送发收到3个或以上的重复确认(Dup Ack),就意识到相应的包已经丢了,而立即重传它。这个过程称为快速重传,之所以称为快速,是它不像超时重传一样需要等待一段时间

DACK时会一直等待ACK的确认号,认为后面的包也丢了,重传丢失后的所有包。SACK只重传丢失的包

*延迟确认

收到一个包后没有数据要发送给对方,那就延迟一段时间(windows默认200ms),假如在这段时间里有数据发送,确认的信息和数据就可以在一个包发出。提高传输效率,减去网络负担

ping

查看延时和经过路由数量。TTL一般为64,最大为255

网络常识,whirshark分析相关推荐

  1. Linux内核--网络栈实现分析(二)--数据包的传递过程--转

    转载地址http://blog.csdn.net/yming0221/article/details/7492423 作者:闫明 本文分析基于Linux Kernel 1.2.13 注:标题中的&qu ...

  2. ISME:微生物网络构建与分析面临的挑战

    关注我们 一起探索微生物领域的奥妙 摘要 微生物网络作为当下一种流行的数据分析方法被广泛应用于微生物群落研究.虽然目前已有许多并不断有新的微生物网络构建方法被开发出来,但与数据预处理.混杂因素.网络评 ...

  3. pcap文件解析工具_【免费毕设】PHP网络数据包分析工具的设计与开发(源代码+论文)...

    点击上方"蓝字"关注我们目录 系统设计 网络数据包分析系统的设计 整个网络数据报分析工具采用模块化的设计思想,原因是许多程序太长或太复杂,很难写在单一单元中.如果把代码分为较小的功 ...

  4. 通信网络基础期末复习-第三章-网络的时延分析

    文章目录 第3章 网络的时延分析 3.1 Little定理 3.2 M/M/m型排队系统 3.2.1 M/M/1排队系统 M/M/1排队系统的例题 3.2.2 M/M/m排队系统 3.3 M/G/1型 ...

  5. 成功案例_网络营销成功案例分析

      网络营销成功案例分析 1.2008年,512地震.5月18日晚,央视一号演播大厅举办的 "爱的奉献. 2008抗震救灾募捐晚会", 加多宝集团 (王老吉生产商)代表阳先生手持一 ...

  6. 【caffe-windows】全卷积网络特征图分析

    前言 突然就想分析一下全卷积网络的转置卷积部分了, 就是这么猝不及防的想法, 而且这个网络对图片的输入大小无要求,这么神奇的网络是时候分析一波了,我个人的学习方法调试代码,然后对照论文看理论 本次分析 ...

  7. 网络数据的背后-网络日志的分析指标【转】

      通常网站分析的技术包括页面标签分析技术(JS技术)和日志文件分析技术两种,两种网站分析技术各有优缺点,譬如下文中介绍的基于回话的统计和点击流分析日志文件分析法就要优于页面标签分析法,通常,两种技术 ...

  8. Linux下使用Iptraf进行网络流量的分析

    Linux下使用Iptraf进行网络流量的分析 Posted on 2011/06/15 下面的教程我个人安装的时候,总是失败,在/usr/local/bin目录里没有iptraf这个文件,没有办法直 ...

  9. 网络尖兵技术分析及应对

    网络尖兵技术分析及应对 转载于:https://blog.51cto.com/306869/58308

  10. 写一个java的网络数据包分析程序(一)

    需要写一个工具监控我所负责项目中的服务器与客户端的交易事件,而我又不方便修改系统代码(因为此工具只是我自己为了工作方便而作),因此需要通过监听并分析网络数据包来获取信息. 原本打算将tcpdump的C ...

最新文章

  1. 【NLP】 NLP领域最具影响力的国内外会议介绍
  2. 流水号结合自定义函数实现申请业务
  3. Python 进阶之路 (八) 最用心的推导式详解 (附简单实战及源码)
  4. oracle忘记密码,修改密码
  5. java oauth2.0_教程:如何实现Java OAuth 2.0以使用GitHub和Google登录
  6. ScrollView常用(暂时用上了的)代理方法
  7. python 安装pandas 权限不够_详解Python学习之安装pandas
  8. JAVA进阶教学之(8种包装类)
  9. angular的$q服务和promise模式
  10. 【java】java wait 原理 synchronized ReentrantLock 唤醒顺序
  11. 枚举与常量需要注意的一个问题
  12. memcached(五)--源码分析,启动
  13. 【TWVRP】基于matlab蚁群算法求解带时间窗的多中心车辆路径规划问题【含Matlab源码 112期】
  14. linux ps的a选项,linux下PS命令详解(转载)
  15. 订单生产计划表范本_生产计划表(生产计划表格模板)
  16. H.264/AVC原理介绍
  17. 下载频道2013上半年超人气精华资源汇总---全都是免积分下载。
  18. Nvidia Graphics Card Drive Download 英伟达显卡驱动花屏问题解决处理方式
  19. pythonic希腊典故_希腊神话习语(整理)
  20. node启动服务报错Error: listen EADDRNOTAVAIL 192.168.1.137:8023

热门文章

  1. iOS 送审浅谈:1.4.1、2.1、2.5.2、2.5.4、4.2.3、5.2.5
  2. 超全Python 量化金融库汇总,必看
  3. 国家开放大学c语言题及答案,国家开放大学C语言试题及答案.docx
  4. 【Linux】解决笔记本合盖子休眠的问题
  5. 测试工程师-yy面试 cvte面试总结
  6. Ophir Vega激光功率计
  7. ....他乡遇故知....
  8. PTA-然后是几点(基础编程题)
  9. 看完这篇JVM内存管理机制,面试再也不慌了!
  10. verilog always语法_Verilog 最全经验总结(建议收藏)