• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

网络常识,whirshark

武飞扬头像
woailixiaolin
帮助1

网络包

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfcake
系列文章
更多 icon
同类精品
更多 icon
继续加载