e3111u盘启动-(联想e31u盘启动)

来源:191路由网 2022-11-20 04:51:33

e3111u盘启动 (联想e31u盘启动)

目录


案例准备


案例分析


启动项目


模拟访问,观察丢包情况


3s 的 RTT -很有可能是包后重传造成的。


链路层(ethtool 或者 netstat)


网络层和传输层



所谓丢包,是指在网络数据收发过程中,由于各种原因,数据包在传输到应用程序之前就被丢弃了。这些丢弃包的数量除以总传输包的数量,我们常说丢包率。这些丢弃包的数量除以总传输包的数量,我们常说

丢包率

。丢包率是网络性能的核心指标之一。

丢包通常会导致严重的性能下降,尤其是对 TCP 丢包通常意味着网络拥塞和重传,进而导致网络延迟增加,吞吐量减少。

案例准备

今天的案例需要两台虚拟机。

使用vagrant拉起两台虚机。


机器配置:2 CPU,2GB 内存。预先安装 docker、curl、hping3 等工具

案例分析

我们今天要分析的案例是一个 Nginx 应用,如下图所示,hping3 和 curl 是 Nginx 的客户端。

我在这里对应ip是192.168.56.10 和192.168.56.11

?

启动项目



[root@hadoop100 /opt]#docker run --name nginx --hostname nginx --privileged -p 80:80 -itd feisky/nginx:dropUnable to find image 'feisky/nginx:drop' locallydrop: Pulling from feisky/nginx6ae821421a7d: Pull completeda4474e5966c: Pull completeeb2aec2b9c9f: Pull completec6797838e67f: Pull completed61fc363525d: Pull completeDigest: sha256:c16b8286464e50b4c9704ed83e3e111f9c19a60f4ceca775d752b4bd0108637fStatus: Downloaded newer image for feisky/nginx:drop5867df6e997b047bf995ade980f0db0206bec2df1d9e8738bef415c55c55bb71You have mail in /var/spool/mail/root[root@hadoop100 /opt]#[root@hadoop100 /opt]#[root@hadoop100 /opt]#docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5867df6e997b feisky/nginx:drop "/start.sh" 43 seconds ago Up 42 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp nginx



模拟访问,观察丢包情况

我们切换到终端二中,执行以下内容 hping3 进一步验证命令 Nginx 能否正常访问?注意,我没有在这里使用它 ping,是因为 ping 基于 ICMP 协议

而 Nginx 使用的是 TCP 协议



-c 表示发送 20 个请求-S 表示使用 TCP SYN-p 指定端口为 80

[root@hadoop101 yum.repos.d]# hping3 -c 20 -S -p 80 192.168.56.10HPING 192.168.56.10 (eth1 192.168.56.10): S set, 40 headers 0 data byteslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=1 win=5120 rtt=1201.8 mslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=4 win=5120 rtt=1.9 msDUP! len=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=4 win=5120 rtt=1002.7 mslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=5 win=5120 rtt=1.4 mslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=9 win=5120 rtt=0.9 mslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=10 win=5120 rtt=0.8 mslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=11 win=5120 rtt=0.8 mslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=12 win=5120 rtt=1.9 mslen=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=13 win=5120 rtt=0.9 msDUP! len=46 ip=192.168.56.10 ttl=63 DF id=0 sport=80 flags=SA seq=10 win=5120 rtt=3204.2 ms--- 192.168.56.10 hping statistic ---20 packets transmitted, 10 packets received, 50% packet lossround-trip min/avg/max = 0.8/541.7/3204.2 ms



从 hping3 在输出中,我们可以发现发送 20 个请求包,却只收到了 10 个回复,50% 丢了所有的包。观察每个请求 RTT 可以发现,RTT 也有很大的波动变化,只有候只有 1ms,而的时候有 3s。观察每个请求 RTT 可以发现,RTT 也有很大的波动变化,只有候只有 1ms,而的时候有 3s。

3s 的 RTT -很有可能是包后重传造成的。

根据这些输出,我们基本上可以判断丢包已经发生了。可以猜测,3s 的 RTT ,很可能是丢包后重传造成的。丢包到底发生在哪里?

在调查之前,我们可以回忆一下 Linux 网络收发过程,首先从理论上分析,哪里有可能丢包。拿出手边的笔和纸,边回忆边在纸上梳理,想清楚再继续下面的内容。

?

从图中可以看出,丢包的位置实际上贯穿了整个网络协议栈。换句话说,整个过程都有丢包的可能。例如,我们从下往上看:


在两台 VM 传输失败的错误可能发生在连接之间,如网络拥塞、线路错误等;网卡包装后,环缓冲区可能因溢出而丢失;在链路层中,由于网络帧验证失败,QoS 等等,丢包;在 IP 由于路由失败,组包大小可能超过层 MTU 等等,丢包;在传输层,由于端口不监控,资源占用超过核心限制,可能会丢失包;在连接层中,由于连接缓冲区溢出,可能会丢失包;在应用层中,由于应用程序异常,可能会丢失包;此外,如果配置 iptables 这些网络包也可能是因为规则 iptables 过滤规则和丢包。

当然,这些问题也可能同时发生在两台通信机器中。

当然,上述问题也可能同时发生在通信的两台机器中。然而,因为我们不对, VM2 做任何修改 VM2 它只操作最简单的一个 hping3 命令,这里假设没问题。


为了简化整个调查过程,我们可以进一步假设, VM1 网络和内核配置也没问题。

这样,问题可能发生在容器内部。


现在我们切换回终端一,执行以下命令,进入容器终端:


链路层(ethtool 或者 netstat)


首先,看看底部的链路层。当缓冲区溢出等原因导致网卡丢包时,Linux 在网卡收发数据的统计信息中,记录收发错误次数。


你可以通过 ethtool 或者 netstat ,查看网卡丢包记录。


[root@hadoop100 /usr/local/src/sysstat-11.5.5]#docker exec -it nginx bashroot@nginx:/#root@nginx:/#root@nginx:/# netstat -iKernel Interface tableIface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flgeth0 100 58 0 0 0 19 0 0 0 BMRUlo 65536 0 0 0 0 0 0 0 0 LRU



输出中的 RX-OK、RX-ERR、RX-DRP、RX-OVR ,分别表示接收时的总包数、总错误数和进入 Ring Buffer 其他原因(如内存不足)导致的丢包数和 Ring Buffer 溢出造成的丢包数。


TX-OK、TX-ERR、TX-DRP、TX-OVR 它代表类似的含义,只是指发送时对应的指标。


注意,由于 Docker 容器的虚拟网卡实际上是一对 veth pair,一端用于接入容器 eth0,另一端接入主机 docker0 网桥中。


注意,由于 Docker 容器的虚拟网卡实际上是一对 veth pair,一端用于接入容器 eth0,另一端接入主机 docker0 网桥中。veth 网络统计实现网络统计的功能,所以使用 ethtool -S 命令无法获得网卡收发数据的汇总信息。


从这个输出中,我们没有发现任何错误,说明容器的虚拟网卡没有丢包。不过要注 意,











路由知识



















点击展开全文

相关阅读

win10升级u盘-(win10升级u盘在电脑上读不出来)

win10升级u盘(win电脑上读不到10升级u盘)Windows11已经发布,但微软不会自动更新不支持的计算机,因此用户必须手动执行此过程。微软已经非常清楚地表示,它希望它Windows11具有适当硬件安全功能的某些安装限制PC上。...

2022-11-20

e3111u盘启动-(联想e31u盘启动)

e3111u盘启动(联想e31u盘启动)目录案例准备案例分析启动项目模拟访问,观察丢包情况3s的RTT-很有可能是包后重传造成的。链路层(ethtool或者netstat)网络层和传输层所谓丢包,是指在网络数据收发过程中,由于各种原因,数据包在传输到应...

2022-11-20

可以设置手机做u盘启动-(可以设置手机做u盘启动吗)

可以设置手机做u盘启动(u盘启动可以设置手机吗?随着手机的更新各种应用的功能越来越丰富外卖、购物、出租车……一部手机都完成了然而,当我们使用手机方便快捷时,也存在一定的安全隐患手机上应谨慎使用哪些操作?一起来了解吧!01手机设置免密支付现在很多支付软件都有免密支付功能,用户无需输入密码即可完成支付。这样可以节省一部分时间,但也会增加账户被盗的风险。...

2022-11-20

进入u盘启动无法选择-(进入u盘启动无法选择系统)

无法选择进入u盘启动(无法选择进入u盘启动系统)现在很多人已经告别了有线生活:上网用WiFi,充电用无线充电,数据传输用云盘。你忘了你以前的办公得力助手吗?——U盘啦?虽然现在是万物无线的时代,但U盘依靠自己小巧方便,随插随用,性价比高其他优点,仍然是很多人传输数据的首选,小泽会随时在包里留下U盘紧急情况。然而,...

2022-11-20

联想电脑进入引导系统-()

联想计算机进入引导系统()在重新安装计算机系统时,许多用户通过u盘重新安装计算机。如果您想用u盘启动盘撞系统,您必须在计算机上设置u盘启动项,以便您的启动盘插入计算机以识别。这里和大家分享联想主板bios如何操作设置u盘启动项的方法?更多小白一键重新安装系统官网_也可以用电脑小白win11/win10/win7一...

2022-11-20

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除