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 发送的数据量。

文章可以转载,必须以链接形式标明出处。


本文转自 张冲andy 博客园博客,如需转载请自行联系 原作者原文链接:http://www.cnblogs.com/andy6/p/8094183.html
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 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值