Linux之 网卡发包、接包 error 、droped 情况

1、 查看各个网卡发送、接受包情况
oracle@hbdw2:/oratmp2$netstat -ni
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
Ibond0 1500 0 328233758 0 0 0 331426557 0 0 0 BMmRU
ebond0 1500 0 926492731 0 0 0 1822546664 0 0 0 BMmRU
ebond0:1 1500 0 - no statistics available - BMmRU
ebond0:3 1500 0 - no statistics available - BMmRU
ebond1 1500 0 9095336643 0 0 0 9497066959 0 0 0 BMmRU
ebond1:1 1500 0 - no statistics available - BMmRU
eth0 1500 0 925316283 0 0 0 1822592394 0 0 0 BMsRU
eth1 1500 0 9082511424 0 0 0 9497365650 0 0 0 BMsRU
eth2 1500 0 13003043 0 0 0 8 0 0 0 BMsRU
eth3 1500 0 1179049 0 0 0 0 0 0 0 BMsRU
ib0 1500 0 328232222 0 0 0 331434671 0 0 0 BMsRU
ib3 1500 0 4955 0 0 0 0 0 0 0 BMsRU
lo 65536 0 563542270 0 0 0 563542270 0 0 0 LRU

Iface :网络接口名称
MTU:Maximum Trasmission Unit 最大传输单元
Met: Metric,度量值 , 供某些操作系统用,用于计算一条路由的成本
RX-OK :接收时,正确的数据包数。
RX-ERR :接收时,产生错误的数据包数。
RX-DRP :接收时,丢弃的数据包数。
RX-OVR :接收时,由于过速(在数据传输中,由于接收设备不能接收按照发送速率传送来的数据而使数据丢失)而丢失的数据包数。
TX-OK :发送时,正确的数据包数。
TX-ERR :发送时,产生错误的数据包数。
TX-DRP :发送时,丢弃的数据包数。
TX-OVR :发送时,由于过速而丢失的数据包数。
Flg :标志。

-- 详细补充:
Flg: 标志种类
B 已经设置了一个广播地址。
L 该接口是一个回送设备。
M 接收所有数据包(混乱模式)。
N 避免跟踪。
O 在该接口上,禁用ARP。
P 这是一个点到点链接。
R 接口正在运行。
U 接口处于“活动”状态。

MTU 最大传输单元:链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。以太网的MTU是1500,你可以用 netstat -i 命令查看这个值。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。

2、 查看指定网卡发送接受包情况
oracle@hbdw2:/oratmp2$ifconfig ebond0
ebond0 Link encap:Ethernet HWaddr A0:A3:3B:D0:C7:DC 
inet addr:136.142.55.2 Bcast:136.142.55.127 Mask:255.255.255.128
inet6 addr: fe80::a2a3:3bff:fed0:c7dc/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:926533235 errors:0 dropped:0 overruns:0 frame:0
TX packets:1825953502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:3331627908495 (3.0 TiB) TX bytes:1033757568200 (962.7 GiB)

Link encap :接口的概要描述。
HWaddr :网卡的硬件地址。
inet addr :网卡的IP地址。
Bcast :广播地址。
Mask :网络掩码。
UP:表示“接口已启用”。
BROADCAST :表示“主机支持广播”。
RUNNING:表示“接口在工作中”。
MULTICAST:表示“主机支持多播”。
MTU :最大传输单元
Metric 见上上表。(同“Met”)
RX packets 接收时,正确的数据包数。
RX errors 接收时,产生错误的数据包数。
RX dropped 接收时,丢弃的数据包数。
RX overruns 接收时,由于过速而丢失的数据包数。
RX frame 接收时,发生frame错误而丢失的数据包数。
(以太网是一种共享媒体(shared medium),所以必须要有机制来决定由谁来使用传输媒体,在以太网中所采用的是CSMA/CD(Carrier Sense Multiple Access with Collision Detection)方式,步骤如下:
1 将要传输的数据切割成Frame,作为传输单位。
2 要传输时先侦测电缆上是否有设备送Frame(Carrier Sense)。
3 若沒有设备使用,才准备发送Frame,并侦测是否有另外的设备发送Frame(Collision Detection)。
4 若发生碰撞,则各自等待一段随机的时间,再重试( Backoff Algorithm)。
TX packets 发送时,正确的数据包数。
TX errors 发送时,产生错误的数据包数。
TX dropped 发送时,丢弃的数据包数。
TX overruns 发送时,由于过速而丢失的数据包数。
TX carrier 发送时,发生carrier错误而丢失的数据包数。 
collisions 冲突信息包的数目。 
txqueuelen 发送队列的大小。 
RX bytes 接收的数据量。
TX bytes 发送的数据量。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
def model(self): num_classes = self.config.get("CNN_training_rule", "num_classes") seq_length = self.config.get("CNN_training_rule", "seq_length") conv1_num_filters = self.config.get("CNN_training_rule", "conv1_num_filters") conv1_kernel_size = self.config.get("CNN_training_rule", "conv1_kernel_size") conv2_num_filters = self.config.get("CNN_training_rule", "conv2_num_filters") conv2_kernel_size = self.config.get("CNN_training_rule", "conv2_kernel_size") hidden_dim = self.config.get("CNN_training_rule", "hidden_dim") dropout_keep_prob = self.config.get("CNN_training_rule", "dropout_keep_prob") model_input = keras.layers.Input((seq_length,1), dtype='float64') # conv1形状[batch_size, seq_length, conv1_num_filters] conv_1 = keras.layers.Conv1D(conv1_num_filters, conv1_kernel_size, padding="SAME")(model_input) conv_2 = keras.layers.Conv1D(conv2_num_filters, conv2_kernel_size, padding="SAME")(conv_1) max_poolinged = keras.layers.GlobalMaxPool1D()(conv_2) full_connect = keras.layers.Dense(hidden_dim)(max_poolinged) droped = keras.layers.Dropout(dropout_keep_prob)(full_connect) relued = keras.layers.ReLU()(droped) model_output = keras.layers.Dense(num_classes, activation="softmax")(relued) model = keras.models.Model(inputs=model_input, outputs=model_output) # model.compile(loss="categorical_crossentropy", # optimizer="adam", # metrics=["accuracy"]) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) print(model.summary()) return model给这段代码每行加上注释
06-02
``` def model(self): # 获取配置文件中的参数 num_classes = self.config.get("CNN_training_rule", "num_classes") #分类数 seq_length = self.config.get("CNN_training_rule", "seq_length") #序列长度 conv1_num_filters = self.config.get("CNN_training_rule", "conv1_num_filters") #第一层卷积核数量 conv1_kernel_size = self.config.get("CNN_training_rule", "conv1_kernel_size") #第一层卷积核大小 conv2_num_filters = self.config.get("CNN_training_rule", "conv2_num_filters") #第二层卷积核数量 conv2_kernel_size = self.config.get("CNN_training_rule", "conv2_kernel_size") #第二层卷积核大小 hidden_dim = self.config.get("CNN_training_rule", "hidden_dim") #全连接层隐藏层大小 dropout_keep_prob = self.config.get("CNN_training_rule", "dropout_keep_prob") #dropout保留率 # 定义模型输入 model_input = keras.layers.Input((seq_length,1), dtype='float64') # 第一层卷积 conv_1 = keras.layers.Conv1D(conv1_num_filters, conv1_kernel_size, padding="SAME")(model_input) # 第二层卷积 conv_2 = keras.layers.Conv1D(conv2_num_filters, conv2_kernel_size, padding="SAME")(conv_1) # 全局最大池化 max_poolinged = keras.layers.GlobalMaxPool1D()(conv_2) # 全连接层 full_connect = keras.layers.Dense(hidden_dim)(max_poolinged) # dropout层 droped = keras.layers.Dropout(dropout_keep_prob)(full_connect) # relu激活层 relued = keras.layers.ReLU()(droped) # 输出层 model_output = keras.layers.Dense(num_classes, activation="softmax")(relued) # 定义模型 model = keras.models.Model(inputs=model_input, outputs=model_output) # 编译模型 model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # 打印模型结构 print(model.summary()) return model ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值